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 *);