# Cairo

- Introduction
- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
  - Resource Types
- Predefined Constants
- Examples
- Cairo Functions
  - cairo_create — Returns a new CairoContext object on the requested surface
  - cairo_font_options_create — Description
  - cairo_font_options_equal — Description
  - cairo_font_options_get_antialias — Description
  - cairo_font_options_get_hint_metrics — Description
  - cairo_font_options_get_hint_style — Description
  - cairo_font_options_get_subpixel_order — Description
  - cairo_font_options_hash — Description
  - cairo_font_options_merge — Description
  - cairo_font_options_set_antialias — Description
  - cairo_font_options_set_hint_metrics — Description
  - cairo_font_options_set_hint_style — Description
  - cairo_font_options_set_subpixel_order — Description
  - cairo_font_options_status — Description
  - cairo_format_stride_for_width — Description
  - cairo_image_surface_create_for_data — Description
  - cairo_image_surface_create_from_png — Description
  - cairo_image_surface_create — Description
  - cairo_image_surface_get_data — Description
  - cairo_image_surface_get_format — Description
  - cairo_image_surface_get_height — Description
  - cairo_image_surface_get_stride — Description
  - cairo_image_surface_get_width — Description
  - cairo_matrix_create_scale — Alias of CairoMatrix::initScale
  - cairo_matrix_create_translate — Alias of CairoMatrix::initTranslate
  - cairo_matrix_invert — Description
  - cairo_matrix_multiply — Description
  - cairo_matrix_transform_distance — Description
  - cairo_matrix_transform_point — Description
  - cairo_matrix_translate — Description
  - cairo_pattern_add_color_stop_rgb — Description
  - cairo_pattern_add_color_stop_rgba — Description
  - cairo_pattern_create_for_surface — Description
  - cairo_pattern_create_linear — Description
  - cairo_pattern_create_radial — Description
  - cairo_pattern_create_rgb — Description
  - cairo_pattern_create_rgba — Description
  - cairo_pattern_get_color_stop_count — Description
  - cairo_pattern_get_color_stop_rgba — Description
  - cairo_pattern_get_extend — Description
  - cairo_pattern_get_filter — Description
  - cairo_pattern_get_linear_points — Description
  - cairo_pattern_get_matrix — Description
  - cairo_pattern_get_radial_circles — Description
  - cairo_pattern_get_rgba — Description
  - cairo_pattern_get_surface — Description
  - cairo_pattern_get_type — Description
  - cairo_pattern_set_extend — Description
  - cairo_pattern_set_filter — Description
  - cairo_pattern_set_matrix — Description
  - cairo_pattern_status — Description
  - cairo_pdf_surface_create — Description
  - cairo_pdf_surface_set_size — Description
  - cairo_ps_get_levels — Description
  - cairo_ps_level_to_string — Description
  - cairo_ps_surface_create — Description
  - cairo_ps_surface_dsc_begin_page_setup — Description
  - cairo_ps_surface_dsc_begin_setup — Description
  - cairo_ps_surface_dsc_comment — Description
  - cairo_ps_surface_get_eps — Description
  - cairo_ps_surface_restrict_to_level — Description
  - cairo_ps_surface_set_eps — Description
  - cairo_ps_surface_set_size — Description
  - cairo_scaled_font_create — Description
  - cairo_scaled_font_extents — Description
  - cairo_scaled_font_get_ctm — Description
  - cairo_scaled_font_get_font_face — Description
  - cairo_scaled_font_get_font_matrix — Description
  - cairo_scaled_font_get_font_options — Description
  - cairo_scaled_font_get_scale_matrix — Description
  - cairo_scaled_font_get_type — Description
  - cairo_scaled_font_glyph_extents — Description
  - cairo_scaled_font_status — Description
  - cairo_scaled_font_text_extents — Description
  - cairo_surface_copy_page — Description
  - cairo_surface_create_similar — Description
  - cairo_surface_finish — Description
  - cairo_surface_flush — Description
  - cairo_surface_get_content — Description
  - cairo_surface_get_device_offset — Description
  - cairo_surface_get_font_options — Description
  - cairo_surface_get_type — Description
  - cairo_surface_mark_dirty_rectangle — Description
  - cairo_surface_mark_dirty — Description
  - cairo_surface_set_device_offset — Description
  - cairo_surface_set_fallback_resolution — Description
  - cairo_surface_show_page — Description
  - cairo_surface_status — Description
  - cairo_surface_write_to_png — Description
  - cairo_svg_surface_create — Description
  - cairo_svg_surface_restrict_to_version — Description
  - cairo_svg_version_to_string — Description
