}
}
+pixman_bool_t
+pixman_region_init_rects (pixman_region16_t *region,
+ pixman_box16_t *boxes, int count)
+{
+ int overlap;
+
+ if (count == 1) {
+ pixman_region_init_rect(region,
+ boxes[0].x1,
+ boxes[0].y1,
+ boxes[0].x2 - boxes[0].x1,
+ boxes[0].y2 - boxes[0].y1);
+ return TRUE;
+ }
+
+ pixman_region_init(region);
+ if (!pixman_rect_alloc(region, count))
+ return FALSE;
+
+ /* Copy in the rects */
+ memcpy (PIXREGION_RECTS(region), boxes, sizeof(pixman_box16_t) * count);
+ region->data->numRects = count;
+
+ /* Validate */
+ region->extents.x1 = region->extents.x2 = 0;
+ return pixman_region_validate (region, &overlap);
+}
pixman_region16_t *region2);
pixman_bool_t pixman_region_selfcheck (pixman_region16_t *region);
void pixman_region_reset(pixman_region16_t *region, pixman_box16_t *box);
-
+pixman_bool_t pixman_region_init_rects (pixman_region16_t *region,
+ pixman_box16_t *boxes, int count);
/* Copy / Fill */
pixman_bool_t pixman_blt (uint32_t *src_bits,