![]() |
![]() |
![]() |
Cairo: A Vector Graphics Library | ![]() |
---|---|---|---|---|
typedef cairo_surface_t; enum cairo_content_t; cairo_surface_t* cairo_surface_create_similar (cairo_surface_t *other, cairo_content_t content, int width, int height); void cairo_surface_destroy (cairo_surface_t *surface); void cairo_surface_finish (cairo_surface_t *surface); void cairo_surface_flush (cairo_surface_t *surface); void cairo_surface_get_font_options (cairo_surface_t *surface, cairo_font_options_t *options); cairo_content_t cairo_surface_get_content (cairo_surface_t *surface); cairo_status_t cairo_surface_set_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); void* cairo_surface_get_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key); void cairo_surface_mark_dirty (cairo_surface_t *surface); void cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface, int x, int y, int width, int height); cairo_surface_t* cairo_surface_reference (cairo_surface_t *surface); void cairo_surface_set_device_offset (cairo_surface_t *surface, double x_offset, double y_offset); void cairo_surface_get_device_offset (cairo_surface_t *surface, double *x_offset, double *y_offset); void cairo_surface_set_fallback_resolution (cairo_surface_t *surface, double x_pixels_per_inch, double y_pixels_per_inch); cairo_status_t cairo_surface_status (cairo_surface_t *surface); enum cairo_surface_type_t; cairo_surface_type_t cairo_surface_get_type (cairo_surface_t *surface);
typedef struct _cairo_surface cairo_surface_t;
A cairo_surface_t represents an image, either as the destination
of a drawing operation or as source when drawing onto another
surface. There are different subtypes of cairo_surface_t for
different drawing backends; for example, cairo_image_surface_create()
creates a bitmap image in memory.
Memory management of cairo_surface_t is done with
cairo_surface_reference()
and cairo_surface_destroy()
.
typedef enum _cairo_content { CAIRO_CONTENT_COLOR = 0x1000, CAIRO_CONTENT_ALPHA = 0x2000, CAIRO_CONTENT_COLOR_ALPHA = 0x3000 } cairo_content_t;
cairo_content_t is used to describe the content that a surface will contain, whether color information, alpha information (translucence vs. opacity), or both.
Note: The large values here are designed to keep cairo_content_t values distinct from cairo_format_t values so that the implementation can detect the error if users confuse the two types.
cairo_surface_t* cairo_surface_create_similar (cairo_surface_t *other, cairo_content_t content, int width, int height);
void cairo_surface_get_font_options (cairo_surface_t *surface, cairo_font_options_t *options);
cairo_content_t cairo_surface_get_content (cairo_surface_t *surface);
Since 1.2
cairo_status_t cairo_surface_set_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);
void* cairo_surface_get_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key);
void cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface, int x, int y, int width, int height);
void cairo_surface_set_device_offset (cairo_surface_t *surface, double x_offset, double y_offset);
void cairo_surface_get_device_offset (cairo_surface_t *surface, double *x_offset, double *y_offset);
Since 1.2
void cairo_surface_set_fallback_resolution (cairo_surface_t *surface, double x_pixels_per_inch, double y_pixels_per_inch);
Since 1.2
typedef enum _cairo_surface_type { CAIRO_SURFACE_TYPE_IMAGE, CAIRO_SURFACE_TYPE_PDF, CAIRO_SURFACE_TYPE_PS, CAIRO_SURFACE_TYPE_XLIB, CAIRO_SURFACE_TYPE_XCB, CAIRO_SURFACE_TYPE_GLITZ, CAIRO_SURFACE_TYPE_QUARTZ, CAIRO_SURFACE_TYPE_WIN32, CAIRO_SURFACE_TYPE_BEOS, CAIRO_SURFACE_TYPE_DIRECTFB, CAIRO_SURFACE_TYPE_SVG } cairo_surface_type_t;
Since 1.2
cairo_surface_type_t cairo_surface_get_type (cairo_surface_t *surface);
Since 1.2