- Cairo — The Cairo class
  - Cairo::availableFonts — Retrieves the availables font types
  - Cairo::availableSurfaces — Retrieves all available surfaces
  - Cairo::statusToString — Retrieves the current status as string
  - Cairo::version — Retrieves cairo's library version
  - Cairo::versionString — Retrieves cairo version as string
- CairoContext — The CairoContext class
  - CairoContext::appendPath — Appends a path to current path
  - CairoContext::arc — Adds a circular arc
  - CairoContext::arcNegative — Adds a negative arc
  - CairoContext::clip — Establishes a new clip region
  - CairoContext::clipExtents — Computes the area inside the current clip
  - CairoContext::clipPreserve — Establishes a new clip region from the current clip
  - CairoContext::clipRectangleList — Retrieves the current clip as a list of rectangles
  - CairoContext::closePath — Closes the current path
  - CairoContext::__construct — Creates a new CairoContext
  - CairoContext::copyPage — Emits the current page
  - CairoContext::copyPath — Creates a copy of the current path
  - CairoContext::copyPathFlat — Gets a flattened copy of the current path
  - CairoContext::curveTo — Adds a curve
  - CairoContext::deviceToUser — Transform a coordinate
  - CairoContext::deviceToUserDistance — Transform a distance
  - CairoContext::fill — Fills the current path
  - CairoContext::fillExtents — Computes the filled area
  - CairoContext::fillPreserve — Fills and preserve the current path
  - CairoContext::fontExtents — Get the font extents
  - CairoContext::getAntialias — Retrieves the current antialias mode
  - CairoContext::getCurrentPoint — The getCurrentPoint purpose
  - CairoContext::getDash — The getDash purpose
  - CairoContext::getDashCount — The getDashCount purpose
  - CairoContext::getFillRule — The getFillRule purpose
  - CairoContext::getFontFace — The getFontFace purpose
  - CairoContext::getFontMatrix — The getFontMatrix purpose
  - CairoContext::getFontOptions — The getFontOptions purpose
  - CairoContext::getGroupTarget — The getGroupTarget purpose
  - CairoContext::getLineCap — The getLineCap purpose
  - CairoContext::getLineJoin — The getLineJoin purpose
  - CairoContext::getLineWidth — The getLineWidth purpose
  - CairoContext::getMatrix — The getMatrix purpose
  - CairoContext::getMiterLimit — The getMiterLimit purpose
  - CairoContext::getOperator — The getOperator purpose
  - CairoContext::getScaledFont — The getScaledFont purpose
  - CairoContext::getSource — The getSource purpose
  - CairoContext::getTarget — The getTarget purpose
  - CairoContext::getTolerance — The getTolerance purpose
  - CairoContext::glyphPath — The glyphPath purpose
  - CairoContext::hasCurrentPoint — The hasCurrentPoint purpose
  - CairoContext::identityMatrix — The identityMatrix purpose
  - CairoContext::inFill — The inFill purpose
  - CairoContext::inStroke — The inStroke purpose
  - CairoContext::lineTo — The lineTo purpose
  - CairoContext::mask — The mask purpose
  - CairoContext::maskSurface — The maskSurface purpose
  - CairoContext::moveTo — The moveTo purpose
  - CairoContext::newPath — The newPath purpose
  - CairoContext::newSubPath — The newSubPath purpose
  - CairoContext::paint — The paint purpose
  - CairoContext::paintWithAlpha — The paintWithAlpha purpose
  - CairoContext::pathExtents — The pathExtents purpose
  - CairoContext::popGroup — The popGroup purpose
  - CairoContext::popGroupToSource — The popGroupToSource purpose
  - CairoContext::pushGroup — The pushGroup purpose
  - CairoContext::pushGroupWithContent — The pushGroupWithContent purpose
  - CairoContext::rectangle — The rectangle purpose
  - CairoContext::relCurveTo — The relCurveTo purpose
  - CairoContext::relLineTo — The relLineTo purpose
  - CairoContext::relMoveTo — The relMoveTo purpose
  - CairoContext::resetClip — The resetClip purpose
  - CairoContext::restore — The restore purpose
  - CairoContext::rotate — The rotate purpose
  - CairoContext::save — The save purpose
  - CairoContext::scale — The scale purpose
  - CairoContext::selectFontFace — The selectFontFace purpose
  - CairoContext::setAntialias — The setAntialias purpose
  - CairoContext::setDash — The setDash purpose
  - CairoContext::setFillRule — The setFillRule purpose
  - CairoContext::setFontFace — The setFontFace purpose
  - CairoContext::setFontMatrix — The setFontMatrix purpose
  - CairoContext::setFontOptions — The setFontOptions purpose
  - CairoContext::setFontSize — The setFontSize purpose
  - CairoContext::setLineCap — The setLineCap purpose
  - CairoContext::setLineJoin — The setLineJoin purpose
  - CairoContext::setLineWidth — The setLineWidth purpose
  - CairoContext::setMatrix — The setMatrix purpose
  - CairoContext::setMiterLimit — The setMiterLimit purpose
  - CairoContext::setOperator — The setOperator purpose
  - CairoContext::setScaledFont — The setScaledFont purpose
  - CairoContext::setSource — The setSource purpose
  - CairoContext::setSourceRGB — The setSourceRGB purpose
  - CairoContext::setSourceRGBA — The setSourceRGBA purpose
  - CairoContext::setSourceSurface — The setSourceSurface purpose
  - CairoContext::setTolerance — The setTolerance purpose
  - CairoContext::showPage — The showPage purpose
  - CairoContext::showText — The showText purpose
  - CairoContext::status — The status purpose
  - CairoContext::stroke — The stroke purpose
  - CairoContext::strokeExtents — The strokeExtents purpose
  - CairoContext::strokePreserve — The strokePreserve purpose
  - CairoContext::textExtents — The textExtents purpose
  - CairoContext::textPath — The textPath purpose
  - CairoContext::transform — The transform purpose
  - CairoContext::translate — The translate purpose
  - CairoContext::userToDevice — The userToDevice purpose
  - CairoContext::userToDeviceDistance — The userToDeviceDistance purpose
