cairoPopGroup or cairoPopGroupToSource. These calls
provide the result of any drawing to the group as a pattern,
(either as an explicit object, or set as the source pattern).cairoPushGroup(cr)crCairo] a cairo contextcairoPushGroup/cairoPopGroup. Each call pushes/pops the new
target group onto/from a stack.
The cairoPushGroup function calls cairoSave so that any
changes to the graphics state will not be visible outside the
group, (the pop_group functions call cairoRestore).
By default the intermediate group will have a content type of
CAIRO_CONTENT_COLOR_ALPHA. Other content types can be chosen for
the group by using cairoPushGroupWithContent instead.
As an example, here is how one might fill and stroke a path with
translucence, but without any portion of the fill being visible
under the stroke:
cairo_push_group (cr);
cairo_set_source (cr, fill_pattern);
cairo_fill_preserve (cr);
cairo_set_source (cr, stroke_pattern);
cairo_stroke (cr);
cairo_pop_group_to_source (cr);
cairo_paint_with_alpha (cr, alpha); Since 1.2