cairomm 1.14.4
Classes | Typedefs | Enumerations | Functions
Cairo Namespace Reference

Classes

struct  ColorStop
 
class  Context
 Context is the main class used to draw in cairomm. More...
 
class  Device
 Devices are the abstraction Cairo employs for the rendering system used by a cairo_surface_t. More...
 
class  FontFace
 A FontFace represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size. More...
 
class  FontOptions
 The font options specify how fonts should be rendered. More...
 
class  FtFontFace
 
class  FtScaledFont
 
class  GlitzSurface
 A GlitzSurface provides a way to render to the X Window System using Glitz. More...
 
class  Gradient
 
class  ImageSurface
 Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. More...
 
class  LinearGradient
 
class  logic_error
 
class  Matrix
 A Transformation matrix. More...
 
class  Path
 A data structure for holding a path. More...
 
class  Pattern
 Cairo::Pattern is the paint with which cairo draws. More...
 
class  PdfSurface
 A PdfSurface provides a way to render PDF documents from cairo. More...
 
class  PsSurface
 A PsSurface provides a way to render PostScript documents from cairo. More...
 
class  QuartzFontFace
 The Quartz font backend is primarily used to render text on Apple MacOS X systems. More...
 
class  QuartzSurface
 A QuartzSurface provides a way to render within Apple Mac OS X. More...
 
class  RadialGradient
 
class  RecordingSurface
 A recording surface is a surface that records all drawing operations at the highest level of the surface backend interface, (that is, the level of paint, mask, stroke, fill, and show_text_glyphs). More...
 
class  RefPtr
 RefPtr<> is a reference-counting shared smartpointer. More...
 
class  Region
 A simple graphical data type representing an area of integer-aligned rectangles. More...
 
class  ScaledFont
 A ScaledFont is a font scaled to a particular size and device resolution. More...
 
class  SolidPattern
 
class  Surface
 A cairo surface represents an image, either as the destination of a drawing operation or as source when drawing onto another surface. More...
 
class  SurfacePattern
 
class  SvgSurface
 A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo. More...
 
class  ToyFontFace
 A simple font face used for the cairo 'toy' font API. More...
 
class  UserFontFace
 Font support with font data provided by the user. More...
 
class  Win32FontFace
 Font support for Microsoft Windows. More...
 
class  Win32PrintingSurface
 A multi-page vector surface type for printing on Microsoft Windows. More...
 
class  Win32ScaledFont
 Scaled Font implementation for Microsoft Windows fonts. More...
 
class  Win32Surface
 A Win32Surface provides a way to render within Microsoft Windows. More...
 
class  XlibSurface
 An XlibSurface provides a way to render to the X Window System using XLib. More...
 

Typedefs

typedef cairo_rectangle_t Rectangle
 See the cairo_rectangle_t reference in the cairo manual for more information. More...
 
typedef cairo_rectangle_int_t RectangleInt
 See the cairo_rectangle_int_t reference in the cairo manual for more information. More...
 
typedef cairo_font_extents_t FontExtents
 See the cairo_font_extents_t reference in the cairo manual for more information. More...
 
typedef cairo_text_extents_t TextExtents
 See the cairo_text_extents_t reference in the cairo manual for more information. More...
 
typedef cairo_text_cluster_t TextCluster
 See the cairo_text_cluster_t reference in the cairo manual for more information. More...
 
typedef cairo_glyph_t Glyph
 See the cairo_glyph_t reference in the cairo manual for more information. More...
 

Enumerations

enum  Operator {
  OPERATOR_CLEAR = CAIRO_OPERATOR_CLEAR ,
  OPERATOR_SOURCE = CAIRO_OPERATOR_SOURCE ,
  OPERATOR_OVER = CAIRO_OPERATOR_OVER ,
  OPERATOR_IN = CAIRO_OPERATOR_IN ,
  OPERATOR_OUT = CAIRO_OPERATOR_OUT ,
  OPERATOR_ATOP = CAIRO_OPERATOR_ATOP ,
  OPERATOR_DEST = CAIRO_OPERATOR_DEST ,
  OPERATOR_DEST_OVER = CAIRO_OPERATOR_DEST_OVER ,
  OPERATOR_DEST_IN = CAIRO_OPERATOR_DEST_IN ,
  OPERATOR_DEST_OUT = CAIRO_OPERATOR_DEST_OUT ,
  OPERATOR_DEST_ATOP = CAIRO_OPERATOR_DEST_ATOP ,
  OPERATOR_XOR = CAIRO_OPERATOR_XOR ,
  OPERATOR_ADD = CAIRO_OPERATOR_ADD ,
  OPERATOR_SATURATE = CAIRO_OPERATOR_SATURATE
}
 Cairo::Operator is used to set the compositing operator for all cairo drawing operations. More...
 
