X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcairo-fsm.h;h=bf937835418b6b130d48c7b3edf5995223b59ab1;hb=2720633be76a46488e05bb9a0d45f24a89375065;hp=60a6efb489166241c1d52a4966166667395f8d6d;hpb=50df556805bb5505ce153cb364ff2d3728694a4b;p=pspp diff --git a/src/output/cairo-fsm.h b/src/output/cairo-fsm.h index 60a6efb489..bf93783541 100644 --- a/src/output/cairo-fsm.h +++ b/src/output/cairo-fsm.h @@ -28,6 +28,10 @@ struct xr_fsm; struct output_item; +/* The unit used for internal measurements is inch/(72 * XR_POINT). + (Thus, XR_POINT units represent one point.) */ +#define XR_POINT PANGO_SCALE + enum xr_font_type { XR_FONT_PROPORTIONAL, @@ -39,14 +43,21 @@ struct xr_fsm_style { int ref_cnt; - int size[TABLE_N_AXES]; /* Page size. */ + int size[TABLE_N_AXES]; /* Page size. */ int min_break[TABLE_N_AXES]; /* Minimum cell size to allow breaking. */ PangoFontDescription *fonts[XR_N_FONTS]; + struct cell_color fg; bool use_system_colors; - bool transparent; - double font_scale; + + /* 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 + cairo_ps_surface_create() with its default transformation matrix of 72 + units/inch. For a screen-based surface, it is traditionally 96.0. */ + double font_resolution; }; struct xr_fsm_style *xr_fsm_style_ref (const struct xr_fsm_style *); +struct xr_fsm_style *xr_fsm_style_unshare (struct xr_fsm_style *); void xr_fsm_style_unref (struct xr_fsm_style *); bool xr_fsm_style_equals (const struct xr_fsm_style *, const struct xr_fsm_style *);