// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT package gtk import ( "structs" "unsafe" "github.com/ebitengine/purego" "github.com/bnema/puregotk/pkg/core" "github.com/bnema/puregotk/v4/glib" "github.com/bnema/puregotk/v4/gobject" "github.com/bnema/puregotk/v4/gobject/types" ) type EventControllerLegacyClass struct { _ structs.HostLayout } func (x *EventControllerLegacyClass) GoPointer() uintptr { return uintptr(unsafe.Pointer(x)) } // Provides raw access to the event stream. // // It should only be used as a last resort if none of the other event // controllers or gestures do the job. type EventControllerLegacy struct { EventController } var xEventControllerLegacyGLibType func() types.GType func EventControllerLegacyGLibType() types.GType { return xEventControllerLegacyGLibType() } func EventControllerLegacyNewFromInternalPtr(ptr uintptr) *EventControllerLegacy { cls := &EventControllerLegacy{} cls.Ptr = ptr return cls } var xNewEventControllerLegacy func() uintptr // Creates a new legacy event controller. func NewEventControllerLegacy() *EventControllerLegacy { var cls *EventControllerLegacy cret := xNewEventControllerLegacy() if cret == 0 { return nil } cls = &EventControllerLegacy{} cls.Ptr = cret return cls } func (c *EventControllerLegacy) GoPointer() uintptr { if c == nil { return 0 } return c.Ptr } func (c *EventControllerLegacy) SetGoPointer(ptr uintptr) { c.Ptr = ptr } // Emitted for each GDK event delivered to @controller. func (x *EventControllerLegacy) ConnectEvent(cb *func(EventControllerLegacy, uintptr) bool) uint { cbPtr := uintptr(unsafe.Pointer(cb)) if cbRefPtr, ok := glib.GetCallback(cbPtr); ok { handlerID := gobject.SignalConnect(x.GoPointer(), "event", cbRefPtr) glib.SaveHandlerMapping(handlerID, cbPtr) return handlerID } fcb := func(clsPtr uintptr, EventVarp uintptr) bool { fa := EventControllerLegacy{} fa.Ptr = clsPtr cbFn := *cb return cbFn(fa, EventVarp) } cbRefPtr := purego.NewCallback(fcb) glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb) handlerID := gobject.SignalConnect(x.GoPointer(), "event", cbRefPtr) glib.SaveHandlerMapping(handlerID, cbPtr) return handlerID } func init() { core.SetPackageName("GTK", "gtk4") core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"}) var libs []uintptr for _, libPath := range core.GetPaths("GTK") { lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) if err != nil { panic(err) } libs = append(libs, lib) } core.PuregoSafeRegister(&xEventControllerLegacyGLibType, libs, "gtk_event_controller_legacy_get_type") core.PuregoSafeRegister(&xNewEventControllerLegacy, libs, "gtk_event_controller_legacy_new") }