diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2008-10-01 20:50:53 +0930 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2008-11-02 20:12:22 +1030 |
commit | d682d275b90f7326df76d2764c513c8b6d5b551b (patch) | |
tree | a4bccb6429aa3ec217377479e37d84b9a9e3fba3 /src/cairo-type3-glyph-surface.c | |
parent | ed2081d97401741db10b0244eaba7ff31ae63346 (diff) | |
download | cairo-d682d275b90f7326df76d2764c513c8b6d5b551b.tar.gz |
Add an extents argument to the high level surface backend functions
Add a "cairo_rectangle_int_t *extents" argument to to the following
backend functions:
paint
mask,
stroke
fill
show_glyphs
show_text_glyphs
This will be used to pass the extents of each operation computed by
the analysis surface to the backend. This is required for implementing
EXTEND_PAD.
Diffstat (limited to 'src/cairo-type3-glyph-surface.c')
-rw-r--r-- | src/cairo-type3-glyph-surface.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/cairo-type3-glyph-surface.c b/src/cairo-type3-glyph-surface.c index 58048aca8..6f9eb43e4 100644 --- a/src/cairo-type3-glyph-surface.c +++ b/src/cairo-type3-glyph-surface.c @@ -182,7 +182,8 @@ _cairo_type3_glyph_surface_intersect_clip_path (void *abstract_surface, static cairo_int_status_t _cairo_type3_glyph_surface_paint (void *abstract_surface, cairo_operator_t op, - const cairo_pattern_t *source) + const cairo_pattern_t *source, + cairo_rectangle_int_t *extents) { cairo_type3_glyph_surface_t *surface = abstract_surface; const cairo_surface_pattern_t *pattern; @@ -212,9 +213,10 @@ static cairo_int_status_t _cairo_type3_glyph_surface_mask (void *abstract_surface, cairo_operator_t op, const cairo_pattern_t *source, - const cairo_pattern_t *mask) + const cairo_pattern_t *mask, + cairo_rectangle_int_t *extents) { - return _cairo_type3_glyph_surface_paint (abstract_surface, op, mask); + return _cairo_type3_glyph_surface_paint (abstract_surface, op, mask, extents); } static cairo_int_status_t @@ -226,7 +228,8 @@ _cairo_type3_glyph_surface_stroke (void *abstract_surface, cairo_matrix_t *ctm, cairo_matrix_t *ctm_inverse, double tolerance, - cairo_antialias_t antialias) + cairo_antialias_t antialias, + cairo_rectangle_int_t *extents) { cairo_type3_glyph_surface_t *surface = abstract_surface; @@ -244,7 +247,8 @@ _cairo_type3_glyph_surface_fill (void *abstract_surface, cairo_path_fixed_t *path, cairo_fill_rule_t fill_rule, double tolerance, - cairo_antialias_t antialias) + cairo_antialias_t antialias, + cairo_rectangle_int_t *extents) { cairo_type3_glyph_surface_t *surface = abstract_surface; cairo_int_status_t status; @@ -263,7 +267,8 @@ _cairo_type3_glyph_surface_show_glyphs (void *abstract_surface, cairo_glyph_t *glyphs, int num_glyphs, cairo_scaled_font_t *scaled_font, - int *remaining_glyphs) + int *remaining_glyphs, + cairo_rectangle_int_t *extents) { cairo_type3_glyph_surface_t *surface = abstract_surface; cairo_int_status_t status; |