ROWLABELS=LAYER works
[pspp] / src / output / cairo-fsm.h
index cf2da691f45fc0661dd3d499c13f73d745e115bd..e5a22362a10660f640341c142aa9e164f467f37c 100644 (file)
@@ -19,8 +19,6 @@
 
 #include <stdbool.h>
 
-#ifdef HAVE_CAIRO
-
 #include <cairo/cairo.h>
 #include <pango/pango-font.h>
 #include "output/table.h"
@@ -42,6 +40,8 @@ struct xr_fsm_style
     struct cell_color fg;
     bool use_system_colors;
 
+    int object_spacing;
+
     /* Resolution, in units per inch, used for measuring font "points".  If
        this is 72.0, for example, then 1pt = 1 device unit, which is
        appropriate for rendering to a surface created by
@@ -55,19 +55,21 @@ void xr_fsm_style_unref (struct xr_fsm_style *);
 bool xr_fsm_style_equals (const struct xr_fsm_style *,
                           const struct xr_fsm_style *);
 
-struct xr_fsm *xr_fsm_create (const struct output_item *,
-                              const struct xr_fsm_style *,
-                              cairo_t *);
-void xr_fsm_destroy (struct xr_fsm *);
-
+/* Interface used for rendering output items in a single on-screen region. */
+struct xr_fsm *xr_fsm_create_for_scrolling (const struct output_item *,
+                                            const struct xr_fsm_style *,
+                                            cairo_t *);
 void xr_fsm_measure (struct xr_fsm *, cairo_t *, int *w, int *h);
 void xr_fsm_draw_all (struct xr_fsm *, cairo_t *);
 void xr_fsm_draw_region (struct xr_fsm *, cairo_t *,
                          int x, int y, int w, int h);
 
+/* Interface used for rendering output items to a series of printed pages. */
+struct xr_fsm *xr_fsm_create_for_printing (const struct output_item *,
+                                           const struct xr_fsm_style *,
+                                           cairo_t *);
+void xr_fsm_destroy (struct xr_fsm *);
 int xr_fsm_draw_slice (struct xr_fsm *, cairo_t *, int space);
 bool xr_fsm_is_empty (const struct xr_fsm *);
 
-#endif  /* HAVE_CAIRO */
-
 #endif /* output/cairo-fsm.h */