enum  Antialias {
  ANTIALIAS_DEFAULT = CAIRO_ANTIALIAS_DEFAULT ,
  ANTIALIAS_NONE = CAIRO_ANTIALIAS_NONE ,
  ANTIALIAS_GRAY = CAIRO_ANTIALIAS_GRAY ,
  ANTIALIAS_SUBPIXEL = CAIRO_ANTIALIAS_SUBPIXEL
}
 Specifies the type of antialiasing to do when rendering text or shapes. More...
 
enum  FillRule {
  FILL_RULE_WINDING = CAIRO_FILL_RULE_WINDING ,
  FILL_RULE_EVEN_ODD = CAIRO_FILL_RULE_EVEN_ODD
}
 Cairo::FillRule is used to select how paths are filled. More...
 
enum  LineCap {
  LINE_CAP_BUTT = CAIRO_LINE_CAP_BUTT ,
  LINE_CAP_ROUND = CAIRO_LINE_CAP_ROUND ,
  LINE_CAP_SQUARE = CAIRO_LINE_CAP_SQUARE
}
 Specifies how to render the endpoints of the path when stroking. More...
 
enum  LineJoin {
  LINE_JOIN_MITER = CAIRO_LINE_JOIN_MITER ,
  LINE_JOIN_ROUND = CAIRO_LINE_JOIN_ROUND ,
  LINE_JOIN_BEVEL = CAIRO_LINE_JOIN_BEVEL
}
 Specifies how to render the junction of two lines when stroking. More...
 
enum  FontSlant {
  FONT_SLANT_NORMAL = CAIRO_FONT_SLANT_NORMAL ,
  FONT_SLANT_ITALIC = CAIRO_FONT_SLANT_ITALIC ,
  FONT_SLANT_OBLIQUE = CAIRO_FONT_SLANT_OBLIQUE
}
 Specifies variants of a font face based on their slant. More...
 
enum  FontWeight {
  FONT_WEIGHT_NORMAL = CAIRO_FONT_WEIGHT_NORMAL ,
  FONT_WEIGHT_BOLD = CAIRO_FONT_WEIGHT_BOLD
}
 Specifies variants of a font face based on their weight. More...
 
enum  Content {
  CONTENT_COLOR = CAIRO_CONTENT_COLOR ,
  CONTENT_ALPHA = CAIRO_CONTENT_ALPHA ,
  CONTENT_COLOR_ALPHA = CAIRO_CONTENT_COLOR_ALPHA
}
 Cairo::Content is used to describe the content that a surface will contain, whether color information, alpha information (translucence vs. More...
 
enum  DeviceType {
  DEVICE_TYPE_DRM = CAIRO_DEVICE_TYPE_DRM ,
  DEVICE_TYPE_GL = CAIRO_DEVICE_TYPE_GL ,
  DEVICE_TYPE_SCRIPT = CAIRO_DEVICE_TYPE_SCRIPT ,
  DEVICE_TYPE_XCB = CAIRO_DEVICE_TYPE_XCB ,
  DEVICE_TYPE_XLIB = CAIRO_DEVICE_TYPE_XLIB ,
  DEVICE_TYPE_XML = CAIRO_DEVICE_TYPE_XML
}
 
enum  Format {
  FORMAT_ARGB32 = CAIRO_FORMAT_ARGB32 ,
  FORMAT_RGB24 = CAIRO_FORMAT_RGB24 ,
  FORMAT_A8 = CAIRO_FORMAT_A8 ,
  FORMAT_A1 = CAIRO_FORMAT_A1 ,
  FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565
}
 Cairo::Format is used to identify the memory format of image data. More...
 
enum  Extend {
  EXTEND_NONE = CAIRO_EXTEND_NONE ,
  EXTEND_REPEAT = CAIRO_EXTEND_REPEAT ,
  EXTEND_REFLECT = CAIRO_EXTEND_REFLECT ,
  EXTEND_PAD = CAIRO_EXTEND_PAD
}
 Cairo::Extend 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). More...
 
