Create a new surface that is as compatible as possible with the given this.
For example the new surface will have the same fallback resolution and font options as this. Generally, the new surface will also use the same backend as this, unless that is not possible for some reason. The type of the returned surface may be examined with get_type.
Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)
this |
window to make new surface similar to |
content |
the content for the new surface |
width |
width of the new surface |
height |
height of the new surface |
a pointer to the newly allocated surface. The caller owns the surface and should call This function always returns a valid pointer, but it will return a pointer to a “nil” surface if |