Documentation

Overview

    Package window abstracts the OpenGL Window manager Currently only "glfw" is supported

    Index

    Constants

    View Source
    const (
    	KeyUnknown      = Key(glfw.KeyUnknown)
    	KeySpace        = Key(glfw.KeySpace)
    	KeyApostrophe   = Key(glfw.KeyApostrophe)
    	KeyComma        = Key(glfw.KeyComma)
    	KeyMinus        = Key(glfw.KeyMinus)
    	KeyPeriod       = Key(glfw.KeyPeriod)
    	KeySlash        = Key(glfw.KeySlash)
    	Key0            = Key(glfw.Key0)
    	Key1            = Key(glfw.Key1)
    	Key2            = Key(glfw.Key2)
    	Key3            = Key(glfw.Key3)
    	Key4            = Key(glfw.Key4)
    	Key5            = Key(glfw.Key5)
    	Key6            = Key(glfw.Key6)
    	Key7            = Key(glfw.Key7)
    	Key8            = Key(glfw.Key8)
    	Key9            = Key(glfw.Key9)
    	KeySemicolon    = Key(glfw.KeySemicolon)
    	KeyEqual        = Key(glfw.KeyEqual)
    	KeyA            = Key(glfw.KeyA)
    	KeyB            = Key(glfw.KeyB)
    	KeyC            = Key(glfw.KeyC)
    	KeyD            = Key(glfw.KeyD)
    	KeyE            = Key(glfw.KeyE)
    	KeyF            = Key(glfw.KeyF)
    	KeyG            = Key(glfw.KeyG)
    	KeyH            = Key(glfw.KeyH)
    	KeyI            = Key(glfw.KeyI)
    	KeyJ            = Key(glfw.KeyJ)
    	KeyK            = Key(glfw.KeyK)
    	KeyL            = Key(glfw.KeyL)
    	KeyM            = Key(glfw.KeyM)
    	KeyN            = Key(glfw.KeyN)
    	KeyO            = Key(glfw.KeyO)
    	KeyP            = Key(glfw.KeyP)
    	KeyQ            = Key(glfw.KeyQ)
    	KeyR            = Key(glfw.KeyR)
    	KeyS            = Key(glfw.KeyS)
    	KeyT            = Key(glfw.KeyT)
    	KeyU            = Key(glfw.KeyU)
    	KeyV            = Key(glfw.KeyV)
    	KeyW            = Key(glfw.KeyW)
    	KeyX            = Key(glfw.KeyX)
    	KeyY            = Key(glfw.KeyY)
    	KeyZ            = Key(glfw.KeyZ)
    	KeyLeftBracket  = Key(glfw.KeyLeftBracket)
    	KeyBackslash    = Key(glfw.KeyBackslash)
    	KeyRightBracket = Key(glfw.KeyRightBracket)
    	KeyGraveAccent  = Key(glfw.KeyGraveAccent)
    	KeyWorld1       = Key(glfw.KeyWorld1)
    	KeyWorld2       = Key(glfw.KeyWorld2)
    	KeyEscape       = Key(glfw.KeyEscape)
    	KeyEnter        = Key(glfw.KeyEnter)
    	KeyTab          = Key(glfw.KeyTab)
    	KeyBackspace    = Key(glfw.KeyBackspace)
    	KeyInsert       = Key(glfw.KeyInsert)
    	KeyDelete       = Key(glfw.KeyDelete)
    	KeyRight        = Key(glfw.KeyRight)
    	KeyLeft         = Key(glfw.KeyLeft)
    	KeyDown         = Key(glfw.KeyDown)
    	KeyUp           = Key(glfw.KeyUp)
    	KeyPageUp       = Key(glfw.KeyPageUp)
    	KeyPageDown     = Key(glfw.KeyPageDown)
    	KeyHome         = Key(glfw.KeyHome)
    	KeyEnd          = Key(glfw.KeyEnd)
    	KeyCapsLock     = Key(glfw.KeyCapsLock)
    	KeyScrollLock   = Key(glfw.KeyScrollLock)
    	KeyNumLock      = Key(glfw.KeyNumLock)
    	KeyPrintScreen  = Key(glfw.KeyPrintScreen)
    	KeyPause        = Key(glfw.KeyPause)
    	KeyF1           = Key(glfw.KeyF1)
    	KeyF2           = Key(glfw.KeyF2)
    	KeyF3           = Key(glfw.KeyF3)
    	KeyF4           = Key(glfw.KeyF4)
    	KeyF5           = Key(glfw.KeyF5)
    	KeyF6           = Key(glfw.KeyF6)
    	KeyF7           = Key(glfw.KeyF7)
    	KeyF8           = Key(glfw.KeyF8)
    	KeyF9           = Key(glfw.KeyF9)
    	KeyF10          = Key(glfw.KeyF10)
    	KeyF11          = Key(glfw.KeyF11)
    	KeyF12          = Key(glfw.KeyF12)
    	KeyF13          = Key(glfw.KeyF13)
    	KeyF14          = Key(glfw.KeyF14)
    	KeyF15          = Key(glfw.KeyF15)
    	KeyF16          = Key(glfw.KeyF16)
    	KeyF17          = Key(glfw.KeyF17)
    	KeyF18          = Key(glfw.KeyF18)
    	KeyF19          = Key(glfw.KeyF19)
    	KeyF20          = Key(glfw.KeyF20)
    	KeyF21          = Key(glfw.KeyF21)
    	KeyF22          = Key(glfw.KeyF22)
    	KeyF23          = Key(glfw.KeyF23)
    	KeyF24          = Key(glfw.KeyF24)
    	KeyF25          = Key(glfw.KeyF25)
    	KeyKP0          = Key(glfw.KeyKP0)
    	KeyKP1          = Key(glfw.KeyKP1)
    	KeyKP2          = Key(glfw.KeyKP2)
    	KeyKP3          = Key(glfw.KeyKP3)
    	KeyKP4          = Key(glfw.KeyKP4)
    	KeyKP5          = Key(glfw.KeyKP5)
    	KeyKP6          = Key(glfw.KeyKP6)
    	KeyKP7          = Key(glfw.KeyKP7)
    	KeyKP8          = Key(glfw.KeyKP8)
    	KeyKP9          = Key(glfw.KeyKP9)
    	KeyKPDecimal    = Key(glfw.KeyKPDecimal)
    	KeyKPDivide     = Key(glfw.KeyKPDivide)
    	KeyKPMultiply   = Key(glfw.KeyKPMultiply)
    	KeyKPSubtract   = Key(glfw.KeyKPSubtract)
    	KeyKPAdd        = Key(glfw.KeyKPAdd)
    	KeyKPEnter      = Key(glfw.KeyKPEnter)
    	KeyKPEqual      = Key(glfw.KeyKPEqual)
    	KeyLeftShift    = Key(glfw.KeyLeftShift)
    	KeyLeftControl  = Key(glfw.KeyLeftControl)
    	KeyLeftAlt      = Key(glfw.KeyLeftAlt)
    	KeyLeftSuper    = Key(glfw.KeyLeftSuper)
    	KeyRightShift   = Key(glfw.KeyRightShift)
    	KeyRightControl = Key(glfw.KeyRightControl)
    	KeyRightAlt     = Key(glfw.KeyRightAlt)
    	KeyRightSuper   = Key(glfw.KeyRightSuper)
    	KeyMenu         = Key(glfw.KeyMenu)
    	KeyLast         = Key(glfw.KeyLast)
    )

      Keycodes (from glfw)

      View Source
      const (
      	ModShift   = ModifierKey(glfw.ModShift)
      	ModControl = ModifierKey(glfw.ModControl)
      	ModAlt     = ModifierKey(glfw.ModAlt)
      	ModSuper   = ModifierKey(glfw.ModSuper)
      )

        Modifier keys

        View Source
        const (
        	MouseButton1      = MouseButton(glfw.MouseButton1)
        	MouseButton2      = MouseButton(glfw.MouseButton2)
        	MouseButton3      = MouseButton(glfw.MouseButton3)
        	MouseButton4      = MouseButton(glfw.MouseButton4)
        	MouseButton5      = MouseButton(glfw.MouseButton5)
        	MouseButton6      = MouseButton(glfw.MouseButton6)
        	MouseButton7      = MouseButton(glfw.MouseButton7)
        	MouseButton8      = MouseButton(glfw.MouseButton8)
        	MouseButtonLast   = MouseButton(glfw.MouseButtonLast)
        	MouseButtonLeft   = MouseButton(glfw.MouseButtonLeft)
        	MouseButtonRight  = MouseButton(glfw.MouseButtonRight)
        	MouseButtonMiddle = MouseButton(glfw.MouseButtonMiddle)
        )

          Mouse buttons

          View Source
          const (
          	ArrowCursor       = StandardCursor(glfw.ArrowCursor)
          	IBeamCursor       = StandardCursor(glfw.IBeamCursor)
          	CrosshairCursor   = StandardCursor(glfw.CrosshairCursor)
          	HandCursor        = StandardCursor(glfw.HandCursor)
          	HResizeCursor     = StandardCursor(glfw.HResizeCursor)
          	VResizeCursor     = StandardCursor(glfw.VResizeCursor)
          	DiagResize1Cursor = StandardCursor(VResizeCursor + 1)
          	DiagResize2Cursor = StandardCursor(VResizeCursor + 2)
          )

            Standard cursors for g3n. The diagonal cursors are not standard for GLFW.

            View Source
            const (
            	// Release indicates that key or mouse button was released
            	Release = Action(glfw.Release)
            	// Press indicates that key or mouse button was pressed
            	Press = Action(glfw.Press)
            	// Repeat indicates that key was held down until it repeated
            	Repeat = Action(glfw.Repeat)
            )
            View Source
            const (
            	CursorMode             = InputMode(glfw.CursorMode)             // See Cursor mode values
            	StickyKeysMode         = InputMode(glfw.StickyKeysMode)         // Value can be either 1 or 0
            	StickyMouseButtonsMode = InputMode(glfw.StickyMouseButtonsMode) // Value can be either 1 or 0
            )

              Input modes

              View Source
              const (
              	CursorNormal   = glfw.CursorNormal
              	CursorHidden   = glfw.CursorHidden
              	CursorDisabled = glfw.CursorDisabled
              )

                Cursor mode values

                View Source
                const (
                	OnWindowPos  = "win.OnWindowPos"
                	OnWindowSize = "win.OnWindowSize"
                	OnKeyUp      = "win.OnKeyUp"
                	OnKeyDown    = "win.OnKeyDown"
                	OnKeyRepeat  = "win.OnKeyRepeat"
                	OnChar       = "win.OnChar"
                	OnCursor     = "win.OnCursor"
                	OnMouseUp    = "win.OnMouseUp"
                	OnMouseDown  = "win.OnMouseDown"
                	OnScroll     = "win.OnScroll"
                	OnFrame      = "win.OnFrame"
                )

                  Window event names using for dispatch and subscribe

                  Variables

                  This section is empty.

                  Functions

                  This section is empty.

                  Types

                  type Action

                  type Action int

                    Action corresponds to a key or button action.

                    type CharEvent

                    type CharEvent struct {
                    	W    IWindow
                    	Char rune
                    	Mods ModifierKey
                    }

                      CharEvent describes a window char event

                      type CursorEvent

                      type CursorEvent struct {
                      	W    IWindow
                      	Xpos float32
                      	Ypos float32
                      }

                        CursorEvent describes a cursor position changed event

                        type IWindow

                        type IWindow interface {
                        	core.IDispatcher
                        	Manager() IWindowManager
                        	MakeContextCurrent()
                        	FramebufferSize() (width int, height int)
                        	Scale() (x float64, y float64)
                        	Size() (width int, height int)
                        	SetSize(width int, height int)
                        	Pos() (xpos, ypos int)
                        	SetPos(xpos, ypos int)
                        	SetTitle(title string)
                        	SetStandardCursor(cursor StandardCursor)
                        	SetCustomCursor(int)
                        	SetInputMode(mode InputMode, state int)
                        	SetCursorPos(xpos, ypos float64)
                        	ShouldClose() bool
                        	SetShouldClose(bool)
                        	FullScreen() bool
                        	SetFullScreen(bool)
                        	SwapBuffers()
                        	Destroy()
                        }

                          IWindow is the interface for all windows

                          type IWindowManager

                          type IWindowManager interface {
                          	ScreenResolution(interface{}) (width, height int)
                          	CreateWindow(width, height int, title string, full bool) (IWindow, error)
                          	CreateCursor(imgFile string, xhot, yhot int) (int, error)
                          	DisposeCursor(key int)
                          	DisposeAllCursors()
                          	SetSwapInterval(interval int)
                          	PollEvents()
                          	Terminate()
                          }

                            IWindowManager is the interface for all window managers

                            func Glfw

                            func Glfw() (IWindowManager, error)

                              Glfw returns the glfw window manager

                              func Manager

                              func Manager(wtype string) (IWindowManager, error)

                                Manager returns the window manager for the specified type. Currently only "glfw" type is supported.

                                type InputMode

                                type InputMode int

                                  InputMode corresponds to an input mode.

                                  type Key

                                  type Key int

                                    Key corresponds to a keyboard key.

                                    type KeyEvent

                                    type KeyEvent struct {
                                    	W        IWindow
                                    	Keycode  Key
                                    	Scancode int
                                    	Action   Action
                                    	Mods     ModifierKey
                                    }

                                      KeyEvent describes a window key event

                                      type ModifierKey

                                      type ModifierKey int

                                        ModifierKey corresponds to a modifier key.

                                        type MouseButton

                                        type MouseButton int

                                          MouseButton corresponds to a mouse button.

                                          type MouseEvent

                                          type MouseEvent struct {
                                          	W      IWindow
                                          	Xpos   float32
                                          	Ypos   float32
                                          	Button MouseButton
                                          	Action Action
                                          	Mods   ModifierKey
                                          }

                                            MouseEvent describes a mouse event over the window

                                            type PosEvent

                                            type PosEvent struct {
                                            	W    IWindow
                                            	Xpos int
                                            	Ypos int
                                            }

                                              PosEvent describes a windows position changed event

                                              type ScrollEvent

                                              type ScrollEvent struct {
                                              	W       IWindow
                                              	Xoffset float32
                                              	Yoffset float32
                                              }

                                                ScrollEvent describes a scroll event

                                                type SizeEvent

                                                type SizeEvent struct {
                                                	W      IWindow
                                                	Width  int
                                                	Height int
                                                }

                                                  SizeEvent describers a window size changed event

                                                  type StandardCursor

                                                  type StandardCursor int

                                                    StandardCursor corresponds to a g3n standard cursor icon.