- CairoException — The CairoException class
- CairoStatus — The CairoStatus class
- CairoSurface — The CairoSurface class
  - CairoSurface::__construct — The __construct purpose
  - CairoSurface::copyPage — The copyPage purpose
  - CairoSurface::createSimilar — The createSimilar purpose
  - CairoSurface::finish — The finish purpose
  - CairoSurface::flush — The flush purpose
  - CairoSurface::getContent — The getContent purpose
  - CairoSurface::getDeviceOffset — The getDeviceOffset purpose
  - CairoSurface::getFontOptions — The getFontOptions purpose
  - CairoSurface::getType — The getType purpose
  - CairoSurface::markDirty — The markDirty purpose
  - CairoSurface::markDirtyRectangle — The markDirtyRectangle purpose
  - CairoSurface::setDeviceOffset — The setDeviceOffset purpose
  - CairoSurface::setFallbackResolution — The setFallbackResolution purpose
  - CairoSurface::showPage — The showPage purpose
  - CairoSurface::status — The status purpose
  - CairoSurface::writeToPng — The writeToPng purpose
- CairoSvgSurface — Svg Surface Backend
  - CairoSvgSurface::__construct — The __construct purpose
  - CairoSvgSurface::getVersions — Used to retrieve a list of supported SVG versions
  - CairoSvgSurface::restrictToVersion — The restrictToVersion purpose
  - CairoSvgSurface::versionToString — The versionToString purpose
