Classes | Typedefs | Enumerations

Cairo Namespace Reference

Classes

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 logic_error
class FontFace
 A FontFace represents a particular font at a particular weight, slant, and other characteristic but no size, transformation, or size. 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 FtFontFace
class FontOptions
 How a font should be rendered. More...
class Matrix
 A Transformation matrix. More...
class Path
 A data structure for holding a path. More...
struct ColorStop
class Pattern
 This is a reference-counted object that should be used via Cairo::RefPtr. More...
class SolidPattern
class SurfacePattern
class Gradient
class LinearGradient
class RadialGradient
class QuartzFontFace
 Font support for Quartz (CGFont) fonts on OS X. More...
class QuartzSurface
 A QuartzSurface provides a way to render within Apple Mac OS X. 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 FtScaledFont
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 ImageSurface
 Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. 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 SvgSurface
 A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images from cairo. More...
class GlitzSurface
 A GlitzSurface provides a way to render to the X Window System using Glitz. More...
class Win32FontFace
 Font support for 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 Win32PrintingSurface
 A multi-page vector surface type for printing on 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.
typedef cairo_rectangle_int_t RectangleInt
 See the cairo_rectangle_int_t reference in the cairo manual for more information.
typedef cairo_font_extents_t FontExtents
 See the cairo_font_extents_t reference in the cairo manual for more information.
typedef cairo_text_extents_t TextExtents
 See the cairo_text_extents_t reference in the cairo manual for more information.
typedef cairo_text_cluster_t TextCluster
 See the cairo_text_cluster_t reference in the cairo manual for more information.
typedef cairo_glyph_t Glyph
 See the cairo_glyph_t reference in the cairo manual for more information.

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
}
enum Antialias {
  ANTIALIAS_DEFAULT = CAIRO_ANTIALIAS_DEFAULT,
  ANTIALIAS_NONE = CAIRO_ANTIALIAS_NONE,
  ANTIALIAS_GRAY = CAIRO_ANTIALIAS_GRAY,
  ANTIALIAS_SUBPIXEL = CAIRO_ANTIALIAS_SUBPIXEL
}
enum FillRule {
  FILL_RULE_WINDING = CAIRO_FILL_RULE_WINDING,
  FILL_RULE_EVEN_ODD = CAIRO_FILL_RULE_EVEN_ODD
}
enum LineCap {
  LINE_CAP_BUTT = CAIRO_LINE_CAP_BUTT,
  LINE_CAP_ROUND = CAIRO_LINE_CAP_ROUND,
  LINE_CAP_SQUARE = CAIRO_LINE_CAP_SQUARE
}
enum LineJoin {
  LINE_JOIN_MITER = CAIRO_LINE_JOIN_MITER,
  LINE_JOIN_ROUND = CAIRO_LINE_JOIN_ROUND,
  LINE_JOIN_BEVEL = CAIRO_LINE_JOIN_BEVEL
}
enum FontSlant {
  FONT_SLANT_NORMAL = CAIRO_FONT_SLANT_NORMAL,
  FONT_SLANT_ITALIC = CAIRO_FONT_SLANT_ITALIC,
  FONT_SLANT_OBLIQUE = CAIRO_FONT_SLANT_OBLIQUE
}
enum FontWeight {
  FONT_WEIGHT_NORMAL = CAIRO_FONT_WEIGHT_NORMAL,
  FONT_WEIGHT_BOLD = CAIRO_FONT_WEIGHT_BOLD
}
enum Content {
  CONTENT_COLOR = CAIRO_CONTENT_COLOR,
  CONTENT_ALPHA = CAIRO_CONTENT_ALPHA,
  CONTENT_COLOR_ALPHA = CAIRO_CONTENT_COLOR_ALPHA
}
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
}
enum Extend {
  EXTEND_NONE = CAIRO_EXTEND_NONE,
  EXTEND_REPEAT = CAIRO_EXTEND_REPEAT,
  EXTEND_REFLECT = CAIRO_EXTEND_REFLECT,
  EXTEND_PAD = CAIRO_EXTEND_PAD
}
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
}
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 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
}
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
}
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
}
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 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
}

Typedef Documentation

typedef cairo_font_extents_t Cairo::FontExtents

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

typedef cairo_glyph_t Cairo::Glyph

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

typedef cairo_rectangle_t Cairo::Rectangle

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

typedef cairo_rectangle_int_t Cairo::RectangleInt

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

typedef cairo_text_cluster_t Cairo::TextCluster

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

typedef cairo_text_extents_t Cairo::TextExtents

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


Enumeration Type Documentation

