| Value | Meaning |
|---|---|
| Drm0 | The device is of type Direct Render Manager, since 1.10 |
| Gl1 | The device is of type OpenGL, since 1.10 |
| Script2 | The device is of type script, since 1.10 |
| Xcb3 | The device is of type xcb, since 1.10 |
| Xlib4 | The device is of type xlib, since 1.10 |
| Xml5 | The device is of type XML, since 1.10 |
#cairo_device_type_t is used to describe the type of a given device. The devices types are also known as "backends" within cairo.
The device type can be queried with cairo.device.Device.getDeviceType
The various #cairo_device_t functions can be used with devices of any type, but some backends also provide type-specific functions that must only be called with a device of the appropriate type. These functions have names that begin with <literal>cairo_<emphasis>type</emphasis>_device</literal> such as cairo_xcb_device_debug_cap_xrender_version().
The behavior of calling a type-specific function with a device of the wrong type is undefined.
New entries may be added in future versions.