Package: cairo

CEnum cairo-surface-type-t

Details

The cairo-surface-type-t enumeration is used to describe the type of a given surface. The surface types are also known as "backends" or "surface backends" within Cairo.

The type of a surface is determined by the function used to create it, which will generally be of the form cairo-type-surface-create, though see the function cairo-surface-create-similar as well.

The surface type can be queried with the function cairo-surface-type.

The various cairo-surface-t functions can be used with surfaces of any type, but some backends also provide type-specific functions that must only be called with a surface of the appropriate type. These functions have names that begin with cairo-type-surface such as the function cairo-image-surface-width.

The behavior of calling a type-specific function with a surface of the wrong type is undefined.

New entries may be added in future versions.
(defcenum cairo-surface-type-t
  :image
  :pdf
  :ps
  :xlib
  :xcb
  :glitz
  :quartz
  :win32
  :beos
  :directfb
  :svg
  :os2
  :win32-printing
  :quartz-image
  :script
  :qt
  :recording
  :vg
  :gl
  :drm
  :tee
  :xml
  :skia
  :subsurface
  :cogl)  
:image
The surface is of type image.
:pdf
The surface is of type pdf.
:ps
The surface is of type ps.
:xlib
The surface is of type xlib.
:xcb
The surface is of type xcb.
:glitz
The surface is of type glitz.
:quartz
The surface is of type quartz.
:win32
The surface is of type win32.
:beos
The surface is of type beos.
:directfb
The surface is of type directfb.
:svg
The surface is of type svg.
:os2
The surface is of type os2.
:win32-printing
The surface is a win32 printing surface.
:quartz-image
The surface is of type quartz_image.
:script
The surface is of type script.
:qt
The surface is of type Qt.
:recording
The surface is of type recording.
:vg
The surface is a OpenVG surface.
:gl
The surface is of type OpenGL.
:drm
The surface is of type Direct Render Manager.
:tee
The surface is of type 'tee' (a multiplexing surface).
:xml
The surface is of type XML (for debugging).
:skia
The surface is of type Skia.
:subsurface
The surface is a subsurface created with the function cairo-surface-create-for-rectangle.
:cogl
This surface is of type Cogl.
 

See also

2020-12-16