- CairoImageSurface — The CairoImageSurface class
  - CairoImageSurface::__construct — Creates a new CairoImageSurface
  - CairoImageSurface::createForData — The createForData purpose
  - CairoImageSurface::createFromPng — Creates a new CairoImageSurface form a png image file
  - CairoImageSurface::getData — Gets the image data as string
  - CairoImageSurface::getFormat — Get the image format
  - CairoImageSurface::getHeight — Retrieves the height of the CairoImageSurface
  - CairoImageSurface::getStride — The getStride purpose
  - CairoImageSurface::getWidth — Retrieves the width of the CairoImageSurface
- CairoPdfSurface — The CairoPdfSurface class
  - CairoPdfSurface::__construct — The __construct purpose
  - CairoPdfSurface::setSize — The setSize purpose
- CairoPsSurface — The CairoPsSurface class
  - CairoPsSurface::__construct — The __construct purpose
  - CairoPsSurface::dscBeginPageSetup — The dscBeginPageSetup purpose
  - CairoPsSurface::dscBeginSetup — The dscBeginSetup purpose
  - CairoPsSurface::dscComment — The dscComment purpose
  - CairoPsSurface::getEps — The getEps purpose
  - CairoPsSurface::getLevels — The getLevels purpose
  - CairoPsSurface::levelToString — The levelToString purpose
  - CairoPsSurface::restrictToLevel — The restrictToLevel purpose
  - CairoPsSurface::setEps — The setEps purpose
  - CairoPsSurface::setSize — The setSize purpose
- CairoSurfaceType — The CairoSurfaceType class
- CairoFontFace — The CairoFontFace class
  - CairoFontFace::__construct — Creates a new CairoFontFace object
  - CairoFontFace::getType — Retrieves the font face type
  - CairoFontFace::status — Check for CairoFontFace errors
- CairoFontOptions — The CairoFontOptions class
  - CairoFontOptions::__construct — The __construct purpose
  - CairoFontOptions::equal — The equal purpose
  - CairoFontOptions::getAntialias — The getAntialias purpose
  - CairoFontOptions::getHintMetrics — The getHintMetrics purpose
  - CairoFontOptions::getHintStyle — The getHintStyle purpose
  - CairoFontOptions::getSubpixelOrder — The getSubpixelOrder purpose
  - CairoFontOptions::hash — The hash purpose
  - CairoFontOptions::merge — The merge purpose
  - CairoFontOptions::setAntialias — The setAntialias purpose
  - CairoFontOptions::setHintMetrics — The setHintMetrics purpose
  - CairoFontOptions::setHintStyle — The setHintStyle purpose
  - CairoFontOptions::setSubpixelOrder — The setSubpixelOrder purpose
  - CairoFontOptions::status — The status purpose
- CairoFontSlant — The CairoFontSlant class
- CairoFontType — The CairoFontType class
- CairoFontWeight — The CairoFontWeight class
- CairoScaledFont — The CairoScaledFont class
  - CairoScaledFont::__construct — The __construct purpose
  - CairoScaledFont::extents — The extents purpose
  - CairoScaledFont::getCtm — The getCtm purpose
  - CairoScaledFont::getFontFace — The getFontFace purpose
  - CairoScaledFont::getFontMatrix — The getFontMatrix purpose
  - CairoScaledFont::getFontOptions — The getFontOptions purpose
  - CairoScaledFont::getScaleMatrix — The getScaleMatrix purpose
  - CairoScaledFont::getType — The getType purpose
  - CairoScaledFont::glyphExtents — The glyphExtents purpose
  - CairoScaledFont::status — The status purpose
  - CairoScaledFont::textExtents — The textExtents purpose
