// Code generated by cmd/cgo; DO NOT EDIT.

//line /home/josie/.cache/paru/clone/wiiudownloader/src/pkg/mod/github.com/gotk3/gotk3@v0.6.5-0.20240618185848-ff349ae13f56/cairo/surfacetype.go:1:1
package cairo

// #include <stdlib.h>
// #include <cairo.h>
// #include <cairo-gobject.h>
import _ "unsafe"
import (
	"unsafe"
)

// SurfaceType is a representation of Cairo's cairo_surface_type_t.
type SurfaceType int

const (
	SURFACE_TYPE_IMAGE          SurfaceType = ( /*line :15:44*/_Ciconst_CAIRO_SURFACE_TYPE_IMAGE /*line :15:69*/)
	SURFACE_TYPE_PDF            SurfaceType = ( /*line :16:44*/_Ciconst_CAIRO_SURFACE_TYPE_PDF /*line :16:67*/)
	SURFACE_TYPE_PS             SurfaceType = ( /*line :17:44*/_Ciconst_CAIRO_SURFACE_TYPE_PS /*line :17:66*/)
	SURFACE_TYPE_XLIB           SurfaceType = ( /*line :18:44*/_Ciconst_CAIRO_SURFACE_TYPE_XLIB /*line :18:68*/)
	SURFACE_TYPE_XCB            SurfaceType = ( /*line :19:44*/_Ciconst_CAIRO_SURFACE_TYPE_XCB /*line :19:67*/)
	SURFACE_TYPE_GLITZ          SurfaceType = ( /*line :20:44*/_Ciconst_CAIRO_SURFACE_TYPE_GLITZ /*line :20:69*/)
	SURFACE_TYPE_QUARTZ         SurfaceType = ( /*line :21:44*/_Ciconst_CAIRO_SURFACE_TYPE_QUARTZ /*line :21:70*/)
	SURFACE_TYPE_WIN32          SurfaceType = ( /*line :22:44*/_Ciconst_CAIRO_SURFACE_TYPE_WIN32 /*line :22:69*/)
	SURFACE_TYPE_BEOS           SurfaceType = ( /*line :23:44*/_Ciconst_CAIRO_SURFACE_TYPE_BEOS /*line :23:68*/)
	SURFACE_TYPE_DIRECTFB       SurfaceType = ( /*line :24:44*/_Ciconst_CAIRO_SURFACE_TYPE_DIRECTFB /*line :24:72*/)
	SURFACE_TYPE_SVG            SurfaceType = ( /*line :25:44*/_Ciconst_CAIRO_SURFACE_TYPE_SVG /*line :25:67*/)
	SURFACE_TYPE_OS2            SurfaceType = ( /*line :26:44*/_Ciconst_CAIRO_SURFACE_TYPE_OS2 /*line :26:67*/)
	SURFACE_TYPE_WIN32_PRINTING SurfaceType = ( /*line :27:44*/_Ciconst_CAIRO_SURFACE_TYPE_WIN32_PRINTING /*line :27:78*/)
	SURFACE_TYPE_QUARTZ_IMAGE   SurfaceType = ( /*line :28:44*/_Ciconst_CAIRO_SURFACE_TYPE_QUARTZ_IMAGE /*line :28:76*/)
	SURFACE_TYPE_SCRIPT         SurfaceType = ( /*line :29:44*/_Ciconst_CAIRO_SURFACE_TYPE_SCRIPT /*line :29:70*/)
	SURFACE_TYPE_QT             SurfaceType = ( /*line :30:44*/_Ciconst_CAIRO_SURFACE_TYPE_QT /*line :30:66*/)
	SURFACE_TYPE_RECORDING      SurfaceType = ( /*line :31:44*/_Ciconst_CAIRO_SURFACE_TYPE_RECORDING /*line :31:73*/)
	SURFACE_TYPE_VG             SurfaceType = ( /*line :32:44*/_Ciconst_CAIRO_SURFACE_TYPE_VG /*line :32:66*/)
	SURFACE_TYPE_GL             SurfaceType = ( /*line :33:44*/_Ciconst_CAIRO_SURFACE_TYPE_GL /*line :33:66*/)
	SURFACE_TYPE_DRM            SurfaceType = ( /*line :34:44*/_Ciconst_CAIRO_SURFACE_TYPE_DRM /*line :34:67*/)
	SURFACE_TYPE_TEE            SurfaceType = ( /*line :35:44*/_Ciconst_CAIRO_SURFACE_TYPE_TEE /*line :35:67*/)
	SURFACE_TYPE_XML            SurfaceType = ( /*line :36:44*/_Ciconst_CAIRO_SURFACE_TYPE_XML /*line :36:67*/)
	SURFACE_TYPE_SKIA           SurfaceType = ( /*line :37:44*/_Ciconst_CAIRO_SURFACE_TYPE_SKIA /*line :37:68*/)
	SURFACE_TYPE_SUBSURFACE     SurfaceType = ( /*line :38:44*/_Ciconst_CAIRO_SURFACE_TYPE_SUBSURFACE /*line :38:74*/)
	// SURFACE_TYPE_COGL           SurfaceType = C.CAIRO_SURFACE_TYPE_COGL (since 1.12)
)

func marshalSurfaceType(p uintptr) (interface{}, error) {
	c := ( /*line :43:7*/_Cfunc_g_value_get_enum /*line :43:24*/)((* /*line :43:28*/_Ctype_GValue /*line :43:36*/)(unsafe.Pointer(p)))
	return SurfaceType(c), nil
}