enum  Filter {
  FILTER_FAST = CAIRO_FILTER_FAST ,
  FILTER_GOOD = CAIRO_FILTER_GOOD ,
  FILTER_BEST = CAIRO_FILTER_BEST ,
  FILTER_NEAREST = CAIRO_FILTER_NEAREST ,
  FILTER_BILINEAR = CAIRO_FILTER_BILINEAR ,
  FILTER_GAUSSIAN = CAIRO_FILTER_GAUSSIAN
}
 Cairo::Filter is used to indicate what filtering should be applied when reading pixel values from patterns. More...
 
enum  SubpixelOrder {
  SUBPIXEL_ORDER_DEFAULT = CAIRO_SUBPIXEL_ORDER_DEFAULT ,
  SUBPIXEL_ORDER_RGB = CAIRO_SUBPIXEL_ORDER_RGB ,
  SUBPIXEL_ORDER_BGR = CAIRO_SUBPIXEL_ORDER_BGR ,
  SUBPIXEL_ORDER_VRGB = CAIRO_SUBPIXEL_ORDER_VRGB ,
  SUBPIXEL_ORDER_VBGR = CAIRO_SUBPIXEL_ORDER_VBGR
}
 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. More...
 
enum  HintStyle {
  HINT_STYLE_DEFAULT = CAIRO_HINT_STYLE_DEFAULT ,
  HINT_STYLE_NONE = CAIRO_HINT_STYLE_NONE ,
  HINT_STYLE_SLIGHT = CAIRO_HINT_STYLE_SLIGHT ,
  HINT_STYLE_MEDIUM = CAIRO_HINT_STYLE_MEDIUM ,
  HINT_STYLE_FULL = CAIRO_HINT_STYLE_FULL
}
 Specifies the type of hinting to do on font outlines. More...
 
enum  HintMetrics {
  HINT_METRICS_DEFAULT = CAIRO_HINT_METRICS_DEFAULT ,
  HINT_METRICS_OFF = CAIRO_HINT_METRICS_OFF ,
  HINT_METRICS_ON = CAIRO_HINT_METRICS_ON
}
 Specifies whether to hint font metrics; hinting font metrics means quantizing them so that they are integer values in device space. More...
 
enum  SurfaceType {
  SURFACE_TYPE_IMAGE = CAIRO_SURFACE_TYPE_IMAGE ,
  SURFACE_TYPE_PDF = CAIRO_SURFACE_TYPE_PDF ,
  SURFACE_TYPE_PS = CAIRO_SURFACE_TYPE_PS ,
  SURFACE_TYPE_XLIB = CAIRO_SURFACE_TYPE_XLIB ,
  SURFACE_TYPE_XCB = CAIRO_SURFACE_TYPE_XCB ,
  SURFACE_TYPE_GLITZ = CAIRO_SURFACE_TYPE_GLITZ ,
  SURFACE_TYPE_QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ ,
  SURFACE_TYPE_WIN32 = CAIRO_SURFACE_TYPE_WIN32 ,
  SURFACE_TYPE_BEOS = CAIRO_SURFACE_TYPE_BEOS ,
  SURFACE_TYPE_DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB ,
  SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG ,
  SURFACE_TYPE_OS2 = CAIRO_SURFACE_TYPE_OS2 ,
  SURFACE_TYPE_WIN32_PRINTING = CAIRO_SURFACE_TYPE_WIN32_PRINTING ,
  SURFACE_TYPE_QUARTZ_IMAGE = CAIRO_SURFACE_TYPE_QUARTZ_IMAGE ,
  SURFACE_TYPE_SCRIPT = CAIRO_SURFACE_TYPE_SCRIPT ,
  SURFACE_TYPE_QT = CAIRO_SURFACE_TYPE_QT ,
  SURFACE_TYPE_RECORDING = CAIRO_SURFACE_TYPE_RECORDING ,
  SURFACE_TYPE_VG = CAIRO_SURFACE_TYPE_VG ,
  SURFACE_TYPE_GL = CAIRO_SURFACE_TYPE_GL ,
  SURFACE_TYPE_DRM = CAIRO_SURFACE_TYPE_DRM ,
  SURFACE_TYPE_TEE = CAIRO_SURFACE_TYPE_TEE ,
  SURFACE_TYPE_XML = CAIRO_SURFACE_TYPE_XML ,
  SURFACE_TYPE_SKIA = CAIRO_SURFACE_TYPE_SKIA ,
  SURFACE_TYPE_SUBSURFACE = CAIRO_SURFACE_TYPE_SUBSURFACE
}
 Cairo::SurfaceType is used to describe the type of a given surface. More...
 
