drmeglbackend

package
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package drmeglbackend provides a Dear ImGui backend for Linux DRM/KMS + EGL.

It is intended for embedded or kiosk-like environments where rendering happens directly on a TTY without X11 or Wayland. Unlike the GLFW/SDL backends, this backend does not expose a real desktop window, so several window-management methods are implemented as compatibility no-ops.

Index

Constants

View Source
const (
	DRMEGLSwapIntervalImmediate = DRMEGLWindowFlags(0)
	DRMEGLSwapIntervalVsync     = DRMEGLWindowFlags(1)
)

Variables

View Source
var (
	ErrContextNotCreated        = errors.New("drmeglbackend: context not created")
	ErrImmediateSwapUnsupported = errors.New("drmeglbackend: immediate swap interval is not supported by go-drm-egl")
)

Functions

This section is empty.

Types

type DRMEGLBackend

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

func NewDRMEGLBackend

func NewDRMEGLBackend() *DRMEGLBackend

func (*DRMEGLBackend) AfterCreateHook

func (b *DRMEGLBackend) AfterCreateHook() func()

func (*DRMEGLBackend) AfterRenderHook

func (b *DRMEGLBackend) AfterRenderHook() func()

func (*DRMEGLBackend) BeforeDestroyHook

func (b *DRMEGLBackend) BeforeDestroyHook() func()

func (*DRMEGLBackend) BeforeRenderHook

func (b *DRMEGLBackend) BeforeRenderHook() func()

func (*DRMEGLBackend) CloseCallback

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

func (*DRMEGLBackend) ContentScale

func (b *DRMEGLBackend) ContentScale() (xScale, yScale float32)

func (*DRMEGLBackend) CreateTexture

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

func (*DRMEGLBackend) CreateTextureRgba

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

func (*DRMEGLBackend) CreateWindow

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

func (*DRMEGLBackend) DeleteTexture

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

func (*DRMEGLBackend) DisplaySize

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

func (*DRMEGLBackend) DropCallback

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

func (*DRMEGLBackend) GetWindowPos

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

func (*DRMEGLBackend) KeyCallback

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

func (*DRMEGLBackend) LoopFunc

func (b *DRMEGLBackend) LoopFunc() func()

func (*DRMEGLBackend) Refresh

func (b *DRMEGLBackend) Refresh()

func (*DRMEGLBackend) Run

func (b *DRMEGLBackend) Run(loop func())

func (*DRMEGLBackend) SetAfterCreateContextHook

func (b *DRMEGLBackend) SetAfterCreateContextHook(hook func())

func (*DRMEGLBackend) SetAfterRenderHook

func (b *DRMEGLBackend) SetAfterRenderHook(hook func())

func (*DRMEGLBackend) SetBeforeDestroyContextHook

func (b *DRMEGLBackend) SetBeforeDestroyContextHook(hook func())

func (*DRMEGLBackend) SetBeforeRenderHook

func (b *DRMEGLBackend) SetBeforeRenderHook(hook func())

func (*DRMEGLBackend) SetBgColor

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

func (*DRMEGLBackend) SetCloseCallback

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

func (*DRMEGLBackend) SetCursorPos

func (b *DRMEGLBackend) SetCursorPos(_, _ float64)

func (*DRMEGLBackend) SetDropCallback

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

func (*DRMEGLBackend) SetIcons

func (b *DRMEGLBackend) SetIcons(...image.Image)

func (*DRMEGLBackend) SetInputMode

func (b *DRMEGLBackend) SetInputMode(_, _ DRMEGLWindowFlags)

func (*DRMEGLBackend) SetKeyCallback

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

func (*DRMEGLBackend) SetShouldClose

func (b *DRMEGLBackend) SetShouldClose(value bool)

func (*DRMEGLBackend) SetSizeChangeCallback

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

func (*DRMEGLBackend) SetSwapInterval

func (b *DRMEGLBackend) SetSwapInterval(interval DRMEGLWindowFlags) error

func (*DRMEGLBackend) SetTargetFPS

func (b *DRMEGLBackend) SetTargetFPS(fps uint)

func (*DRMEGLBackend) SetWindowFlags

func (b *DRMEGLBackend) SetWindowFlags(flag DRMEGLWindowFlags, value int)

func (*DRMEGLBackend) SetWindowPos

func (b *DRMEGLBackend) SetWindowPos(_, _ int)

func (*DRMEGLBackend) SetWindowSize

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

func (*DRMEGLBackend) SetWindowSizeLimits

func (b *DRMEGLBackend) SetWindowSizeLimits(_, _, _, _ int)

func (*DRMEGLBackend) SetWindowTitle

func (b *DRMEGLBackend) SetWindowTitle(title string)

func (*DRMEGLBackend) SizeCallback

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

type DRMEGLWindowFlags

type DRMEGLWindowFlags int
const (
	DRMEGLWindowFlagsNone      DRMEGLWindowFlags = 0
	DRMEGLWindowFlagsOffscreen DRMEGLWindowFlags = 1 << iota
)

Jump to

Keyboard shortcuts

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