glfwbackend

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2026 License: MIT Imports: 7 Imported by: 10

Documentation

Index

Constants

View Source
const (
	GLFWWindowFlagsNone             = GLFWWindowFlags(C.GLFWWindowNone)
	GLFWWindowFlagsResizable        = GLFWWindowFlags(C.GLFWWindowResizable)
	GLFWWindowFlagsMaximized        = GLFWWindowFlags(C.GLFWWindowMaximized)
	GLFWWindowFlagsDecorated        = GLFWWindowFlags(C.GLFWWindowDecorated)
	GLFWWindowFlagsTransparent      = GLFWWindowFlags(C.GLFWWindowTransparentFramebuffer)
	GLFWWindowFlagsVisible          = GLFWWindowFlags(C.GLFWWindowVisible)
	GLFWWindowFlagsFloating         = GLFWWindowFlags(C.GLFWWindowFloating)
	GLFWWindowFlagsFocused          = GLFWWindowFlags(C.GLFWWindowFocused)
	GLFWWindowFlagsIconified        = GLFWWindowFlags(C.GLFWWindowIconified)
	GLFWWindowFlagsAutoIconify      = GLFWWindowFlags(C.GLFWWindowAutoIconify)
	GLFWWindowFlagsMousePassthrough = GLFWWindowFlags(C.GLFWWindowMousePassthrough)
)

Window flags

View Source
const (
	GLFWSwapIntervalImmediate = GLFWWindowFlags(0)
	GLFWSwapIntervalVsync     = GLFWWindowFlags(1)
)

SwapInterval values

View Source
const (
	GLFWInputModeCursor         = GLFWWindowFlags(C.GLFW_CURSOR)
	GLFWInputModeCursorNormal   = GLFWWindowFlags(C.GLFW_CURSOR_NORMAL)
	GLFWInputModeCursorHidden   = GLFWWindowFlags(C.GLFW_CURSOR_HIDDEN)
	GLFWInputModeCursorDisabled = GLFWWindowFlags(C.GLFW_CURSOR_DISABLED)
	GLFWInputModeRawMouseMotion = GLFWWindowFlags(C.GLFW_RAW_MOUSE_MOTION)
)

Input modes

