diff options
author | Søren Sandmann Pedersen <sandmann@redhat.com> | 2009-02-17 05:58:34 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-03-28 18:01:19 -0400 |
commit | 15564d1949778124e553d792f85cae2b031aad45 (patch) | |
tree | a039b215255134561a8ac22f1777d6d6ee2cfbf2 /src/cairo-region.c | |
parent | df883aa937d2f3ecf52048b60caff48b1c9edac9 (diff) | |
download | cairo-15564d1949778124e553d792f85cae2b031aad45.tar.gz |
[region] Add _cairo_region_union
Diffstat (limited to 'src/cairo-region.c')
-rw-r--r-- | src/cairo-region.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/cairo-region.c b/src/cairo-region.c index b951e6341..e702d2c05 100644 --- a/src/cairo-region.c +++ b/src/cairo-region.c @@ -246,6 +246,22 @@ _cairo_region_intersect (cairo_region_t *dst, cairo_region_t *other) return CAIRO_STATUS_SUCCESS; } +cairo_private cairo_status_t +_cairo_region_union (cairo_region_t *dst, + cairo_region_t *other) +{ + if (dst->status) + return dst->status; + + if (other->status) + return other->status; + + if (!pixman_region32_union (&dst->rgn, &dst->rgn, &other->rgn)) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + + return CAIRO_STATUS_SUCCESS; +} + cairo_status_t _cairo_region_union_rect (cairo_region_t *dst, cairo_rectangle_int_t *rect) |