The Cairo Vector Graphics Library
[Posted August 10, 2005 by cook]
Cairo
(formerly Xr/Xc) is a C language vector graphics library that is
available under the GNU Lesser General Public License (LGPL) and
the Mozilla Public License (MPL):
Cairo is a vector graphics library designed to provide high-quality display and print output. Currently available
backends
include the X Window System, OpenGL (via [WWW]glitz), Quartz, win32, in-memory image buffers, PNG images, PostScript, and PDF files. Some of these backends are still experimental. Cairo is designed to produce identical output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension or OpenGL).
Cairo provides a stateful user-level API with capabilities similar to the PDF 1.4 imaging model. Cairo provides operations including stroking and filling Bézier cubic splines, transforming and compositing translucent images, and antialiased text rendering.
The
language and toolkit bindings include a large collection of popular languages,
.NET, GTK+, and GNUstep. Apparently, Qt bindings do not exist
yet, but they are mentioned as a possibility.
The Cairo online
documentation
includes a
manual with API
documentation and information on creating backends and language bindings,
a fairly limited FAQ,
and some tutorial materials.
The Cairo
examples
list some important projects that currently use or plan to use Cairo.
The code samples
documentation presents an excellent pairing of example code snippets
along with the resulting imagery. Take a look for examples
of Cairo's real capabilities.
LWN.net covered
a talk on Cairo and some associated applications by project developer
Carl Worth at the 2005 LinuxConf.au.
Cairo release 0.9.0
was announced
this week, it is a development release with a focus on an API freeze.
"The cairo 1.0 release will be source and binary compatible with the
cairo 0.9.x series. All API changes in cairo 0.9.x are finalized at
this point, and cairo 0.9.x should be considered API frozen. Barring
discovery of serious issues with the new APIs, no API changes are
anticipated between this release and the 1.0 release."
If you want to experiment with the software, the Cairo
download site
includes CVS access, tar files, Debian packages, and links to a few
dependencies.
(
Log in to post comments)