exp: golang.org/x/exp/shiny/driver/internal/win32 Index | Files

package win32

import "golang.org/x/exp/shiny/driver/internal/win32"

Package win32 implements a partial shiny screen driver using the Win32 API. It provides window, lifecycle, key, and mouse management, but no drawing. That is left to windriver (using GDI) or gldriver (using DirectX via ANGLE).

Index

Package Files

key.go syscall_windows.go win32.go zsyscall_windows.go

Variables

var (
    MouseEvent     func(hwnd syscall.Handle, e mouse.Event)
    PaintEvent     func(hwnd syscall.Handle, e paint.Event)
    SizeEvent      func(hwnd syscall.Handle, e size.Event)
    KeyEvent       func(hwnd syscall.Handle, e key.Event)
    LifecycleEvent func(hwnd syscall.Handle, e lifecycle.Stage)
)

func AddScreenMsg

func AddScreenMsg(fn func(hwnd syscall.Handle, uMsg uint32, wParam, lParam uintptr)) uint32

func AddWindowMsg

func AddWindowMsg(fn func(hwnd syscall.Handle, uMsg uint32, wParam, lParam uintptr)) uint32

func GetDC

func GetDC(hwnd syscall.Handle) (dc syscall.Handle, err error)

func Main

func Main(f func()) (retErr error)

func NewWindow

func NewWindow(opts *screen.NewWindowOptions) (syscall.Handle, error)

func Release

func Release(hwnd syscall.Handle)

func ReleaseDC

func ReleaseDC(hwnd syscall.Handle, dc syscall.Handle) (err error)

func SendMessage

func SendMessage(hwnd syscall.Handle, uMsg uint32, wParam uintptr, lParam uintptr) (lResult uintptr)

func SendScreenMessage

func SendScreenMessage(uMsg uint32, wParam uintptr, lParam uintptr) (lResult uintptr)

func Show

func Show(hwnd syscall.Handle)

Show shows a newly created window. It sends the appropriate lifecycle events, makes the window appear on the screen, and sends an initial size event.

This is a separate step from NewWindow to give the driver a chance to setup its internal state for a window before events start being delivered.

Package win32 imports 13 packages (graph). Updated about 11 hours ago with GOOS=windows. Refresh now. Tools for package owners.