Module cairo.c.cairo
Cairo C API. Contains stuff from cairo.h and cairo-version.h
This module only contains basic documentation. For more information see http://cairographics.org/manual/
Functions
Structs
Name | Description |
---|---|
cairo_device_t
|
A cairo_device_t represents the driver interface for drawing
operations to a cairo_surface_t . There are different subtypes of
cairo_device_t for different drawing backends; for example,
cairo_xcb_device_create() creates a device that wraps the connection
to an X Windows System using the XCB library.
|
cairo_font_extents_t
|
The cairo_font_extents_t structure stores metric information for
a font. Values are given in the current user-space coordinate
system.
|
cairo_font_face_t
|
A cairo_font_face_t specifies all aspects of a font other
than the size or font matrix (a font matrix is used to distort
a font by sheering it or scaling it unequally in the two
directions) . A font face can be set on a cairo_t by using
cairo_set_font_face (); the size and font matrix are set with
cairo_set_font_size () and cairo_set_font_matrix ().
|
cairo_font_options_t
|
An opaque structure holding all options that are used when rendering fonts. |
cairo_glyph_t
|
The cairo_glyph_t structure holds information about a single glyph
when drawing or measuring text. A font is (in simple terms) a
collection of shapes used to draw text. A glyph is one of these
shapes. There can be multiple glyphs for a single character
(alternates to be used in different contexts, for example), or a
glyph can be a ligature of multiple
characters. Cairo doesn't expose any way of converting input text
into glyphs, so in order to use the Cairo interfaces that take
arrays of glyphs, you must directly access the appropriate
underlying font system.
|
cairo_matrix_t
|
A cairo_matrix_t holds an affine transformation, such as a scale,
rotation, shear, or a combination of those. The transformation of
a point (x, y) is given by:
|
cairo_path_data_t
|
cairo_path_data_t is used to represent the path data inside a
cairo_path_t .
|
cairo_path_t
|
A data structure for holding a path. This data structure serves as
the return value for cairo_copy_path () and
cairo_copy_path_flat () as well the input value for
cairo_append_path ().
|
cairo_pattern_t
|
A cairo_pattern_t represents a source when drawing onto a
surface. There are different subtypes of cairo_pattern_t ,
for different types of sources; for example,
cairo_pattern_create_rgb () creates a pattern for a solid
opaque color.
|
cairo_rectangle_int_t
|
A data structure for holding a rectangle with integer coordinates. |
cairo_rectangle_list_t
|
A data structure for holding a dynamically allocated
array of rectangles .
|
cairo_rectangle_t
|
A data structure for holding a rectangle. |
cairo_region_t
|
A cairo_region_t represents a set of integer-aligned rectangles.
|
cairo_scaled_font_t
|
A cairo_scaled_font_t is a font scaled to a particular size and device
resolution. A cairo_scaled_font_t is most useful for low-level font
usage where a library or application wants to cache a reference
to a scaled font to speed up the computation of metrics.
|
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. To draw to a cairo_surface_t , create a cairo context
with the surface as the target, using cairo_create ().
|
cairo_t
|
A cairo_t contains the current state of the rendering device,
including coordinates of yet to be drawn shapes.
|
cairo_text_cluster_t
|
The cairo_text_cluster_t structure holds information about a single
text cluster. A text cluster is a minimal
mapping of some glyphs corresponding to some UTF-8 text.
|
cairo_text_extents_t
|
The cairo_text_extents_t structure stores the extents of a single
glyph or a string of glyphs in user-space coordinates. Because text
extents are in user-space coordinates, they are mostly, but not
entirely, independent of the current transformation matrix. If you call
cairo_scale (cr, 2.0, 2.0), text will
be drawn twice as big, but the reported text extents will not be
doubled. They will change slightly due to hinting (so you can't
assume that metrics are independent of the transformation matrix),
but otherwise will remain unchanged.
|
cairo_user_data_key_t
|
cairo_user_data_key_t is used for attaching user data to cairo
data structures. The actual contents of the struct is never used,
and there is no need to initialize the object; only the unique
address of a cairo_data_key_t object is used. Typically, you
would just use the address of a static cairo_data_key_t object.
|
PathDataHeader
|
|
PathDataPoint
|
Enums
Name | Description |
---|---|
cairo_antialias_t
|
Specifies the type of antialiasing to do when rendering text or shapes. |
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.
|
cairo_device_type_t
|
cairo_device_type_t is used to describe the type of a given
device. The devices types are also known as "backends" within cairo.
|
cairo_extend_t
|
cairo_extend_t is used to describe how pattern color/alpha will be
determined for areas "outside" the pattern's natural area, (for
example, outside the surface bounds or outside the gradient
geometry).
|
cairo_fill_rule_t
|
cairo_fill_rule_t is used to select how paths are filled. For both
fill rules, whether or not a point is included in the fill is
determined by taking a ray from that point to infinity and looking
at intersections with the path. The ray can be in any direction,
as long as it doesn't pass through the end point of a segment
or have a tricky intersection such as intersecting tangent to the path.
(Note that filling is not actually implemented in this way. This
is just a description of the rule that is applied.)
|
cairo_filter_t
|
cairo_filter_t is used to indicate what filtering should be
applied when reading pixel values from patterns. See
cairo_pattern_set_source() for indicating the desired filter to be
used with a particular pattern.
|
cairo_font_slant_t
|
Specifies variants of a font face based on their slant. |
cairo_font_type_t
|
cairo_font_type_t is used to describe the type of a given font
face or scaled font. The font types are also known as "font
backends" within cairo.
|
cairo_font_weight_t
|
Specifies variants of a font face based on their weight. |
cairo_format_t
|
cairo_format_t is used to identify the memory format of
image data.
|
cairo_hint_metrics_t
|
Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space. Doing this improves the consistency of letter and line spacing, however it also means that text will be laid out differently at different zoom factors. |
cairo_hint_style_t
|
Specifies the type of hinting to do on font outlines. Hinting is the process of fitting outlines to the pixel grid in order to improve the appearance of the result. Since hinting outlines involves distorting them, it also reduces the faithfulness to the original outline shapes. Not all of the outline hinting styles are supported by all font backends. |
cairo_line_cap_t
|
Specifies how to render the endpoints of the path when stroking. |
cairo_line_join_t
|
Specifies how to render the junction of two lines when stroking. |
cairo_operator_t
|
cairo_operator_t is used to set the compositing operator for all cairo
drawing operations.
|
cairo_path_data_type_t
|
cairo_path_data_t is used to describe the type of one portion
of a path when represented as a cairo_path_t .
See cairo_path_data_t for details.
|
cairo_pattern_type_t
|
cairo_pattern_type_t is used to describe the type of a given pattern.
|
cairo_region_overlap_t
|
|
cairo_status_t
|
cairo_status_t is used to indicate errors that can occur when
using Cairo. In some cases it is returned directly by functions.
but when using cairo_t , the last error, if any, is stored in
the context and can be retrieved with cairo_status ().
|
cairo_subpixel_order_t
|
The subpixel order specifies the order of color elements within each pixel on the display device when rendering with an antialiasing mode of CAIRO_ANTIALIAS_SUBPIXEL. |
cairo_surface_type_t
|
cairo_surface_type_t is used to describe the type of a given
surface. The surface types are also known as "backends" or "surface
backends" within cairo.
|
cairo_text_cluster_flags_t
|
Specifies properties of a text cluster mapping. |
Enum values
Name | Type | Description |
---|---|---|
CAIRO_MIME_TYPE_JP2
|
||
CAIRO_MIME_TYPE_JPEG
|
||
CAIRO_MIME_TYPE_PNG
|
||
CAIRO_MIME_TYPE_URI
|
||
CAIRO_VERSION
|
Encoded cairo binding version | |
CAIRO_VERSION_MAJOR
|
Cairo binding version. Use the cairo_version () function to get
version information about the cairo library.
|
|
CAIRO_VERSION_MICRO
|
Cairo binding version. Use the cairo_version () function to get
version information about the cairo library.
|
|
CAIRO_VERSION_MINOR
|
Cairo binding version. Use the cairo_version () function to get
version information about the cairo library.
|
Global variables
Name | Type | Description |
---|---|---|
CAIRO_VERSION_STRING
|
string
|
Cairo binding version string |
Aliases
Name | Type | Description |
---|---|---|
cairo_bool_t
|
int
|
cairo_bool_t is used for boolean values. Returns of type
cairo_bool_t will always be either 0 or 1, but testing against
these values explicitly is not encouraged; just use the
value as a boolean condition.
|
cairo_destroy_func_t
|
extern(C) void function(void*)
|
cairo_destroy_func_t the type of function which is called when a
data element is destroyed. It is passed the pointer to the data
element and should free any memory and resources allocated for it.
|
cairo_read_func_t
|
extern(C) cairo_status_t function(void*, ubyte*, uint)
|
cairo_read_func_t is the type of function which is called when a
backend needs to read data from an input stream. It is passed the
closure which was specified by the user at the time the read
function was registered, the buffer to read the data into and the
length of the data in bytes. The read function should return
CAIRO_STATUS_SUCCESS if all the data was successfully read,
CAIRO_STATUS_READ_ERROR otherwise.
|
cairo_user_scaled_font_init_func_t
|
extern(C) cairo_status_t function(cairo_scaled_font_t*, cairo_t*, cairo_font_extents_t*)
|
cairo_user_scaled_font_init_func_t is the type of function which is
called when a scaled-font needs to be created for a user font-face.
|
cairo_user_scaled_font_render_glyph_func_t
|
extern(C) cairo_status_t function(cairo_scaled_font_t*, ulong, cairo_t*, cairo_text_extents_t*)
|
cairo_user_scaled_font_render_glyph_func_t is the type of function which
is called when a user scaled-font needs to render a glyph.
|
cairo_user_scaled_font_text_to_glyphs_func_t
|
extern(C) cairo_status_t function(cairo_scaled_font_t*, const(char*), int, cairo_glyph_t**, int*, cairo_text_cluster_t**, int*, cairo_text_cluster_flags_t*)
|
cairo_user_scaled_font_text_to_glyphs_func_t is the type of function which
is called to convert input text to an array of glyphs. This is used by the
cairo_show_text () operation.
|
cairo_user_scaled_font_unicode_to_glyph_func_t
|
extern(C) cairo_status_t function(cairo_scaled_font_t*, ulong, ulong*)
|
cairo_user_scaled_font_unicode_to_glyph_func_t is the type of function which
is called to convert an input Unicode character to a single glyph.
This is used by the cairo_show_text () operation.
|
cairo_write_func_t
|
extern(C) cairo_status_t function(void*, const(ubyte*), uint)
|
cairo_write_func_t is the type of function which is called when a
backend needs to write data to an output stream. It is passed the
closure which was specified by the user at the time the write
function was registered, the data to write and the length of the
data in bytes. The write function should return
CAIRO_STATUS_SUCCESS if all the data was successfully written,
CAIRO_STATUS_WRITE_ERROR otherwise.
|
Authors
Johannes Pfau | cairoD |
cairo team | cairo |
Copyright
License
cairoD wrapper/bindings | Boost License 1.0 |
cairo | LGPL 2.1 / MPL 1.1 |