- CairoToyFontFace — The CairoToyFontFace class
- CairoPatternType — The CairoPatternType class
- CairoPattern — The CairoPattern class
  - CairoPattern::__construct — The __construct purpose
  - CairoPattern::getMatrix — The getMatrix purpose
  - CairoPattern::getType — The getType purpose
  - CairoPattern::setMatrix — The setMatrix purpose
  - CairoPattern::status — The status purpose
- CairoGradientPattern — The CairoGradientPattern class
  - CairoGradientPattern::addColorStopRgb — The addColorStopRgb purpose
  - CairoGradientPattern::addColorStopRgba — The addColorStopRgba purpose
  - CairoGradientPattern::getColorStopCount — The getColorStopCount purpose
  - CairoGradientPattern::getColorStopRgba — The getColorStopRgba purpose
  - CairoGradientPattern::getExtend — The getExtend purpose
  - CairoGradientPattern::setExtend — The setExtend purpose
- CairoSolidPattern — The CairoSolidPattern class
  - CairoSolidPattern::__construct — The __construct purpose
  - CairoSolidPattern::getRgba — The getRgba purpose
- CairoSurfacePattern — The CairoSurfacePattern class
  - CairoSurfacePattern::__construct — The __construct purpose
  - CairoSurfacePattern::getExtend — The getExtend purpose
  - CairoSurfacePattern::getFilter — The getFilter purpose
  - CairoSurfacePattern::getSurface — The getSurface purpose
  - CairoSurfacePattern::setExtend — The setExtend purpose
  - CairoSurfacePattern::setFilter — The setFilter purpose
- CairoLinearGradient — The CairoLinearGradient class
  - CairoLinearGradient::__construct — The __construct purpose
  - CairoLinearGradient::getPoints — The getPoints purpose
- CairoRadialGradient — The CairoRadialGradient class
  - CairoRadialGradient::__construct — The __construct purpose
  - CairoRadialGradient::getCircles — The getCircles purpose
- CairoAntialias — The CairoAntialias class
- CairoContent — The CairoContent class
- CairoExtend — The CairoExtend class
- CairoFormat — The CairoFormat class
  - CairoFormat::strideForWidth — Provides an appropriate stride to use
- CairoFillRule — The CairoFillRule class
- CairoFilter — The CairoFilter class
- CairoHintMetrics — The CairoHintMetrics class
- CairoHintStyle — The CairoHintStyle class
- CairoLineCap — The CairoLineCap class
- CairoLineJoin — The CairoLineJoin class
- CairoMatrix — The CairoMatrix class
  - CairoMatrix::__construct — Creates a new CairoMatrix object
  - CairoMatrix::initIdentity — Creates a new identity matrix
  - CairoMatrix::initRotate — Creates a new rotated matrix
  - CairoMatrix::initScale — Creates a new scaling matrix
  - CairoMatrix::initTranslate — Creates a new translation matrix
  - CairoMatrix::invert — The invert purpose
  - CairoMatrix::multiply — The multiply purpose
  - CairoMatrix::rotate — The rotate purpose
  - CairoMatrix::scale — Applies scaling to a matrix
  - CairoMatrix::transformDistance — The transformDistance purpose
  - CairoMatrix::transformPoint — The transformPoint purpose
  - CairoMatrix::translate — The translate purpose
- CairoOperator — The CairoOperator class
- CairoPath — The CairoPath class
- CairoPsLevel — The CairoPsLevel class
- CairoSubpixelOrder — The CairoSubpixelOrder class
- CairoSvgVersion — The CairoSvgVersion class