cairo library

Classes

cairo_antialias
cairo_antialias_t: @CAIRO_ANTIALIAS_DEFAULT: Use the default antialiasing for the subsystem and target device, since 1.0 @CAIRO_ANTIALIAS_NONE: Use a bilevel alpha mask, since 1.0 @CAIRO_ANTIALIAS_GRAY: Perform single-color antialiasing (using shades of gray for black text on a white background, for example), since 1.0 @CAIRO_ANTIALIAS_SUBPIXEL: Perform antialiasing by taking advantage of the order of subpixel elements on devices such as LCD panels, since 1.0 @CAIRO_ANTIALIAS_FAST: Hint that the backend should perform some antialiasing but prefer speed over quality, since 1.12 @CAIRO_ANTIALIAS_GOOD: The backend should balance quality against performance, since 1.12 @CAIRO_ANTIALIAS_BEST: Hint that the backend should render at the highest quality, sacrificing speed if necessary, since 1.12
cairo_content
cairo_content_t: @CAIRO_CONTENT_COLOR: The surface will hold color content only. (Since 1.0) @CAIRO_CONTENT_ALPHA: The surface will hold alpha content only. (Since 1.0) @CAIRO_CONTENT_COLOR_ALPHA: The surface will hold color and alpha content. (Since 1.0)
cairo_device_type
cairo_device_type_t: @CAIRO_DEVICE_TYPE_DRM: The device is of type Direct Render Manager, since 1.10 @CAIRO_DEVICE_TYPE_GL: The device is of type OpenGL, since 1.10 @CAIRO_DEVICE_TYPE_SCRIPT: The device is of type script, since 1.10 @CAIRO_DEVICE_TYPE_XCB: The device is of type xcb, since 1.10 @CAIRO_DEVICE_TYPE_XLIB: The device is of type xlib, since 1.10 @CAIRO_DEVICE_TYPE_XML: The device is of type XML, since 1.10 @CAIRO_DEVICE_TYPE_COGL: The device is of type cogl, since 1.12 @CAIRO_DEVICE_TYPE_WIN32: The device is of type win32, since 1.12 @CAIRO_DEVICE_TYPE_INVALID: The device is invalid, since 1.10
cairo_extend
cairo_extend_t: @CAIRO_EXTEND_NONE: pixels outside of the source pattern are fully transparent (Since 1.0) @CAIRO_EXTEND_REPEAT: the pattern is tiled by repeating (Since 1.0) @CAIRO_EXTEND_REFLECT: the pattern is tiled by reflecting at the edges (Since 1.0; but only implemented for surface patterns since 1.6) @CAIRO_EXTEND_PAD: pixels outside of the pattern copy the closest pixel from the source (Since 1.2; but only implemented for surface patterns since 1.6)
cairo_fill_rule
cairo_fill_rule_t: @CAIRO_FILL_RULE_WINDING: If the path crosses the ray from left-to-right, counts +1. If the path crosses the ray from right to left, counts -1. (Left and right are determined from the perspective of looking along the ray from the starting point.) If the total count is non-zero, the point will be filled. (Since 1.0) @CAIRO_FILL_RULE_EVEN_ODD: Counts the total number of intersections, without regard to the orientation of the contour. If the total number of intersections is odd, the point will be filled. (Since 1.0)
cairo_filter
cairo_filter_t: @CAIRO_FILTER_FAST: A high-performance filter, with quality similar to %CAIRO_FILTER_NEAREST (Since 1.0) @CAIRO_FILTER_GOOD: A reasonable-performance filter, with quality similar to %CAIRO_FILTER_BILINEAR (Since 1.0) @CAIRO_FILTER_BEST: The highest-quality available, performance may not be suitable for interactive use. (Since 1.0) @CAIRO_FILTER_NEAREST: Nearest-neighbor filtering (Since 1.0) @CAIRO_FILTER_BILINEAR: Linear interpolation in two dimensions (Since 1.0) @CAIRO_FILTER_GAUSSIAN: This filter value is currently unimplemented, and should not be used in current code. (Since 1.0)
cairo_font_extents_t
cairo_font_extents_t: @ascent: the distance that the font extends above the baseline. Note that this is not always exactly equal to the maximum of the extents of all the glyphs in the font, but rather is picked to express the font designer's intent as to how the font should align with elements above it. @descent: the distance that the font extends below the baseline. This value is positive for typical fonts that include portions below the baseline. Note that this is not always exactly equal to the maximum of the extents of all the glyphs in the font, but rather is picked to express the font designer's intent as to how the font should align with elements below it. @height: the recommended vertical distance between baselines when setting consecutive lines of text with the font. This is greater than @ascent+@descent by a quantity known as the or . When space is at a premium, most fonts can be set with only a distance of @ascent+@descent between lines. @max_x_advance: the maximum distance in the X direction that the origin is advanced for any glyph in the font. @max_y_advance: the maximum distance in the Y direction that the origin is advanced for any glyph in the font. This will be zero for normal fonts used for horizontal writing. (The scripts of East Asia are sometimes written vertically.)
cairo_font_slant
cairo_font_slant_t: @CAIRO_FONT_SLANT_NORMAL: Upright font style, since 1.0 @CAIRO_FONT_SLANT_ITALIC: Italic font style, since 1.0 @CAIRO_FONT_SLANT_OBLIQUE: Oblique font style, since 1.0
cairo_font_type
cairo_font_type_t: @CAIRO_FONT_TYPE_TOY: The font was created using cairo's toy font api (Since: 1.2) @CAIRO_FONT_TYPE_FT: The font is of type FreeType (Since: 1.2) @CAIRO_FONT_TYPE_WIN32: The font is of type Win32 (Since: 1.2) @CAIRO_FONT_TYPE_QUARTZ: The font is of type Quartz (Since: 1.6, in 1.2 and 1.4 it was named CAIRO_FONT_TYPE_ATSUI) @CAIRO_FONT_TYPE_USER: The font was create using cairo's user font api (Since: 1.8)
cairo_font_weight
cairo_font_weight_t: @CAIRO_FONT_WEIGHT_NORMAL: Normal font weight, since 1.0 @CAIRO_FONT_WEIGHT_BOLD: Bold font weight, since 1.0
cairo_format
cairo_format_t: @CAIRO_FORMAT_INVALID: no such format exists or is supported. @CAIRO_FORMAT_ARGB32: each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then red, then green, then blue. The 32-bit quantities are stored native-endian. Pre-multiplied alpha is used. (That is, 50% transparent red is 0x80800000, not 0x80ff0000.) (Since 1.0) @CAIRO_FORMAT_RGB24: each pixel is a 32-bit quantity, with the upper 8 bits unused. Red, Green, and Blue are stored in the remaining 24 bits in that order. (Since 1.0) @CAIRO_FORMAT_A8: each pixel is a 8-bit quantity holding an alpha value. (Since 1.0) @CAIRO_FORMAT_A1: each pixel is a 1-bit quantity holding an alpha value. Pixels are packed together into 32-bit quantities. The ordering of the bits matches the endianness of the platform. On a big-endian machine, the first pixel is in the uppermost bit, on a little-endian machine the first pixel is in the least-significant bit. (Since 1.0) @CAIRO_FORMAT_RGB16_565: each pixel is a 16-bit quantity with red in the upper 5 bits, then green in the middle 6 bits, and blue in the lower 5 bits. (Since 1.2) @CAIRO_FORMAT_RGB30: like RGB24 but with 10bpc. (Since 1.12) @CAIRO_FORMAT_RGB96F: 3 floats, R, G, B. (Since 1.17.2) @CAIRO_FORMAT_RGBA128F: 4 floats, R, G, B, A. (Since 1.17.2)
cairo_glyph_t
cairo_glyph_t: @index: glyph index in the font. The exact interpretation of the glyph index depends on the font technology being used. @x: the offset in the X direction between the origin used for drawing or measuring the string and the origin of this glyph. @y: the offset in the Y direction between the origin used for drawing or measuring the string and the origin of this glyph.
cairo_hint_metrics
cairo_hint_metrics_t: @CAIRO_HINT_METRICS_DEFAULT: Hint metrics in the default manner for the font backend and target device, since 1.0 @CAIRO_HINT_METRICS_OFF: Do not hint font metrics, since 1.0 @CAIRO_HINT_METRICS_ON: Hint font metrics, since 1.0
cairo_hint_style
cairo_hint_style_t: @CAIRO_HINT_STYLE_DEFAULT: Use the default hint style for font backend and target device, since 1.0 @CAIRO_HINT_STYLE_NONE: Do not hint outlines, since 1.0 @CAIRO_HINT_STYLE_SLIGHT: Hint outlines slightly to improve contrast while retaining good fidelity to the original shapes, since 1.0 @CAIRO_HINT_STYLE_MEDIUM: Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast, since 1.0 @CAIRO_HINT_STYLE_FULL: Hint outlines to maximize contrast, since 1.0
cairo_line_cap
cairo_line_cap_t: @CAIRO_LINE_CAP_BUTT: start(stop) the line exactly at the start(end) point (Since 1.0) @CAIRO_LINE_CAP_ROUND: use a round ending, the center of the circle is the end point (Since 1.0) @CAIRO_LINE_CAP_SQUARE: use squared ending, the center of the square is the end point (Since 1.0)
cairo_line_join
cairo_line_join_t: @CAIRO_LINE_JOIN_MITER: use a sharp (angled) corner, see cairo_set_miter_limit() (Since 1.0) @CAIRO_LINE_JOIN_ROUND: use a rounded join, the center of the circle is the joint point (Since 1.0) @CAIRO_LINE_JOIN_BEVEL: use a cut-off join, the join is cut off at half the line width from the joint point (Since 1.0)
cairo_operator
cairo_operator_t: @CAIRO_OPERATOR_CLEAR: clear destination layer (bounded) (Since 1.0) @CAIRO_OPERATOR_SOURCE: replace destination layer (bounded) (Since 1.0) @CAIRO_OPERATOR_OVER: draw source layer on top of destination layer (bounded) (Since 1.0) @CAIRO_OPERATOR_IN: draw source where there was destination content (unbounded) (Since 1.0) @CAIRO_OPERATOR_OUT: draw source where there was no destination content (unbounded) (Since 1.0) @CAIRO_OPERATOR_ATOP: draw source on top of destination content and only there (Since 1.0) @CAIRO_OPERATOR_DEST: ignore the source (Since 1.0) @CAIRO_OPERATOR_DEST_OVER: draw destination on top of source (Since 1.0) @CAIRO_OPERATOR_DEST_IN: leave destination only where there was source content (unbounded) (Since 1.0) @CAIRO_OPERATOR_DEST_OUT: leave destination only where there was no source content (Since 1.0) @CAIRO_OPERATOR_DEST_ATOP: leave destination on top of source content and only there (unbounded) (Since 1.0) @CAIRO_OPERATOR_XOR: source and destination are shown where there is only one of them (Since 1.0) @CAIRO_OPERATOR_ADD: source and destination layers are accumulated (Since 1.0) @CAIRO_OPERATOR_SATURATE: like over, but assuming source and dest are disjoint geometries (Since 1.0) @CAIRO_OPERATOR_MULTIPLY: source and destination layers are multiplied. This causes the result to be at least as dark as the darker inputs. (Since 1.10) @CAIRO_OPERATOR_SCREEN: source and destination are complemented and multiplied. This causes the result to be at least as light as the lighter inputs. (Since 1.10) @CAIRO_OPERATOR_OVERLAY: multiplies or screens, depending on the lightness of the destination color. (Since 1.10) @CAIRO_OPERATOR_DARKEN: replaces the destination with the source if it is darker, otherwise keeps the source. (Since 1.10) @CAIRO_OPERATOR_LIGHTEN: replaces the destination with the source if it is lighter, otherwise keeps the source. (Since 1.10) @CAIRO_OPERATOR_COLOR_DODGE: brightens the destination color to reflect the source color. (Since 1.10) @CAIRO_OPERATOR_COLOR_BURN: darkens the destination color to reflect the source color. (Since 1.10) @CAIRO_OPERATOR_HARD_LIGHT: Multiplies or screens, dependent on source color. (Since 1.10) @CAIRO_OPERATOR_SOFT_LIGHT: Darkens or lightens, dependent on source color. (Since 1.10) @CAIRO_OPERATOR_DIFFERENCE: Takes the difference of the source and destination color. (Since 1.10) @CAIRO_OPERATOR_EXCLUSION: Produces an effect similar to difference, but with lower contrast. (Since 1.10) @CAIRO_OPERATOR_HSL_HUE: Creates a color with the hue of the source and the saturation and luminosity of the target. (Since 1.10) @CAIRO_OPERATOR_HSL_SATURATION: Creates a color with the saturation of the source and the hue and luminosity of the target. Painting with this mode onto a gray area produces no change. (Since 1.10) @CAIRO_OPERATOR_HSL_COLOR: Creates a color with the hue and saturation of the source and the luminosity of the target. This preserves the gray levels of the target and is useful for coloring monochrome images or tinting color images. (Since 1.10) @CAIRO_OPERATOR_HSL_LUMINOSITY: Creates a color with the luminosity of the source and the hue and saturation of the target. This produces an inverse effect to @CAIRO_OPERATOR_HSL_COLOR. (Since 1.10)
cairo_path
cairo_path_t: @status: the current error status @data: the elements in the path @num_data: the number of elements in the data array
cairo_path_data_type
cairo_path_data_type_t: @CAIRO_PATH_MOVE_TO: A move-to operation, since 1.0 @CAIRO_PATH_LINE_TO: A line-to operation, since 1.0 @CAIRO_PATH_CURVE_TO: A curve-to operation, since 1.0 @CAIRO_PATH_CLOSE_PATH: A close-path operation, since 1.0
cairo_pattern_type
cairo_pattern_type_t: @CAIRO_PATTERN_TYPE_SOLID: The pattern is a solid (uniform) color. It may be opaque or translucent, since 1.2. @CAIRO_PATTERN_TYPE_SURFACE: The pattern is a based on a surface (an image), since 1.2. @CAIRO_PATTERN_TYPE_LINEAR: The pattern is a linear gradient, since 1.2. @CAIRO_PATTERN_TYPE_RADIAL: The pattern is a radial gradient, since 1.2. @CAIRO_PATTERN_TYPE_MESH: The pattern is a mesh, since 1.12. @CAIRO_PATTERN_TYPE_RASTER_SOURCE: The pattern is a user pattern providing raster data, since 1.12.
cairo_region_overlap
cairo_region_overlap_t: @CAIRO_REGION_OVERLAP_IN: The contents are entirely inside the region. (Since 1.10) @CAIRO_REGION_OVERLAP_OUT: The contents are entirely outside the region. (Since 1.10) @CAIRO_REGION_OVERLAP_PART: The contents are partially inside and partially outside the region. (Since 1.10)
cairo_status1
cairo_status_t: @CAIRO_STATUS_SUCCESS: no error has occurred (Since 1.0) @CAIRO_STATUS_NO_MEMORY: out of memory (Since 1.0) @CAIRO_STATUS_INVALID_RESTORE: cairo_restore() called without matching cairo_save() (Since 1.0) @CAIRO_STATUS_INVALID_POP_GROUP: no saved group to pop, i.e. cairo_pop_group() without matching cairo_push_group() (Since 1.0) @CAIRO_STATUS_NO_CURRENT_POINT: no current point defined (Since 1.0) @CAIRO_STATUS_INVALID_MATRIX: invalid matrix (not invertible) (Since 1.0) @CAIRO_STATUS_INVALID_STATUS: invalid value for an input #cairo_status_t (Since 1.0) @CAIRO_STATUS_NULL_POINTER: %NULL pointer (Since 1.0) @CAIRO_STATUS_INVALID_STRING: input string not valid UTF-8 (Since 1.0) @CAIRO_STATUS_INVALID_PATH_DATA: input path data not valid (Since 1.0) @CAIRO_STATUS_READ_ERROR: error while reading from input stream (Since 1.0) @CAIRO_STATUS_WRITE_ERROR: error while writing to output stream (Since 1.0) @CAIRO_STATUS_SURFACE_FINISHED: target surface has been finished (Since 1.0) @CAIRO_STATUS_SURFACE_TYPE_MISMATCH: the surface type is not appropriate for the operation (Since 1.0) @CAIRO_STATUS_PATTERN_TYPE_MISMATCH: the pattern type is not appropriate for the operation (Since 1.0) @CAIRO_STATUS_INVALID_CONTENT: invalid value for an input #cairo_content_t (Since 1.0) @CAIRO_STATUS_INVALID_FORMAT: invalid value for an input #cairo_format_t (Since 1.0) @CAIRO_STATUS_INVALID_VISUAL: invalid value for an input Visual* (Since 1.0) @CAIRO_STATUS_FILE_NOT_FOUND: file not found (Since 1.0) @CAIRO_STATUS_INVALID_DASH: invalid value for a dash setting (Since 1.0) @CAIRO_STATUS_INVALID_DSC_COMMENT: invalid value for a DSC comment (Since 1.2) @CAIRO_STATUS_INVALID_INDEX: invalid index passed to getter (Since 1.4) @CAIRO_STATUS_CLIP_NOT_REPRESENTABLE: clip region not representable in desired format (Since 1.4) @CAIRO_STATUS_TEMP_FILE_ERROR: error creating or writing to a temporary file (Since 1.6) @CAIRO_STATUS_INVALID_STRIDE: invalid value for stride (Since 1.6) @CAIRO_STATUS_FONT_TYPE_MISMATCH: the font type is not appropriate for the operation (Since 1.8) @CAIRO_STATUS_USER_FONT_IMMUTABLE: the user-font is immutable (Since 1.8) @CAIRO_STATUS_USER_FONT_ERROR: error occurred in a user-font callback function (Since 1.8) @CAIRO_STATUS_NEGATIVE_COUNT: negative number used where it is not allowed (Since 1.8) @CAIRO_STATUS_INVALID_CLUSTERS: input clusters do not represent the accompanying text and glyph array (Since 1.8) @CAIRO_STATUS_INVALID_SLANT: invalid value for an input #cairo_font_slant_t (Since 1.8) @CAIRO_STATUS_INVALID_WEIGHT: invalid value for an input #cairo_font_weight_t (Since 1.8) @CAIRO_STATUS_INVALID_SIZE: invalid value (typically too big) for the size of the input (surface, pattern, etc.) (Since 1.10) @CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED: user-font method not implemented (Since 1.10) @CAIRO_STATUS_DEVICE_TYPE_MISMATCH: the device type is not appropriate for the operation (Since 1.10) @CAIRO_STATUS_DEVICE_ERROR: an operation to the device caused an unspecified error (Since 1.10) @CAIRO_STATUS_INVALID_MESH_CONSTRUCTION: a mesh pattern construction operation was used outside of a cairo_mesh_pattern_begin_patch()/cairo_mesh_pattern_end_patch() pair (Since 1.12) @CAIRO_STATUS_DEVICE_FINISHED: target device has been finished (Since 1.12) @CAIRO_STATUS_JBIG2_GLOBAL_MISSING: %CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID has been used on at least one image but no image provided %CAIRO_MIME_TYPE_JBIG2_GLOBAL (Since 1.14) @CAIRO_STATUS_PNG_ERROR: error occurred in libpng while reading from or writing to a PNG file (Since 1.16) @CAIRO_STATUS_FREETYPE_ERROR: error occurred in libfreetype (Since 1.16) @CAIRO_STATUS_WIN32_GDI_ERROR: error occurred in the Windows Graphics Device Interface (Since 1.16) @CAIRO_STATUS_TAG_ERROR: invalid tag name, attributes, or nesting (Since 1.16) @CAIRO_STATUS_LAST_STATUS: this is a special value indicating the number of status values defined in this enumeration. When using this value, note that the version of cairo at run-time may have additional status values defined than the value of this symbol at compile-time. (Since 1.10)
cairo_subpixel_order
cairo_subpixel_order_t: @CAIRO_SUBPIXEL_ORDER_DEFAULT: Use the default subpixel order for for the target device, since 1.0 @CAIRO_SUBPIXEL_ORDER_RGB: Subpixel elements are arranged horizontally with red at the left, since 1.0 @CAIRO_SUBPIXEL_ORDER_BGR: Subpixel elements are arranged horizontally with blue at the left, since 1.0 @CAIRO_SUBPIXEL_ORDER_VRGB: Subpixel elements are arranged vertically with red at the top, since 1.0 @CAIRO_SUBPIXEL_ORDER_VBGR: Subpixel elements are arranged vertically with blue at the top, since 1.0
cairo_surface_observer_mode_t
cairo_surface_observer_mode_t: @CAIRO_SURFACE_OBSERVER_NORMAL: no recording is done @CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS: operations are recorded
cairo_surface_type
cairo_surface_type_t: @CAIRO_SURFACE_TYPE_IMAGE: The surface is of type image, since 1.2 @CAIRO_SURFACE_TYPE_PDF: The surface is of type pdf, since 1.2 @CAIRO_SURFACE_TYPE_PS: The surface is of type ps, since 1.2 @CAIRO_SURFACE_TYPE_XLIB: The surface is of type xlib, since 1.2 @CAIRO_SURFACE_TYPE_XCB: The surface is of type xcb, since 1.2 @CAIRO_SURFACE_TYPE_GLITZ: The surface is of type glitz, since 1.2 @CAIRO_SURFACE_TYPE_QUARTZ: The surface is of type quartz, since 1.2 @CAIRO_SURFACE_TYPE_WIN32: The surface is of type win32, since 1.2 @CAIRO_SURFACE_TYPE_BEOS: The surface is of type beos, since 1.2 @CAIRO_SURFACE_TYPE_DIRECTFB: The surface is of type directfb, since 1.2 @CAIRO_SURFACE_TYPE_SVG: The surface is of type svg, since 1.2 @CAIRO_SURFACE_TYPE_OS2: The surface is of type os2, since 1.4 @CAIRO_SURFACE_TYPE_WIN32_PRINTING: The surface is a win32 printing surface, since 1.6 @CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: The surface is of type quartz_image, since 1.6 @CAIRO_SURFACE_TYPE_SCRIPT: The surface is of type script, since 1.10 @CAIRO_SURFACE_TYPE_QT: The surface is of type Qt, since 1.10 @CAIRO_SURFACE_TYPE_RECORDING: The surface is of type recording, since 1.10 @CAIRO_SURFACE_TYPE_VG: The surface is a OpenVG surface, since 1.10 @CAIRO_SURFACE_TYPE_GL: The surface is of type OpenGL, since 1.10 @CAIRO_SURFACE_TYPE_DRM: The surface is of type Direct Render Manager, since 1.10 @CAIRO_SURFACE_TYPE_TEE: The surface is of type 'tee' (a multiplexing surface), since 1.10 @CAIRO_SURFACE_TYPE_XML: The surface is of type XML (for debugging), since 1.10 @CAIRO_SURFACE_TYPE_SUBSURFACE: The surface is a subsurface created with cairo_surface_create_for_rectangle(), since 1.10 @CAIRO_SURFACE_TYPE_COGL: This surface is of type Cogl, since 1.12
cairo_text_cluster_flags
cairo_text_cluster_flags_t: @CAIRO_TEXT_CLUSTER_FLAG_BACKWARD: The clusters in the cluster array map to glyphs in the glyph array from end to start. (Since 1.8)
cairo_text_cluster_t
cairo_text_cluster_t: @num_bytes: the number of bytes of UTF-8 text covered by cluster @num_glyphs: the number of glyphs covered by cluster
cairo_text_extents_t
cairo_text_extents_t: @x_bearing: the horizontal distance from the origin to the leftmost part of the glyphs as drawn. Positive if the glyphs lie entirely to the right of the origin. @y_bearing: the vertical distance from the origin to the topmost part of the glyphs as drawn. Positive only if the glyphs lie completely below the origin; will usually be negative. @width: width of the glyphs as drawn @height: height of the glyphs as drawn @x_advance:distance to advance in the X direction after drawing these glyphs @y_advance: distance to advance in the Y direction after drawing these glyphs. Will typically be zero except for vertical text layout as found in East-Asian languages.
CairoLib
Color
CubicBezier
ImageSurface
Matrix
Point<T extends num>
A utility class for representing two-dimensional positions.
Surface
UnnamedStruct1
UnnamedStruct2

