cairo_copy3cairo_copycopy contents from one cairo_t to another
void cairo_copy (cairo_t *dest, cairo_t *src)dest :an allocated cairo_tsrc :cairo_t to copyDescriptionfunctionscairo_copy
This function copies all state information from src to dest. That includes not yet drawn paths and font information.
The new cairo_t will become owner of the target and clip surfaces by incrementing their refcount. But the surfaces will not be copied, that means operations on either src or dest will be painted onto the same surface.
Note that saved states on the stack can only be restored once. So if you have unclosed calls to cairo_save before copying, calling cairo_restore on both, src and dest is invalid.
See also
cairo_clone