X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcairo-fsm.h;h=e5a22362a10660f640341c142aa9e164f467f37c;hb=3d188ce69f19490938b8e961f289a050f648f39d;hp=37f4b8b40be32a9bd856b4e31d6705d3ccbc3b10;hpb=e6b6e7d67f173867d731ebca6b8fbad5a2f82560;p=pspp diff --git a/src/output/cairo-fsm.h b/src/output/cairo-fsm.h index 37f4b8b40b..e5a22362a1 100644 --- a/src/output/cairo-fsm.h +++ b/src/output/cairo-fsm.h @@ -19,8 +19,6 @@ #include -#ifdef HAVE_CAIRO - #include #include #include "output/table.h" @@ -32,23 +30,17 @@ struct output_item; (Thus, XR_POINT units represent one point.) */ #define XR_POINT PANGO_SCALE -enum xr_font_type - { - XR_FONT_PROPORTIONAL, - XR_FONT_FIXED, - XR_N_FONTS - }; - struct xr_fsm_style { int ref_cnt; int size[TABLE_N_AXES]; /* Page size. */ int min_break[TABLE_N_AXES]; /* Minimum cell size to allow breaking. */ - PangoFontDescription *fonts[XR_N_FONTS]; + PangoFontDescription *font; struct cell_color fg; bool use_system_colors; - bool transparent; + + 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 @@ -63,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 */