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/test-paginated-surface.c | |
parent | ed2081d97401741db10b0244eaba7ff31ae63346 (diff) |
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/test-paginated-surface.c')
-rw-r--r-- | src/test-paginated-surface.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/test-paginated-surface.c b/src/test-paginated-surface.c index ba80a107..cfb87f33 100644 --- a/src/test-paginated-surface.c +++ b/src/test-paginated-surface.c @@ -169,28 +169,30 @@ _test_paginated_surface_get_extents (void *abstract_surface, static cairo_int_status_t _test_paginated_surface_paint (void *abstract_surface, cairo_operator_t op, - const cairo_pattern_t *source) + const cairo_pattern_t *source, + cairo_rectangle_int_t *extents) { test_paginated_surface_t *surface = abstract_surface; if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) return CAIRO_STATUS_SUCCESS; - return _cairo_surface_paint (surface->target, op, source); + return _cairo_surface_paint (surface->target, op, source, extents); } static cairo_int_status_t _test_paginated_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) { test_paginated_surface_t *surface = abstract_surface; if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) return CAIRO_STATUS_SUCCESS; - return _cairo_surface_mask (surface->target, op, source, mask); + return _cairo_surface_mask (surface->target, op, source, mask, extents); } static cairo_int_status_t @@ -202,7 +204,8 @@ _test_paginated_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) { test_paginated_surface_t *surface = abstract_surface; @@ -212,7 +215,7 @@ _test_paginated_surface_stroke (void *abstract_surface, return _cairo_surface_stroke (surface->target, op, source, path, style, ctm, ctm_inverse, - tolerance, antialias); + tolerance, antialias, extents); } static cairo_int_status_t @@ -222,7 +225,8 @@ _test_paginated_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) { test_paginated_surface_t *surface = abstract_surface; @@ -231,7 +235,7 @@ _test_paginated_surface_fill (void *abstract_surface, return _cairo_surface_fill (surface->target, op, source, path, fill_rule, - tolerance, antialias); + tolerance, antialias, extents); } static cairo_bool_t @@ -253,7 +257,8 @@ _test_paginated_surface_show_text_glyphs (void *abstract_surface, const cairo_text_cluster_t *clusters, int num_clusters, cairo_text_cluster_flags_t cluster_flags, - cairo_scaled_font_t *scaled_font) + cairo_scaled_font_t *scaled_font, + cairo_rectangle_int_t *extents) { test_paginated_surface_t *surface = abstract_surface; @@ -264,7 +269,7 @@ _test_paginated_surface_show_text_glyphs (void *abstract_surface, utf8, utf8_len, glyphs, num_glyphs, clusters, num_clusters, cluster_flags, - scaled_font); + scaled_font, extents); } |