Quartz Surfaces
Quartz Surfaces — Rendering to Quartz surfaces
|
|
Description
The Quartz surface is used to render cairo graphics targeting the
Apple OS X Quartz rendering system.
Functions
cairo_quartz_surface_create ()
cairo_surface_t *
cairo_quartz_surface_create (cairo_format_t format,
unsigned int width,
unsigned int height);
Creates a Quartz surface backed by a CGBitmap. The surface is
created using the Device RGB (or Device Gray, for A8) color space.
All Cairo operations, including those that require software
rendering, will succeed on this surface.
Returns
the newly created surface.
Since: 1.6
cairo_quartz_surface_create_for_cg_context ()
cairo_surface_t *
cairo_quartz_surface_create_for_cg_context
(CGContextRef cgContext,
unsigned int width,
unsigned int height);
Creates a Quartz surface that wraps the given CGContext. The
CGContext is assumed to be in the standard Cairo coordinate space
(that is, with the origin at the upper left and the Y axis
increasing downward). If the CGContext is in the Quartz coordinate
space (with the origin at the bottom left), then it should be
flipped before this function is called. The flip can be accomplished
using a translate and a scale; for example:
All Cairo operations are implemented in terms of Quartz operations,
as long as Quartz-compatible elements are used (such as Quartz fonts).
Returns
the newly created Cairo surface.
Since: 1.6
cairo_quartz_surface_get_cg_context ()
CGContextRef
cairo_quartz_surface_get_cg_context (cairo_surface_t *surface);
Returns the CGContextRef that the given Quartz surface is backed
by.
A call to cairo_surface_flush() is required before using the
CGContextRef 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 CGContextRef has been
modified.
Returns
the CGContextRef for the given surface.
Since: 1.6
Types and Values
CAIRO_HAS_QUARTZ_SURFACE
#define CAIRO_HAS_QUARTZ_SURFACE 1
Defined if the Quartz surface backend is available.
This macro can be used to conditionally compile backend-specific code.
Since: 1.6