enum  PatternType {
  PATTERN_TYPE_SOLID = CAIRO_PATTERN_TYPE_SOLID ,
  PATTERN_TYPE_SURFACE = CAIRO_PATTERN_TYPE_SURFACE ,
  PATTERN_TYPE_LINEAR = CAIRO_PATTERN_TYPE_LINEAR ,
  PATTERN_TYPE_RADIAL = CAIRO_PATTERN_TYPE_RADIAL
}
 Cairo::PatternType is used to describe the type of a given pattern. More...
 
enum  FontType {
  FONT_TYPE_TOY = CAIRO_FONT_TYPE_TOY ,
  FONT_TYPE_FT = CAIRO_FONT_TYPE_FT ,
  FONT_TYPE_WIN32 = CAIRO_FONT_TYPE_WIN32 ,
  FONT_TYPE_ATSUI = CAIRO_FONT_TYPE_QUARTZ ,
  FONT_TYPE_QUARTZ = CAIRO_FONT_TYPE_QUARTZ ,
  FONT_TYPE_USER = CAIRO_FONT_TYPE_USER
}
 Cairo::FontType is used to describe the type of a given font face or scaled font. More...
 
enum  TextClusterFlags { TEXT_CLUSTER_FLAG_BACKWARD = CAIRO_TEXT_CLUSTER_FLAG_BACKWARD }
 Specifies properties of a text cluster mapping. More...
 
enum  RegionOverlap {
  REGION_OVERLAP_IN = CAIRO_REGION_OVERLAP_IN ,
  REGION_OVERLAP_OUT = CAIRO_REGION_OVERLAP_OUT ,
  REGION_OVERLAP_PART = CAIRO_REGION_OVERLAP_PART
}
 
enum  FtSynthesize {
  FT_SYNTHESIZE_BOLT = CAIRO_FT_SYNTHESIZE_BOLD ,
  FT_SYNTHESIZE_OBLIQUE = CAIRO_FT_SYNTHESIZE_OBLIQUE
}
 A set of synthesis options to control how FreeType renders the glyphs for a particular font face. More...
 
enum  PdfVersion {
  PDF_VERSION_1_4 = CAIRO_PDF_VERSION_1_4 ,
  PDF_VERSION_1_5 = CAIRO_PDF_VERSION_1_5
}
 
enum  PsLevel {
  PS_LEVEL_2 = CAIRO_PS_LEVEL_2 ,
  PS_LEVEL_3 = CAIRO_PS_LEVEL_3
}
 describes the language level of the PostScript Language Reference that a generated PostScript file will conform to. More...
 
enum  SvgVersion {
  SVG_VERSION_1_1 = CAIRO_SVG_VERSION_1_1 ,
  SVG_VERSION_1_2 = CAIRO_SVG_VERSION_1_2
}
 

Functions

FtSynthesize operator| (FtSynthesize a, FtSynthesize b)
 
FtSynthesize operator& (FtSynthesize a, FtSynthesize b)
 

Typedef Documentation

◆ FontExtents

typedef cairo_font_extents_t Cairo::FontExtents

See the cairo_font_extents_t reference in the cairo manual for more information.

◆ Glyph

typedef cairo_glyph_t Cairo::Glyph

See the cairo_glyph_t reference in the cairo manual for more information.

◆ Rectangle

typedef cairo_rectangle_t Cairo::Rectangle

See the cairo_rectangle_t reference in the cairo manual for more information.

◆ RectangleInt

typedef cairo_rectangle_int_t Cairo::RectangleInt

See the cairo_rectangle_int_t reference in the cairo manual for more information.

◆ TextCluster

typedef cairo_text_cluster_t Cairo::TextCluster

See the cairo_text_cluster_t reference in the cairo manual for more information.

◆ TextExtents

typedef cairo_text_extents_t Cairo::TextExtents

