Original author(s) | Keith Packard, Carl Worth |
---|---|
Developer(s) | Carl Worth, Behdad Esfahbod |
Initial release | Before 2003 |
Stable release | 1.15.6 (June 13, 2017 | )
Preview release |
1.15.5
|
Repository | https://cgit.freedesktop.org/cairo/, git://anongit.freedesktop.org/git/cairo |
Written in | C |
Type | Graphics library |
License | GNU Lesser General Public License version 2.1 (only) or Mozilla Public License 1.1 |
Website | www |
Cairo (stylized as cairo) is an open source programming library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different back ends. Cairo uses hardware acceleration when available.
There is a formal proposal to standardize a C++ 2D graphics API based on a mechanical transformation of Cairo.
A library written in one programming language may be used in another language if bindings are written; Cairo has a range of bindings for various languages including C++, C# and other CLI languages, Delphi, Factor, Haskell, Lua, Perl, PHP, Python, Ruby, Scheme, Smalltalk and several others.
Since Cairo is only a drawing library, it can be quite useful to integrate it with a graphical user interface toolkit.
Cairo supports output to a number of different back-ends, known as "surfaces" in its code. Back-ends support includes output to the X Window System, via both Xlib and XCB, Win32 GDI, OS X Quartz Compositor, the BeOS API, OS/2, OpenGL contexts (directly and via glitz), local image buffers, PNG files, PDF, PostScript, DirectFB and SVG files.