Functions
cairo_win32_surface_create ()
cairo_surface_t *
cairo_win32_surface_create (HDC hdc);
Creates a cairo surface that targets the given DC. The DC will be
queried for its initial clip extents, and this will be used as the
size of the cairo surface. The resulting surface will always be of
format CAIRO_FORMAT_RGB24; should you need another surface format,
you will need to create one through
cairo_win32_surface_create_with_format() or
cairo_win32_surface_create_with_dib().
Returns
the newly created surface, NULL on failure
Since: 1.0
cairo_win32_surface_create_with_dib ()
cairo_surface_t *
cairo_win32_surface_create_with_dib (cairo_format_t format,
int width,
int height);
Creates a device-independent-bitmap surface not associated with
any particular existing surface or device context. The created
bitmap will be uninitialized.
Returns
the newly created surface
Since: 1.2
cairo_win32_surface_create_with_ddb ()
cairo_surface_t *
cairo_win32_surface_create_with_ddb (HDC hdc,
cairo_format_t format,
int width,
int height);
Creates a device-dependent-bitmap surface not associated with
any particular existing surface or device context. The created
bitmap will be uninitialized.
Returns
the newly created surface
Since: 1.4
cairo_win32_printing_surface_create ()
cairo_surface_t *
cairo_win32_printing_surface_create (HDC hdc);
Creates a cairo surface that targets the given DC. The DC will be
queried for its initial clip extents, and this will be used as the
size of the cairo surface. The DC should be a printing DC;
antialiasing will be ignored, and GDI will be used as much as
possible to draw to the surface.
The returned surface will be wrapped using the paginated surface to
provide correct complex rendering behaviour; cairo_surface_show_page() and
associated methods must be used for correct output.
Returns
the newly created surface
Since: 1.6
cairo_win32_surface_get_dc ()
HDC
cairo_win32_surface_get_dc (cairo_surface_t *surface);
Returns the HDC associated with this surface, or NULL if none.
Also returns NULL if the surface is not a win32 surface.
A call to cairo_surface_flush() is required before using the HDC to
ensure that all pending drawing operations are finished and to
restore any temporary modification cairo has made to its state. A
call to cairo_surface_mark_dirty() is required after the state or
the content of the HDC has been modified.
Returns
HDC or NULL if no HDC available.
Since: 1.2
cairo_win32_surface_get_image ()
cairo_surface_t *
cairo_win32_surface_get_image (cairo_surface_t *surface);
Returns a cairo_surface_t image surface that refers to the same bits
as the DIB of the Win32 surface. If the passed-in win32 surface
is not a DIB surface, NULL is returned.
Since: 1.4