diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2012-04-08 10:57:23 +0930 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2013-09-11 21:18:45 +0930 |
commit | 8addb4798c918000eaa6f6dab138e0abb0efa946 (patch) | |
tree | 34d01723b25b03e574ef82fc9067098716b9bb19 /src/cairo-recording-surface-private.h | |
parent | 53255625c07d8f24403f0cb1b5a4dbaac142e4da (diff) | |
download | cairo-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.h | 8 |
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 */ |