Crate cairo

source ·
Expand description

§Cairo bindings

Rust bindings for Rust and wrappers for Cairo, part of gtk-rs-core.


Cairo 1.14 is the lowest supported version for the underlying library.

§Minimum supported Rust version

Currently, the minimum supported Rust version is 1.70.0.

§Default-on features

  • use_glib - Use with glib

§Fileformat features

  • png - Reading and writing PNG images
  • pdf - Rendering PDF documents
  • svg - Rendering SVG documents
  • ps - Rendering PostScript documents

§Cairo API version features

  • v1_16 - Use Cairo 1.16 APIs


§X Window features

  • xcb - X Window System rendering using the XCB library
  • xlib - X Window System rendering using XLib

§Windows API features

  • win32-surface - Microsoft Windows surface support

§Documentation rustdoc attributes

  • docsrs - Used to keep system dependent items in documentation


We recommend using crates from, as demonstrated here.

If you want to track the bleeding edge, use the git dependency instead:

cairo-rs = { git = "", package = "cairo-rs" }

Avoid mixing versioned and git crates like this:

# This will not compile
cairo-rs = "0.13"
cairo-rs = { git = "", package = "cairo-rs" }

§See Also


cairo is available under the MIT License, please refer to it.


  • pub use cairo_sys as ffi;
  • pub use freetype;
  • pub use glib;





  • Resets all static data within cairo to its original state (i.e. identical to the state at program invocation). For example, all caches within cairo will be flushed empty.

Type Aliases§