Aunque Cairo es una API independiente de dispositivos, está diseñado para usar aceleración por hardware cuando esté disponible.
A pesar de que está escrito en C, existen implementaciones en otros lenguajes de programación, incluyendo C++, C#, Common Lisp, Haskell, Java, Python, Perl, Ruby, Scheme (Guile, Chicken), Smalltalk y muchos otros.
Los sustantivos son objetos abstractos o entidades en los cuales operan los verbos.
Para las demás operaciones, incluyendo cairo_paint() sólo se necesitan una fuente primaria.
Hay tres tipos de fuentes principales en Cairo: colores, gradientes e imágenes.
La forma más fácil de crear y usar un destino anterior como una fuente es con cairo_push_group(), con cairo_pop_group() o con cairo_pop_group_to_source().
Pero como la ruta inicial está vacía, ambas llamadas a tales funciones no representarán cambios al destino.