diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2023-02-19 21:10:58 +1030 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2023-04-18 18:27:12 +0930 |
commit | b53b48116e610d61cdf630c24a11b59a18345e16 (patch) | |
tree | 3bc8f3410e795ce81c1408b9d7f3a217033d29ba /src/cairo-recording-surface-private.h | |
parent | e7ed40a71dac04cb4c608b409b04577d01f08454 (diff) | |
download | cairo-b53b48116e610d61cdf630c24a11b59a18345e16.tar.gz |
Make cairo_tag_begin/end work correctly in groups
Fixes #508
Diffstat (limited to 'src/cairo-recording-surface-private.h')
-rw-r--r-- | src/cairo-recording-surface-private.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/cairo-recording-surface-private.h b/src/cairo-recording-surface-private.h index 7d4de1ed9..acace4ec8 100644 --- a/src/cairo-recording-surface-private.h +++ b/src/cairo-recording-surface-private.h @@ -155,6 +155,7 @@ typedef struct _cairo_recording_surface { cairo_bool_t optimize_clears; cairo_bool_t has_bilevel_alpha; cairo_bool_t has_only_op_over; + cairo_bool_t has_tags; struct bbtree { cairo_box_t extents; @@ -204,18 +205,26 @@ _cairo_recording_surface_replay_with_foreground_color (cairo_surface_t *surf cairo_bool_t *foreground_used); cairo_private cairo_status_t -_cairo_recording_surface_replay_with_clip (cairo_surface_t *surface, - const cairo_matrix_t *surface_transform, - cairo_surface_t *target, - const cairo_clip_t *target_clip, - cairo_bool_t surface_is_unbounded); +_cairo_recording_surface_replay_with_transform (cairo_surface_t *surface, + const cairo_matrix_t *surface_transform, + cairo_surface_t *target, + cairo_bool_t surface_is_unbounded, + cairo_bool_t replay_all); + +cairo_private cairo_status_t +_cairo_recording_surface_replay_with_clip (cairo_surface_t *surface, + const cairo_matrix_t *surface_transform, + cairo_surface_t *target, + const cairo_clip_t *target_clip); cairo_private cairo_status_t _cairo_recording_surface_replay_and_create_regions (cairo_surface_t *surface, unsigned int regions_id, const cairo_matrix_t *surface_transform, cairo_surface_t *target, - cairo_bool_t surface_is_unbounded); + cairo_bool_t surface_is_unbounded, + cairo_bool_t replay_all); + cairo_private cairo_status_t _cairo_recording_surface_replay_region (cairo_surface_t *surface, unsigned int regions_id, @@ -239,6 +248,9 @@ _cairo_recording_surface_has_only_bilevel_alpha (cairo_recording_surface_t *surf cairo_private cairo_bool_t _cairo_recording_surface_has_only_op_over (cairo_recording_surface_t *surface); +cairo_private cairo_bool_t +_cairo_recording_surface_has_tags (cairo_surface_t *surface); + cairo_private cairo_status_t _cairo_recording_surface_region_array_attach (cairo_surface_t *surface, unsigned int *id); |