Cairo bindings, which are expected to follow the binding guidelines as closely as possible, are available for various languages:
-
Ada : CairoAda
-
C++ : cairomm
Common Lisp : cl-cairo2, cffi-cairo
COM-Wrapper : aka "ActiveX-dll" ... easiest to use with VB5/6 or VBA, comes with cairo as a "satellite-dll" (compiled with StdCall-callingconvention) download-page: (a large VB-Democode-Tutorial is available there too)
Harbour : hbcairo
Haskell : hscairo
Java : org.freedesktop.cairo in java-gnome
C# : https://github.com/zwcloud/CairoSharp
- Mono and .NET bindings used to be bundled with the Mono distribution in the Mono.Cairo library, but this is no longer maintained.
- At one point, bindings had also been provided at NDesk.
Objective Caml : cairo-ocaml
Perl : cairo-perl
PHP : cairo-php
Prolog : PLcairo
Python : pycairo, qahirah high-level Pythonic binding, cairocffi binding created with CFFI, pygobject includes Cairo binding.
Ruby : rcairo
Scheme: guile-cairo
Ypsilon Scheme ships with Cairo bindings
Digitalmars D: cairoD - simple wrapper for D direct C API
Pixman Bindings
- Python : python_pixman is a high level pixel-manipulation library (examples)
Toolkit Bindings
Since cairo is only a drawing library, it can be quite useful to integrate it with a graphical user interface toolkit.
FLTK has full cairo support (through "--enable-cairo" compile switch).
GNUstep bindings: http://cvs.savannah.gnu.org/viewvc/gnustep/gnustep/core/back/Source/cairo/
GTK+ 2.8+ has full support for cairo.