- Cairo (graphics)
infobox software
name = Cairo
developer =Carl Worth ,Behdad Esfahbod
frequently_updated = yes
programming language = C
operating system =Cross-platform
genre =Graphics library
license =GNU Lesser General Public License orMozilla Public License
website = http://cairographics.org/Cairo is a
software library used to provide avector graphics -based, device-independent API forsoftware developer s. It is designed to provide primitives for2-dimensional drawing across a number of different backends. Cairo is designed to usehardware 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. [ [http://Cairographics.org/bindings Language bindings ] ]Dual license d under theGNU Lesser General Public License and theMozilla Public License , Cairo isfree software .History
The Cairo project was founded by
Keith Packard andCarl Worth for use in theX 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 theX server . The name "Cairo" was derived from the original name "Xr", similar to the Greek letters chi and rho. [cite web | title=Mailing list thread about the Cairo name change | url=http://lists.freedesktop.org/archives/cairo/2003-July/000184.html | accessdate=2006-12-02]Backends
Cairo supports output to a number of different
backend s. Backend support includes output to theX Window System , Win32 GDI, Mac OS X Quartz, theBeOS API,OS/2 ,OpenGL contexts (via glitz), local image buffers, PNG files, PDF,PostScript ,DirectFB and SVG files.Similar technologies
Cairo has been compared to similar technologies like WPF and GDI+ from
Microsoft ,Quartz 2D fromApple Inc , andAnti-Grain Geometry (AGG).Notable usage
Cairo is popular in 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 itsGDI+ (libgdiplus) and System.Drawing namespaces.
* TheMozilla project has made use of Cairo in recent versions of itsGecko layout engine , used for rendering the graphical output of Mozilla products. Gecko 1.8, the layout engine for Mozilla Firefox 2.0 andSeaMonkey 1.0, used Cairo to render SVG and content. Gecko 1.9, the release of Gecko that serves as the basis ofFirefox 3 , uses Cairo as the graphics backend for rendering both web page content and theuser interface (or "chrome").
* TheWebKit framework uses Cairo for all rendering in theGTK+ port. Support has also been added for SVG and
Wikimedia Foundation. 2010.