Gets the current destination surface for the context. This is either
the original target surface as passed to cairo_create() or the target
surface for the current group as started by the most recent call to
cairo_push_group() or cairo_push_group_with_content().
This function will always return a valid pointer, but the result
can be a "nil" surface if cr is already in an error state,
(ie. cairo_status() != CAIRO_STATUS_SUCCESS).
A nil surface is indicated by Surface.status
!= CAIRO_STATUS_SUCCESS.
Since 1.2
Gets the current destination surface for the context. This is either the original target surface as passed to cairo_create() or the target surface for the current group as started by the most recent call to cairo_push_group() or cairo_push_group_with_content(). This function will always return a valid pointer, but the result can be a "nil" surface if cr is already in an error state, (ie. cairo_status() != CAIRO_STATUS_SUCCESS). A nil surface is indicated by Surface.status != CAIRO_STATUS_SUCCESS. Since 1.2