View Source
const (
	GLFWKeySpace        = GLFWKey(C.GLFWKeySpace)
	GLFWKeyApostrophe   = GLFWKey(C.GLFWKeyApostrophe)
	GLFWKeyComma        = GLFWKey(C.GLFWKeyComma)
	GLFWKeyMinus        = GLFWKey(C.GLFWKeyMinus)
	GLFWKeyPeriod       = GLFWKey(C.GLFWKeyPeriod)
	GLFWKeySlash        = GLFWKey(C.GLFWKeySlash)
	GLFWKey0            = GLFWKey(C.GLFWKey0)
	GLFWKey1            = GLFWKey(C.GLFWKey1)
	GLFWKey2            = GLFWKey(C.GLFWKey2)
	GLFWKey3            = GLFWKey(C.GLFWKey3)
	GLFWKey4            = GLFWKey(C.GLFWKey4)
	GLFWKey5            = GLFWKey(C.GLFWKey5)
	GLFWKey6            = GLFWKey(C.GLFWKey6)
	GLFWKey7            = GLFWKey(C.GLFWKey7)
	GLFWKey8            = GLFWKey(C.GLFWKey8)
	GLFWKey9            = GLFWKey(C.GLFWKey9)
	GLFWKeySemicolon    = GLFWKey(C.GLFWKeySemicolon)
	GLFWKeyEqual        = GLFWKey(C.GLFWKeyEqual)
	GLFWKeyA            = GLFWKey(C.GLFWKeyA)
	GLFWKeyB            = GLFWKey(C.GLFWKeyB)
	GLFWKeyC            = GLFWKey(C.GLFWKeyC)
	GLFWKeyD            = GLFWKey(C.GLFWKeyD)
	GLFWKeyE            = GLFWKey(C.GLFWKeyE)
	GLFWKeyF            = GLFWKey(C.GLFWKeyF)
	GLFWKeyG            = GLFWKey(C.GLFWKeyG)
	GLFWKeyH            = GLFWKey(C.GLFWKeyH)
	GLFWKeyI            = GLFWKey(C.GLFWKeyI)
	GLFWKeyJ            = GLFWKey(C.GLFWKeyJ)
	GLFWKeyK            = GLFWKey(C.GLFWKeyK)
	GLFWKeyL            = GLFWKey(C.GLFWKeyL)
	GLFWKeyM            = GLFWKey(C.GLFWKeyM)
	GLFWKeyN            = GLFWKey(C.GLFWKeyN)
	GLFWKeyO            = GLFWKey(C.GLFWKeyO)
	GLFWKeyP            = GLFWKey(C.GLFWKeyP)
	GLFWKeyQ            = GLFWKey(C.GLFWKeyQ)
	GLFWKeyR            = GLFWKey(C.GLFWKeyR)
	GLFWKeyS            = GLFWKey(C.GLFWKeyS)
	GLFWKeyT            = GLFWKey(C.GLFWKeyT)
	GLFWKeyU            = GLFWKey(C.GLFWKeyU)
	GLFWKeyV            = GLFWKey(C.GLFWKeyV)
	GLFWKeyW            = GLFWKey(C.GLFWKeyW)
	GLFWKeyX            = GLFWKey(C.GLFWKeyX)
	GLFWKeyY            = GLFWKey(C.GLFWKeyY)
	GLFWKeyZ            = GLFWKey(C.GLFWKeyZ)
	GLFWKeyLeftBracket  = GLFWKey(C.GLFWKeyLeftBracket)
	GLFWKeyBackslash    = GLFWKey(C.GLFWKeyBackslash)
	GLFWKeyRightBracket = GLFWKey(C.GLFWKeyRightBracket)
	GLFWKeyGraveAccent  = GLFWKey(C.GLFWKeyGraveAccent)
	GLFWKeyWorld1       = GLFWKey(C.GLFWKeyWorld1)
	GLFWKeyWorld2       = GLFWKey(C.GLFWKeyWorld2)

	/* Function keys */
	GLFWKeyEscape       = GLFWKey(C.GLFWKeyEscape)
	GLFWKeyEnter        = GLFWKey(C.GLFWKeyEnter)
	GLFWKeyTab          = GLFWKey(C.GLFWKeyTab)
	GLFWKeyBackspace    = GLFWKey(C.GLFWKeyBackspace)
	GLFWKeyInsert       = GLFWKey(C.GLFWKeyInsert)
	GLFWKeyDelete       = GLFWKey(C.GLFWKeyDelete)
	GLFWKeyRight        = GLFWKey(C.GLFWKeyRight)
	GLFWKeyLeft         = GLFWKey(C.GLFWKeyLeft)
	GLFWKeyDown         = GLFWKey(C.GLFWKeyDown)
	GLFWKeyUp           = GLFWKey(C.GLFWKeyUp)
	GLFWKeyPageUp       = GLFWKey(C.GLFWKeyPageUp)
	GLFWKeyPageDown     = GLFWKey(C.GLFWKeyPageDown)
	GLFWKeyHome         = GLFWKey(C.GLFWKeyHome)
	GLFWKeyEnd          = GLFWKey(C.GLFWKeyEnd)
	GLFWKeyCapsLock     = GLFWKey(C.GLFWKeyCapsLock)
	GLFWKeyScrollLock   = GLFWKey(C.GLFWKeyScrollLock)
	GLFWKeyNumLock      = GLFWKey(C.GLFWKeyNumLock)
	GLFWKeyPrintScreen  = GLFWKey(C.GLFWKeyPrintScreen)
	GLFWKeyPause        = GLFWKey(C.GLFWKeyPause)
	GLFWKeyF1           = GLFWKey(C.GLFWKeyF1)
	GLFWKeyF2           = GLFWKey(C.GLFWKeyF2)
	GLFWKeyF3           = GLFWKey(C.GLFWKeyF3)
	GLFWKeyF4           = GLFWKey(C.GLFWKeyF4)
	GLFWKeyF5           = GLFWKey(C.GLFWKeyF5)
	GLFWKeyF6           = GLFWKey(C.GLFWKeyF6)
	GLFWKeyF7           = GLFWKey(C.GLFWKeyF7)
	GLFWKeyF8           = GLFWKey(C.GLFWKeyF8)
	GLFWKeyF9           = GLFWKey(C.GLFWKeyF9)
	GLFWKeyF10          = GLFWKey(C.GLFWKeyF10)
	GLFWKeyF11          = GLFWKey(C.GLFWKeyF11)
	GLFWKeyF12          = GLFWKey(C.GLFWKeyF12)
	GLFWKeyF13          = GLFWKey(C.GLFWKeyF13)
	GLFWKeyF14          = GLFWKey(C.GLFWKeyF14)
	GLFWKeyF15          = GLFWKey(C.GLFWKeyF15)
	GLFWKeyF16          = GLFWKey(C.GLFWKeyF16)
	GLFWKeyF17          = GLFWKey(C.GLFWKeyF17)
	GLFWKeyF18          = GLFWKey(C.GLFWKeyF18)
	GLFWKeyF19          = GLFWKey(C.GLFWKeyF19)
	GLFWKeyF20          = GLFWKey(C.GLFWKeyF20)
	GLFWKeyF21          = GLFWKey(C.GLFWKeyF21)
	GLFWKeyF22          = GLFWKey(C.GLFWKeyF22)
	GLFWKeyF23          = GLFWKey(C.GLFWKeyF23)
	GLFWKeyF24          = GLFWKey(C.GLFWKeyF24)
	GLFWKeyF25          = GLFWKey(C.GLFWKeyF25)
	GLFWKeyKp0          = GLFWKey(C.GLFWKeyKp0)
	GLFWKeyKp1          = GLFWKey(C.GLFWKeyKp1)
	GLFWKeyKp2          = GLFWKey(C.GLFWKeyKp2)
	GLFWKeyKp3          = GLFWKey(C.GLFWKeyKp3)
	GLFWKeyKp4          = GLFWKey(C.GLFWKeyKp4)
	GLFWKeyKp5          = GLFWKey(C.GLFWKeyKp5)
	GLFWKeyKp6          = GLFWKey(C.GLFWKeyKp6)
	GLFWKeyKp7          = GLFWKey(C.GLFWKeyKp7)
	GLFWKeyKp8          = GLFWKey(C.GLFWKeyKp8)
	GLFWKeyKp9          = GLFWKey(C.GLFWKeyKp9)
	GLFWKeyKpDecimal    = GLFWKey(C.GLFWKeyKpDecimal)
	GLFWKeyKpDivide     = GLFWKey(C.GLFWKeyKpDivide)
	GLFWKeyKpMultiply   = GLFWKey(C.GLFWKeyKpMultiply)
	GLFWKeyKpSubtract   = GLFWKey(C.GLFWKeyKpSubtract)
	GLFWKeyKpAdd        = GLFWKey(C.GLFWKeyKpAdd)
	GLFWKeyKpEnter      = GLFWKey(C.GLFWKeyKpEnter)
	GLFWKeyKpEqual      = GLFWKey(C.GLFWKeyKpEqual)
	GLFWKeyLeftShift    = GLFWKey(C.GLFWKeyLeftShift)
	GLFWKeyLeftControl  = GLFWKey(C.GLFWKeyLeftControl)
	GLFWKeyLeftAlt      = GLFWKey(C.GLFWKeyLeftAlt)
	GLFWKeyLeftSuper    = GLFWKey(C.GLFWKeyLeftSuper)
	GLFWKeyRightShift   = GLFWKey(C.GLFWKeyRightShift)
	GLFWKeyRightControl = GLFWKey(C.GLFWKeyRightControl)
	GLFWKeyRightAlt     = GLFWKey(C.GLFWKeyRightAlt)
	GLFWKeyRightSuper   = GLFWKey(C.GLFWKeyRightSuper)
	GLFWKeyMenu         = GLFWKey(C.GLFWKeyMenu)
)
View Source
const (
	GLFWModShift    = GLFWModifierKey(C.GLFWModShift)
	GLFWModControl  = GLFWModifierKey(C.GLFWModControl)
	GLFWModAlt      = GLFWModifierKey(C.GLFWModAlt)
	GLFWModSuper    = GLFWModifierKey(C.GLFWModSuper)
	GLFWModCapsLock = GLFWModifierKey(C.GLFWModCapsLock)
	GLFWModNumLock  = GLFWModifierKey(C.GLFWModNumLock)
)

