Cairo
Jump to navigation
Jump to search
Wikipedia
Cairo is a free software graphics library with multiple backends that provides a vector based device-independent API for software developers. Currently, it has backends that support output to the X Window System, Win32 GDI, Quartz, the BeOS API, OpenGL contexts (via glitz), local image buffers, PNG files, PDF, PostScript and SVG files. 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 C++, C#, Common Lisp, Haskell, Java, Python, Perl, Ruby, Smalltalk, Factor and several others.
This article contains content from a Wikipedia article which is licensed under the GNU Free Documentation License.
Website: http://cairographics.org/
Cairo is a 2D graphics library that provides a unified imaging model for screen and printer. It takes advantage of hardware acceleration where available. Here is some of the software on OLPC that uses Cairo as a graphics back-end:
- the GTK GUI of Sugar
- the Evince document viewer library used by the Read activity
- the XULRunner Mozilla runtime used by the Browse activity
- the librsvg library used by Sugar to render SVG icons.
There is a low-level Python module that allows applications programmers to use the Cairo canvas to full effect. This is in addition to the GTK+ API layer above Cairo.
The pycairo source can be helpful. Eg, http://webcvs.cairographics.org/pycairo/cairo/pycairo-context.c?view=markup