// 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/gdk/gdk_since_3_10.go:1:1 // +build !gtk_3_6,!gtk_3_8 // Supports building with gtk 3.10+ package gdk // #cgo pkg-config: gdk-3.0 glib-2.0 gobject-2.0 // #include // #include "gdk.go.h" import _ "unsafe" import ( "runtime" "unsafe" "github.com/gotk3/gotk3/cairo" "github.com/gotk3/gotk3/glib" ) // TODO: // gdk_device_get_position_double(). // GetScaleFactor is a wrapper around gdk_window_get_scale_factor(). func (v *Window) GetScaleFactor() int { return int(func() _Ctype_gint{ _cgo0 := /*line :23:43*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :23:54*/_Cfunc_gdk_window_get_scale_factor(_cgo0); }()) } // CreateSimilarImageSurface is a wrapper around gdk_window_create_similar_image_surface(). func (v *Window) CreateSimilarImageSurface(format cairo.Format, w, h, scale int) (*cairo.Surface, error) { surface := func() *_Ctype_struct__cairo_surface{ _cgo0 := /*line :28:55*/v.native(); var _cgo1 _Ctype_cairo_format_t = _Ctype_cairo_format_t /*line :28:83*/(format); var _cgo2 _Ctype_int = _Ctype_gint /*line :28:99*/(w); var _cgo3 _Ctype_int = _Ctype_gint /*line :28:110*/(h); var _cgo4 _Ctype_int = _Ctype_gint /*line :28:121*/(scale); _cgoCheckPointer(_cgo0, nil); return /*line :28:129*/_Cfunc_gdk_window_create_similar_image_surface(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() status := cairo.Status(func() _Ctype_cairo_status_t{ _cgo0 := /*line :30:48*/surface; _cgoCheckPointer(_cgo0, nil); return /*line :30:56*/_Cfunc_cairo_surface_status(_cgo0); }()) if status != cairo.STATUS_SUCCESS { return nil, cairo.ErrorStatus(status) } return cairo.NewSurface(uintptr(unsafe.Pointer(surface)), false), nil } // CairoSurfaceCreateFromPixbuf is a wrapper around gdk_cairo_surface_create_from_pixbuf(). func CairoSurfaceCreateFromPixbuf(pixbuf *Pixbuf, scale int, window *Window) (*cairo.Surface, error) { v := func() *_Ctype_struct__cairo_surface{ _cgo0 := /*line :40:46*/pixbuf.native(); var _cgo1 _Ctype_int = _Ctype_gint /*line :40:69*/(scale); _cgo2 := /*line :40:78*/window.native(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo2, nil); return /*line :40:94*/_Cfunc_gdk_cairo_surface_create_from_pixbuf(_cgo0, _cgo1, _cgo2); }() status := cairo.Status(func() _Ctype_cairo_status_t{ _cgo0 := /*line :42:48*/v; _cgoCheckPointer(_cgo0, nil); return /*line :42:50*/_Cfunc_cairo_surface_status(_cgo0); }()) if status != cairo.STATUS_SUCCESS { return nil, cairo.ErrorStatus(status) } surface := cairo.WrapSurface(uintptr(unsafe.Pointer(v))) runtime.SetFinalizer(surface, func(v *cairo.Surface) { glib.FinalizerStrategy(v.Close) }) return surface, nil }