region: Add pixman_region{,32}_clear() functions.
authorSøren Sandmann Pedersen <ssp@redhat.com>
Fri, 9 Dec 2011 08:59:04 +0000 (03:59 -0500)
committerSøren Sandmann Pedersen <ssp@redhat.com>
Tue, 13 Dec 2011 19:50:40 +0000 (14:50 -0500)
These functions simply reset the region to empty. They are equivalent
to

      pixman_region_fini (&region);
      pixman_region_init (&region);

pixman/pixman-region.c
pixman/pixman.h

index 80219c6..70c282d 100644 (file)
@@ -2356,6 +2356,16 @@ PREFIX (_reset) (region_type_t *region, box_type_t *box)
     region->data = NULL;
 }
 
+PIXMAN_EXPORT void
+PREFIX (_clear) (region_type_t *region)
+{
+    GOOD (region);
+    FREE_DATA (region);
+
+    region->extents = *pixman_region_empty_box;
+    region->data = pixman_region_empty_data;
+}
+
 /* box is "return" value */
 PIXMAN_EXPORT int
 PREFIX (_contains_point) (region_type_t * region,
index c57092a..18d9513 100644 (file)
@@ -466,6 +466,7 @@ pixman_bool_t           pixman_region_equal              (pixman_region16_t *reg
 pixman_bool_t           pixman_region_selfcheck          (pixman_region16_t *region);
 void                    pixman_region_reset              (pixman_region16_t *region,
                                                          pixman_box16_t    *box);
+void                   pixman_region_clear              (pixman_region16_t *region);
 /*
  * 32 bit regions
  */
@@ -560,6 +561,7 @@ pixman_bool_t           pixman_region32_equal              (pixman_region32_t *r
 pixman_bool_t           pixman_region32_selfcheck          (pixman_region32_t *region);
 void                    pixman_region32_reset              (pixman_region32_t *region,
                                                            pixman_box32_t    *box);
+void                   pixman_region32_clear              (pixman_region32_t *region);
 
 
 /* Copy / Fill / Misc */