fix(deps): repin puregotk lazy registration fix
- commit
- d685b6e820d6baba0d0dea254169664012ed203d
- author
- brice · · 2026-07-14 18:24 UTC
- parent
- ec6db2e
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
907 files · +27874 -25294
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.20260714181430-679a9ed72959 | |
| 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.20260714181430-679a9ed72959 |
| 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 -16 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
| @@ -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/cairo" | |
| 10 | 9 | "github.com/bnema/puregotk/v4/gdkpixbuf" | |
| @@ -31,6 +30,8 @@ var xCairoDrawFromGl func(*cairo.Context, uintptr, int, int, int, int, int, int, | |||
| 31 | 30 | // | |
| 32 | 31 | // Calling this may change the current GL context. | |
| 33 | 32 | func CairoDrawFromGl(CrVar *cairo.Context, SurfaceVar *Surface, SourceVar int, SourceTypeVar int, BufferScaleVar int, XVar int, YVar int, WidthVar int, HeightVar int) { | |
| 33 | + | core.LazyRegister(&xCairoDrawFromGl, "GDK", "gdk_cairo_draw_from_gl", false) | |
| 34 | + | ||
| 34 | 35 | xCairoDrawFromGl(CrVar, SurfaceVar.GoPointer(), SourceVar, SourceTypeVar, BufferScaleVar, XVar, YVar, WidthVar, HeightVar) | |
| 35 | 36 | } | |
| 36 | 37 | ||
| @@ -38,6 +39,8 @@ var xCairoRectangle func(*cairo.Context, *Rectangle) | |||
| 38 | 39 | ||
| 39 | 40 | // Adds the given rectangle to the current path of @cr. | |
| 40 | 41 | func CairoRectangle(CrVar *cairo.Context, RectangleVar *Rectangle) { | |
| 42 | + | core.LazyRegister(&xCairoRectangle, "GDK", "gdk_cairo_rectangle", false) | |
| 43 | + | ||
| 41 | 44 | xCairoRectangle(CrVar, RectangleVar) | |
| 42 | 45 | } | |
| 43 | 46 | ||
| @@ -45,6 +48,8 @@ var xCairoRegion func(*cairo.Context, *cairo.Region) | |||
| 45 | 48 | ||
| 46 | 49 | // Adds the given region to the current path of @cr. | |
| 47 | 50 | func CairoRegion(CrVar *cairo.Context, RegionVar *cairo.Region) { | |
| 51 | + | core.LazyRegister(&xCairoRegion, "GDK", "gdk_cairo_region", false) | |
| 52 | + | ||
| 48 | 53 | xCairoRegion(CrVar, RegionVar) | |
| 49 | 54 | } | |
| 50 | 55 | ||
| @@ -56,6 +61,8 @@ var xCairoRegionCreateFromSurface func(*cairo.Surface) uintptr | |||
| 56 | 61 | // This function takes into account device offsets that might be | |
| 57 | 62 | // set with cairo_surface_set_device_offset(). | |
| 58 | 63 | func CairoRegionCreateFromSurface(SurfaceVar *cairo.Surface) *cairo.Region { | |
| 64 | + | core.LazyRegister(&xCairoRegionCreateFromSurface, "GDK", "gdk_cairo_region_create_from_surface", false) | |
| 65 | + | ||
| 59 | 66 | cret := xCairoRegionCreateFromSurface(SurfaceVar) | |
| 60 | 67 | if cret == 0 { | |
| 61 | 68 | return nil | |
| @@ -70,6 +77,8 @@ var xCairoSetSourcePixbuf func(*cairo.Context, uintptr, float64, float64) | |||
| 70 | 77 | // The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned | |
| 71 | 78 | // so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y. | |
| 72 | 79 | func CairoSetSourcePixbuf(CrVar *cairo.Context, PixbufVar *gdkpixbuf.Pixbuf, PixbufXVar float64, PixbufYVar float64) { | |
| 80 | + | core.LazyRegister(&xCairoSetSourcePixbuf, "GDK", "gdk_cairo_set_source_pixbuf", false) | |
| 81 | + | ||
| 73 | 82 | xCairoSetSourcePixbuf(CrVar, PixbufVar.GoPointer(), PixbufXVar, PixbufYVar) | |
| 74 | 83 | } | |
| 75 | 84 | ||
| @@ -77,25 +86,12 @@ var xCairoSetSourceRgba func(*cairo.Context, *RGBA) | |||
| 77 | 86 | ||
| 78 | 87 | // Sets the specified `GdkRGBA` as the source color of @cr. | |
| 79 | 88 | func CairoSetSourceRgba(CrVar *cairo.Context, RgbaVar *RGBA) { | |
| 89 | + | core.LazyRegister(&xCairoSetSourceRgba, "GDK", "gdk_cairo_set_source_rgba", false) | |
| 90 | + | ||
| 80 | 91 | xCairoSetSourceRgba(CrVar, RgbaVar) | |
| 81 | 92 | } | |
| 82 | 93 | ||
| 83 | 94 | func init() { | |
| 84 | 95 | core.SetPackageName("GDK", "gtk4") | |
| 85 | 96 | core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | |
| 86 | - | var libs []uintptr | |
| 87 | - | for _, libPath := range core.GetPaths("GDK") { | |
| 88 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |
| 89 | - | if err != nil { | |
| 90 | - | panic(err) | |
| 91 | - | } | |
| 92 | - | libs = append(libs, lib) | |
| 93 | - | } | |
| 94 | - | ||
| 95 | - | core.PuregoSafeRegister(&xCairoDrawFromGl, libs, "gdk_cairo_draw_from_gl") | |
| 96 | - | core.PuregoSafeRegister(&xCairoRectangle, libs, "gdk_cairo_rectangle") | |
| 97 | - | core.PuregoSafeRegister(&xCairoRegion, libs, "gdk_cairo_region") | |
| 98 | - | core.PuregoSafeRegister(&xCairoRegionCreateFromSurface, libs, "gdk_cairo_region_create_from_surface") | |
| 99 | - | core.PuregoSafeRegister(&xCairoSetSourcePixbuf, libs, "gdk_cairo_set_source_pixbuf") | |
| 100 | - | core.PuregoSafeRegister(&xCairoSetSourceRgba, libs, "gdk_cairo_set_source_rgba") | |
| 101 | 97 | } | |
| @@ -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/cairo" | 8 | "github.com/bnema/puregotk/v4/cairo" | ||
| 10 | "github.com/bnema/puregotk/v4/gdkpixbuf" | 9 | "github.com/bnema/puregotk/v4/gdkpixbuf" | ||
| @@ -31,6 +30,8 @@ var xCairoDrawFromGl func(*cairo.Context, uintptr, int, int, int, int, int, int, | |||||
| 31 | // | 30 | // | ||
| 32 | // Calling this may change the current GL context. | 31 | // Calling this may change the current GL context. | ||
| 33 | func CairoDrawFromGl(CrVar *cairo.Context, SurfaceVar *Surface, SourceVar int, SourceTypeVar int, BufferScaleVar int, XVar int, YVar int, WidthVar int, HeightVar int) { | 32 | func CairoDrawFromGl(CrVar *cairo.Context, SurfaceVar *Surface, SourceVar int, SourceTypeVar int, BufferScaleVar int, XVar int, YVar int, WidthVar int, HeightVar int) { | ||
| 33 | + | core.LazyRegister(&xCairoDrawFromGl, "GDK", "gdk_cairo_draw_from_gl", false) | |||
| 34 | + | ||||
| 34 | xCairoDrawFromGl(CrVar, SurfaceVar.GoPointer(), SourceVar, SourceTypeVar, BufferScaleVar, XVar, YVar, WidthVar, HeightVar) | 35 | xCairoDrawFromGl(CrVar, SurfaceVar.GoPointer(), SourceVar, SourceTypeVar, BufferScaleVar, XVar, YVar, WidthVar, HeightVar) | ||
| 35 | } | 36 | } | ||
| 36 | 37 | ||||
| @@ -38,6 +39,8 @@ var xCairoRectangle func(*cairo.Context, *Rectangle) | |||||
| 38 | 39 | ||||
| 39 | // Adds the given rectangle to the current path of @cr. | 40 | // Adds the given rectangle to the current path of @cr. | ||
| 40 | func CairoRectangle(CrVar *cairo.Context, RectangleVar *Rectangle) { | 41 | func CairoRectangle(CrVar *cairo.Context, RectangleVar *Rectangle) { | ||
| 42 | + | core.LazyRegister(&xCairoRectangle, "GDK", "gdk_cairo_rectangle", false) | |||
| 43 | + | ||||
| 41 | xCairoRectangle(CrVar, RectangleVar) | 44 | xCairoRectangle(CrVar, RectangleVar) | ||
| 42 | } | 45 | } | ||
| 43 | 46 | ||||
| @@ -45,6 +48,8 @@ var xCairoRegion func(*cairo.Context, *cairo.Region) | |||||
| 45 | 48 | ||||
| 46 | // Adds the given region to the current path of @cr. | 49 | // Adds the given region to the current path of @cr. | ||
| 47 | func CairoRegion(CrVar *cairo.Context, RegionVar *cairo.Region) { | 50 | func CairoRegion(CrVar *cairo.Context, RegionVar *cairo.Region) { | ||
| 51 | + | core.LazyRegister(&xCairoRegion, "GDK", "gdk_cairo_region", false) | |||
| 52 | + | ||||
| 48 | xCairoRegion(CrVar, RegionVar) | 53 | xCairoRegion(CrVar, RegionVar) | ||
| 49 | } | 54 | } | ||
| 50 | 55 | ||||
| @@ -56,6 +61,8 @@ var xCairoRegionCreateFromSurface func(*cairo.Surface) uintptr | |||||
| 56 | // This function takes into account device offsets that might be | 61 | // This function takes into account device offsets that might be | ||
| 57 | // set with cairo_surface_set_device_offset(). | 62 | // set with cairo_surface_set_device_offset(). | ||
| 58 | func CairoRegionCreateFromSurface(SurfaceVar *cairo.Surface) *cairo.Region { | 63 | func CairoRegionCreateFromSurface(SurfaceVar *cairo.Surface) *cairo.Region { | ||
| 64 | + | core.LazyRegister(&xCairoRegionCreateFromSurface, "GDK", "gdk_cairo_region_create_from_surface", false) | |||
| 65 | + | ||||
| 59 | cret := xCairoRegionCreateFromSurface(SurfaceVar) | 66 | cret := xCairoRegionCreateFromSurface(SurfaceVar) | ||
| 60 | if cret == 0 { | 67 | if cret == 0 { | ||
| 61 | return nil | 68 | return nil | ||
| @@ -70,6 +77,8 @@ var xCairoSetSourcePixbuf func(*cairo.Context, uintptr, float64, float64) | |||||
| 70 | // The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned | 77 | // The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned | ||
| 71 | // so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y. | 78 | // so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y. | ||
| 72 | func CairoSetSourcePixbuf(CrVar *cairo.Context, PixbufVar *gdkpixbuf.Pixbuf, PixbufXVar float64, PixbufYVar float64) { | 79 | func CairoSetSourcePixbuf(CrVar *cairo.Context, PixbufVar *gdkpixbuf.Pixbuf, PixbufXVar float64, PixbufYVar float64) { | ||
| 80 | + | core.LazyRegister(&xCairoSetSourcePixbuf, "GDK", "gdk_cairo_set_source_pixbuf", false) | |||
| 81 | + | ||||
| 73 | xCairoSetSourcePixbuf(CrVar, PixbufVar.GoPointer(), PixbufXVar, PixbufYVar) | 82 | xCairoSetSourcePixbuf(CrVar, PixbufVar.GoPointer(), PixbufXVar, PixbufYVar) | ||
| 74 | } | 83 | } | ||
| 75 | 84 | ||||
| @@ -77,25 +86,12 @@ var xCairoSetSourceRgba func(*cairo.Context, *RGBA) | |||||
| 77 | 86 | ||||
| 78 | // Sets the specified `GdkRGBA` as the source color of @cr. | 87 | // Sets the specified `GdkRGBA` as the source color of @cr. | ||
| 79 | func CairoSetSourceRgba(CrVar *cairo.Context, RgbaVar *RGBA) { | 88 | func CairoSetSourceRgba(CrVar *cairo.Context, RgbaVar *RGBA) { | ||
| 89 | + | core.LazyRegister(&xCairoSetSourceRgba, "GDK", "gdk_cairo_set_source_rgba", false) | |||
| 90 | + | ||||
| 80 | xCairoSetSourceRgba(CrVar, RgbaVar) | 91 | xCairoSetSourceRgba(CrVar, RgbaVar) | ||
| 81 | } | 92 | } | ||
| 82 | 93 | ||||
| 83 | func init() { | 94 | func init() { | ||
| 84 | core.SetPackageName("GDK", "gtk4") | 95 | core.SetPackageName("GDK", "gtk4") | ||
| 85 | core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | 96 | core.SetSharedLibraries("GDK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | ||
| 86 | - | var libs []uintptr | |||
| 87 | - | for _, libPath := range core.GetPaths("GDK") { | |||
| 88 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |||
| 89 | - | if err != nil { | |||
| 90 | - | panic(err) | |||
| 91 | - | } | |||
| 92 | - | libs = append(libs, lib) | |||
| 93 | - | } | |||
| 94 | - | ||||
| 95 | - | core.PuregoSafeRegister(&xCairoDrawFromGl, libs, "gdk_cairo_draw_from_gl") | |||
| 96 | - | core.PuregoSafeRegister(&xCairoRectangle, libs, "gdk_cairo_rectangle") | |||
| 97 | - | core.PuregoSafeRegister(&xCairoRegion, libs, "gdk_cairo_region") | |||
| 98 | - | core.PuregoSafeRegister(&xCairoRegionCreateFromSurface, libs, "gdk_cairo_region_create_from_surface") | |||
| 99 | - | core.PuregoSafeRegister(&xCairoSetSourcePixbuf, libs, "gdk_cairo_set_source_pixbuf") | |||
| 100 | - | core.PuregoSafeRegister(&xCairoSetSourceRgba, libs, "gdk_cairo_set_source_rgba") | |||
| 101 | } | 97 | } | ||