Documentation

Overview

    package wm implements platform specific windows and GPU contexts.

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var ErrDeviceLost = errors.New("GPU device lost")

      ErrDeviceLost is returned from Context.Present when the underlying GPU device is gone and should be recreated.

      Functions

      func Main

      func Main()

      func NewWindow

      func NewWindow(window Callbacks, opts *Options) error

      Types

      type Callbacks

      type Callbacks interface {
      	SetDriver(d Driver)
      	Event(e event.Event)
      }

      type Context

      type Context interface {
      	API() gpu.API
      	Present() error
      	MakeCurrent() error
      	Release()
      	Lock()
      	Unlock()
      }

      type Driver

      type Driver interface {
      	// SetAnimating sets the animation flag. When the window is animating,
      	// FrameEvents are delivered as fast as the display can handle them.
      	SetAnimating(anim bool)
      	// ShowTextInput updates the virtual keyboard state.
      	ShowTextInput(show bool)
      	NewContext() (Context, error)
      
      	// ReadClipboard requests the clipboard content.
      	ReadClipboard()
      	// WriteClipboard requests a clipboard write.
      	WriteClipboard(s string)
      
      	// Option processes option changes.
      	Option(opts *Options)
      
      	// SetCursor updates the current cursor to name.
      	SetCursor(name pointer.CursorName)
      
      	// Close the window.
      	Close()
      }

        Driver is the interface for the platform implementation of a window.

        type FrameEvent

        type FrameEvent struct {
        	system.FrameEvent
        
        	Sync bool
        }

        type Options

        type Options struct {
        	Size       *Size
        	MinSize    *Size
        	MaxSize    *Size
        	Title      *string
        	WindowMode *WindowMode
        }

        type Size

        type Size struct {
        	Width  unit.Value
        	Height unit.Value
        }

        type WindowMode

        type WindowMode uint8
        const (
        	Windowed WindowMode = iota
        	Fullscreen
        )