LIST: Remove WEIGHT subcommand.
[pspp-builds.git] / src / output / chart-provider.h
index fbec5d25b0bb610c69cbc55bb18810822b33d214..9becb6f5ed2e200e69474e6059dc8d5bb259ff55 100644 (file)
@@ -17,6 +17,7 @@
 #ifndef OUTPUT_CHART_PROVIDER_H
 #define OUTPUT_CHART_PROVIDER_H 1
 
+#include <cairo/cairo.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <output/chart.h>
@@ -42,11 +43,14 @@ struct chart_geometry
 
     int title_bottom ;
 
+    /* Legend. */
     int legend_left ;
     int legend_right ;
+    const char **dataset;
+    int n_datasets;
 
-    /* Default font size for the plot (if zero, then use plotter default) */
-    int font_size;
+    /* Default font size for the plot. */
+    double font_size;
 
     struct chart_colour fill_colour;
 
@@ -57,11 +61,12 @@ struct chart_geometry
     double x_max;
     double y_min;
     double y_max;
+    bool in_path;
   };
 
 struct chart_class
   {
-    void (*draw) (const struct chart *, plPlotter *, struct chart_geometry *);
+    void (*draw) (const struct chart *, cairo_t *, struct chart_geometry *);
     void (*destroy) (struct chart *);
   };
 
@@ -72,14 +77,13 @@ struct chart
   };
 
 void chart_init (struct chart *, const struct chart_class *);
-bool chart_create_file (const char *type, const char *file_name_tmpl,
-                        int number, plPlotterParams *,
-                        char **file_namep, plPlotter **lpp);
 
-void chart_geometry_init (plPlotter *, struct chart_geometry *,
+void chart_geometry_init (cairo_t *, struct chart_geometry *,
                           double width, double length);
-void chart_geometry_free (plPlotter *);
+void chart_geometry_free (cairo_t *, struct chart_geometry *);
 
-void chart_draw (const struct chart *, plPlotter *, struct chart_geometry *);
+void chart_draw (const struct chart *, cairo_t *, struct chart_geometry *);
+char *chart_draw_png (const struct chart *, const char *file_name_template,
+                      int number);
 
 #endif /* output/chart-provider.h */