Cairo has several different backends, providing support for a variety of output devices.
The backends currently present in cairo include:
image: Targets an in-memory image buffer. The image buffer can be saved to a file or the data can be provided to some other graphics system that does not have a native backend.
cairo-gl: Draws hardware-accelerated graphics with OpenGL. Supercedes the previous glitz based backend. This backend supports GLX, WGL, and EGL.
ps: Generates a PostScript file, suitable for high-quality print output.
pdf: Generates a vectorized PDF file, suitable for high-quality print output.
xlib: Uses the Xlib interface to the X Window System. This backend can target Windows or Pixmaps. The Render extension is used if available, but is not required.
xcb: Provides support similar to the xlib backend, but uses the XCB interface rather than Xlib.
quartz: Mac OS/X backend
win32: Windows GDI backend
svg: To generate SVG files.
beos: BeOS/Zeta backend
Other backends that are in progress or have been proposed include :
directfb: A DirectFB backend is being worked on (http://lists.freedesktop.org/archives/cairo/2005-November/005625.html)
OpenVG: An OpenVG backend was announced in 2008 (http://lists.cairographics.org/archives/cairo/2008-January/012833.html)
os2: An OS/2 backend is being worked on (http://lists.freedesktop.org/archives/cairo/2005-August/004957.html)