summaryrefslogtreecommitdiff
path: root/src/cairo-recording-surface-private.h
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2023-02-19 21:10:58 +1030
committerAdrian Johnson <ajohnson@redneon.com>2023-04-18 18:27:12 +0930
commitb53b48116e610d61cdf630c24a11b59a18345e16 (patch)
tree3bc8f3410e795ce81c1408b9d7f3a217033d29ba /src/cairo-recording-surface-private.h
parente7ed40a71dac04cb4c608b409b04577d01f08454 (diff)
downloadcairo-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.h24
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);