Enumerator:
ANTIALIAS_DEFAULT 
ANTIALIAS_NONE 
ANTIALIAS_GRAY 
ANTIALIAS_SUBPIXEL 
Enumerator:
CONTENT_COLOR 
CONTENT_ALPHA 
CONTENT_COLOR_ALPHA 
Enumerator:
DEVICE_TYPE_DRM 
DEVICE_TYPE_GL 
DEVICE_TYPE_SCRIPT 
DEVICE_TYPE_XCB 
DEVICE_TYPE_XLIB 
DEVICE_TYPE_XML 
Enumerator:
EXTEND_NONE 
EXTEND_REPEAT 
EXTEND_REFLECT 
EXTEND_PAD 
Enumerator:
FILL_RULE_WINDING 
FILL_RULE_EVEN_ODD 
Enumerator:
FILTER_FAST 
FILTER_GOOD 
FILTER_BEST 
FILTER_NEAREST 
FILTER_BILINEAR 
FILTER_GAUSSIAN 
Enumerator:
FONT_SLANT_NORMAL 
FONT_SLANT_ITALIC 
FONT_SLANT_OBLIQUE 
Enumerator:
FONT_TYPE_TOY 
FONT_TYPE_FT 
FONT_TYPE_WIN32 
FONT_TYPE_ATSUI 
Deprecated:
Use FONT_TYPE_QUARTZ instead.
FONT_TYPE_QUARTZ 
FONT_TYPE_USER 
Enumerator:
FONT_WEIGHT_NORMAL 
FONT_WEIGHT_BOLD 
Enumerator:
FORMAT_ARGB32 
FORMAT_RGB24 
FORMAT_A8 
FORMAT_A1 
FORMAT_RGB16_565 

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.

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

Enumerator:
LINE_CAP_BUTT 
LINE_CAP_ROUND 
LINE_CAP_SQUARE 
Enumerator:
LINE_JOIN_MITER 
LINE_JOIN_ROUND 
LINE_JOIN_BEVEL 
Enumerator:
OPERATOR_CLEAR 
OPERATOR_SOURCE 
OPERATOR_OVER 
OPERATOR_IN 
OPERATOR_OUT 
OPERATOR_ATOP 
OPERATOR_DEST 
OPERATOR_DEST_OVER 
OPERATOR_DEST_IN 
OPERATOR_DEST_OUT 
OPERATOR_DEST_ATOP 
OPERATOR_XOR 
OPERATOR_ADD 
OPERATOR_SATURATE 
Enumerator:
PATTERN_TYPE_SOLID 
PATTERN_TYPE_SURFACE 
PATTERN_TYPE_LINEAR 
PATTERN_TYPE_RADIAL 
Enumerator:
PDF_VERSION_1_4 
PDF_VERSION_1_5 

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

Enumerator:
PS_LEVEL_2 
PS_LEVEL_3 
Enumerator:
REGION_OVERLAP_IN 

completely inside region

REGION_OVERLAP_OUT 

completely outside region

REGION_OVERLAP_PART 

partly inside region

The subpixel order specifies the order of color elements within each pixel on the display device when rendering with an antialiasing mode of 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.

Enumerator:
SURFACE_TYPE_IMAGE 
SURFACE_TYPE_PDF 
SURFACE_TYPE_PS 
SURFACE_TYPE_XLIB 
SURFACE_TYPE_XCB 
SURFACE_TYPE_GLITZ 
SURFACE_TYPE_QUARTZ 
SURFACE_TYPE_WIN32 
SURFACE_TYPE_BEOS 
SURFACE_TYPE_DIRECTFB 
SURFACE_TYPE_SVG 
SURFACE_TYPE_OS2 
SURFACE_TYPE_WIN32_PRINTING 
SURFACE_TYPE_QUARTZ_IMAGE 
SURFACE_TYPE_SCRIPT 
Since:
: 1.10
SURFACE_TYPE_QT 
Since:
: 1.10
SURFACE_TYPE_RECORDING 
Since:
: 1.10
SURFACE_TYPE_VG 
Since:
: 1.10
SURFACE_TYPE_GL 
Since:
: 1.10
SURFACE_TYPE_DRM 
Since:
: 1.10
SURFACE_TYPE_TEE 
Since:
: 1.10
SURFACE_TYPE_XML 
Since:
: 1.10
SURFACE_TYPE_SKIA 
Since:
: 1.10
SURFACE_TYPE_SUBSURFACE 
Since:
: 1.10
Enumerator:
SVG_VERSION_1_1 
SVG_VERSION_1_2 

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.