Variables

This section is empty.

Functions

func ForceX11 added in v1.5.0

func ForceX11()

ForceX11 is here, because some imgui features are not available on wayland. Call this BEFORE creating glfw backend!

Types

type GLFWBackend

type GLFWBackend struct {
	// contains filtered or unexported fields
}

func NewGLFWBackend

func NewGLFWBackend() *GLFWBackend

func (*GLFWBackend) AfterCreateHook

func (b *GLFWBackend) AfterCreateHook() func()

func (*GLFWBackend) AfterRenderHook

func (b *GLFWBackend) AfterRenderHook() func()

func (*GLFWBackend) BeforeDestroyHook

func (b *GLFWBackend) BeforeDestroyHook() func()

func (*GLFWBackend) BeforeRenderHook

func (b *GLFWBackend) BeforeRenderHook() func()

func (*GLFWBackend) CloseCallback

func (b *GLFWBackend) CloseCallback() func(wnd unsafe.Pointer)

func (*GLFWBackend) ContentScale

func (b *GLFWBackend) ContentScale() (width, height float32)

func (*GLFWBackend) CreateTexture

func (b *GLFWBackend) CreateTexture(pixels unsafe.Pointer, width, height int) imgui.TextureRef

func (*GLFWBackend) CreateTextureRgba

