// 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 VulkanRendererClass struct { _ structs.HostLayout } func (x *VulkanRendererClass) GoPointer() uintptr { return uintptr(unsafe.Pointer(x)) } // Renders a GSK rendernode tree with Vulkan. // // This renderer will fail to realize if Vulkan is not supported. type VulkanRenderer struct { Renderer } var xVulkanRendererGLibType func() types.GType func VulkanRendererGLibType() types.GType { return xVulkanRendererGLibType() } func VulkanRendererNewFromInternalPtr(ptr uintptr) *VulkanRenderer { cls := &VulkanRenderer{} cls.Ptr = ptr return cls } var xNewVulkanRenderer func() uintptr // Creates a new Vulkan renderer. // // The Vulkan renderer is a renderer that uses the Vulkan library for // rendering. // // This renderer will fail to realize when GTK was not compiled with // Vulkan support. func NewVulkanRenderer() *VulkanRenderer { var cls *VulkanRenderer cret := xNewVulkanRenderer() if cret == 0 { return nil } cls = &VulkanRenderer{} cls.Ptr = cret return cls } func (c *VulkanRenderer) GoPointer() uintptr { if c == nil { return 0 } return c.Ptr } func (c *VulkanRenderer) 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(&xVulkanRendererGLibType, libs, "gsk_vulkan_renderer_get_type") core.PuregoSafeRegister(&xNewVulkanRenderer, libs, "gsk_vulkan_renderer_new") }