summaryrefslogtreecommitdiff
path: root/src/cairo-region.c
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <sandmann@redhat.com>2009-02-17 05:58:34 -0500
committerSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-03-28 18:01:19 -0400
commit15564d1949778124e553d792f85cae2b031aad45 (patch)
treea039b215255134561a8ac22f1777d6d6ee2cfbf2 /src/cairo-region.c
parentdf883aa937d2f3ecf52048b60caff48b1c9edac9 (diff)
downloadcairo-15564d1949778124e553d792f85cae2b031aad45.tar.gz
[region] Add _cairo_region_union
Diffstat (limited to 'src/cairo-region.c')
-rw-r--r--src/cairo-region.c16
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)