pspp-output: Add new --nth-commands option.
[pspp] / src / output / cairo.h
index cdd55369005364f1a69b303617b38727b713147f..a13154b550d19d8a37f97e9ef9905449f1ff1b88 100644 (file)
@@ -23,7 +23,9 @@
 
 #include <cairo/cairo.h>
 
+struct cell_color;
 struct chart_item;
+struct output_driver;
 struct output_item;
 struct string_map;
 
@@ -41,9 +43,9 @@ struct xr_rendering *xr_rendering_create (struct xr_driver *,
 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 (struct xr_rendering *, cairo_t *,
-                        int x, int y, int w, int h);
+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.
@@ -83,27 +85,20 @@ 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);
+                 struct cell_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);
 
+/* Render to a svg file */
+bool xr_draw_svg_file (struct xr_rendering *r,
+                      const char *filename);
 
 #endif  /* HAVE_CAIRO */