gskglrenderer.go RawHistoryFolder
1// Package gsk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gsk
3
4import (
5 "structs"
6 "unsafe"
7
8 "github.com/ebitengine/purego"
9
10 "github.com/bnema/puregotk/pkg/core"
11 "github.com/bnema/puregotk/v4/gobject/types"
12)
13
14type GLRendererClass struct {
15 _ structs.HostLayout
16}
17
18func (x *GLRendererClass) GoPointer() uintptr {
19 return uintptr(unsafe.Pointer(x))
20}
21
22// Renders a GSK rendernode tree with OpenGL.
23//
24// See [class@Gsk.Renderer].
25type GLRenderer struct {
26 Renderer
27}
28
29var xGLRendererGLibType func() types.GType
30
31func GLRendererGLibType() types.GType {
32 return xGLRendererGLibType()
33}
34
35func GLRendererNewFromInternalPtr(ptr uintptr) *GLRenderer {
36 cls := &GLRenderer{}
37 cls.Ptr = ptr
38 return cls
39}
40
41var xNewGLRenderer func() uintptr
42
43// Creates an instance of the GL renderer.
44func NewGLRenderer() *GLRenderer {
45 var cls *GLRenderer
46
47 cret := xNewGLRenderer()
48
49 if cret == 0 {
50 return nil
51 }
52 cls = &GLRenderer{}
53 cls.Ptr = cret
54 return cls
55}
56
57func (c *GLRenderer) GoPointer() uintptr {
58 if c == nil {
59 return 0
60 }
61 return c.Ptr
62}
63
64func (c *GLRenderer) SetGoPointer(ptr uintptr) {
65 c.Ptr = ptr
66}
67
68// A GL based renderer.
69//
70// See [class@Gsk.Renderer].
71type NglRenderer struct {
72 Renderer
73}
74
75var xNglRendererGLibType func() types.GType
76
77func NglRendererGLibType() types.GType {
78 return xNglRendererGLibType()
79}
80
81func NglRendererNewFromInternalPtr(ptr uintptr) *NglRenderer {
82 cls := &NglRenderer{}
83 cls.Ptr = ptr
84 return cls
85}
86
87var xNewNglRenderer func() uintptr
88
89// Same as gsk_gl_renderer_new().
90func NewNglRenderer() *NglRenderer {
91 var cls *NglRenderer
92
93 cret := xNewNglRenderer()
94
95 if cret == 0 {
96 return nil
97 }
98 cls = &NglRenderer{}
99 cls.Ptr = cret
100 return cls
101}
102
103func (c *NglRenderer) GoPointer() uintptr {
104 if c == nil {
105 return 0
106 }
107 return c.Ptr
108}
109
110func (c *NglRenderer) SetGoPointer(ptr uintptr) {
111 c.Ptr = ptr
112}
113
114func init() {
115 core.SetPackageName("GSK", "gtk4")
116 core.SetSharedLibraries("GSK", []string{"libgtk-4.so.1"})
117 var libs []uintptr
118 for _, libPath := range core.GetPaths("GSK") {
119 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
120 if err != nil {
121 panic(err)
122 }
123 libs = append(libs, lib)
124 }
125
126 core.PuregoSafeRegister(&xGLRendererGLibType, libs, "gsk_gl_renderer_get_type")
127
128 core.PuregoSafeRegister(&xNewGLRenderer, libs, "gsk_gl_renderer_new")
129
130 core.PuregoSafeRegister(&xNglRendererGLibType, libs, "gsk_ngl_renderer_get_type")
131
132 core.PuregoSafeRegister(&xNewNglRenderer, libs, "gsk_ngl_renderer_new")
133
134}