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

class Context

Return Value

Type: Surface

the target surface. This object is owned by cairo. To keep a reference to it, you must call Surface.reference.