72 lines
2.2 KiB
Go
72 lines
2.2 KiB
Go
package driver
|
|
|
|
// NativeWindow is an extension interface for `fyne.Window` that gives access
|
|
// to platform-native features of application windows.
|
|
//
|
|
// Since: 2.5
|
|
type NativeWindow interface {
|
|
// RunNative provides a way to execute code within the platform-specific runtime context for a window.
|
|
// The context types are defined in the `driver` package and the specific context passed will differ by platform.
|
|
RunNative(func(context any))
|
|
}
|
|
|
|
// AndroidContext is passed to the RunNative callback when it is executed on an Android device.
|
|
// The VM, Env and Ctx pointers are required to make various calls into JVM methods.
|
|
//
|
|
// Since: 2.3
|
|
type AndroidContext struct {
|
|
VM, Env, Ctx uintptr
|
|
}
|
|
|
|
// AndroidWindowContext is passed to the NativeWindow.RunNative callback when it is executed
|
|
// on an Android device. The NativeWindow field is of type `*C.ANativeWindow`.
|
|
// The VM, Env and Ctx pointers are required to make various calls into JVM methods.
|
|
//
|
|
// Since: 2.5
|
|
type AndroidWindowContext struct {
|
|
AndroidContext
|
|
NativeWindow uintptr
|
|
}
|
|
|
|
// UnknownContext is passed to the RunNative callback when it is executed
|
|
// on devices or windows without special native context.
|
|
//
|
|
// Since: 2.3
|
|
type UnknownContext struct{}
|
|
|
|
// WindowsWindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a Microsoft Windows device.
|
|
//
|
|
// Since: 2.5
|
|
type WindowsWindowContext struct {
|
|
// HWND is the window handle for the native window.
|
|
HWND uintptr
|
|
}
|
|
|
|
// MacWindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a macOS device.
|
|
//
|
|
// Since: 2.5
|
|
type MacWindowContext struct {
|
|
// NSWindow is the window handle for the native window.
|
|
NSWindow uintptr
|
|
}
|
|
|
|
// X11WindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a device with the X11 windowing system.
|
|
//
|
|
// Since: 2.5
|
|
type X11WindowContext struct {
|
|
// WindowHandle is the window handle for the native X11 window.
|
|
WindowHandle uintptr
|
|
}
|
|
|
|
// WaylandWindowContext is passed to the NativeWindow.RunNative callback
|
|
// when it is executed on a device with the Wayland windowing system.
|
|
//
|
|
// Since: 2.5
|
|
type WaylandWindowContext struct {
|
|
// WaylandSurface is the handle to the native Wayland surface.
|
|
WaylandSurface uintptr
|
|
}
|