summaryrefslogtreecommitdiff
path: root/src/cairo-recording-surface-private.h
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2012-04-08 10:57:23 +0930
committerAdrian Johnson <ajohnson@redneon.com>2013-09-11 21:18:45 +0930
commit8addb4798c918000eaa6f6dab138e0abb0efa946 (patch)
tree34d01723b25b03e574ef82fc9067098716b9bb19 /src/cairo-recording-surface-private.h
parent53255625c07d8f24403f0cb1b5a4dbaac142e4da (diff)
downloadcairo-8addb4798c918000eaa6f6dab138e0abb0efa946.tar.gz
pdf: avoid making groups a transparency group if not required
If the group contains only a combination of clear and opaque alpha and only OPERATOR_OVER is used in the group and to paint the group, a transparency group is not required. This allows the pdf viewer to replay the group in place.
Diffstat (limited to 'src/cairo-recording-surface-private.h')
-rw-r--r--src/cairo-recording-surface-private.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cairo-recording-surface-private.h b/src/cairo-recording-surface-private.h
index 49194812d..456c63389 100644
--- a/src/cairo-recording-surface-private.h
+++ b/src/cairo-recording-surface-private.h
@@ -136,6 +136,8 @@ typedef struct _cairo_recording_surface {
unsigned int *indices;
unsigned int num_indices;
cairo_bool_t optimize_clears;
+ cairo_bool_t has_bilevel_alpha;
+ cairo_bool_t has_only_op_over;
struct bbtree {
cairo_box_t extents;
@@ -184,4 +186,10 @@ _cairo_recording_surface_get_ink_bbox (cairo_recording_surface_t *surface,
cairo_box_t *bbox,
const cairo_matrix_t *transform);
+cairo_private cairo_bool_t
+_cairo_recording_surface_has_only_bilevel_alpha (cairo_recording_surface_t *surface);
+
+cairo_private cairo_bool_t
+_cairo_recording_surface_has_only_op_over (cairo_recording_surface_t *surface);
+
#endif /* CAIRO_RECORDING_SURFACE_H */