Sunday, 18 March 2012

cairo (graphics)

Cairo is acomputer application library acclimated to accommodate a agent graphics-based, device-independent API forcomputer application developers. It is advised to accommodate primitives for 2-dimensional cartoon beyond a cardinal of altered backends. Cairo is advised to use accouterments acceleration1 back available.

Although accounting in C, there are bindings for application the cairo cartoon library from abounding added programming languages, including C++, PHP, Factor, Haskell, Lua, Perl, Python, Ruby, Scheme, Smalltalk and several others.2

Cairo is chargeless software. The majority of it is Dual accountant beneath the GNU Lesser General Public License and the Mozilla Public License, admitting some genitalia of it are accountant alone beneath the GNU General Public License.

History

The cairo activity was founded by Keith Packard and Carl Worth for use in the X Window System.3 It was originally alleged Xr or Xr/Xc. The name was afflicted to accent the abstraction that it was a cross-platform library and not angry to the X server.4 The name cairo was acquired from the aboriginal name Xr, agnate to the Greek belletrist chi and rho.5

Backends

Cairo supports achievement to a cardinal of altered backends, accepted as "surfaces" in its code. Backend abutment includes achievement to the X Window System, Win32 GDI, Mac OS X Quartz, the BeOS API, OS/2, OpenGL contexts (directly6 and via glitz), bounded angel buffers, PNG files, PDF, PostScript, DirectFB and SVG files.

There are added backends in development targeting the cartoon APIs OpenVG,7 Qt,8 Skia,9 and Windows' Direct2D.10

Similar technologies

Cairo has been compared to agnate technologies like WPF and GDI+ from Microsoft, Quartz 2D from Apple Inc, and Anti-Grain Geometry (AGG).citation needed

Notable usage

Cairo is accepted in the accessible antecedent association for accouterment cross-platform abutment for avant-garde 2D drawing.

GTK+, starting in 2005 with adaptation 2.8, uses cairo to cede the majority of its widgets.11

The Mono Project,12 including Moonlight,13 has been appliance cairo back actual aboriginal in apperception to ability the backends of its GDI+ (libgdiplus) and System.Drawing namespaces.

The Mozilla activity has fabricated use of cairo in contempo versions of its Gecko blueprint engine, acclimated for apprehension the graphical achievement of Mozilla products. Gecko 1.8, the blueprint agent for Mozilla Firefox 2.0 and SeaMonkey 1.0, acclimated cairo to cede SVG and content. Gecko 1.9,14 the absolution of Gecko that serves as the base of Firefox 3, uses cairo as the cartoon backend for apprehension both web folio agreeable and the user interface (or "chrome").

The WebKit framework uses cairo for all apprehension in the GTK+ port. Abutment has additionally been added for SVG and agreeable appliance cairo.

The Poppler library uses cairo to cede PDF documents. Cairo enables the cartoon of antialiased agent cartoon and cellophane objects.

The agent cartoon appliance Inkscape uses the cairo library for its outline approach display, as able-bodied as for PDF and PostScript consign back absolution 0.46.15

MorphOS 2.5 appearance a aggregate library accomplishing of cairo, which was accessible as stand-alone absolution for beforehand MorphOS versions.

AmigaOS 4.1 supports a aggregate article library of cairo (libcairo.so) in its absence installation.

FontForge switched to cairo for all apprehension in mid-October 2008.

R can achievement plots in PDF, PostScript and SVG formats appliance cairo if available.

Gnuplot 4.4 now uses cairo for apprehension PDF and PNG output.16

Internet Browser for PlayStation 3 uses cairo back arrangementcomputer application amend 4.10.