LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

Rackspace.com

The Cairo Vector Graphics Library

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):
Advertisement

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.

[Cairo] 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)

The Cairo Vector Graphics Library

Posted Aug 18, 2005 12:37 UTC (Thu) by dcoutts (subscriber, #5387) [Link]

And just in time for the Gtk+ 2.8 release and the upcomming cairo 1.0 release we have news of the first working bindings for Haskell (which I'm sure is a relief for everyone, since obviously no technology can properly be considered mainstream without having Haskell bindings)

http://haskell.org/gtk2hs/archives/2005/08/17/code/

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.