See the cairo_text_extents_t reference in the cairo manual for more information.

Enumeration Type Documentation

◆ Antialias

Specifies the type of antialiasing to do when rendering text or shapes.

The interpretation of Cairo::ANTIALIAS_DEFAULT is left entirely up to the backend.

Enumerator
ANTIALIAS_DEFAULT 

Use the default antialiasing for the subsystem and target device.

ANTIALIAS_NONE 

Use bilevel alpha mask.

ANTIALIAS_GRAY 

Perform single-color antialiasing (using shades of gray for black text on white background, for example).

ANTIALIAS_SUBPIXEL 

Perform antialiasing by taing advantage of the order of subpixel elements on devices such as LCD panels.

◆ Content

Cairo::Content is used to describe the content that a surface will contain, whether color information, alpha information (translucence vs.

opacity), or both.

Enumerator
CONTENT_COLOR 

The surface will hold color content only.

CONTENT_ALPHA 

The surface will hold alpha content only.

CONTENT_COLOR_ALPHA 

The surface will hold color and alpha content.

◆ DeviceType

Since
1.10
Enumerator
DEVICE_TYPE_DRM 
DEVICE_TYPE_GL 
DEVICE_TYPE_SCRIPT 
DEVICE_TYPE_XCB 
DEVICE_TYPE_XLIB 
DEVICE_TYPE_XML 

◆ Extend

Cairo::Extend 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).

Mesh patterns are not affected by the extend mode.

The default extend mode is Cairo::EXTEND_NONE for surface patterns and Cairo::EXTEND_PAD for gradient patterns.

New entries may be added in future versions.

Enumerator
EXTEND_NONE 

Pixels outside of the source pattern are fully transparent.

EXTEND_REPEAT 

The pattern is tiled by repeating.

EXTEND_REFLECT 

The pattern is tiled by reflecting at the edges (Implemented for surface patterns since 1.6)

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)

◆ FillRule

Cairo::FillRule 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.)

The default fill rule is Cairo::FILL_RULE_WINDING.

New entries may be added in future versions.

Enumerator
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.

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.

◆ Filter

Cairo::Filter is used to indicate what filtering should be applied when reading pixel values from patterns.

See Cairo::SurfacePattern::set_filter() for indicating the desired filter to be used with a particular pattern.

Enumerator
FILTER_FAST 

A high-performance filter, with quality similar to Cairo::FILTER_NEAREST.

FILTER_GOOD 

A reasonable-performance filter, with quality similar to Cairo::FILTER_BILINEAR.

FILTER_BEST 

The highest-quality available, performance may not be suitable for interactive use.

FILTER_NEAREST 

Nearest-neighbor filtering.

FILTER_BILINEAR 

Linear interpolation in two dimensions.

FILTER_GAUSSIAN 

This filter value is currently unimplemented, and should not be used in current code.

◆ FontSlant

Specifies variants of a font face based on their slant.

Enumerator
FONT_SLANT_NORMAL 

Upright font style.

FONT_SLANT_ITALIC 

Italic font style.

FONT_SLANT_OBLIQUE 

Oblique font style.

◆ FontType

Cairo::FontType 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.

New entries may be added in future versions.

Since
1.2
Enumerator
FONT_TYPE_TOY 

The font was created using cairo's toy font api.

FONT_TYPE_FT 

The font is of type FreeType.

FONT_TYPE_WIN32 

The font is of type Win32.

FONT_TYPE_ATSUI 
Deprecated:
Use FONT_TYPE_QUARTZ instead.
FONT_TYPE_QUARTZ 

The font is of type Quartz.

Since
1.6
FONT_TYPE_USER 

The font was created using cairo's user font api.

Since
1.8

◆ FontWeight

Specifies variants of a font face based on their weight.

Enumerator
FONT_WEIGHT_NORMAL 

Normal font weight.

FONT_WEIGHT_BOLD 

Bold font weight.

◆ Format

Cairo::Format is used to identify the memory format of image data.

New entries may be added in future versions.

Enumerator
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,

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.

FORMAT_A8 

Each pixel is a 8-bit quantity holding an alpha value.

FORMAT_A1 

Each pikel is a 1-bit quentity holding an alpha value.

Pixels are packed together into 32-bit quantities. The ordering of the bits matches the endianess 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.

FORMAT_RGB16_565 

