diff options
author | Søren Sandmann <sandmann@redhat.com> | 2009-03-27 08:48:42 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-03-28 18:02:58 -0400 |
commit | 26999e5aa8b5d353596e31d4b3823cafe007125c (patch) | |
tree | dcc2528d3387ab3c48d13409a2482525d0d83b4a /src/cairo-clip.c | |
parent | 4b3245481cfbf96388c140421a071fd1f79ad601 (diff) |
[region] Add cairo_region_intersect_rectangle() and _subtract_rectangle()
Intersecting with and subtracting rectangles is quite common, and we
already have cairo_union_rectangle().
Diffstat (limited to 'src/cairo-clip.c')
-rw-r--r-- | src/cairo-clip.c | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/src/cairo-clip.c b/src/cairo-clip.c index 8ee6a644..cc43c037 100644 --- a/src/cairo-clip.c +++ b/src/cairo-clip.c @@ -198,17 +198,8 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip, if (!clip) return CAIRO_STATUS_SUCCESS; - if (clip->all_clipped) { - cairo_region_t *clip_rect; - - clip_rect = cairo_region_create_rectangle (&clip->surface_rect); - - status = cairo_region_intersect (region, clip_rect); - - cairo_region_destroy (clip_rect); - - return status; - } + if (clip->all_clipped) + return cairo_region_intersect_rectangle (region, &clip->surface_rect); if (clip->path) { /* Intersect clip path into region. */ @@ -220,18 +211,8 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip, return status; } - if (clip->surface) { - cairo_region_t *clip_rect; - - clip_rect = cairo_region_create_rectangle (&clip->surface_rect); - - status = cairo_region_intersect (region, clip_rect); - - cairo_region_destroy (clip_rect); - - if (unlikely (status)) - return status; - } + if (clip->surface) + return cairo_region_intersect_rectangle (region, &clip->surface_rect); return CAIRO_STATUS_SUCCESS; } |