Enums

ImageFormat

Extensions

DoublePoint on Point<num>

Typedefs

cairo_bool_t = Int32
cairo_bool_t:
cairo_destroy_func_t = Pointer<NativeFunction<Void Function(Pointer<Void>)>>
cairo_destroy_func_t: @data: The data element being destroyed.
cairo_device_t = _cairo_device
cairo_device_t:
cairo_font_face_t = _cairo_font_face
cairo_font_face_t:
cairo_font_options_t = _cairo_font_options
cairo_font_options_t:
cairo_matrix_t = _cairo_matrix
cairo_matrix_t: @xx: xx component of the affine transformation @yx: yx component of the affine transformation @xy: xy component of the affine transformation @yy: yy component of the affine transformation @x0: X translation component of the affine transformation @y0: Y translation component of the affine transformation
cairo_path_data_t = _cairo_path_data_t
cairo_path_data_t:
cairo_path_t = cairo_path
cairo_path_t: @status: the current error status @data: the elements in the path @num_data: the number of elements in the data array
cairo_pattern_t = _cairo_pattern
cairo_pattern_t:
cairo_raster_source_acquire_func_t = Pointer<NativeFunction<Pointer<cairo_surface_t> Function(Pointer<cairo_pattern_t>, Pointer<Void>, Pointer<cairo_surface_t>, Pointer<cairo_rectangle_int_t>)>>
cairo_raster_source_acquire_func_t: @pattern: the pattern being rendered from @callback_data: the user data supplied during creation @target: the rendering target surface @extents: rectangular region of interest in pixels in sample space
cairo_raster_source_copy_func_t = Pointer<NativeFunction<Int32 Function(Pointer<cairo_pattern_t>, Pointer<Void>, Pointer<cairo_pattern_t>)>>
cairo_raster_source_copy_func_t: @pattern: the #cairo_pattern_t that was copied to @callback_data: the user data supplied during creation @other: the #cairo_pattern_t being used as the source for the copy
cairo_raster_source_finish_func_t = Pointer<NativeFunction<Void Function(Pointer<cairo_pattern_t>, Pointer<Void>)>>
cairo_raster_source_finish_func_t: @pattern: the pattern being rendered from @callback_data: the user data supplied during creation
cairo_raster_source_release_func_t = Pointer<NativeFunction<Void Function(Pointer<cairo_pattern_t>, Pointer<Void>, Pointer<cairo_surface_t>)>>
cairo_raster_source_release_func_t: @pattern: the pattern being rendered from @callback_data: the user data supplied during creation @surface: the surface created during acquire
cairo_raster_source_snapshot_func_t = Pointer<NativeFunction<Int32 Function(Pointer<cairo_pattern_t>, Pointer<Void>)>>
cairo_raster_source_snapshot_func_t: @pattern: the pattern being rendered from @callback_data: the user data supplied during creation
cairo_read_func_t = Pointer<NativeFunction<Int32 Function(Pointer<Void>, Pointer<Uint8>, Uint32)>>
cairo_read_func_t: @closure: the input closure @data: the buffer into which to read the data @length: the amount of data to read
cairo_rectangle_int_t = _cairo_rectangle_int
cairo_rectangle_int_t: @x: X coordinate of the left side of the rectangle @y: Y coordinate of the the top side of the rectangle @width: width of the rectangle @height: height of the rectangle
cairo_rectangle_list_t = _cairo_rectangle_list
cairo_rectangle_list_t: @status: Error status of the rectangle list @rectangles: Array containing the rectangles @num_rectangles: Number of rectangles in this list
cairo_rectangle_t = _cairo_rectangle
cairo_rectangle_t: @x: X coordinate of the left side of the rectangle @y: Y coordinate of the the top side of the rectangle @width: width of the rectangle @height: height of the rectangle
cairo_region_t = _cairo_region
cairo_region_t:
cairo_scaled_font_t = _cairo_scaled_font
cairo_scaled_font_t:
cairo_surface_observer_callback_t = Pointer<NativeFunction<Void Function(Pointer<cairo_surface_t>, Pointer<cairo_surface_t>, Pointer<Void>)>>
cairo_surface_t = _cairo_surface
cairo_surface_t:
cairo_t = _cairo
cairo_t:
cairo_user_data_key_t = _cairo_user_data_key
cairo_user_data_key_t: @unused: not used; ignore.
cairo_user_scaled_font_init_func_t = Pointer<NativeFunction<Int32 Function(Pointer<cairo_scaled_font_t>, Pointer<cairo_t>, Pointer<cairo_font_extents_t>)>>
cairo_user_scaled_font_init_func_t: @scaled_font: the scaled-font being created @cr: a cairo context, in font space @extents: font extents to fill in, in font space
cairo_user_scaled_font_render_glyph_func_t = Pointer<NativeFunction<Int32 Function(Pointer<cairo_scaled_font_t>, Uint64, Pointer<cairo_t>, Pointer<cairo_text_extents_t>)>>
cairo_user_scaled_font_render_glyph_func_t: @scaled_font: user scaled-font @glyph: glyph code to render @cr: cairo context to draw to, in font space @extents: glyph extents to fill in, in font space
cairo_user_scaled_font_text_to_glyphs_func_t = Pointer<NativeFunction<Int32 Function(Pointer<cairo_scaled_font_t>, Pointer<Int8>, Int32, Pointer<Pointer<cairo_glyph_t>>, Pointer<Int32>, Pointer<Pointer<cairo_text_cluster_t>>, Pointer<Int32>, Pointer<Int32>)>>
cairo_user_scaled_font_text_to_glyphs_func_t: @scaled_font: the scaled-font being created @utf8: a string of text encoded in UTF-8 @utf8_len: length of @utf8 in bytes @glyphs: pointer to array of glyphs to fill, in font space @num_glyphs: pointer to number of glyphs @clusters: pointer to array of cluster mapping information to fill, or %NULL @num_clusters: pointer to number of clusters @cluster_flags: pointer to location to store cluster flags corresponding to the output @clusters
cairo_user_scaled_font_unicode_to_glyph_func_t = Pointer<NativeFunction<Int32 Function(Pointer<cairo_scaled_font_t>, Uint64, Pointer<Uint64>)>>
cairo_user_scaled_font_unicode_to_glyph_func_t: @scaled_font: the scaled-font being created @unicode: input unicode character code-point @glyph_index: output glyph index
cairo_write_func_t = Pointer<NativeFunction<Int32 Function(Pointer<Void>, Pointer<Uint8>, Uint32)>>
cairo_write_func_t: @closure: the output closure @data: the buffer containing the data to write @length: the amount of data to write