// Package gsk was automatically generated by github.com/bnema/puregotk DO NOT EDIT package gsk import ( "structs" "unsafe" "github.com/ebitengine/purego" "github.com/bnema/puregotk/pkg/core" "github.com/bnema/puregotk/v4/gobject/types" ) type CairoRendererClass struct { _ structs.HostLayout } func (x *CairoRendererClass) GoPointer() uintptr { return uintptr(unsafe.Pointer(x)) } // Renders a GSK rendernode tree with cairo. // // Since it is using cairo, this renderer cannot support // 3D transformations. type CairoRenderer struct { Renderer } var xCairoRendererGLibType func() types.GType func CairoRendererGLibType() types.GType { return xCairoRendererGLibType() } func CairoRendererNewFromInternalPtr(ptr uintptr) *CairoRenderer { cls := &CairoRenderer{} cls.Ptr = ptr return cls } var xNewCairoRenderer func() uintptr // Creates a new Cairo renderer. // // The Cairo renderer is the fallback renderer drawing in ways similar // to how GTK 3 drew its content. Its primary use is as comparison tool. // // The Cairo renderer is incomplete. It cannot render 3D transformed // content and will instead render an error marker. Its usage should be // avoided. func NewCairoRenderer() *CairoRenderer { var cls *CairoRenderer cret := xNewCairoRenderer() if cret == 0 { return nil } cls = &CairoRenderer{} cls.Ptr = cret return cls } func (c *CairoRenderer) GoPointer() uintptr { if c == nil { return 0 } return c.Ptr } func (c *CairoRenderer) SetGoPointer(ptr uintptr) { c.Ptr = ptr } func init() { core.SetPackageName("GSK", "gtk4") core.SetSharedLibraries("GSK", []string{"libgtk-4.so.1"}) var libs []uintptr for _, libPath := range core.GetPaths("GSK") { lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) if err != nil { panic(err) } libs = append(libs, lib) } core.PuregoSafeRegister(&xCairoRendererGLibType, libs, "gsk_cairo_renderer_get_type") core.PuregoSafeRegister(&xNewCairoRenderer, libs, "gsk_cairo_renderer_new") }