Merge pull request #350 from bnema/fix/repin-fixed-puregotk
fix(deps): validate puregotk lazy registration fix
907 files · +27874 -25296
M go.mod +3 -1
| @@ -11,7 +11,7 @@ require ( | |||
| 11 | 11 | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a | |
| 12 | 12 | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c | |
| 13 | 13 | github.com/bnema/purego-webp v0.2.1-0.20260714152238-7bc9c402fdf6 | |
| 14 | - | github.com/bnema/puregotk v0.7.0 | |
| 14 | + | github.com/bnema/puregotk v0.7.1-0.20260714200603-7370c78950ef | |
| 15 | 15 | github.com/charmbracelet/bubbles v1.0.0 | |
| 16 | 16 | github.com/charmbracelet/bubbletea v1.3.10 | |
| 17 | 17 | github.com/charmbracelet/lipgloss v1.1.0 | |
| @@ -47,6 +47,7 @@ require ( | |||
| 47 | 47 | github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | |
| 48 | 48 | github.com/fatih/color v1.19.0 // indirect | |
| 49 | 49 | github.com/go-viper/mapstructure/v2 v2.5.0 // indirect | |
| 50 | + | github.com/google/go-cmp v0.7.0 // indirect | |
| 50 | 51 | github.com/inconshreveable/mousetrap v1.1.0 // indirect | |
| 51 | 52 | github.com/lucasb-eyer/go-colorful v1.4.0 // indirect | |
| 52 | 53 | github.com/mattn/go-colorable v0.1.14 // indirect | |
| @@ -80,6 +81,7 @@ require ( | |||
| 80 | 81 | golang.org/x/text v0.40.0 // indirect | |
| 81 | 82 | golang.org/x/tools v0.47.0 // indirect | |
| 82 | 83 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect | |
| 84 | + | mvdan.cc/gofumpt v0.9.2 // indirect | |
| 83 | 85 | ) | |
| 84 | 86 | ||
| 85 | 87 | tool github.com/a-h/templ/cmd/templ | |
| @@ -11,7 +11,7 @@ require ( | |||||
| 11 | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a | 11 | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a | ||
| 12 | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c | 12 | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c | ||
| 13 | github.com/bnema/purego-webp v0.2.1-0.20260714152238-7bc9c402fdf6 | 13 | github.com/bnema/purego-webp v0.2.1-0.20260714152238-7bc9c402fdf6 | ||
| 14 | - | github.com/bnema/puregotk v0.7.0 | 14 | + | github.com/bnema/puregotk v0.7.1-0.20260714200603-7370c78950ef |
| 15 | github.com/charmbracelet/bubbles v1.0.0 | 15 | github.com/charmbracelet/bubbles v1.0.0 | ||
| 16 | github.com/charmbracelet/bubbletea v1.3.10 | 16 | github.com/charmbracelet/bubbletea v1.3.10 | ||
| 17 | github.com/charmbracelet/lipgloss v1.1.0 | 17 | github.com/charmbracelet/lipgloss v1.1.0 | ||
| @@ -47,6 +47,7 @@ require ( | |||||
| 47 | github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | 47 | github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect | ||
| 48 | github.com/fatih/color v1.19.0 // indirect | 48 | github.com/fatih/color v1.19.0 // indirect | ||
| 49 | github.com/go-viper/mapstructure/v2 v2.5.0 // indirect | 49 | github.com/go-viper/mapstructure/v2 v2.5.0 // indirect | ||
| 50 | + | github.com/google/go-cmp v0.7.0 // indirect | |||
| 50 | github.com/inconshreveable/mousetrap v1.1.0 // indirect | 51 | github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||
| 51 | github.com/lucasb-eyer/go-colorful v1.4.0 // indirect | 52 | github.com/lucasb-eyer/go-colorful v1.4.0 // indirect | ||
| 52 | github.com/mattn/go-colorable v0.1.14 // indirect | 53 | github.com/mattn/go-colorable v0.1.14 // indirect | ||
| @@ -80,6 +81,7 @@ require ( | |||||
| 80 | golang.org/x/text v0.40.0 // indirect | 81 | golang.org/x/text v0.40.0 // indirect | ||
| 81 | golang.org/x/tools v0.47.0 // indirect | 82 | golang.org/x/tools v0.47.0 // indirect | ||
| 82 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect | 83 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect | ||
| 84 | + | mvdan.cc/gofumpt v0.9.2 // indirect | |||
| 83 | ) | 85 | ) | ||
| 84 | 86 | ||||
| 85 | tool github.com/a-h/templ/cmd/templ | 87 | tool github.com/a-h/templ/cmd/templ | ||
M go.sum +4 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/internal/core/core.go +197 -4 generated file: collapsed
M vendor/github.com/bnema/puregotk/pkg/core/core.go +10 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-dialog.go +99 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-window.go +95 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-accent-color.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-action-row.go +33 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-alert-dialog.go +66 -47 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-target.go +10 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-util.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-avatar.go +22 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-banner.go +23 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bin.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bottom-sheet.go +47 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint-bin.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint.go +33 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-content.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-row.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-dots.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-lines.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel.go +47 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-layout.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-scrollable.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-combo-row.go +34 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-dialog.go +45 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-easing.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-entry-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-enum-list-model.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-expander-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-flap.go +61 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-fold-threshold-policy.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-header-bar.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-inline-view-switcher.go +18 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout-slot.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout.go +7 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-leaflet.go +69 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-length-unit.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-main.go +5 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-message-dialog.go +63 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-multi-layout-view.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-direction.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-split-view.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-view.go +60 -49 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-overlay-split-view.go +48 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-password-entry-row.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-dialog.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-group.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-page.go +38 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-row.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-window.go +31 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcut-label.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-dialog.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-item.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-section.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-item.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-section.go +24 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar.go +41 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spin-row.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner-paintable.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-split-button.go +39 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-animation.go +34 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-params.go +17 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-squeezer.go +49 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-status-page.go +20 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-style-manager.go +25 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipe-tracker.go +33 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipeable.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-switch-row.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-bar.go +35 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-button.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-overview.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-view.go +123 -87 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-timed-animation.go +30 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast-overlay.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast.go +41 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toggle-group.go +64 -51 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toolbar-view.go +40 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-version.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-stack.go +78 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-bar.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-sidebar.go +15 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-title.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window-title.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-box.go +66 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-layout.go +57 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/cairo/main.go +36 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkapplaunchcontext.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairo.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairocontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcicpparams.go +20 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkclipboard.go +34 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcolorstate.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentdeserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentformats.go +28 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentprovider.go +23 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcursor.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevice.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicepad.go +27 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicetool.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplay.go +51 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplaymanager.go +10 -20
| @@ -4,7 +4,6 @@ package gdk | |||
| 4 | 4 | import ( | |
| 5 | 5 | "unsafe" | |
| 6 | 6 | ||
| 7 | - | "github.com/bnema/purego" | |
| 8 | 7 | "github.com/bnema/puregotk/pkg/core" | |
| 9 | 8 | "github.com/bnema/puregotk/v4/glib" | |
| 10 | 9 | "github.com/bnema/puregotk/v4/gobject" | |
| @@ -47,6 +46,8 @@ var xSetAllowedBackends func(string) | |||
| 47 | 46 | // as [func@Gdk.Display.open], `gtk_init()`, or `gtk_init_check()` | |
| 48 | 47 | // in order to take effect. | |
| 49 | 48 | func SetAllowedBackends(BackendsVar string) { | |
| 49 | + | core.LazyRegister(&xSetAllowedBackends, "GDK", "gdk_set_allowed_backends", false) | |
| 50 | + | ||
| 50 | 51 | xSetAllowedBackends(BackendsVar) | |
| 51 | 52 | } | |
| 52 | 53 | ||
| @@ -106,6 +107,7 @@ type DisplayManager struct { | |||
| 106 | 107 | var xDisplayManagerGLibType func() types.GType | |
| 107 | 108 | ||
| 108 | 109 | func DisplayManagerGLibType() types.GType { | |
| 110 | + | core.LazyRegister(&xDisplayManagerGLibType, "GDK", "gdk_display_manager_get_type", false) | |
| 109 | 111 | return xDisplayManagerGLibType() | |
| 110 | 112 | } | |
| 111 | 113 | ||
| @@ -119,6 +121,7 @@ var xDisplayManagerGetDefaultDisplay func(uintptr) uintptr | |||
| 119 | 121 | ||
| 120 | 122 | // Gets the default `GdkDisplay`. | |
| 121 | 123 | func (x *DisplayManager) GetDefaultDisplay() *Display { | |
| 124 | + | core.LazyRegister(&xDisplayManagerGetDefaultDisplay, "GDK", "gdk_display_manager_get_default_display", false) | |
| 122 | 125 | var cls *Display | |
| 123 | 126 | ||
| 124 | 127 | cret := xDisplayManagerGetDefaultDisplay(x.GoPointer()) | |
| @@ -136,6 +139,8 @@ var xDisplayManagerListDisplays func(uintptr) uintptr | |||
| 136 | 139 | ||
| 137 | 140 | // List all currently open displays. | |
| 138 | 141 | func (x *DisplayManager) ListDisplays() *glib.SList { | |
| 142 | + | core.LazyRegister(&xDisplayManagerListDisplays, "GDK", "gdk_display_manager_list_displays", false) | |
| 143 | + | ||
| 139 | 144 | cret := xDisplayManagerListDisplays(x.GoPointer()) | |
| 140 | 145 | if cret == 0 { | |
| 141 | 146 | return nil | |
| @@ -147,6 +152,7 @@ var xDisplayManagerOpenDisplay func(uintptr, uintptr) uintptr | |||
| 147 | 152 | ||
| 148 | 153 | // Opens a display. | |
| 149 | 154 | func (x *DisplayManager) OpenDisplay(NameVar *string) *Display { | |
| 155 | + | core.LazyRegister(&xDisplayManagerOpenDisplay, "GDK", "gdk_display_manager_open_display", false) | |
| 150 | 156 | var cls *Display | |
| 151 | 157 | ||
| 152 | 158 | NameVarPtr := core.GStrdupNullable(NameVar) | |
| @@ -167,6 +173,8 @@ var xDisplayManagerSetDefaultDisplay func(uintptr, uintptr) | |||
| 167 | 173 | ||
| 168 | 174 | // Sets @display as the default display. | |
| 169 | 175 | func (x *DisplayManager) SetDefaultDisplay(DisplayVar *Display) { | |
| 176 | + | core.LazyRegister(&xDisplayManagerSetDefaultDisplay, "GDK", "gdk_display_manager_set_default_display", false) | |
| 177 | + | ||
| 170 | 178 | xDisplayManagerSetDefaultDisplay(x.GoPointer(), DisplayVar.GoPointer()) | |
| 171 | 179 | } | |
| 172 | 180 | ||
| @@ -216,6 +224,7 @@ var xDisplayManagerGet func() uintptr | |||
| 216 | 224 | // Applications can use [func@set_allowed_backends] to limit what | |
| 217 | 225 | // backends will be used. | |
| 218 | 226 | func DisplayManagerGet() *DisplayManager { | |
| 227 | + | core.LazyRegister(&xDisplayManagerGet, "GDK", "gdk_display_manager_get", false) | |
| 219 | 228 | var cls *DisplayManager | |
| 220 | 229 | ||
| 221 | 230 | cret := xDisplayManagerGet() | |
| @@ -232,23 +241,4 @@ func DisplayManagerGet() *DisplayManager { | |||
| 232 | 241 | func init() { | |
| 233 | 242 | core.SetPackageName("GDK", "gtk4") | |
| 234 | 243 | core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | |
| 235 | - | var libs []uintptr | |
| 236 | - | for _, libPath := range core.GetPaths("GDK") { | |
| 237 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |
| 238 | - | if err != nil { | |
| 239 | - | panic(err) | |
| 240 | - | } | |
| 241 | - | libs = append(libs, lib) | |
| 242 | - | } | |
| 243 | - | ||
| 244 | - | core.PuregoSafeRegister(&xSetAllowedBackends, libs, "gdk_set_allowed_backends") | |
| 245 | - | ||
| 246 | - | core.PuregoSafeRegister(&xDisplayManagerGLibType, libs, "gdk_display_manager_get_type") | |
| 247 | - | ||
| 248 | - | core.PuregoSafeRegister(&xDisplayManagerGetDefaultDisplay, libs, "gdk_display_manager_get_default_display") | |
| 249 | - | core.PuregoSafeRegister(&xDisplayManagerListDisplays, libs, "gdk_display_manager_list_displays") | |
| 250 | - | core.PuregoSafeRegister(&xDisplayManagerOpenDisplay, libs, "gdk_display_manager_open_display") | |
| 251 | - | core.PuregoSafeRegister(&xDisplayManagerSetDefaultDisplay, libs, "gdk_display_manager_set_default_display") | |
| 252 | - | ||
| 253 | - | core.PuregoSafeRegister(&xDisplayManagerGet, libs, "gdk_display_manager_get") | |
| 254 | 244 | } | |
| @@ -4,7 +4,6 @@ package gdk | |||||
| 4 | import ( | 4 | import ( | ||
| 5 | "unsafe" | 5 | "unsafe" | ||
| 6 | 6 | ||||
| 7 | - | "github.com/bnema/purego" | |||
| 8 | "github.com/bnema/puregotk/pkg/core" | 7 | "github.com/bnema/puregotk/pkg/core" | ||
| 9 | "github.com/bnema/puregotk/v4/glib" | 8 | "github.com/bnema/puregotk/v4/glib" | ||
| 10 | "github.com/bnema/puregotk/v4/gobject" | 9 | "github.com/bnema/puregotk/v4/gobject" | ||
| @@ -47,6 +46,8 @@ var xSetAllowedBackends func(string) | |||||
| 47 | // as [func@Gdk.Display.open], `gtk_init()`, or `gtk_init_check()` | 46 | // as [func@Gdk.Display.open], `gtk_init()`, or `gtk_init_check()` | ||
| 48 | // in order to take effect. | 47 | // in order to take effect. | ||
| 49 | func SetAllowedBackends(BackendsVar string) { | 48 | func SetAllowedBackends(BackendsVar string) { | ||
| 49 | + | core.LazyRegister(&xSetAllowedBackends, "GDK", "gdk_set_allowed_backends", false) | |||
| 50 | + | ||||
| 50 | xSetAllowedBackends(BackendsVar) | 51 | xSetAllowedBackends(BackendsVar) | ||
| 51 | } | 52 | } | ||
| 52 | 53 | ||||
| @@ -106,6 +107,7 @@ type DisplayManager struct { | |||||
| 106 | var xDisplayManagerGLibType func() types.GType | 107 | var xDisplayManagerGLibType func() types.GType | ||
| 107 | 108 | ||||
| 108 | func DisplayManagerGLibType() types.GType { | 109 | func DisplayManagerGLibType() types.GType { | ||
| 110 | + | core.LazyRegister(&xDisplayManagerGLibType, "GDK", "gdk_display_manager_get_type", false) | |||
| 109 | return xDisplayManagerGLibType() | 111 | return xDisplayManagerGLibType() | ||
| 110 | } | 112 | } | ||
| 111 | 113 | ||||
| @@ -119,6 +121,7 @@ var xDisplayManagerGetDefaultDisplay func(uintptr) uintptr | |||||
| 119 | 121 | ||||
| 120 | // Gets the default `GdkDisplay`. | 122 | // Gets the default `GdkDisplay`. | ||
| 121 | func (x *DisplayManager) GetDefaultDisplay() *Display { | 123 | func (x *DisplayManager) GetDefaultDisplay() *Display { | ||
| 124 | + | core.LazyRegister(&xDisplayManagerGetDefaultDisplay, "GDK", "gdk_display_manager_get_default_display", false) | |||
| 122 | var cls *Display | 125 | var cls *Display | ||
| 123 | 126 | ||||
| 124 | cret := xDisplayManagerGetDefaultDisplay(x.GoPointer()) | 127 | cret := xDisplayManagerGetDefaultDisplay(x.GoPointer()) | ||
| @@ -136,6 +139,8 @@ var xDisplayManagerListDisplays func(uintptr) uintptr | |||||
| 136 | 139 | ||||
| 137 | // List all currently open displays. | 140 | // List all currently open displays. | ||
| 138 | func (x *DisplayManager) ListDisplays() *glib.SList { | 141 | func (x *DisplayManager) ListDisplays() *glib.SList { | ||
| 142 | + | core.LazyRegister(&xDisplayManagerListDisplays, "GDK", "gdk_display_manager_list_displays", false) | |||
| 143 | + | ||||
| 139 | cret := xDisplayManagerListDisplays(x.GoPointer()) | 144 | cret := xDisplayManagerListDisplays(x.GoPointer()) | ||
| 140 | if cret == 0 { | 145 | if cret == 0 { | ||
| 141 | return nil | 146 | return nil | ||
| @@ -147,6 +152,7 @@ var xDisplayManagerOpenDisplay func(uintptr, uintptr) uintptr | |||||
| 147 | 152 | ||||
| 148 | // Opens a display. | 153 | // Opens a display. | ||
| 149 | func (x *DisplayManager) OpenDisplay(NameVar *string) *Display { | 154 | func (x *DisplayManager) OpenDisplay(NameVar *string) *Display { | ||
| 155 | + | core.LazyRegister(&xDisplayManagerOpenDisplay, "GDK", "gdk_display_manager_open_display", false) | |||
| 150 | var cls *Display | 156 | var cls *Display | ||
| 151 | 157 | ||||
| 152 | NameVarPtr := core.GStrdupNullable(NameVar) | 158 | NameVarPtr := core.GStrdupNullable(NameVar) | ||
| @@ -167,6 +173,8 @@ var xDisplayManagerSetDefaultDisplay func(uintptr, uintptr) | |||||
| 167 | 173 | ||||
| 168 | // Sets @display as the default display. | 174 | // Sets @display as the default display. | ||
| 169 | func (x *DisplayManager) SetDefaultDisplay(DisplayVar *Display) { | 175 | func (x *DisplayManager) SetDefaultDisplay(DisplayVar *Display) { | ||
| 176 | + | core.LazyRegister(&xDisplayManagerSetDefaultDisplay, "GDK", "gdk_display_manager_set_default_display", false) | |||
| 177 | + | ||||
| 170 | xDisplayManagerSetDefaultDisplay(x.GoPointer(), DisplayVar.GoPointer()) | 178 | xDisplayManagerSetDefaultDisplay(x.GoPointer(), DisplayVar.GoPointer()) | ||
| 171 | } | 179 | } | ||
| 172 | 180 | ||||
| @@ -216,6 +224,7 @@ var xDisplayManagerGet func() uintptr | |||||
| 216 | // Applications can use [func@set_allowed_backends] to limit what | 224 | // Applications can use [func@set_allowed_backends] to limit what | ||
| 217 | // backends will be used. | 225 | // backends will be used. | ||
| 218 | func DisplayManagerGet() *DisplayManager { | 226 | func DisplayManagerGet() *DisplayManager { | ||
| 227 | + | core.LazyRegister(&xDisplayManagerGet, "GDK", "gdk_display_manager_get", false) | |||
| 219 | var cls *DisplayManager | 228 | var cls *DisplayManager | ||
| 220 | 229 | ||||
| 221 | cret := xDisplayManagerGet() | 230 | cret := xDisplayManagerGet() | ||
| @@ -232,23 +241,4 @@ func DisplayManagerGet() *DisplayManager { | |||||
| 232 | func init() { | 241 | func init() { | ||
| 233 | core.SetPackageName("GDK", "gtk4") | 242 | core.SetPackageName("GDK", "gtk4") | ||
| 234 | core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | 243 | core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | ||
| 235 | - | var libs []uintptr | |||
| 236 | - | for _, libPath := range core.GetPaths("GDK") { | |||
| 237 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |||
| 238 | - | if err != nil { | |||
| 239 | - | panic(err) | |||
| 240 | - | } | |||
| 241 | - | libs = append(libs, lib) | |||
| 242 | - | } | |||
| 243 | - | ||||
| 244 | - | core.PuregoSafeRegister(&xSetAllowedBackends, libs, "gdk_set_allowed_backends") | |||
| 245 | - | ||||
| 246 | - | core.PuregoSafeRegister(&xDisplayManagerGLibType, libs, "gdk_display_manager_get_type") | |||
| 247 | - | ||||
| 248 | - | core.PuregoSafeRegister(&xDisplayManagerGetDefaultDisplay, libs, "gdk_display_manager_get_default_display") | |||
| 249 | - | core.PuregoSafeRegister(&xDisplayManagerListDisplays, libs, "gdk_display_manager_list_displays") | |||
| 250 | - | core.PuregoSafeRegister(&xDisplayManagerOpenDisplay, libs, "gdk_display_manager_open_display") | |||
| 251 | - | core.PuregoSafeRegister(&xDisplayManagerSetDefaultDisplay, libs, "gdk_display_manager_set_default_display") | |||
| 252 | - | ||||
| 253 | - | core.PuregoSafeRegister(&xDisplayManagerGet, libs, "gdk_display_manager_get") | |||
| 254 | } | 244 | } | ||