the script (output device)
the content of the surface
width in pixels
height in pixels
a pointer to the newly created surface. The caller owns the surface and should call cairo_surface_destroy() when done with it. This function always returns a valid pointer, but it will return a pointer to a "nil" surface if an error such as out of memory occurs. You can use cairo_surface_status() to check for this.
Create a new surface that will emit its rendering through script Since 1.12