Cairo: A Vector Graphics Library | ||||
---|---|---|---|---|
Top | Description |
#define CAIRO_HAS_WIN32_SURFACE cairo_surface_t * cairo_win32_surface_create (HDC hdc
); cairo_surface_t * cairo_win32_surface_create_with_dib (cairo_format_t format
,int width
,int height
); cairo_surface_t * cairo_win32_surface_create_with_ddb (HDC hdc
,cairo_format_t format
,int width
,int height
); cairo_surface_t * cairo_win32_printing_surface_create (HDC hdc
); HDC cairo_win32_surface_get_dc (cairo_surface_t *surface
); cairo_surface_t * cairo_win32_surface_get_image (cairo_surface_t *surface
);
The Microsoft Windows surface is used to render cairo graphics to Microsoft Windows windows, bitmaps, and printing device contexts.
The surface returned by cairo_win32_printing_surface_create()
is of surface
type CAIRO_SURFACE_TYPE_WIN32_PRINTING
and is a multi-page vector surface
type.
The surface returned by the other win32 constructors is of surface type
CAIRO_SURFACE_TYPE_WIN32
and is a raster surface type.
#define CAIRO_HAS_WIN32_SURFACE 1
Defined if the Microsoft Windows surface backend is available. This macro can be used to conditionally compile backend-specific code.
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_dib()
.
|
the DC to create a surface for |
Returns : |
the newly created surface |
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.
|
format of pixels in the surface to create |
|
width of the surface, in pixels |
|
height of the surface, in pixels |
Returns : |
the newly created surface |
Since 1.2
cairo_surface_t * cairo_win32_surface_create_with_ddb (HDC hdc
,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.
|
the DC to create a surface for |
|
format of pixels in the surface to create |
|
width of the surface, in pixels |
|
height of the surface, in pixels |
Returns : |
the newly created surface |
Since 1.4
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; show_page()
and
associated methods must be used for correct output.
|
the DC to create a surface for |
Returns : |
the newly created surface |
Since 1.6
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 cairo_surface_t |
Returns : |
HDC or NULL if no HDC available.
|
Since 1.2
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.
|
a cairo_surface_t |
Returns : |
a cairo_surface_t (owned by the win32 cairo_surface_t),
or NULL if the win32 surface is not a DIB.
|
Since 1.4