X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcairo.h;h=7ed828f515d61b24d7c5153cde9dc831dd7d44fe;hb=da8c6e44f6e8acaa04887901da4d835437221ccf;hp=fd9c7b920472429412880303a32b0de9afc7005d;hpb=933040005343d87414f14c48c90dfaa92110dc0a;p=pspp diff --git a/src/output/cairo.h b/src/output/cairo.h index fd9c7b9204..7ed828f515 100644 --- a/src/output/cairo.h +++ b/src/output/cairo.h @@ -31,12 +31,15 @@ struct string_map; struct xr_driver *xr_driver_create (cairo_t *, struct string_map *options); void xr_driver_destroy (struct xr_driver *); + /* Functions for rendering a single output item to a Cairo context. Output items are never broken across multiple pages. Used by PSPPIRE to render in the GUI. */ struct xr_rendering *xr_rendering_create (struct xr_driver *, const struct output_item *, cairo_t *); + +void xr_rendering_apply_options (struct xr_rendering *, struct string_map *o); void xr_rendering_measure (struct xr_rendering *, int *w, int *h); void xr_rendering_draw (struct xr_rendering *, cairo_t *, int x, int y, int w, int h); @@ -79,11 +82,27 @@ void xr_driver_output_item (struct xr_driver *, const struct output_item *); bool xr_driver_need_new_page (const struct xr_driver *); bool xr_driver_is_page_blank (const struct xr_driver *); +struct xr_color +{ + double red; + double green; + double blue; +}; + +struct output_driver; +struct string_map; + +void parse_color (struct output_driver *d, struct string_map *options, + const char *key, const char *default_value, + struct xr_color *color); + + /* Render charts with Cairo. */ -void xr_draw_chart (const struct chart_item *, cairo_t *, - double x, double y, double width, double height); char *xr_draw_png_chart (const struct chart_item *, - const char *file_name_template, int number); + const char *file_name_template, int number, + const struct xr_color *fg, + const struct xr_color *bg); + #endif /* HAVE_CAIRO */