Now that we have the full render nodes available, there is not much
benefit in fine-grained control over multiple rectangles.
In particular, it's causing pain with complex regions.
There might be a benefit in clipping to the region's rectangles in cases
like widget-factory where the whole diff is made up of the 2 rectangles
of spinner and the pulsing progress bar, but it needs a good heuristic
for where this is useful.
}
if (clip)
{
- self->clip = cairo_region_reference ((cairo_region_t *) clip);
+ cairo_rectangle_int_t extents;
+ cairo_region_get_extents (clip, &extents);
+ self->clip = cairo_region_create_rectangle (&(cairo_rectangle_int_t) {
+ extents.x, extents.y,
+ extents.width, extents.height
+ });
}
else
{