Each fixel 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.

◆ FtSynthesize

A set of synthesis options to control how FreeType renders the glyphs for a particular font face.

FreeType provides the ability to synthesize different glyphs from a base font, which is useful if you lack those glyphs from a true bold or oblique font.

Individual synthesis features of a FtFontFace can be set using FtFontFace::set_synthesize(), or disabled using FtFontFace::unset_synthesize(). The currently enabled set of synthesis options can be queried with FtFontFace::get_synthesize().

Note: that when synthesizing glyphs, the font metrics returned will only be estimates.

Since
1.12
Enumerator
FT_SYNTHESIZE_BOLT 

Embolden the glyphs (redraw with a pixel offset)

FT_SYNTHESIZE_OBLIQUE 

Slant the glyph outline by 12 degrees to the right.

◆ HintMetrics

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.

Enumerator
HINT_METRICS_DEFAULT 

Hint metrics in the default manner for the font backend and target device.

HINT_METRICS_OFF 

Do not hint font metrics.

HINT_METRICS_ON 

Hint font metrics.

◆ HintStyle

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.

New entries may be added in future versions.

Enumerator
HINT_STYLE_DEFAULT 

Use the default hint style for font backend and target device.

HINT_STYLE_NONE 

Do not hint outlines.

HINT_STYLE_SLIGHT 

Hint outlines slightly to improve contrast while retaining food fidelity to the original shapes.

HINT_STYLE_MEDIUM 

Hint outlines with medium strength giving a compromise between fidelity to the original shapes and contrast.

HINT_STYLE_FULL 

Hint outlines to maximize contrast.

◆ LineCap

Specifies how to render the endpoints of the path when stroking.

The default line cap style is Cairo::LINE_CAP_BUTT.

Enumerator
LINE_CAP_BUTT 

Start(stop) the line exactly at the start(end) point.

LINE_CAP_ROUND 

Use a round ending, the center of teh circle is teh end point.

LINE_CAP_SQUARE 

Use squared ending, the center of teh square is the end point.

◆ LineJoin

Specifies how to render the junction of two lines when stroking.

The default line join style is Cairo::LINE_JOIN_MITER.

Enumerator
LINE_JOIN_MITER 

Use a sharp (angled) corner, see Context::set_miter_limit()

LINE_JOIN_ROUND 

Use a rounded join, the center of teh circle is the joint point.

LINE_JOIN_BEVEL 

Use cut-off join, the join is cut off at half the line width from the join point.

◆ Operator

Cairo::Operator is used to set the compositing operator for all cairo drawing operations.

The default operator is Cairo::OPERATOR_OVER.

The operators marked as unbounded modify their destination even outside of the mask layer (that is, their effect is not bound by the mask layer). However, their effect can still be limited by way of clipping.

To keep things simple, the operator descriptions here document the behavior for when both source and destination are either fully transparent or fully opaque. The actual implementation works for translucent layers too. For a more detailed explanation of the effects of each operator, including the mathematical definitions, see this

Enumerator
OPERATOR_CLEAR 

Clear destination layer (bounded)

OPERATOR_SOURCE 

Replace destination layer (bounded)

OPERATOR_OVER 

Draw source layer on top of destination layer (bounded)

OPERATOR_IN 

Draw source where there was destination content (unbounded)

OPERATOR_OUT 

Draw source where there was no destination content (unbounded)

OPERATOR_ATOP 

Draw source on top of destination content and only there.

OPERATOR_DEST 

Ignore the source.

OPERATOR_DEST_OVER 

Draw destination on top of source.

OPERATOR_DEST_IN 

Leave destination only where there was source content (unbounded)

OPERATOR_DEST_OUT 

Leave destination only where there was no source content.

OPERATOR_DEST_ATOP 

Leave destination on top of source content and only there (unbounded)

OPERATOR_XOR 

Source and destination are shown where there is only one of them.

OPERATOR_ADD 

Source and destination layers are accumulated.

OPERATOR_SATURATE 

Like over, but assuming source and dest are disjoint geometries.

◆ PatternType

Cairo::PatternType is used to describe the type of a given pattern.

The pattern type can be queried with Pattern::get_type().

New entries may be added in future versions.

Since
1.2
Enumerator
PATTERN_TYPE_SOLID 

The pattern is a solid (uniform) color.

It may be opaque or translucent.

