1package cairo 2 3// #include <stdlib.h> 4// #include <cairo.h> 5// #include <cairo-gobject.h> 6import "C" 7import ( 8 "unsafe" 9) 10 11// SurfaceType is a representation of Cairo's cairo_surface_type_t. 12type SurfaceType int 13 14const ( 15 SURFACE_TYPE_IMAGE SurfaceType = C.CAIRO_SURFACE_TYPE_IMAGE 16 SURFACE_TYPE_PDF SurfaceType = C.CAIRO_SURFACE_TYPE_PDF 17 SURFACE_TYPE_PS SurfaceType = C.CAIRO_SURFACE_TYPE_PS 18 SURFACE_TYPE_XLIB SurfaceType = C.CAIRO_SURFACE_TYPE_XLIB 19 SURFACE_TYPE_XCB SurfaceType = C.CAIRO_SURFACE_TYPE_XCB 20 SURFACE_TYPE_GLITZ SurfaceType = C.CAIRO_SURFACE_TYPE_GLITZ 21 SURFACE_TYPE_QUARTZ SurfaceType = C.CAIRO_SURFACE_TYPE_QUARTZ 22 SURFACE_TYPE_WIN32 SurfaceType = C.CAIRO_SURFACE_TYPE_WIN32 23 SURFACE_TYPE_BEOS SurfaceType = C.CAIRO_SURFACE_TYPE_BEOS 24 SURFACE_TYPE_DIRECTFB SurfaceType = C.CAIRO_SURFACE_TYPE_DIRECTFB 25 SURFACE_TYPE_SVG SurfaceType = C.CAIRO_SURFACE_TYPE_SVG 26 SURFACE_TYPE_OS2 SurfaceType = C.CAIRO_SURFACE_TYPE_OS2 27 SURFACE_TYPE_WIN32_PRINTING SurfaceType = C.CAIRO_SURFACE_TYPE_WIN32_PRINTING 28 SURFACE_TYPE_QUARTZ_IMAGE SurfaceType = C.CAIRO_SURFACE_TYPE_QUARTZ_IMAGE 29 SURFACE_TYPE_SCRIPT SurfaceType = C.CAIRO_SURFACE_TYPE_SCRIPT 30 SURFACE_TYPE_QT SurfaceType = C.CAIRO_SURFACE_TYPE_QT 31 SURFACE_TYPE_RECORDING SurfaceType = C.CAIRO_SURFACE_TYPE_RECORDING 32 SURFACE_TYPE_VG SurfaceType = C.CAIRO_SURFACE_TYPE_VG 33 SURFACE_TYPE_GL SurfaceType = C.CAIRO_SURFACE_TYPE_GL 34 SURFACE_TYPE_DRM SurfaceType = C.CAIRO_SURFACE_TYPE_DRM 35 SURFACE_TYPE_TEE SurfaceType = C.CAIRO_SURFACE_TYPE_TEE 36 SURFACE_TYPE_XML SurfaceType = C.CAIRO_SURFACE_TYPE_XML 37 SURFACE_TYPE_SKIA SurfaceType = C.CAIRO_SURFACE_TYPE_SKIA 38 SURFACE_TYPE_SUBSURFACE SurfaceType = C.CAIRO_SURFACE_TYPE_SUBSURFACE 39 // SURFACE_TYPE_COGL SurfaceType = C.CAIRO_SURFACE_TYPE_COGL (since 1.12) 40) 41 42func marshalSurfaceType(p uintptr) (interface{}, error) { 43 c := C.g_value_get_enum((*C.GValue)(unsafe.Pointer(p))) 44 return SurfaceType(c), nil 45} 46