Cairo (graphics)
From Wikipedia, the free encyclopedia
| cairo | |
|---|---|
| Developed by | Carl Worth, Behdad Esfahbod |
| Stable release | 1.6.4 (11 Apr 2008) [+/−] |
| Preview release | 1.5.20 (08 Apr 2008) [+/−] |
| Written in | C |
| OS | Cross-platform |
| Genre | Graphics library |
| License | LGPL or MPL |
| Website | http://cairographics.org |
Cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends. Cairo is designed to use hardware acceleration when available.
Although written in C, there are bindings for using the cairo graphics library from many other programming languages, including Haskell, Java, Perl, Python, Scheme, Smalltalk and several others.[1] Dual licensed under the GNU Lesser General Public License and the Mozilla Public License, cairo is free software.
Contents |
[edit] History
The cairo project was founded by Keith Packard and Carl Worth for use in the X Window System. It was originally called Xr or Xr/Xc. The name was changed to emphasize the idea that it was a cross-platform library and not tied to the X server. The name "cairo" was derived from the original name Xr, similar to the Greek letters chi and rho.[2]
[edit] Backends
Cairo supports output to a number of different backends. Backend support includes output to the X Window System, Win32 GDI, Mac OS X Quartz, the BeOS API, OS/2, OpenGL contexts (via glitz), local image buffers, PNG files, PDF, PostScript, DirectFB and SVG files.
[edit] Similar technologies
Cairo has been compared to similar technologies like WPF and GDI+ from Microsoft, Quartz 2D from Apple Inc, and Anti-Grain Geometry (AGG).
[edit] Notable usage
Cairo is popular among the open source community for providing cross-platform support for advanced 2D drawing.
GTK+, starting in 2005 with version 2.8, uses Cairo to render the majority of its widgets.
The Mono Project, including Moonlight, has been using Cairo since very early in conception, to power its backends of its GDI+ (libgdiplus) and System.Drawing namespaces.
[edit] Mozilla
The Mozilla project has made use of cairo in recent versions of its Gecko layout engine, used for rendering the graphical output of Mozilla products. Gecko 1.8, the layout engine for Mozilla Firefox 2.0 and SeaMonkey 1.0, uses cairo to render SVG and <canvas> content. Gecko 1.9, the future release of Gecko that will serve as the basis of Firefox 3, will use cairo as the graphics backend for rendering both web page content and the user interface (or "chrome"). Gecko 1.9 is currently in development, with the cairo-based version enabled in Firefox trunk builds starting 22 February 2006 on all major platforms, and later on other platforms.
[edit] WebKit
The WebKit framework uses Cairo for all rendering in the GTK+ port. Support has also been added for SVG and <canvas> content using Cairo.
[edit] Poppler
The Poppler library uses Cairo to render PDF documents. Cairo enables the drawing of antialiased vector graphics and transparent objects.
[edit] Shoes
The Shoes windowing toolkit for Ruby uses Cairo for 2D drawing.
[edit] Inkscape
The latest version of the vector graphics application Inkscape (version 0.46), uses the cairo library for its outline mode display, as well as for PDF and PostScript export.[3]
[edit] See also
[edit] References
- ^ Language bindings
- ^ Mailing list thread about the cairo name change. Retrieved on 2006-12-02.
- ^ ReleaseNotes046. Inkscape Wiki. Retrieved on 2008-03-31.
[edit] External links
- Official website
- Cairo here, there and everywhere. Linux.Ars. Ars Technica.
|
|||||

