gtkeventcontrollerlegacy.go RawHistoryFolder
1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
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/glib"
12 "github.com/bnema/puregotk/v4/gobject"
13 "github.com/bnema/puregotk/v4/gobject/types"
14)
15
16type EventControllerLegacyClass struct {
17 _ structs.HostLayout
18}
19
20func (x *EventControllerLegacyClass) GoPointer() uintptr {
21 return uintptr(unsafe.Pointer(x))
22}
23
24// Provides raw access to the event stream.
25//
26// It should only be used as a last resort if none of the other event
27// controllers or gestures do the job.
28type EventControllerLegacy struct {
29 EventController
30}
31
32var xEventControllerLegacyGLibType func() types.GType
33
34func EventControllerLegacyGLibType() types.GType {
35 return xEventControllerLegacyGLibType()
36}
37
38func EventControllerLegacyNewFromInternalPtr(ptr uintptr) *EventControllerLegacy {
39 cls := &EventControllerLegacy{}
40 cls.Ptr = ptr
41 return cls
42}
43
44var xNewEventControllerLegacy func() uintptr
45
46// Creates a new legacy event controller.
47func NewEventControllerLegacy() *EventControllerLegacy {
48 var cls *EventControllerLegacy
49
50 cret := xNewEventControllerLegacy()
51
52 if cret == 0 {
53 return nil
54 }
55 cls = &EventControllerLegacy{}
56 cls.Ptr = cret
57 return cls
58}
59
60func (c *EventControllerLegacy) GoPointer() uintptr {
61 if c == nil {
62 return 0
63 }
64 return c.Ptr
65}
66
67func (c *EventControllerLegacy) SetGoPointer(ptr uintptr) {
68 c.Ptr = ptr
69}
70
71// Emitted for each GDK event delivered to @controller.
72func (x *EventControllerLegacy) ConnectEvent(cb *func(EventControllerLegacy, uintptr) bool) uint {
73 cbPtr := uintptr(unsafe.Pointer(cb))
74 if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
75 handlerID := gobject.SignalConnect(x.GoPointer(), "event", cbRefPtr)
76 glib.SaveHandlerMapping(handlerID, cbPtr)
77 return handlerID
78 }
79
80 fcb := func(clsPtr uintptr, EventVarp uintptr) bool {
81 fa := EventControllerLegacy{}
82 fa.Ptr = clsPtr
83 cbFn := *cb
84
85 return cbFn(fa, EventVarp)
86
87 }
88 cbRefPtr := purego.NewCallback(fcb)
89 glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
90 handlerID := gobject.SignalConnect(x.GoPointer(), "event", cbRefPtr)
91 glib.SaveHandlerMapping(handlerID, cbPtr)
92 return handlerID
93}
94
95func init() {
96 core.SetPackageName("GTK", "gtk4")
97 core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
98 var libs []uintptr
99 for _, libPath := range core.GetPaths("GTK") {
100 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
101 if err != nil {
102 panic(err)
103 }
104 libs = append(libs, lib)
105 }
106
107 core.PuregoSafeRegister(&xEventControllerLegacyGLibType, libs, "gtk_event_controller_legacy_get_type")
108
109 core.PuregoSafeRegister(&xNewEventControllerLegacy, libs, "gtk_event_controller_legacy_new")
110
111}