PATTERN_TYPE_SURFACE 

The pattern is a based on a surface (an image)

PATTERN_TYPE_LINEAR 

The pattern is a linear gradient.

PATTERN_TYPE_RADIAL 

The pattern is a radial gradient.

◆ PdfVersion

Enumerator
PDF_VERSION_1_4 
PDF_VERSION_1_5 

◆ PsLevel

describes the language level of the PostScript Language Reference that a generated PostScript file will conform to.

Enumerator
PS_LEVEL_2 
PS_LEVEL_3 

◆ RegionOverlap

Enumerator
REGION_OVERLAP_IN 

Completely inside region.

REGION_OVERLAP_OUT 

Completely outside region.

REGION_OVERLAP_PART 

Partly inside region.

◆ SubpixelOrder

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.

Enumerator
SUBPIXEL_ORDER_DEFAULT 

Use the default subpixel order for for the target device.

SUBPIXEL_ORDER_RGB 

Subpixel elements are arranged horizontally with red at the left.

SUBPIXEL_ORDER_BGR 

Subpixel elements are arranged horizontally with blue at the left.

SUBPIXEL_ORDER_VRGB 

Subpixel elements are arranged vertically with red at the top.

SUBPIXEL_ORDER_VBGR 

Subpixel elements are arranged vertically with blue at the top.

◆ SurfaceType

Cairo::SurfaceType is used to describe the type of a given surface.

The surface types are also known as "backends" or "surface backends" within cairo.

The surface type can be queried with Surface::get_type()

The various Cairo::Surface functions can be used with surfaces of any type, but some backends also provide type-specific functions that must only be called with a surface of the appropriate type.

New entries may be added in future versions.

Since
1.2
Enumerator
SURFACE_TYPE_IMAGE 

The surface is of type image.

SURFACE_TYPE_PDF 

The surface is of type pdf.

SURFACE_TYPE_PS 

The surface is of type ps.

SURFACE_TYPE_XLIB 

The surface is of type xlim.

SURFACE_TYPE_XCB 

The surface is of type xcb.

SURFACE_TYPE_GLITZ 

The surface is of type glitz.

SURFACE_TYPE_QUARTZ 

The surface is of type quartz.

SURFACE_TYPE_WIN32 

The surface is of type win32.

SURFACE_TYPE_BEOS 

The surface is of type beos.

SURFACE_TYPE_DIRECTFB 

The surface is of type directfb.

SURFACE_TYPE_SVG 

The surface is of type svg.

SURFACE_TYPE_OS2 

The surface is of type os2.

SURFACE_TYPE_WIN32_PRINTING 

The surface is a win32 printing surface.

SURFACE_TYPE_QUARTZ_IMAGE 

The surface is of type quartz_image.

SURFACE_TYPE_SCRIPT 

The surface is of type script.

Since
1.10
SURFACE_TYPE_QT 

The surface is of type Qt.

Since
1.10
SURFACE_TYPE_RECORDING 

The surface is of type recording.

Since
1.10
SURFACE_TYPE_VG 

The surface is a OpenVg surface.

Since
1.10
SURFACE_TYPE_GL 

The surface is of type OpenGl.

Since
1.10
SURFACE_TYPE_DRM 

The surface is of type Direct Render Manager.

Since
1.10
SURFACE_TYPE_TEE 

The surface is of type script 'tee' (a multiplexing surface)

Since
1.10
SURFACE_TYPE_XML 

The surface is of type XML (for debugging)

Since
1.10
SURFACE_TYPE_SKIA 

The surface is of type Skia.

Since
1.10
SURFACE_TYPE_SUBSURFACE 

The surface is of type The surface is a subsurface created with Surface::create()

Since
1.10

◆ SvgVersion

Enumerator
SVG_VERSION_1_1 
SVG_VERSION_1_2 

◆ TextClusterFlags

Specifies properties of a text cluster mapping.

Since
1.8
Enumerator
TEXT_CLUSTER_FLAG_BACKWARD 

The clusters in the cluster array map to glyphs in the glyph array from end to start.

Function Documentation

◆ operator&()

FtSynthesize Cairo::operator& ( FtSynthesize  a,
FtSynthesize  b 
)
inline

◆ operator|()

FtSynthesize Cairo::operator| ( FtSynthesize  a,
FtSynthesize  b 
)
inline