Surface.createSimilarSurface

cairo.surface.Surface createSimilarSurface(cairo.types.Content content, int width, int height)

Create a new Cairo surface that is as compatible as possible with the given surface.

For example the new surface will have the same fallback resolution and font options as surface. Generally, the new surface will also use the same backend as surface, unless that is not possible for some reason. The type of the returned surface may be examined with [cairo.surface.Surface.getSurfaceType].

Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)

This function always returns a valid pointer, but it will return a pointer to a “nil” surface if other is already in an error state or any other error occurs.

Parameters

contentthe content for the new surface
widthwidth of the new surface
heightheight of the new surface

Returns

a pointer to the newly allocated surface. The caller

owns the surface and should call [cairo.surface.Surface.destroy] when done with it.

Deprecated

Create a suitable cairo image surface yourself