func (b *GLFWBackend) CreateTextureRgba(img *image.RGBA, width, height int) imgui.TextureRef

func (*GLFWBackend) CreateWindow

func (b *GLFWBackend) CreateWindow(title string, width, height int)

func (*GLFWBackend) DeleteTexture

func (b *GLFWBackend) DeleteTexture(id imgui.TextureRef)

func (*GLFWBackend) DisplaySize

func (b *GLFWBackend) DisplaySize() (width int32, height int32)

func (*GLFWBackend) DropCallback

func (b *GLFWBackend) DropCallback() backend.DropCallback

func (*GLFWBackend) GetWindowPos

func (b *GLFWBackend) GetWindowPos() (x, y int32)

func (*GLFWBackend) KeyCallback

func (b *GLFWBackend) KeyCallback() backend.KeyCallback

func (*GLFWBackend) LoopFunc

func (b *GLFWBackend) LoopFunc() func()

func (*GLFWBackend) Refresh

func (b *GLFWBackend) Refresh()

func (*GLFWBackend) Run

func (b *GLFWBackend) Run(loop func())

func (*GLFWBackend) SetAfterCreateContextHook

func (b *GLFWBackend) SetAfterCreateContextHook(hook func())

func (*GLFWBackend) SetAfterRenderHook

func (b *GLFWBackend) SetAfterRenderHook(hook func())

func (*GLFWBackend) SetBeforeDestroyContextHook

func (b *GLFWBackend) SetBeforeDestroyContextHook(hook func())

func (*GLFWBackend) SetBeforeRenderHook

func (b *GLFWBackend) SetBeforeRenderHook(hook func())

func (*GLFWBackend) SetBgColor

func (b *GLFWBackend) SetBgColor(color imgui.Vec4)

func (*GLFWBackend) SetCloseCallback

func (b *GLFWBackend) SetCloseCallback(cbfun backend.WindowCloseCallback)

func (*GLFWBackend) SetCursorPos

func (b *GLFWBackend) SetCursorPos(x, y float64)

func (*GLFWBackend) SetDropCallback

func (b *GLFWBackend) SetDropCallback(cbfun backend.DropCallback)

SetDropCallback sets the drop callback which is called when an object is dropped over the window.

func (*GLFWBackend) SetIcons

func (b *GLFWBackend) SetIcons(images ...image.Image)

SetIcons sets icons for the window. THIS CODE COMES FROM https://github.com/go-gl/glfw (BSD-3 clause) - Copyright (c) 2012 The glfw3-go Authors. All rights reserved.

func (*GLFWBackend) SetInputMode

func (b *GLFWBackend) SetInputMode(mode GLFWWindowFlags, value GLFWWindowFlags)

func (*GLFWBackend) SetKeyCallback

func (b *GLFWBackend) SetKeyCallback(cbfun backend.KeyCallback)

func (*GLFWBackend) SetShouldClose

func (b *GLFWBackend) SetShouldClose(value bool)

func (*GLFWBackend) SetSizeChangeCallback

func (b *GLFWBackend) SetSizeChangeCallback(cbfun backend.SizeChangeCallback)

func (*GLFWBackend) SetSwapInterval

func (b *GLFWBackend) SetSwapInterval(interval GLFWWindowFlags) error

func (*GLFWBackend) SetTargetFPS

func (b *GLFWBackend) SetTargetFPS(fps uint)

func (*GLFWBackend) SetWindowFlags

func (b *GLFWBackend) SetWindowFlags(flag GLFWWindowFlags, value int)

SetWindowHint applies to next CreateWindow call so use it before CreateWindow call ;-)

func (*GLFWBackend) SetWindowPos

func (b *GLFWBackend) SetWindowPos(x, y int)

func (*GLFWBackend) SetWindowSize

func (b *GLFWBackend) SetWindowSize(width, height int)

func (*GLFWBackend) SetWindowSizeLimits

func (b *GLFWBackend) SetWindowSizeLimits(minWidth, minHeight, maxWidth, maxHeight int)

The minimum and maximum size of the content area of a windowed mode window. To specify only a minimum size or only a maximum one, set the other pair to -1 e.g. SetWindowSizeLimits(640, 480, -1, -1)

func (*GLFWBackend) SetWindowTitle

func (b *GLFWBackend) SetWindowTitle(title string)

func (*GLFWBackend) SizeCallback

func (b *GLFWBackend) SizeCallback() backend.SizeChangeCallback

type GLFWKey

type GLFWKey int

type GLFWModifierKey

type GLFWModifierKey int

type GLFWWindowFlags

type GLFWWindowFlags int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL