Public Member Functions | Static Public Member Functions

Cairo::Win32Surface Class Reference

A Win32Surface provides a way to render within Microsoft Windows. More...

Inheritance diagram for Cairo::Win32Surface:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 Win32Surface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance.
virtual ~Win32Surface ()
HDC get_dc () const
 Returns the HDC associated with this surface, or NULL if none.
RefPtr< ImageSurfaceget_image ()
 Returns a ImageSurface that refers to the same bits as the DIB of the Win32 surface.

Static Public Member Functions

static RefPtr< Win32Surfacecreate (HDC hdc)
 Creates a cairo surface that targets the given DC.
static RefPtr< Win32Surfacecreate (Format format, int width, int height)
static RefPtr< Win32Surfacecreate_with_dib (Format format, int width, int height)
 Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.
static RefPtr< Win32Surfacecreate_with_ddb (HDC hdc, Format format, int width, int height)
 Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

Detailed Description

A Win32Surface provides a way to render within Microsoft Windows.

If you want to draw to the screen within a Microsoft Windows application, you should use this Surface type.

Note:
For this Surface to be available, cairo must have been compiled with Win32 support

Constructor & Destructor Documentation

Cairo::Win32Surface::Win32Surface ( cairo_surface_t *  cobject,
bool  has_reference = false 
) [explicit]

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters:
cobjectThe C instance.
has_referencewhether we already have a reference. Otherwise, the constructor will take an extra reference.
virtual Cairo::Win32Surface::~Win32Surface ( ) [virtual]

Member Function Documentation

static RefPtr<Win32Surface> Cairo::Win32Surface::create ( HDC  hdc) [static]

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. Also, if the DC is a raster DC, it will be queried for its pixel format and the cairo surface format will be set appropriately.

Parameters:
hdcthe DC to create a surface for.
Returns:
the newly created surface.
static RefPtr<Win32Surface> Cairo::Win32Surface::create ( Format  format,
int  width,
int  height 
) [static]
static RefPtr<Win32Surface> Cairo::Win32Surface::create_with_ddb ( HDC  hdc,
Format  format,
int  width,
int  height 
) [static]

Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

The created bitmap will be uninitialized.

Parameters:
hdcthe DC to create a surface for.
formatformat of pixels in the surface to create,
widthwidth of the surface, in pixels.
heightheight of the surface, in pixels.
Returns:
the newly created surface.
Since:
1.8
static RefPtr<Win32Surface> Cairo::Win32Surface::create_with_dib ( Format  format,
int  width,
int  height 
) [static]

Creates a device-independent-bitmap surface not associated with any particular existing surface or device context.

The created bitmap will be unititialized.

Parameters:
formatformat of pixels in the surface to create.
widthwidth of the surface, in pixels.
heightheight of the surface, in pixels.
Returns:
the newly created surface.
Since:
1.8
HDC Cairo::Win32Surface::get_dc ( ) const

Returns the HDC associated with this surface, or NULL if none.

Also returns NULL if the surface is not a win32 surface.

Returns:
HDC or NULL if no HDC available.
RefPtr<ImageSurface> Cairo::Win32Surface::get_image ( )

Returns a ImageSurface that refers to the same bits as the DIB of the Win32 surface.

If the passed-in win32 surface is not a DIB surface, the returned surface will be NULL

Returns:
a ImageSurface (owned by the Win32Surface), or an empty RefPtr if the win32 surface is not a DIB.
Since:
1.8

The documentation for this class was generated from the following file: