Initial attempt at an ODF driver
[pspp] / src / output / output.h
index 47680fee39183cfbf3aa1f39cc7398e95b4427d3..8ae5c04be32e48c16ba2674fb5bf628b3e9e23b8 100644 (file)
@@ -74,6 +74,8 @@ struct outp_class
 
     void (*flush) (struct outp_driver *);
 
+    void (*output_chart) (struct outp_driver *, const struct chart *);
+
     /* special != 0 only. */
     void (*submit) (struct outp_driver *, struct som_entity *);
 
@@ -84,8 +86,6 @@ struct outp_class
     void (*text_metrics) (struct outp_driver *, const struct outp_text *,
                           int *width, int *height);
     void (*text_draw) (struct outp_driver *, const struct outp_text *);
-    void (*initialise_chart)(struct outp_driver *, struct chart *);
-    void (*finalise_chart)(struct outp_driver *, struct chart *);
   };
 
 /* Device types. */
@@ -115,7 +115,6 @@ struct outp_driver
     int vert_line_width[OUTP_L_COUNT]; /* Width of vertical lines. */
 
     void *ext;                 /* Private extension record. */
-    void *prc;                 /* Per-procedure extension record. */
   };
 
 /* Option structure for the keyword recognizer. */
@@ -151,10 +150,10 @@ void outp_list_classes (void);
 void outp_enable_device (bool enable, int device);
 struct outp_driver *outp_drivers (struct outp_driver *);
 
-bool outp_parse_options (struct substring options,
-                         bool (*) (struct outp_driver *, const char *key,
-                                   const struct string *value),
-                         struct outp_driver *);
+bool outp_parse_options (const char *driver_name, struct substring options,
+                         bool (*callback) (void *aux, const char *key,
+                                           const struct string *value),
+                         void *aux);
 int outp_match_keyword (const char *, const struct outp_option *, int *);
 
 int outp_evaluate_dimension (const char *);
@@ -176,5 +175,6 @@ extern const struct outp_class postscript_class;
 #ifdef HAVE_CAIRO
 extern const struct outp_class cairo_class;
 #endif
+extern const struct outp_class odt_class;
 
 #endif /* output/output.h */