diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-04-23 19:45:26 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-15 11:05:19 +0100 |
commit | 83bfd85a1378e61b8bdc3f554f5e07900311f61f (patch) | |
tree | 380f96e0021d420799db02f4abe3e364745ec476 /src/cairo-gstate-private.h | |
parent | 2055732ffcd6316c3feb05ac330fbaf8698df5c4 (diff) | |
download | cairo-83bfd85a1378e61b8bdc3f554f5e07900311f61f.tar.gz |
Implement cairo_backend_t
Allow a backend to completely reimplement the Cairo API as it wants. The
goal is to pass operations to the native backends such as Quartz,
Direct2D, Qt, Skia, OpenVG with no overhead. And to permit complete
logging contexts, and whatever else the imagination holds. Perhaps to
experiment with double-paths?
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-gstate-private.h')
-rw-r--r-- | src/cairo-gstate-private.h | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/src/cairo-gstate-private.h b/src/cairo-gstate-private.h index f1e03b378..9e823fa0f 100644 --- a/src/cairo-gstate-private.h +++ b/src/cairo-gstate-private.h @@ -41,6 +41,7 @@ struct _cairo_gstate { cairo_operator_t op; + double opacity; double tolerance; cairo_antialias_t antialias; @@ -115,6 +116,12 @@ cairo_private cairo_operator_t _cairo_gstate_get_operator (cairo_gstate_t *gstate); cairo_private cairo_status_t +_cairo_gstate_set_opacity (cairo_gstate_t *gstate, double opacity); + +cairo_private double +_cairo_gstate_get_opacity (cairo_gstate_t *gstate); + +cairo_private cairo_status_t _cairo_gstate_set_tolerance (cairo_gstate_t *gstate, double tolerance); cairo_private double @@ -289,10 +296,16 @@ cairo_private cairo_rectangle_list_t* _cairo_gstate_copy_clip_rectangle_list (cairo_gstate_t *gstate); cairo_private cairo_status_t -_cairo_gstate_select_font_face (cairo_gstate_t *gstate, - const char *family, - cairo_font_slant_t slant, - cairo_font_weight_t weight); +_cairo_gstate_show_surface (cairo_gstate_t *gstate, + cairo_surface_t *surface, + double x, + double y, + double width, + double height); + +cairo_private cairo_status_t +_cairo_gstate_set_font_size (cairo_gstate_t *gstate, + double size); cairo_private void _cairo_gstate_get_font_matrix (cairo_gstate_t *gstate, @@ -327,18 +340,6 @@ _cairo_gstate_set_font_face (cairo_gstate_t *gstate, cairo_font_face_t *font_face); cairo_private cairo_status_t -_cairo_gstate_text_to_glyphs (cairo_gstate_t *gstate, - double x, - double y, - const char *utf8, - int utf8_len, - cairo_glyph_t **glyphs, - int *num_glyphs, - cairo_text_cluster_t **clusters, - int *num_clusters, - cairo_text_cluster_flags_t *cluster_flags); - -cairo_private cairo_status_t _cairo_gstate_glyph_extents (cairo_gstate_t *gstate, const cairo_glyph_t *glyphs, int num_glyphs, @@ -346,13 +347,9 @@ _cairo_gstate_glyph_extents (cairo_gstate_t *gstate, cairo_private cairo_status_t _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate, - const char *utf8, - int utf8_len, const cairo_glyph_t *glyphs, int num_glyphs, - const cairo_text_cluster_t *clusters, - int num_clusters, - cairo_text_cluster_flags_t cluster_flags); + cairo_glyph_text_info_t *info); cairo_private cairo_status_t _cairo_gstate_glyph_path (cairo_gstate_t *gstate, |