diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-08-13 12:33:21 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-08-13 13:15:36 +0100 |
commit | 279f6ceb595412bef165a808f05caa3044ef102c (patch) | |
tree | b94702c96796dc524402ba8330b6722f08761187 /src/cairo-composite-rectangles-private.h | |
parent | d391f0908c404344aa6873fbca2b7bd6499009e0 (diff) | |
download | cairo-279f6ceb595412bef165a808f05caa3044ef102c.tar.gz |
Only reduce the clip if it is not in active use for the operation
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-composite-rectangles-private.h')
-rw-r--r-- | src/cairo-composite-rectangles-private.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/cairo-composite-rectangles-private.h b/src/cairo-composite-rectangles-private.h index c6dac3092..dd5bd4156 100644 --- a/src/cairo-composite-rectangles-private.h +++ b/src/cairo-composite-rectangles-private.h @@ -53,11 +53,13 @@ CAIRO_BEGIN_DECLS struct _cairo_composite_rectangles { cairo_rectangle_int_t source; cairo_rectangle_int_t mask; - cairo_rectangle_int_t bounded; /* dst */ - cairo_rectangle_int_t unbounded; /* clip */ + cairo_rectangle_int_t destination; + + cairo_rectangle_int_t bounded; /* source? IN mask? IN unbounded */ + cairo_rectangle_int_t unbounded; /* destination IN clip */ uint32_t is_bounded; - cairo_clip_t *clip; + cairo_clip_t *clip; /* clip will be reduced to the minimal container */ }; cairo_private cairo_int_status_t @@ -108,6 +110,10 @@ cairo_private cairo_int_status_t _cairo_composite_rectangles_intersect_mask_extents (cairo_composite_rectangles_t *extents, const cairo_box_t *box); +cairo_private cairo_bool_t +_cairo_composite_rectangles_can_reduce_clip (cairo_composite_rectangles_t *composite, + cairo_clip_t *clip); + cairo_private void _cairo_composite_rectangles_fini (cairo_composite_rectangles_t *extents); |