X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcairo.h;h=7afd1fe660d59c674708533917e9ce5aa13b538e;hb=75ac1e869e551495c403cf94a3a24dd0dfee98ef;hp=425811b450ff89e37260e52342040609389c1d7a;hpb=3ccf4f19ece6c4da5a2d13173c032011faf330b8;p=pspp diff --git a/src/output/cairo.h b/src/output/cairo.h index 425811b450..7afd1fe660 100644 --- a/src/output/cairo.h +++ b/src/output/cairo.h @@ -23,7 +23,9 @@ #include +struct cell_color; struct chart_item; +struct output_driver; struct output_item; struct string_map; @@ -40,9 +42,9 @@ struct xr_rendering *xr_rendering_create (struct xr_driver *, cairo_t *); void xr_rendering_destroy (struct xr_rendering *); -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_all (struct xr_rendering *r, cairo_t *cr); +void xr_rendering_measure (const struct xr_rendering *, int *w, int *h); +void xr_rendering_draw (struct xr_rendering *r, cairo_t *cr, + int x0, int y0, int x1, int y1); /* Functions for rendering a series of output items to a series of Cairo contexts, with pagination, possibly including headers. @@ -82,27 +84,21 @@ 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. */ char *xr_draw_png_chart (const struct chart_item *, const char *file_name_template, int number, - const struct xr_color *fg, - const struct xr_color *bg); + const struct cell_color *fg, + const struct cell_color *bg); + +char *xr_draw_eps_chart (const struct chart_item *item, + const char *file_name_template, int number, + const struct cell_color *fg, + const struct cell_color *bg); + +/* Render to a svg file */ +bool xr_draw_svg_file (struct xr_rendering *r, + const char *filename); #endif /* HAVE_CAIRO */