CairoSurface is destroyed
or cairoSurfaceFinish is called on the surface. The initial
contents of buffer will be used as the inital image contents; you
must explicitely clear the buffer, using, for example,
cairoRectangle and cairoFill if you want it cleared.cairoImageSurfaceCreateForData(data, format, width, height, stride)dataformatCairoFormat] the format of pixels in the bufferwidthheightstridewidth
allows for padding at the end of rows, or for writing
to a subportion of a larger image.CairoSurface] 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 cairoSurfaceStatus to check for this.