<page xmlns="http://projectmallard.org/1.0/"
      type="topic"
      id="cairo">
<info>
  <link type="guide" xref="index" group="cairo"/>
  <desc>Modern 2D vector drawing canvas</desc>
  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
</info>

<title>Cairo</title>

<p>Cairo is a 2D graphics library featuring a sophisticated API for
drawing vector graphics, compositing images, and rendering anti-aliased
text.  Cairo provides support for multiple output devices, including the
X Window System, Microsoft Windows, and image buffers, allowing you to
write platform-independent code to draw graphics on different media.</p>

<p>The Cairo drawing model is similar to those provided by PostScript
and PDF.  The Cairo API provides such drawing operations as stroking and
filling cubic Bézier splines, compositing images, and performing affine
transformations.  These vector operations allow for rich, anti-aliased
graphics without using expensive pixel-based drawing in your application
code.</p>

<p>Cairo's rich drawing model allows for high-quality rendering to
multiple media.  The same API can be used to create stunning on-screen
graphics and text, to render images, or create crisp output suitable
for printing.</p>

<p>You should use Cairo whenever you need to draw graphics in your
application beyond the widgets provided by GTK+.  Much of the drawing
inside GTK+ is done using Cairo.  Using Cairo for your custom drawing
will allow your application to have high-quality, anti-aliased, and
resolution-independent graphics.</p>

<list style="compact">
  <item><p><link href="http://www.cairographics.org/manual/">Cairo Manual</link></p></item>
  <item><p><link href="http://www.cairographics.org">The Cairo web site</link></p></item>
</list>
</page>
