Documentation ¶
Overview ¶
Package gfx is a 2D/3D graphics library powered by OpenGL. Easily render shapes, text, and UI controls, including a performant line graph designed for real-time signal analysis.
Index ¶
- Constants
- Variables
- func Close()
- func CloseWindowAsync(window GlfwWindow)
- func Darken(rgba color.RGBA, pct float64) color.RGBA
- func ExportSignalDataToCsv(line *SignalLine, filenameTemplate ...string) error
- func ExportSignalGroupDataToCsv(group *SignalGroup, filenameTemplate ...string) error
- func FloatArrayToRgba(array [4]float32) color.RGBA
- func Init() error
- func InitWindowAsync(window GlfwWindow)
- func Lighten(rgba color.RGBA, pct float64) color.RGBA
- func Opacity(rgba color.RGBA, pct float64) color.RGBA
- func RgbaToFloatArray(rgba color.RGBA) [4]float32
- func Run(ctx context.Context, cancelFunc context.CancelFunc)
- func SetTargetFramerate(framesPerSec uint32)
- func SetVSyncEnabled(enabled bool)
- func TargetFramerate() (framesPerSec uint32)
- func VSyncEnabled() (enabled bool)
- type Anchor
- type Asset
- type AssetBase
- func (a *AssetBase) Close()
- func (a *AssetBase) Init() bool
- func (a *AssetBase) Initialized() bool
- func (a *AssetBase) Name() string
- func (a *AssetBase) Protected() bool
- func (a *AssetBase) SetProtected(protected bool) Asset
- func (a *AssetBase) SetSourceLibrary(library *AssetLibrary) Asset
- func (a *AssetBase) Source() any
- func (a *AssetBase) SourceLibrary() *AssetLibrary
- type AssetLibrary
- func (l *AssetLibrary) Add(asset Asset) *AssetLibrary
- func (l *AssetLibrary) AddEmbeddedFile(name string, fs embed.FS) *AssetLibrary
- func (l *AssetLibrary) AddEmbeddedFiles(fs embed.FS) *AssetLibrary
- func (l *AssetLibrary) Close()
- func (l *AssetLibrary) Dispose(name string) *AssetLibrary
- func (l *AssetLibrary) DisposeAll() *AssetLibrary
- func (l *AssetLibrary) Get(name string) Asset
- func (l *AssetLibrary) GetFileReader(name string) (reader *bufio.Reader, closeFunc func())
- func (l *AssetLibrary) Init() bool
- func (l *AssetLibrary) Remove(name string) *AssetLibrary
- func (l *AssetLibrary) RemoveAll() *AssetLibrary
- func (l *AssetLibrary) Update(_ int64) bool
- type BandPassFilter
- type BasicBrush
- func (b *BasicBrush) BrushHead() (brushHead BrushHeadType)
- func (b *BasicBrush) Canvas() (canvas *Canvas)
- func (b *BasicBrush) OverrideUpdateCanvas(updateFunc func(ms *MouseState))
- func (b *BasicBrush) SetBrushHead(brushHead BrushHeadType) *BasicBrush
- func (b *BasicBrush) SetCanvas(canvas *Canvas) Brush
- func (b *BasicBrush) SetSize(size float32) *BasicBrush
- func (b *BasicBrush) Size() (size float32)
- func (b *BasicBrush) Undo()
- func (b *BasicBrush) Update(deltaTime int64) (ok bool)
- type BasicCamera
- func (c *BasicCamera) Location() (loc mgl32.Vec4)
- func (c *BasicCamera) Projection() (proj mgl32.Mat4)
- func (c *BasicCamera) Resize(_, _, newWidth, newHeight int32)
- func (c *BasicCamera) SetProjection(verticalFoV, aspectRatio, near, far float32) mgl32.Mat4
- func (c *BasicCamera) Update(_ int64) (ok bool)
- func (c *BasicCamera) View() (view mgl32.Mat4)
- func (c *BasicCamera) ViewProjection() (viewProj mgl32.Mat4)
- type BasicCameraProperties
- type BasicShader
- type BinaryAsset
- type BoundingBox
- type BoundingObject
- type BoundingObjectBase
- func (o *BoundingObjectBase) Init() bool
- func (o *BoundingObjectBase) LocalMouse() *MouseState
- func (o *BoundingObjectBase) MouseOver() bool
- func (o *BoundingObjectBase) MouseSurface() MouseSurface
- func (o *BoundingObjectBase) OnMouseEnter(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnMouseLeave(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnPMouseClick(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnPMouseDepressed(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnPMouseDown(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnPMouseUp(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnSMouseClick(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnSMouseDepressed(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnSMouseDown(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) OnSMouseUp(handler func(sender WindowObject, mouseState *MouseState))
- func (o *BoundingObjectBase) SetMouseSurface(surface MouseSurface)
- type BoundingRadius
- type Bounds
- type Brush
- type BrushHeadType
- type Button
- func (b *Button) Close()
- func (b *Button) Draw(deltaTime int64) (ok bool)
- func (b *Button) Init() (ok bool)
- func (b *Button) Label() *Label
- func (b *Button) OnClick(handler func(sender WindowObject, mouseState *MouseState)) *Button
- func (b *Button) OnDepressed(handler func(sender WindowObject, mouseState *MouseState)) *Button
- func (b *Button) Resize(newWidth, newHeight int)
- func (b *Button) SetDisabledBorderColor(rgba color.RGBA) *Button
- func (b *Button) SetDisabledFillColor(rgba color.RGBA) *Button
- func (b *Button) SetDisabledTextColor(rgba color.RGBA) *Button
- func (b *Button) SetEnabled(enabled bool) Object
- func (b *Button) SetFontSize(size float32) *Button
- func (b *Button) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (b *Button) SetMouseDownBorderColor(rgba color.RGBA) *Button
- func (b *Button) SetMouseDownFillColor(rgba color.RGBA) *Button
- func (b *Button) SetMouseDownTextColor(rgba color.RGBA) *Button
- func (b *Button) SetMouseEnterBorderColor(rgba color.RGBA) *Button
- func (b *Button) SetMouseEnterFillColor(rgba color.RGBA) *Button
- func (b *Button) SetMouseEnterTextColor(rgba color.RGBA) *Button
- func (b *Button) SetMouseSurface(surface MouseSurface)
- func (b *Button) SetParent(parent WindowObject, recursive ...bool) WindowObject
- func (b *Button) SetText(text string) *Button
- func (b *Button) SetTextColor(rgba color.RGBA) *Button
- func (b *Button) SetWindow(window *Window) WindowObject
- func (b *Button) Text() string
- func (b *Button) Update(deltaTime int64) (ok bool)
- type Camera
- type CameraBase
- type Canvas
- func (c *Canvas) Clear()
- func (c *Canvas) Close()
- func (c *Canvas) Draw(deltaTime int64) (ok bool)
- func (c *Canvas) Export(toDirectory ...string)
- func (c *Canvas) Init() (ok bool)
- func (c *Canvas) Mouse() *MouseState
- func (c *Canvas) Resize(newWidth, newHeight int)
- func (c *Canvas) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (c *Canvas) SetParent(parent WindowObject, recursive ...bool) WindowObject
- func (c *Canvas) SetWindow(window *Window) WindowObject
- func (c *Canvas) Surface() Texture
- func (c *Canvas) Update(deltaTime int64) (ok bool)
- func (c *Canvas) UpdateSurface(surface Texture)
- type CheckButton
- func (b *CheckButton) CheckShape() *Shape2D
- func (b *CheckButton) Checked() bool
- func (b *CheckButton) Close()
- func (b *CheckButton) Draw(deltaTime int64) (ok bool)
- func (b *CheckButton) Init() (ok bool)
- func (b *CheckButton) OnCheckedChanged(handler func(sender WindowObject, checked bool)) *CheckButton
- func (b *CheckButton) OnClick(handler func(sender WindowObject, mouseState *MouseState)) *CheckButton
- func (b *CheckButton) Resize(newWidth, newHeight int)
- func (b *CheckButton) SetChecked(checked bool)
- func (b *CheckButton) SetColor(rgba color.RGBA) WindowObject
- func (b *CheckButton) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (b *CheckButton) SetMouseDownColor(rgba color.RGBA) *CheckButton
- func (b *CheckButton) SetMouseEnterColor(rgba color.RGBA) *CheckButton
- func (b *CheckButton) SetWindow(window *Window) WindowObject
- func (b *CheckButton) Update(deltaTime int64) (ok bool)
- type Closer
- type DirectionalLight
- type DrawableObject
- type DrawableObjectBase
- type Face
- type FaceBase
- type FastFourierTransformer
- type Filter
- type FilterBase
- func (f *FilterBase) Apply(index int, input []float64) (output float64)
- func (f *FilterBase) CoefficientCount() int
- func (f *FilterBase) CutoffFrequencies() []float64
- func (f *FilterBase) Enabled() bool
- func (f *FilterBase) GenerateCoefficients(int, float64, ...float64) []float64
- func (f *FilterBase) Name() string
- func (f *FilterBase) SampleRate() float64
- func (f *FilterBase) SetEnabled(enabled bool)
- func (f *FilterBase) SetName(name string)
- type Font
- type FontSource
- type FpsCounter
- func (c *FpsCounter) Draw(deltaTime int64) bool
- func (c *FpsCounter) Init() (ok bool)
- func (c *FpsCounter) Label() *Label
- func (c *FpsCounter) Resize(newWidth, newHeight int)
- func (c *FpsCounter) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (c *FpsCounter) SetUpdateInterval(milliseconds int) *FpsCounter
- func (c *FpsCounter) SetWindow(window *Window) WindowObject
- func (c *FpsCounter) Update(deltaTime int64) (ok bool)
- type GlAsset
- type GlfwWindow
- type HighPassFilter
- type Initer
- type KeyEvent
- type KeyEventHandler
- type Label
- func (l *Label) Alignment() TextAlignment
- func (l *Label) CacheEnabled() bool
- func (l *Label) Close()
- func (l *Label) Draw(deltaTime int64) (ok bool)
- func (l *Label) Font() Font
- func (l *Label) Init() (ok bool)
- func (l *Label) RefreshLayout()
- func (l *Label) Resize(newWidth, newHeight int)
- func (l *Label) SetAlignment(alignment TextAlignment) *Label
- func (l *Label) SetCacheEnabled(enabled bool) *Label
- func (l *Label) SetColor(rgba color.RGBA) WindowObject
- func (l *Label) SetFillColor(rgba color.RGBA) *Label
- func (l *Label) SetFont(ttfFont Font) *Label
- func (l *Label) SetFontSize(size float32) *Label
- func (l *Label) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (l *Label) SetPaddingBottom(padding float32) *Label
- func (l *Label) SetPaddingLeft(padding float32) *Label
- func (l *Label) SetPaddingRight(padding float32) *Label
- func (l *Label) SetPaddingTop(padding float32) *Label
- func (l *Label) SetParent(parent WindowObject, recursive ...bool) WindowObject
- func (l *Label) SetText(text string) *Label
- func (l *Label) SetWindow(window *Window) WindowObject
- func (l *Label) Text() string
- func (l *Label) Update(deltaTime int64) (ok bool)
- type Light
- type LightBase
- type LowPassFilter
- type Margin
- type Material
- type MaterialBase
- type MaterialLibrarySource
- type Mesh
- type MeshBase
- type Model
- type ModelBase
- type ModelSource
- type MouseState
- type MouseSurface
- type NavKeys
- type Object
- type ObjectBase
- func (o *ObjectBase) Close()
- func (o *ObjectBase) Enabled() bool
- func (o *ObjectBase) Init() (ok bool)
- func (o *ObjectBase) Initialized() bool
- func (o *ObjectBase) Name() string
- func (o *ObjectBase) SetEnabled(enabled bool) Object
- func (o *ObjectBase) SetName(name string) Object
- func (o *ObjectBase) SetTag(value any) Object
- func (o *ObjectBase) Tag() any
- func (o *ObjectBase) Update(_ int64) (ok bool)
- type ObjectTransform
- func (t *ObjectTransform) Origin() mgl32.Vec3
- func (t *ObjectTransform) ParentTransform() Transform
- func (t *ObjectTransform) Position() mgl32.Vec3
- func (t *ObjectTransform) Rotation() mgl32.Vec3
- func (t *ObjectTransform) RotationQuat() mgl32.Quat
- func (t *ObjectTransform) Scale() mgl32.Vec3
- func (t *ObjectTransform) SetOrigin(origin mgl32.Vec3) Transform
- func (t *ObjectTransform) SetParentTransform(parent Transform) Transform
- func (t *ObjectTransform) SetPosition(position mgl32.Vec3) Transform
- func (t *ObjectTransform) SetPositionX(x float32) Transform
- func (t *ObjectTransform) SetPositionY(y float32) Transform
- func (t *ObjectTransform) SetPositionZ(z float32) Transform
- func (t *ObjectTransform) SetRotation(rotation mgl32.Vec3) Transform
- func (t *ObjectTransform) SetRotationQuat(rotation mgl32.Quat) Transform
- func (t *ObjectTransform) SetRotationX(x float32) Transform
- func (t *ObjectTransform) SetRotationY(y float32) Transform
- func (t *ObjectTransform) SetRotationZ(z float32) Transform
- func (t *ObjectTransform) SetScale(scale mgl32.Vec3) Transform
- func (t *ObjectTransform) SetScaleX(x float32) Transform
- func (t *ObjectTransform) SetScaleY(y float32) Transform
- func (t *ObjectTransform) SetScaleZ(z float32) Transform
- func (t *ObjectTransform) WorldMatrix() mgl32.Mat4
- func (t *ObjectTransform) WorldOrigin() mgl32.Vec3
- func (t *ObjectTransform) WorldPosition() mgl32.Vec3
- func (t *ObjectTransform) WorldRotation() mgl32.Vec3
- func (t *ObjectTransform) WorldScale() mgl32.Vec3
- type Orientation
- type QuadDirectionalLighting
- type QualityLevel
- type Resizer
- type Service
- type ServiceBase
- type Shader
- type ShaderBase
- type ShaderBinder
- type ShaderBinding
- type ShaderSource
- type ShaderTransform
- type Shape2D
- func (s *Shape2D) Close()
- func (s *Shape2D) Draw(deltaTime int64) (ok bool)
- func (s *Shape2D) FlipUV(flipped bool) *Shape2D
- func (s *Shape2D) Init() (ok bool)
- func (s *Shape2D) Length() float32
- func (s *Shape2D) Resize(newWidth, newHeight int)
- func (s *Shape2D) SetLength(length float32) *Shape2D
- func (s *Shape2D) SetSides(sides uint) *Shape2D
- func (s *Shape2D) SetTexture(texture Texture) *Shape2D
- func (s *Shape2D) SetThickness(thickness float32) *Shape2D
- func (s *Shape2D) SetViewport(viewport *Viewport) *Shape2D
- func (s *Shape2D) Sides() uint
- func (s *Shape2D) Texture() (texture Texture)
- func (s *Shape2D) Thickness() float32
- func (s *Shape2D) Update(deltaTime int64) (ok bool)
- func (s *Shape2D) Viewport() *Viewport
- type Shape3D
- func (s *Shape3D) Camera() Camera
- func (s *Shape3D) Close()
- func (s *Shape3D) Draw(deltaTime int64) (ok bool)
- func (s *Shape3D) Init() (ok bool)
- func (s *Shape3D) Lighting() any
- func (s *Shape3D) Meshes() []*meshInstance
- func (s *Shape3D) Resize(newWidth, newHeight int)
- func (s *Shape3D) SetCamera(camera Camera) *Shape3D
- func (s *Shape3D) SetLighting(lighting any) *Shape3D
- func (s *Shape3D) SetModel(model Model) *Shape3D
- func (s *Shape3D) SetViewport(viewport *Viewport) *Shape3D
- func (s *Shape3D) Viewport() *Viewport
- type Signal
- func (s *Signal) AddFilter(filter Filter)
- func (s *Signal) AddSamples(data []float64)
- func (s *Signal) AddTransformer(transformer Transformer)
- func (s *Signal) Average() float64
- func (s *Signal) BufferSize() int
- func (s *Signal) Data() []float64
- func (s *Signal) DeltaAverage() float64
- func (s *Signal) DeltaStdDev(calculateDeltas bool) float64
- func (s *Signal) DisableFFT()
- func (s *Signal) EnableFFT(sampleRate float64)
- func (s *Signal) FFTEnabled() bool
- func (s *Signal) FilteredData() []float64
- func (s *Signal) GetFilter(name string) Filter
- func (s *Signal) GetTransformer(name string) Transformer
- func (s *Signal) Label() string
- func (s *Signal) Lock()
- func (s *Signal) MaxValue() float64
- func (s *Signal) MinValue() float64
- func (s *Signal) SetFFTSampleRate(rate float64)
- func (s *Signal) StdDev() float64
- func (s *Signal) TransformedData() []float64
- func (s *Signal) TransformedDataLabels() []float64
- func (s *Signal) Unlock()
- type SignalControl
- type SignalGroup
- func (g *SignalGroup) Add(signal *SignalLine) *SignalLine
- func (g *SignalGroup) Close()
- func (g *SignalGroup) Draw(deltaTime int64) (ok bool)
- func (g *SignalGroup) EnableDataExportKey(key glfw.Key) *SignalGroup
- func (g *SignalGroup) EnableInspector(inspectKey ...glfw.Key)
- func (g *SignalGroup) Init() (ok bool)
- func (g *SignalGroup) InspectorPanel() *View
- func (g *SignalGroup) New(label string) *SignalLine
- func (g *SignalGroup) Remove(signal *SignalLine) *SignalLine
- func (g *SignalGroup) RemoveAt(index int)
- func (g *SignalGroup) Resize(newWidth, newHeight int)
- func (g *SignalGroup) SetEnabled(enabled bool) Object
- func (g *SignalGroup) SetInspectorAnchor(anchor Anchor)
- func (g *SignalGroup) SetInspectorFontSize(size float32) *SignalGroup
- func (g *SignalGroup) SetInspectorMargin(margin Margin) *SignalGroup
- func (g *SignalGroup) SetInspectorPanelSize(size float32) *SignalGroup
- func (g *SignalGroup) SetWindow(window *Window) WindowObject
- func (g *SignalGroup) Signals() []*SignalLine
- func (g *SignalGroup) Update(deltaTime int64) (ok bool)
- type SignalInspector
- func (i *SignalInspector) Close()
- func (i *SignalInspector) Draw(deltaTime int64) (ok bool)
- func (i *SignalInspector) Init() (ok bool)
- func (i *SignalInspector) Panel() *View
- func (i *SignalInspector) Resize(newWidth, newHeight int)
- func (i *SignalInspector) SetFontSize(size float32) *SignalInspector
- func (i *SignalInspector) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (i *SignalInspector) SetPanelSize(size float32) *SignalInspector
- func (i *SignalInspector) SetWindow(window *Window) WindowObject
- func (i *SignalInspector) Update(deltaTime int64) (ok bool)
- type SignalLine
- func (l *SignalLine) AddSamples(data []float64)
- func (l *SignalLine) Close()
- func (l *SignalLine) Draw(deltaTime int64) (ok bool)
- func (l *SignalLine) EnableDataExportKey(key glfw.Key) *SignalLine
- func (l *SignalLine) EnableInspector(inspectKey ...glfw.Key)
- func (l *SignalLine) Init() (ok bool)
- func (l *SignalLine) InspectorPanel() *View
- func (l *SignalLine) Label() *Label
- func (l *SignalLine) Resize(newWidth, newHeight int)
- func (l *SignalLine) SetColor(rgba color.RGBA) WindowObject
- func (l *SignalLine) SetInspectorAnchor(anchor Anchor)
- func (l *SignalLine) SetInspectorFontSize(size float32) *SignalLine
- func (l *SignalLine) SetInspectorMargin(margin Margin) *SignalLine
- func (l *SignalLine) SetInspectorPanelSize(size float32) *SignalLine
- func (l *SignalLine) SetThickness(thickness uint) *SignalLine
- func (l *SignalLine) SetWindow(window *Window) WindowObject
- func (l *SignalLine) Thickness() uint
- func (l *SignalLine) Update(deltaTime int64) (ok bool)
- type Slider
- func (s *Slider) Button() *Button
- func (s *Slider) Close()
- func (s *Slider) Draw(deltaTime int64) (ok bool)
- func (s *Slider) Init() (ok bool)
- func (s *Slider) OnValueChanged(handler func(sender WindowObject, value float32)) *Slider
- func (s *Slider) OnValueChanging(handler func(sender WindowObject, value float32)) *Slider
- func (s *Slider) Rail() *Shape2D
- func (s *Slider) Resize(newWidth, newHeight int)
- func (s *Slider) SetMouseSurface(surface MouseSurface)
- func (s *Slider) SetValue(value float32)
- func (s *Slider) SetWindow(window *Window) WindowObject
- func (s *Slider) Update(deltaTime int64) (ok bool)
- func (s *Slider) Value() float32
- type TabAction
- type TabGroup
- func (g *TabGroup) Activate(index int)
- func (g *TabGroup) ActiveIndex() int
- func (g *TabGroup) Close()
- func (g *TabGroup) Draw(deltaTime int64) (ok bool)
- func (g *TabGroup) IndexOf(name string) int
- func (g *TabGroup) Init() (ok bool)
- func (g *TabGroup) NavKeys() NavKeys
- func (g *TabGroup) Next()
- func (g *TabGroup) Previous()
- func (g *TabGroup) RecursiveMode() (recursive bool)
- func (g *TabGroup) Resize(newWidth, newHeight int)
- func (g *TabGroup) SetNavKeys(keys NavKeys) *TabGroup
- func (g *TabGroup) SetRecursiveMode(recursive bool) *TabGroup
- func (g *TabGroup) SetTabAction(action TabAction) *TabGroup
- func (g *TabGroup) TabAction() TabAction
- func (g *TabGroup) Transition(index int, speed ...float64)
- func (g *TabGroup) TransitionNext(speed ...float64)
- func (g *TabGroup) TransitionPrevious(speed ...float64)
- type TextAlignment
- type Texture
- type Texture2D
- type TextureConfig
- type TextureSource
- type TextureWrapMode
- type Transform
- type Transformer
- type TransformerBase
- type TrueTypeFont
- type VertexAttributeLayout
- type View
- func (v *View) BlurEnabled() bool
- func (v *View) BlurIntensity() float32
- func (v *View) BorderColor() color.RGBA
- func (v *View) BorderThickness() float32
- func (v *View) Close()
- func (v *View) Draw(deltaTime int64) (ok bool)
- func (v *View) FillColor() color.RGBA
- func (v *View) Init() (ok bool)
- func (v *View) Resize(newWidth, newHeight int)
- func (v *View) SetBlurEnabled(enabled bool) WindowObject
- func (v *View) SetBlurIntensity(intensity float32) WindowObject
- func (v *View) SetBorderColor(rgba color.RGBA) *View
- func (v *View) SetBorderThickness(thickness float32) *View
- func (v *View) SetColor(rgba color.RGBA) WindowObject
- func (v *View) SetFillColor(rgba color.RGBA) *View
- func (v *View) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (v *View) SetParent(parent WindowObject, recursive ...bool) WindowObject
- func (v *View) SetTexture(texture *Texture2D) *View
- func (v *View) SetWindow(window *Window) WindowObject
- func (v *View) Update(deltaTime int64) (ok bool)
- type Viewport
- type Window
- func (w *Window) AddKeyEventHandler(receiver any, key glfw.Key, action glfw.Action, ...) *KeyEventHandler
- func (w *Window) AddObject(object any, waitForInit ...bool)
- func (w *Window) AddObjects(objects ...any)
- func (w *Window) AddService(service Service)
- func (w *Window) AspectRatio() (ratio float32)
- func (w *Window) AspectRatio2D() (ratio2d mgl32.Vec2)
- func (w *Window) AspectRatio2DInv() (invRatio2d mgl32.Vec2)
- func (w *Window) AspectRatioInv() (invRatio float32)
- func (w *Window) Assets() (lib *AssetLibrary)
- func (w *Window) Borderless() (borderless bool)
- func (w *Window) ClearColor() (rgba color.RGBA)
- func (w *Window) ClearLabelCache()
- func (w *Window) Close()
- func (w *Window) CloseObject(object Closer)
- func (w *Window) CloseObjectAsync(object Closer)
- func (w *Window) DisableOnBlur(disableOnBlur bool) *Window
- func (w *Window) DisposeAllObjects()
- func (w *Window) DisposeAllObjectsAsync()
- func (w *Window) DisposeAllServices(ignoreProtection bool)
- func (w *Window) DisposeAllServicesAsync(ignoreProtection bool)
- func (w *Window) DisposeObject(name string)
- func (w *Window) DisposeObjectAsync(name string)
- func (w *Window) DisposeService(service Service)
- func (w *Window) DisposeServiceAsync(service Service)
- func (w *Window) EnableFullscreenKey() *Window
- func (w *Window) EnableMouseTracking() *Window
- func (w *Window) EnableQuitKey(cancelFuncs ...context.CancelFunc) *Window
- func (w *Window) GLFW() (glwin *glfw.Window)
- func (w *Window) GetObject(name string) Object
- func (w *Window) GetService(name string) Service
- func (w *Window) HasFocus() (focused bool)
- func (w *Window) Height() (height int)
- func (w *Window) Hide()
- func (w *Window) Init(glwin *glfw.Window, ctx context.Context)
- func (w *Window) InitObject(object Initer) (ok bool)
- func (w *Window) InitObjectAsync(object Initer)
- func (w *Window) InitService(service Service) (ok bool)
- func (w *Window) InitServiceAsync(service Service)
- func (w *Window) Initialized() bool
- func (w *Window) IsFullscreen() bool
- func (w *Window) IsSecondary() (secondary bool)
- func (w *Window) Maximize()
- func (w *Window) Minimize()
- func (w *Window) Mouse() *MouseState
- func (w *Window) MultiSamplingEnabled() (enabled bool)
- func (w *Window) Opacity() (alpha uint8)
- func (w *Window) OverrideMouseState(state *MouseState)
- func (w *Window) Position() (x, y int)
- func (w *Window) ReadyChan() <-chan bool
- func (w *Window) RemoveAllObjects()
- func (w *Window) RemoveKeyEventHandlers(receiver any)
- func (w *Window) RemoveObject(name string)
- func (w *Window) RemoveService(service Service)
- func (w *Window) Resizable() (resizable bool)
- func (w *Window) ScaleX(x float32) (scaledX float32)
- func (w *Window) ScaleY(y float32) (scaledY float32)
- func (w *Window) SetClearColor(rgba color.RGBA) *Window
- func (w *Window) SetFullscreenEnabled(enabled bool) *Window
- func (w *Window) SetHeight(height int) *Window
- func (w *Window) SetOpacity(alpha uint8) *Window
- func (w *Window) SetPosition(x, y int) *Window
- func (w *Window) SetSecondary(secondary bool) *Window
- func (w *Window) SetSize(width, height int) *Window
- func (w *Window) SetTitle(title string) *Window
- func (w *Window) SetWidth(width int) *Window
- func (w *Window) Show()
- func (w *Window) Size() (width, height int)
- func (w *Window) SwapMouseButtons(swapped bool) *Window
- func (w *Window) Title() (title string)
- func (w *Window) ToPNG() []byte
- func (w *Window) Update(deltaTime int64)
- func (w *Window) Width() (width int)
- type WindowHints
- type WindowObject
- type WindowObjectBase
- func (o *WindowObjectBase) AddChild(child WindowObject) WindowObject
- func (o *WindowObjectBase) AddChildren(children ...WindowObject) WindowObject
- func (o *WindowObjectBase) Anchor() Anchor
- func (o *WindowObjectBase) BlurEnabled() bool
- func (o *WindowObjectBase) BlurIntensity() float32
- func (o *WindowObjectBase) Bounds() *Bounds
- func (o *WindowObjectBase) Child(name string) WindowObject
- func (o *WindowObjectBase) Children() []WindowObject
- func (o *WindowObjectBase) Close()
- func (o *WindowObjectBase) Color() color.RGBA
- func (o *WindowObjectBase) Draw(deltaTime int64) (ok bool)
- func (o *WindowObjectBase) HalfHeight() float32
- func (o *WindowObjectBase) HalfWidth() float32
- func (o *WindowObjectBase) Height() float32
- func (o *WindowObjectBase) Init() (ok bool)
- func (o *WindowObjectBase) MaintainAspectRatio() bool
- func (o *WindowObjectBase) Margin() *Margin
- func (o *WindowObjectBase) OnResize(handler func(newWidth, newHeight int))
- func (o *WindowObjectBase) Opacity() uint8
- func (o *WindowObjectBase) Parent() WindowObject
- func (o *WindowObjectBase) RefreshLayout()
- func (o *WindowObjectBase) RemoveChild(child WindowObject)
- func (o *WindowObjectBase) RemoveChildren()
- func (o *WindowObjectBase) Resize(newWidth, newHeight int)
- func (o *WindowObjectBase) SetAnchor(anchor Anchor) WindowObject
- func (o *WindowObjectBase) SetBlurEnabled(enabled bool) WindowObject
- func (o *WindowObjectBase) SetBlurIntensity(intensity float32) WindowObject
- func (o *WindowObjectBase) SetColor(rgba color.RGBA) WindowObject
- func (o *WindowObjectBase) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
- func (o *WindowObjectBase) SetMargin(margin Margin) WindowObject
- func (o *WindowObjectBase) SetMarginBottom(margin float32) WindowObject
- func (o *WindowObjectBase) SetMarginLeft(margin float32) WindowObject
- func (o *WindowObjectBase) SetMarginRight(margin float32) WindowObject
- func (o *WindowObjectBase) SetMarginTop(margin float32) WindowObject
- func (o *WindowObjectBase) SetOpacity(alpha uint8) WindowObject
- func (o *WindowObjectBase) SetParent(parent WindowObject, recursive ...bool) WindowObject
- func (o *WindowObjectBase) SetWindow(window *Window) WindowObject
- func (o *WindowObjectBase) Update(deltaTime int64) (ok bool)
- func (o *WindowObjectBase) Width() float32
- func (o *WindowObjectBase) Window() *Window
Constants ¶
const ( DefaultFont = "_font_default" SquareFont = "_font_square" AnitaFont = "_font_anita" )
const ( // SignalShader Used by SignalLine to render the line itself, incorporating // a geometry shader for line thickness. SignalShader = "_shader_signal" // BlurXShader Used by Shape2D when blur is enabled to render the horizontally // blurred shape. BlurXShader = "_shader_blur_x" // BlurYShader Used by Shape2D when blur is enabled to render the vertically // blurred shape. BlurYShader = "_shader_blur_y" // TextureShader Used by Shape2D when blur is enabled to render the final, // horizontally/vertically blurred shape, but can also be used to render any // texture using normalized device/screen coordinates for the vertex data. TextureShader = "_shader_texture" // Shape2DShader Used by Shape2D to render a textured, two-dimensional // shape. Shape2DShader = "_shader_shape2d" // Shape2DNoTextureShader Used by Shape2D to render a single-colored, // two-dimensional shape. Shape2DNoTextureShader = "_shader_shape2d_no_texture" // Shape3DShader Can be used by Shape3D to render a textured Model with // support for: ambient/diffuse/specular/emissive/transparent lighting, // directional lights, and diffuse/normal/specular maps. Expects the Model // vertex buffer to have the PositionNormalUvTangentsVaoLayout. Shape3DShader = "_shader_shape3d" // Shape3DNoNormalSpecularMapsShader Can be used by Shape3D to render a // textured Model with support for: ambient/diffuse/specular/emissive/transparent // lighting, directional lights, and diffuse maps. Expects the Model vertex // buffer to have the PositionNormalUvVaoLayout. Shape3DNoNormalSpecularMapsShader = "_shader_shape3d_no_norm_spec" // Shape3DNoLightsShader Can be used by Shape3D to render a // textured Model with support for: diffuse/emissive/transparent // lighting and diffuse maps. Expects the Model vertex buffer to have // the PositionUvVaoLayout. Shape3DNoLightsShader = "_shader_shape3d_no_lights" )
Variables ¶
var ( Transparent = color.RGBA{} White = color.RGBA{R: 255, G: 255, B: 255, A: 255} Black = color.RGBA{A: 255} LightGray = color.RGBA{R: 191, G: 191, B: 191, A: 255} Gray = color.RGBA{R: 127, G: 127, B: 127, A: 255} DarkGray = color.RGBA{R: 63, G: 63, B: 63, A: 255} Red = color.RGBA{R: 255, A: 255} Green = color.RGBA{G: 255, A: 255} Blue = color.RGBA{B: 255, A: 255} Magenta = color.RGBA{R: 255, B: 255, A: 255} Yellow = color.RGBA{R: 255, G: 255, A: 255} Purple = color.RGBA{R: 100, G: 50, B: 130, A: 255} Orange = color.RGBA{R: 230, G: 126, B: 34, A: 255} Teal = color.RGBA{R: 118, G: 215, B: 196, A: 255} Maroon = color.RGBA{R: 146, G: 43, B: 33, A: 255} SkyBlue = color.RGBA{R: 174, G: 170, B: 241, A: 255} Brown = color.RGBA{R: 101, G: 67, B: 33, A: 255} DefaultNormalMapColor = color.RGBA{R: 127, G: 127, B: 255, A: 255} DefaultSpecularMapColor = color.RGBA{R: 127, G: 127, B: 127, A: 255} )
Functions ¶
func Close ¶
func Close()
Close Destroy any remaining windows and release any remaining resources allocated on the graphics card (VRAM). After closing, you must again call Init() if you need to reuse the package. Can call from any routine but should only be called after initializing via Init().
func CloseWindowAsync ¶
func CloseWindowAsync(window GlfwWindow)
CloseWindowAsync Asynchronously stop updating/rendering and close the specified window, releasing any resources it consumed while in use (such as services, objects, and assets). Removing the primary window will also stop the main processing loop by canceling the context that was passed to the Run() function. Can call at any time and from any routine.
func ExportSignalDataToCsv ¶
func ExportSignalDataToCsv(line *SignalLine, filenameTemplate ...string) error
func ExportSignalGroupDataToCsv ¶
func ExportSignalGroupDataToCsv(group *SignalGroup, filenameTemplate ...string) error
func FloatArrayToRgba ¶
func Init ¶
func Init() error
Init Initialize the gfx package (and GLFW), which must be done before calling Run(). Must call from the main routine.
func InitWindowAsync ¶
func InitWindowAsync(window GlfwWindow)
InitWindowAsync Asynchronously initialize a window to ensure it gets updated/rendered during the main processing loop. Can call at any time and from any routine.
func RgbaToFloatArray ¶
func Run ¶
func Run(ctx context.Context, cancelFunc context.CancelFunc)
Run Start the main processing loop, which will call Update() on all windows at an interval based on the target framerate but limited by system performance. Must call from the main routine.
func SetTargetFramerate ¶
func SetTargetFramerate(framesPerSec uint32)
SetTargetFramerate changes the current target framerate, which must be done before a Window has been initialized.
func SetVSyncEnabled ¶
func SetVSyncEnabled(enabled bool)
SetVSyncEnabled is used to enable/disable V-Sync, which must be done before a Window has been initialized.
func TargetFramerate ¶
func TargetFramerate() (framesPerSec uint32)
TargetFramerate returns the target framerate in frames per second. The actual, rendered framerate will not exceed the monitor's refresh rate when V-Sync is enabled and will always be limited by system performance.
func VSyncEnabled ¶
func VSyncEnabled() (enabled bool)
VSyncEnabled returns true if V-Sync has been enabled. V-Sync ensures the active framebuffer will not be written to while being read by the monitor, which prevents "screen-tearing," but limits the maximum framerate to that of the monitor's refresh rate.
Types ¶
type Anchor ¶
type Anchor int
Anchor specifies how the object should be positioned with respect to its parent, or the window if it has none. Note that when an anchor is used, the Position property of objects is ignored and Margin should be used instead for offset adjustments.
type Asset ¶
type Asset interface { Initer Closer // Initialized shall return true if Init() has already been called. Initialized() bool // Name shall return the unique name/id given to the asset. Name() string // Source shall return whatever was used to construct the asset or // what otherwise represents the asset itself. For example, with a // Texture asset the source could be the raw binary for a PNG file, // which would also be the case when loading the PNG file as an // asset itself for other purposes, etc. Source() any // SourceLibrary shall return the library this asset can use // to look for a source that is needed for construction. SourceLibrary() *AssetLibrary SetSourceLibrary(*AssetLibrary) Asset // Protected shall return true if this asset has been marked // for protection from closure/removal while being managed // by an AssetLibrary. It is used, for example, to allow // consumers to freely call DisposeAll() on the Window's // default AssetLibrary without concern that it will affect // the default assets added therein. Protected() bool SetProtected(bool) Asset }
Asset Resources that are needed/shared by objects, have a separate lifecycle than objects, and that are initialized before objects, are considered to be assets. These include resources like fonts, shaders, textures, materials, and models. It's recommended to use an AssetLibrary to manage a collection of related assets to facilitate life-cycle management.
type AssetBase ¶
type AssetBase struct {
// contains filtered or unexported fields
}
func NewAssetBase ¶
func (*AssetBase) Initialized ¶
func (*AssetBase) SetProtected ¶
func (*AssetBase) SetSourceLibrary ¶
func (a *AssetBase) SetSourceLibrary(library *AssetLibrary) Asset
func (*AssetBase) SourceLibrary ¶
func (a *AssetBase) SourceLibrary() *AssetLibrary
type AssetLibrary ¶
type AssetLibrary struct { ServiceBase // contains filtered or unexported fields }
func DefaultAssetLibrary ¶
func DefaultAssetLibrary() *AssetLibrary
func NewAssetLibrary ¶
func NewAssetLibrary() *AssetLibrary
func (*AssetLibrary) Add ¶
func (l *AssetLibrary) Add(asset Asset) *AssetLibrary
func (*AssetLibrary) AddEmbeddedFile ¶
func (l *AssetLibrary) AddEmbeddedFile(name string, fs embed.FS) *AssetLibrary
func (*AssetLibrary) AddEmbeddedFiles ¶
func (l *AssetLibrary) AddEmbeddedFiles(fs embed.FS) *AssetLibrary
func (*AssetLibrary) Close ¶
func (l *AssetLibrary) Close()
func (*AssetLibrary) Dispose ¶
func (l *AssetLibrary) Dispose(name string) *AssetLibrary
func (*AssetLibrary) DisposeAll ¶
func (l *AssetLibrary) DisposeAll() *AssetLibrary
func (*AssetLibrary) Get ¶
func (l *AssetLibrary) Get(name string) Asset
func (*AssetLibrary) GetFileReader ¶
func (l *AssetLibrary) GetFileReader(name string) (reader *bufio.Reader, closeFunc func())
func (*AssetLibrary) Init ¶
func (l *AssetLibrary) Init() bool
func (*AssetLibrary) Remove ¶
func (l *AssetLibrary) Remove(name string) *AssetLibrary
func (*AssetLibrary) RemoveAll ¶
func (l *AssetLibrary) RemoveAll() *AssetLibrary
func (*AssetLibrary) Update ¶
func (l *AssetLibrary) Update(_ int64) bool
type BandPassFilter ¶
type BandPassFilter struct {
FilterBase
}
func NewBandPassFilter ¶
func NewBandPassFilter() *BandPassFilter
func (*BandPassFilter) GenerateCoefficients ¶
func (f *BandPassFilter) GenerateCoefficients(coefficientCount int, sampleRate float64, cutoffFrequencies ...float64) []float64
type BasicBrush ¶
type BasicBrush struct { WindowObjectBase // contains filtered or unexported fields }
func NewBasicBrush ¶
func NewBasicBrush() *BasicBrush
func (*BasicBrush) BrushHead ¶
func (b *BasicBrush) BrushHead() (brushHead BrushHeadType)
func (*BasicBrush) Canvas ¶
func (b *BasicBrush) Canvas() (canvas *Canvas)
func (*BasicBrush) OverrideUpdateCanvas ¶
func (b *BasicBrush) OverrideUpdateCanvas(updateFunc func(ms *MouseState))
OverrideUpdateCanvas Structs embedding this type can use this function to provide custom behavior, without having to override Update() or otherwise re-implement its logic. Not thread-safe, so call this during initialization/instantiation.
func (*BasicBrush) SetBrushHead ¶
func (b *BasicBrush) SetBrushHead(brushHead BrushHeadType) *BasicBrush
func (*BasicBrush) SetCanvas ¶
func (b *BasicBrush) SetCanvas(canvas *Canvas) Brush
func (*BasicBrush) SetSize ¶
func (b *BasicBrush) SetSize(size float32) *BasicBrush
func (*BasicBrush) Size ¶
func (b *BasicBrush) Size() (size float32)
func (*BasicBrush) Undo ¶
func (b *BasicBrush) Undo()
func (*BasicBrush) Update ¶
func (b *BasicBrush) Update(deltaTime int64) (ok bool)
type BasicCamera ¶
type BasicCamera struct { CameraBase Properties *BasicCameraProperties // contains filtered or unexported fields }
func NewCamera ¶
func NewCamera() *BasicCamera
func (*BasicCamera) Location ¶
func (c *BasicCamera) Location() (loc mgl32.Vec4)
func (*BasicCamera) Projection ¶
func (c *BasicCamera) Projection() (proj mgl32.Mat4)
func (*BasicCamera) Resize ¶
func (c *BasicCamera) Resize(_, _, newWidth, newHeight int32)
func (*BasicCamera) SetProjection ¶
func (c *BasicCamera) SetProjection(verticalFoV, aspectRatio, near, far float32) mgl32.Mat4
func (*BasicCamera) Update ¶
func (c *BasicCamera) Update(_ int64) (ok bool)
func (*BasicCamera) View ¶
func (c *BasicCamera) View() (view mgl32.Mat4)
func (*BasicCamera) ViewProjection ¶
func (c *BasicCamera) ViewProjection() (viewProj mgl32.Mat4)
type BasicCameraProperties ¶
type BasicShader ¶
type BasicShader struct { ShaderBase // contains filtered or unexported fields }
func NewBasicShader ¶
func NewBasicShader[T ShaderSource](name string, vertexShaderSource, fragmentShaderSource T, geometryShaderSource ...T) *BasicShader
func (*BasicShader) Close ¶
func (s *BasicShader) Close()
func (*BasicShader) Init ¶
func (s *BasicShader) Init() (ok bool)
type BinaryAsset ¶
type BinaryAsset struct {
AssetBase
}
func NewBinaryAsset ¶
func NewBinaryAsset(name string, data []byte) *BinaryAsset
type BoundingBox ¶
type BoundingBox struct {
BoundingObjectBase
}
func NewBoundingBox ¶
func NewBoundingBox() *BoundingBox
func (*BoundingBox) Update ¶
func (b *BoundingBox) Update(_ int64) bool
type BoundingObject ¶
type BoundingObject interface { WindowObject OnMouseEnter(func(WindowObject, *MouseState)) OnMouseLeave(func(WindowObject, *MouseState)) OnPMouseDown(func(WindowObject, *MouseState)) OnSMouseDown(func(WindowObject, *MouseState)) OnPMouseUp(func(WindowObject, *MouseState)) OnSMouseUp(func(WindowObject, *MouseState)) OnPMouseDepressed(func(WindowObject, *MouseState)) OnSMouseDepressed(func(WindowObject, *MouseState)) OnPMouseClick(func(WindowObject, *MouseState)) OnSMouseClick(func(WindowObject, *MouseState)) MouseSurface() MouseSurface SetMouseSurface(MouseSurface) LocalMouse() *MouseState MouseOver() bool }
type BoundingObjectBase ¶
type BoundingObjectBase struct { WindowObjectBase // contains filtered or unexported fields }
func NewBoundingObject ¶
func NewBoundingObject() *BoundingObjectBase
func (*BoundingObjectBase) Init ¶
func (o *BoundingObjectBase) Init() bool
func (*BoundingObjectBase) LocalMouse ¶
func (o *BoundingObjectBase) LocalMouse() *MouseState
func (*BoundingObjectBase) MouseOver ¶
func (o *BoundingObjectBase) MouseOver() bool
func (*BoundingObjectBase) MouseSurface ¶
func (o *BoundingObjectBase) MouseSurface() MouseSurface
func (*BoundingObjectBase) OnMouseEnter ¶
func (o *BoundingObjectBase) OnMouseEnter(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnMouseLeave ¶
func (o *BoundingObjectBase) OnMouseLeave(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnPMouseClick ¶
func (o *BoundingObjectBase) OnPMouseClick(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnPMouseDepressed ¶
func (o *BoundingObjectBase) OnPMouseDepressed(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnPMouseDown ¶
func (o *BoundingObjectBase) OnPMouseDown(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnPMouseUp ¶
func (o *BoundingObjectBase) OnPMouseUp(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnSMouseClick ¶
func (o *BoundingObjectBase) OnSMouseClick(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnSMouseDepressed ¶
func (o *BoundingObjectBase) OnSMouseDepressed(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnSMouseDown ¶
func (o *BoundingObjectBase) OnSMouseDown(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) OnSMouseUp ¶
func (o *BoundingObjectBase) OnSMouseUp(handler func(sender WindowObject, mouseState *MouseState))
func (*BoundingObjectBase) SetMouseSurface ¶
func (o *BoundingObjectBase) SetMouseSurface(surface MouseSurface)
type BoundingRadius ¶
type BoundingRadius struct {
BoundingObjectBase
}
func NewBoundingRadius ¶
func NewBoundingRadius() *BoundingRadius
func (*BoundingRadius) Update ¶
func (r *BoundingRadius) Update(_ int64) bool
type Bounds ¶
type Bounds struct {
Top, Right, Bottom, Left float32
}
Bounds represents the boundaries or "frame" in which the associated object is rendered, if not the full width/height of the window. Objects that become children of other objects will have their bounds adjusted, such that the scale and positioning of the parent determines the maximum bounds for its children, affecting their scaling/positioning/anchoring, etc. Values are in the normalized device/screen space range of [-1,1] for both axes.
type Brush ¶
type Brush interface { WindowObject // Canvas shall return the canvas to which this brush is assigned. Canvas() *Canvas SetCanvas(*Canvas) Brush // Undo shall revert the last change made to the Canvas. Undo() }
Brush objects are used to paint a Canvas by the end-user by clicking and dragging across the canvas. Brushes should have no effect if not enabled.
type BrushHeadType ¶
type BrushHeadType int
const ( RoundBrushHead BrushHeadType = iota SquareBrushHead )
type Button ¶
type Button struct { View // contains filtered or unexported fields }
func (*Button) OnClick ¶
func (b *Button) OnClick(handler func(sender WindowObject, mouseState *MouseState)) *Button
func (*Button) OnDepressed ¶
func (b *Button) OnDepressed(handler func(sender WindowObject, mouseState *MouseState)) *Button
func (*Button) SetDisabledBorderColor ¶
func (*Button) SetDisabledFillColor ¶
func (*Button) SetDisabledTextColor ¶
func (*Button) SetEnabled ¶
func (*Button) SetFontSize ¶
func (*Button) SetMaintainAspectRatio ¶
func (b *Button) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*Button) SetMouseDownBorderColor ¶
func (*Button) SetMouseDownFillColor ¶
func (*Button) SetMouseDownTextColor ¶
func (*Button) SetMouseEnterBorderColor ¶
func (*Button) SetMouseEnterFillColor ¶
func (*Button) SetMouseEnterTextColor ¶
func (*Button) SetMouseSurface ¶
func (b *Button) SetMouseSurface(surface MouseSurface)
func (*Button) SetParent ¶
func (b *Button) SetParent(parent WindowObject, recursive ...bool) WindowObject
func (*Button) SetWindow ¶
func (b *Button) SetWindow(window *Window) WindowObject
type Camera ¶
type Camera interface { Object sync.Locker // Location shall return the camera's coordinates in world space, // using a 4-byte-aligned float array. Location() mgl32.Vec4 // View shall return the current view matrix for the camera. View() mgl32.Mat4 // Projection shall return the current projection matrix for the camera. Projection() mgl32.Mat4 // ViewProjection shall return the current combined view-projection matrix // for the camera. Passing this matrix to the shader rather than computing // it there may increase performance. ViewProjection() mgl32.Mat4 }
Camera Use cameras to apply the same view-projection matrix to the world matrix of each Shape3D object to which the camera is assigned, ensuring they are all rendered from the same perspective. Must be added to a window to ensure its properties get updated over time.
type CameraBase ¶
type CameraBase struct { ObjectBase // contains filtered or unexported fields }
func (*CameraBase) Lock ¶
func (c *CameraBase) Lock()
func (*CameraBase) Unlock ¶
func (c *CameraBase) Unlock()
type Canvas ¶
type Canvas struct { View // contains filtered or unexported fields }
Canvas can be used with a Brush to allow end-users the ability to paint to a Texture2D-based surface, which can then be exported to a PNG. A canvas is just a type of View, which means you can change the background (FillColor) and, optionally, configure a frame (Border) with a specific thickness/color, but that frame will not be part of the exported PNG.
func (*Canvas) Mouse ¶
func (c *Canvas) Mouse() *MouseState
func (*Canvas) SetMaintainAspectRatio ¶
func (c *Canvas) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*Canvas) SetParent ¶
func (c *Canvas) SetParent(parent WindowObject, recursive ...bool) WindowObject
func (*Canvas) SetWindow ¶
func (c *Canvas) SetWindow(window *Window) WindowObject
func (*Canvas) UpdateSurface ¶
type CheckButton ¶
type CheckButton struct { Button // contains filtered or unexported fields }
func NewCheckBox ¶
func NewCheckBox() *CheckButton
func NewRadioButton ¶
func NewRadioButton() *CheckButton
func (*CheckButton) CheckShape ¶
func (b *CheckButton) CheckShape() *Shape2D
func (*CheckButton) Checked ¶
func (b *CheckButton) Checked() bool
func (*CheckButton) Close ¶
func (b *CheckButton) Close()
func (*CheckButton) Draw ¶
func (b *CheckButton) Draw(deltaTime int64) (ok bool)
func (*CheckButton) Init ¶
func (b *CheckButton) Init() (ok bool)
func (*CheckButton) OnCheckedChanged ¶
func (b *CheckButton) OnCheckedChanged(handler func(sender WindowObject, checked bool)) *CheckButton
func (*CheckButton) OnClick ¶
func (b *CheckButton) OnClick(handler func(sender WindowObject, mouseState *MouseState)) *CheckButton
func (*CheckButton) Resize ¶
func (b *CheckButton) Resize(newWidth, newHeight int)
func (*CheckButton) SetChecked ¶
func (b *CheckButton) SetChecked(checked bool)
func (*CheckButton) SetColor ¶
func (b *CheckButton) SetColor(rgba color.RGBA) WindowObject
func (*CheckButton) SetMaintainAspectRatio ¶
func (b *CheckButton) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*CheckButton) SetMouseDownColor ¶
func (b *CheckButton) SetMouseDownColor(rgba color.RGBA) *CheckButton
func (*CheckButton) SetMouseEnterColor ¶
func (b *CheckButton) SetMouseEnterColor(rgba color.RGBA) *CheckButton
func (*CheckButton) SetWindow ¶
func (b *CheckButton) SetWindow(window *Window) WindowObject
func (*CheckButton) Update ¶
func (b *CheckButton) Update(deltaTime int64) (ok bool)
type DirectionalLight ¶
func NewDirectionalLight ¶
func NewDirectionalLight() *DirectionalLight
type DrawableObject ¶
type DrawableObjectBase ¶
type DrawableObjectBase struct { ObjectBase // contains filtered or unexported fields }
func (*DrawableObjectBase) Draw ¶
func (o *DrawableObjectBase) Draw(_ int64) (ok bool)
func (*DrawableObjectBase) SetVisibility ¶
func (o *DrawableObjectBase) SetVisibility(visible bool) DrawableObject
func (*DrawableObjectBase) Visible ¶
func (o *DrawableObjectBase) Visible() bool
type Face ¶
type Face interface { // VertexIndices shall return the indices for vertex positions associated // with the face. VertexIndices() []int // ColorIndices shall return the indices for vertex colors associated // with the face. ColorIndices() []int // UvIndices shall return the indices for vertex texture coordinates // associated with the face. UvIndices() []int // NormalIndices shall return the indices for normal vectors associated // with the face. NormalIndices() []int // TangentIndices shall return the indices for tangent vectors associated // with the face. TangentIndices() []int // BitangentIndices shall return the indices for bitangent vectors associated // with the face. BitangentIndices() []int // AttachedMaterial shall return the Material instance that will be used // when shading the face during rendering. AttachedMaterial() Material }
Face instances hold the indices of the vertex attributes that comprise the face. A face may be defined with either 3 or 4 vertices.
type FaceBase ¶
type FaceBase struct{}
func (*FaceBase) AttachedMaterial ¶
func (*FaceBase) BitangentIndices ¶
func (*FaceBase) ColorIndices ¶
func (*FaceBase) NormalIndices ¶
func (*FaceBase) TangentIndices ¶
func (*FaceBase) VertexIndices ¶
type FastFourierTransformer ¶
type FastFourierTransformer struct { TransformerBase // contains filtered or unexported fields }
func NewFastFourierTransformer ¶
func NewFastFourierTransformer(dataSize int, sampleRate float64) *FastFourierTransformer
func (*FastFourierTransformer) SetSampleRate ¶
func (t *FastFourierTransformer) SetSampleRate(rate float64)
func (*FastFourierTransformer) Transform ¶
func (t *FastFourierTransformer) Transform(dst, src []float64) []float64
type Filter ¶
type Filter interface { // Name shall return the unique name given to the filter. Name() string SetName(string) // Enabled shall return true if this filter should actually have an // effect on the data being passed through it. Enabled() bool SetEnabled(bool) // SampleRate shall return the current sample rate of the filter. SampleRate() float64 // CutoffFrequencies shall return the current cutoff frequencies of // the filter. CutoffFrequencies() []float64 // GenerateCoefficients shall generate the coefficients for the filter. GenerateCoefficients(int, float64, ...float64) []float64 // CoefficientCount shall return the current coefficient count. CoefficientCount() int // Apply shall filter the data, passed to it as a float array along // with the index of value to be filtered, and shall return the result. Apply(int, []float64) float64 }
Filter instances are used to filter the data being added to signals.
type FilterBase ¶
type FilterBase struct {
// contains filtered or unexported fields
}
func NewFilterBase ¶
func NewFilterBase(name string) *FilterBase
func (*FilterBase) CoefficientCount ¶
func (f *FilterBase) CoefficientCount() int
func (*FilterBase) CutoffFrequencies ¶
func (f *FilterBase) CutoffFrequencies() []float64
func (*FilterBase) Enabled ¶
func (f *FilterBase) Enabled() bool
func (*FilterBase) GenerateCoefficients ¶
func (f *FilterBase) GenerateCoefficients(int, float64, ...float64) []float64
func (*FilterBase) Name ¶
func (f *FilterBase) Name() string
func (*FilterBase) SampleRate ¶
func (f *FilterBase) SampleRate() float64
func (*FilterBase) SetEnabled ¶
func (f *FilterBase) SetEnabled(enabled bool)
func (*FilterBase) SetName ¶
func (f *FilterBase) SetName(name string)
type Font ¶
type Font interface { Asset // TTF shall return a pointer to the TrueType font that has been loaded // into memory and is ready to be used to rasterize text to a texture. TTF() *truetype.Font }
Font represents a TrueType font asset that will be used to render the text of a Label object.
type FontSource ¶
type FpsCounter ¶
type FpsCounter struct { WindowObjectBase // contains filtered or unexported fields }
FpsCounter When added to a Window, will display the current frames per second, calculating the metric at the update interval specified (defaults to 250 ms). Note that this object cannot be disabled or hidden, only added/removed from a Window.
func NewFpsCounter ¶
func NewFpsCounter(updateIntervalMilli ...int) *FpsCounter
func (*FpsCounter) Draw ¶
func (c *FpsCounter) Draw(deltaTime int64) bool
func (*FpsCounter) Init ¶
func (c *FpsCounter) Init() (ok bool)
func (*FpsCounter) Label ¶
func (c *FpsCounter) Label() *Label
func (*FpsCounter) Resize ¶
func (c *FpsCounter) Resize(newWidth, newHeight int)
func (*FpsCounter) SetMaintainAspectRatio ¶
func (c *FpsCounter) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*FpsCounter) SetUpdateInterval ¶
func (c *FpsCounter) SetUpdateInterval(milliseconds int) *FpsCounter
func (*FpsCounter) SetWindow ¶
func (c *FpsCounter) SetWindow(window *Window) WindowObject
func (*FpsCounter) Update ¶
func (c *FpsCounter) Update(deltaTime int64) (ok bool)
type GlAsset ¶
type GlAsset interface { Asset // GlName shall return the unique name/id assigned to the asset by the // OpenGL framework. GlName() uint32 }
GlAsset assets are those with an associated OpenGL name, which is an unsigned number that is assigned with creating the object (usually one taking up memory in VRAM).
type GlfwWindow ¶
type GlfwWindow interface { GLFW() *glfw.Window // Title shall return the window's title, which is rendered in the // title bar, if the window is decorated (not borderless). Title() string // Width shall return the window's width, in pixels. Width() int // Height shall return the window's height, in pixels. Height() int // Borderless shall return true if the window will not be decorated // with a border/frame or a title bar. Borderless() bool // Resizable shall return true if the window can be resized either // by the maximize button or by dragging the edges/corners; both // of which are only possible with a decorated window. Note that // you can always change the size of a window programmatically. Resizable() bool // MultiSamplingEnabled shall return true if antialiasing has been // enabled, which is provided by OpenGL's native MSAA capability, // with the sample size set to 4. MultiSamplingEnabled() bool // IsSecondary shall return true if the window has been designated // as a secondary/tool/dialog window, which means closing it will // not result in the application closing. IsSecondary() bool // Init should only be called by the engine and shall cause the window // to initialize itself, its services/objects, and begin the process of // updating ("ticking") them at a rate based on the target framerate. // Consumers of this package should initialize windows by passing them // to gfx.InitWindowAsync(). Init(*glfw.Window, context.Context) // Update should only be called by the engine and shall cause the window // to update its services/objects, passing in the amount of time (in // microseconds) that has passed since the last update. Update(deltaTime int64) // Close should only be called by the engine and shall cause the window // to release any resources it consumed and call Close() on its // services/objects, causing them to do the same. Consumers of this // package should close windows by passing them to gfx.CloseWindowAsync(). Close() }
GlfwWindow is a wrapper for a GLFW window that also contains the services, objects, and assets needed to render and manage a scene or user interface, etc. Life-cycle functions Init(), Update(), and Close() should NOT be directly invoked by importers of this package and are only exported so consumers may provide custom GlfwWindow implementations.
type HighPassFilter ¶
type HighPassFilter struct {
FilterBase
}
func NewHighPassFilter ¶
func NewHighPassFilter() *HighPassFilter
func (*HighPassFilter) GenerateCoefficients ¶
func (f *HighPassFilter) GenerateCoefficients(coefficientCount int, sampleRate float64, cutoffFrequencies ...float64) []float64
type KeyEventHandler ¶
type KeyEventHandler struct { Receiver any Key glfw.Key Action glfw.Action Callback func(*Window, glfw.Key, glfw.Action) }
func (*KeyEventHandler) Event ¶
func (h *KeyEventHandler) Event() uint64
type Label ¶
type Label struct { View // contains filtered or unexported fields }
func (*Label) Alignment ¶
func (l *Label) Alignment() TextAlignment
func (*Label) CacheEnabled ¶
func (*Label) RefreshLayout ¶
func (l *Label) RefreshLayout()
func (*Label) SetAlignment ¶
func (l *Label) SetAlignment(alignment TextAlignment) *Label
func (*Label) SetCacheEnabled ¶
func (*Label) SetFontSize ¶
func (*Label) SetMaintainAspectRatio ¶
func (l *Label) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*Label) SetPaddingBottom ¶
func (*Label) SetPaddingLeft ¶
func (*Label) SetPaddingRight ¶
func (*Label) SetPaddingTop ¶
func (*Label) SetParent ¶
func (l *Label) SetParent(parent WindowObject, recursive ...bool) WindowObject
func (*Label) SetWindow ¶
func (l *Label) SetWindow(window *Window) WindowObject
type Light ¶
type Light interface { sync.Locker // Name shall return the unique name/id given to the light, if one was // given. Name() string SetName(string) // Enabled shall return true if the light will contribute to the lighting // being applied to the model. Enabled() bool SetEnabled(bool) }
Light Lights are used to illuminate models within a scene and are normally part of a shader-bindable object used when setting the Lighting property of Shape3D objects. Before changing a light's properties, it is recommended to call Lock() to ensure the shader is not being sent their values while they are being changed; and of course, call Unlock() when finished changing them.
type LightBase ¶
type LightBase struct {
// contains filtered or unexported fields
}
func (*LightBase) SetEnabled ¶
type LowPassFilter ¶
type LowPassFilter struct {
FilterBase
}
func NewLowPassFilter ¶
func NewLowPassFilter() *LowPassFilter
func (*LowPassFilter) GenerateCoefficients ¶
func (f *LowPassFilter) GenerateCoefficients(coefficientCount int, sampleRate float64, cutoffFrequencies ...float64) []float64
type Margin ¶
type Margin struct {
Top, Right, Bottom, Left float32
}
Margin contains the position offsets used when objects are anchored, in the normalized device/screen space range of [-1,1] for both axes.
type Material ¶
type Material interface { Asset sync.Locker // AttachedShader shall return the shader that this material will bind // to, sending it the property values and texture maps that constitute // the material. AttachedShader() Shader AttachShader(shader Shader) }
Material instances are used in the rendering of faces, providing various properties that will be used by the attached shader. Before these properties are changed, it is recommended to call Lock() on the material to ensure the shader is not being sent their values while they are being changed; and of course, call Unlock() when finished changing them.
type MaterialBase ¶
type MaterialBase struct { AssetBase // contains filtered or unexported fields }
func (*MaterialBase) AttachShader ¶
func (m *MaterialBase) AttachShader(shader Shader)
func (*MaterialBase) AttachedShader ¶
func (m *MaterialBase) AttachedShader() Shader
func (*MaterialBase) Lock ¶
func (m *MaterialBase) Lock()
func (*MaterialBase) Unlock ¶
func (m *MaterialBase) Unlock()
type MaterialLibrarySource ¶
type Mesh ¶
type Mesh interface { Transform // Name shall return the given name/id of the mesh, which may or may // not be unique within the model. Name() string // Faces shall return an array of Face instances that comprise the mesh. Faces() []Face }
Mesh instances contain the collection of faces that comprise the mesh.
type MeshBase ¶
type MeshBase struct {
ObjectTransform
}
type Model ¶
type Model interface { Asset // Vertices shall return a float array containing the positions of the // vertices in local/model space. Vertices() []float32 // Colors shall return a float array containing the colors of each // vertex. May optionally return nil for a different vertex attribute // layout. Colors() []float32 // UVs shall return a float array containing the texture coordinates // of each vertex. May optionally return nil for a different vertex // attribute layout. UVs() []float32 // Normals shall return a float array containing the normal vectors // associated with the vertices. May optionally return nil for a // different vertex attribute layout. Normals() []float32 // Tangents shall return a float array containing the tangent // vectors associated with the vertices. May optionally return // nil for a different vertex attribute layout. Tangents() []float32 // Bitangents shall return a float array containing the bitangent // vectors associated with the vertices. May optionally return // nil for a different vertex attribute layout. Bitangents() []float32 // Meshes shall return an array of Mesh instances that comprise // the model. Meshes() []Mesh }
Model instances hold the vertex information used to render a Shape3D object. Changes made to a model asset (after loading it or after it has been initialized, etc) will only affect new Shape3D instances to which it is assigned; i.e., once a Shape3D object has been initialized, it will no longer be influenced by changes to the model asset. For an example implementation, see the obj package.
type ModelSource ¶
type MouseState ¶
func (*MouseState) Update ¶
func (s *MouseState) Update(button glfw.MouseButton, action glfw.Action)
type MouseSurface ¶
type MouseSurface interface { Mouse() *MouseState Width() int Height() int }
type ObjectBase ¶
type ObjectBase struct {
// contains filtered or unexported fields
}
func (*ObjectBase) Close ¶
func (o *ObjectBase) Close()
func (*ObjectBase) Enabled ¶
func (o *ObjectBase) Enabled() bool
func (*ObjectBase) Init ¶
func (o *ObjectBase) Init() (ok bool)
func (*ObjectBase) Initialized ¶
func (o *ObjectBase) Initialized() bool
func (*ObjectBase) Name ¶
func (o *ObjectBase) Name() string
func (*ObjectBase) SetEnabled ¶
func (o *ObjectBase) SetEnabled(enabled bool) Object
func (*ObjectBase) SetName ¶
func (o *ObjectBase) SetName(name string) Object
func (*ObjectBase) SetTag ¶
func (o *ObjectBase) SetTag(value any) Object
func (*ObjectBase) Tag ¶
func (o *ObjectBase) Tag() any
func (*ObjectBase) Update ¶
func (o *ObjectBase) Update(_ int64) (ok bool)
type ObjectTransform ¶
type ObjectTransform struct {
// contains filtered or unexported fields
}
func NewObjectTransform ¶
func NewObjectTransform() *ObjectTransform
func (*ObjectTransform) Origin ¶
func (t *ObjectTransform) Origin() mgl32.Vec3
func (*ObjectTransform) ParentTransform ¶
func (t *ObjectTransform) ParentTransform() Transform
func (*ObjectTransform) Position ¶
func (t *ObjectTransform) Position() mgl32.Vec3
func (*ObjectTransform) Rotation ¶
func (t *ObjectTransform) Rotation() mgl32.Vec3
func (*ObjectTransform) RotationQuat ¶
func (t *ObjectTransform) RotationQuat() mgl32.Quat
func (*ObjectTransform) Scale ¶
func (t *ObjectTransform) Scale() mgl32.Vec3
func (*ObjectTransform) SetOrigin ¶
func (t *ObjectTransform) SetOrigin(origin mgl32.Vec3) Transform
func (*ObjectTransform) SetParentTransform ¶
func (t *ObjectTransform) SetParentTransform(parent Transform) Transform
func (*ObjectTransform) SetPosition ¶
func (t *ObjectTransform) SetPosition(position mgl32.Vec3) Transform
func (*ObjectTransform) SetPositionX ¶
func (t *ObjectTransform) SetPositionX(x float32) Transform
func (*ObjectTransform) SetPositionY ¶
func (t *ObjectTransform) SetPositionY(y float32) Transform
func (*ObjectTransform) SetPositionZ ¶
func (t *ObjectTransform) SetPositionZ(z float32) Transform
func (*ObjectTransform) SetRotation ¶
func (t *ObjectTransform) SetRotation(rotation mgl32.Vec3) Transform
func (*ObjectTransform) SetRotationQuat ¶
func (t *ObjectTransform) SetRotationQuat(rotation mgl32.Quat) Transform
func (*ObjectTransform) SetRotationX ¶
func (t *ObjectTransform) SetRotationX(x float32) Transform
func (*ObjectTransform) SetRotationY ¶
func (t *ObjectTransform) SetRotationY(y float32) Transform
func (*ObjectTransform) SetRotationZ ¶
func (t *ObjectTransform) SetRotationZ(z float32) Transform
func (*ObjectTransform) SetScaleX ¶
func (t *ObjectTransform) SetScaleX(x float32) Transform
func (*ObjectTransform) SetScaleY ¶
func (t *ObjectTransform) SetScaleY(y float32) Transform
func (*ObjectTransform) SetScaleZ ¶
func (t *ObjectTransform) SetScaleZ(z float32) Transform
func (*ObjectTransform) WorldMatrix ¶
func (t *ObjectTransform) WorldMatrix() mgl32.Mat4
func (*ObjectTransform) WorldOrigin ¶
func (t *ObjectTransform) WorldOrigin() mgl32.Vec3
func (*ObjectTransform) WorldPosition ¶
func (t *ObjectTransform) WorldPosition() mgl32.Vec3
func (*ObjectTransform) WorldRotation ¶
func (t *ObjectTransform) WorldRotation() mgl32.Vec3
func (*ObjectTransform) WorldScale ¶
func (t *ObjectTransform) WorldScale() mgl32.Vec3
type Orientation ¶
type Orientation int
Orientation specifies how certain controls should be oriented/arranged, such as whether a Slider object's button will slide along a horizontally or vertically aligned rail, etc.
const ( Horizontal Orientation = iota Vertical )
type QuadDirectionalLighting ¶
type QuadDirectionalLighting struct { Lights [4]DirectionalLight LightCount int32 // contains filtered or unexported fields }
func NewQuadDirectionalLighting ¶
func NewQuadDirectionalLighting() *QuadDirectionalLighting
func (*QuadDirectionalLighting) Lock ¶
func (l *QuadDirectionalLighting) Lock()
func (*QuadDirectionalLighting) Unlock ¶
func (l *QuadDirectionalLighting) Unlock()
type QualityLevel ¶
type QualityLevel int
QualityLevel is used to determine the visual quality vs performance balance when rendering certain objects, like textures.
const ( LowestQuality QualityLevel = iota VeryLowQuality LowQuality MediumQuality HighQuality VeryHighQuality HighestQuality )
type Resizer ¶
type Resizer interface {
Resize(newWidth, newHeight int)
}
Resizer should be implemented by WindowObject types that need to readjust themselves, recompute variables, etc, whenever the window's size has changed or when going from windowed to fullscreen mode or vice-versa.
type Service ¶
type Service interface { Object // Window shall return the Window to which this service was assigned. Window() *Window SetWindow(*Window) Service // Protected shall return true if this service has been marked // for protection from closure/removal after being added to a // Window. It is used, for example, to allow consumers to freely // call DisposeAllServices() on the Window without concern that it // will affect the default services that a Window comes with. Protected() bool SetProtected(bool) Service }
Service objects are initialized/updated before any other type of Object, are meant to have a life cycle that lives beyond the other objects added to a window, and can be used by other objects for various purposes. The AssetLibrary type is an example implementation of Service.
type ServiceBase ¶
type ServiceBase struct { ObjectBase // contains filtered or unexported fields }
func (*ServiceBase) Protected ¶
func (s *ServiceBase) Protected() bool
func (*ServiceBase) SetProtected ¶
func (s *ServiceBase) SetProtected(protected bool) Service
func (*ServiceBase) SetWindow ¶
func (s *ServiceBase) SetWindow(window *Window) Service
func (*ServiceBase) Window ¶
func (s *ServiceBase) Window() *Window
type Shader ¶
type Shader interface { GlAsset // Activate shall change the current OpenGL context, making this shader // program the active one. Activate() // GetAttribLocation shall return the location of the given vertex // attribute. Will return -1 if not found in the shader. GetAttribLocation(name string) int32 // GetUniformLocation shall return the location of the given uniform // variable. Will return -1 if not found in the shader. GetUniformLocation(name string) int32 // GetUniformBlockIndex shall return the location of the given uniform // block. Will return -1 if not found in the shader. GetUniformBlockIndex(name string) uint32 }
Shader assets represent compiled shader programs that are then used to render objects on the screen.
type ShaderBase ¶
type ShaderBase struct { AssetBase // contains filtered or unexported fields }
func (*ShaderBase) Activate ¶
func (s *ShaderBase) Activate()
func (*ShaderBase) GetAttribLocation ¶
func (s *ShaderBase) GetAttribLocation(name string) int32
func (*ShaderBase) GetUniformBlockIndex ¶
func (s *ShaderBase) GetUniformBlockIndex(name string) uint32
func (*ShaderBase) GetUniformLocation ¶
func (s *ShaderBase) GetUniformLocation(name string) int32
func (*ShaderBase) GlName ¶
func (s *ShaderBase) GlName() uint32
type ShaderBinder ¶
type ShaderBinder struct { ObjectBase // contains filtered or unexported fields }
func NewShaderBinder ¶
func NewShaderBinder(shaders map[uint32]Shader, boundStruct any, getBindingPointFunc func() uint32) *ShaderBinder
func (*ShaderBinder) Close ¶
func (b *ShaderBinder) Close()
func (*ShaderBinder) Init ¶
func (b *ShaderBinder) Init() (ok bool)
func (*ShaderBinder) Update ¶
func (b *ShaderBinder) Update(deltaTime int64) (ok bool)
type ShaderBinding ¶
type ShaderBinding struct { ObjectBase // contains filtered or unexported fields }
func NewShaderBinding ¶
func NewShaderBinding(shader Shader, boundStruct any, getBindingPointFunc func() uint32) *ShaderBinding
func (*ShaderBinding) Close ¶
func (b *ShaderBinding) Close()
func (*ShaderBinding) Init ¶
func (b *ShaderBinding) Init() (ok bool)
func (*ShaderBinding) UboNames ¶
func (b *ShaderBinding) UboNames() []uint32
func (*ShaderBinding) Update ¶
func (b *ShaderBinding) Update(_ int64) (ok bool)
type ShaderSource ¶
type ShaderTransform ¶
type Shape2D ¶
type Shape2D struct { WindowObjectBase // contains filtered or unexported fields }
func NewShape2D ¶
func NewShape2D() *Shape2D
func NewTriangle ¶
func (*Shape2D) SetTexture ¶
func (*Shape2D) SetThickness ¶
func (*Shape2D) SetViewport ¶
type Shape3D ¶
type Shape3D struct { WindowObjectBase // contains filtered or unexported fields }
func NewShape3D ¶
func NewShape3D() *Shape3D
func (*Shape3D) SetLighting ¶
func (*Shape3D) SetViewport ¶
type Signal ¶
type Signal struct {
// contains filtered or unexported fields
}
func (*Signal) AddSamples ¶
func (*Signal) AddTransformer ¶
func (s *Signal) AddTransformer(transformer Transformer)
func (*Signal) BufferSize ¶
func (*Signal) DeltaAverage ¶
func (*Signal) DeltaStdDev ¶
func (*Signal) DisableFFT ¶
func (s *Signal) DisableFFT()
func (*Signal) FFTEnabled ¶
func (*Signal) FilteredData ¶
func (*Signal) GetTransformer ¶
func (s *Signal) GetTransformer(name string) Transformer
func (*Signal) SetFFTSampleRate ¶
func (*Signal) TransformedData ¶
func (*Signal) TransformedDataLabels ¶
type SignalControl ¶
type SignalControl interface { *SignalLine | *SignalGroup }
type SignalGroup ¶
type SignalGroup struct { View // contains filtered or unexported fields }
func NewSignalGroup ¶
func NewSignalGroup(defaultSampleCount int, defaultLineThickness int, colors ...color.RGBA) *SignalGroup
func (*SignalGroup) Add ¶
func (g *SignalGroup) Add(signal *SignalLine) *SignalLine
func (*SignalGroup) Close ¶
func (g *SignalGroup) Close()
func (*SignalGroup) Draw ¶
func (g *SignalGroup) Draw(deltaTime int64) (ok bool)
func (*SignalGroup) EnableDataExportKey ¶
func (g *SignalGroup) EnableDataExportKey(key glfw.Key) *SignalGroup
func (*SignalGroup) EnableInspector ¶
func (g *SignalGroup) EnableInspector(inspectKey ...glfw.Key)
func (*SignalGroup) Init ¶
func (g *SignalGroup) Init() (ok bool)
func (*SignalGroup) InspectorPanel ¶
func (g *SignalGroup) InspectorPanel() *View
func (*SignalGroup) New ¶
func (g *SignalGroup) New(label string) *SignalLine
func (*SignalGroup) Remove ¶
func (g *SignalGroup) Remove(signal *SignalLine) *SignalLine
func (*SignalGroup) RemoveAt ¶
func (g *SignalGroup) RemoveAt(index int)
func (*SignalGroup) Resize ¶
func (g *SignalGroup) Resize(newWidth, newHeight int)
func (*SignalGroup) SetEnabled ¶
func (g *SignalGroup) SetEnabled(enabled bool) Object
func (*SignalGroup) SetInspectorAnchor ¶
func (g *SignalGroup) SetInspectorAnchor(anchor Anchor)
func (*SignalGroup) SetInspectorFontSize ¶
func (g *SignalGroup) SetInspectorFontSize(size float32) *SignalGroup
func (*SignalGroup) SetInspectorMargin ¶
func (g *SignalGroup) SetInspectorMargin(margin Margin) *SignalGroup
func (*SignalGroup) SetInspectorPanelSize ¶
func (g *SignalGroup) SetInspectorPanelSize(size float32) *SignalGroup
func (*SignalGroup) SetWindow ¶
func (g *SignalGroup) SetWindow(window *Window) WindowObject
func (*SignalGroup) Signals ¶
func (g *SignalGroup) Signals() []*SignalLine
func (*SignalGroup) Update ¶
func (g *SignalGroup) Update(deltaTime int64) (ok bool)
type SignalInspector ¶
type SignalInspector struct { WindowObjectBase // contains filtered or unexported fields }
func NewSignalInspector ¶
func NewSignalInspector[T SignalControl](parent T) *SignalInspector
func (*SignalInspector) Close ¶
func (i *SignalInspector) Close()
func (*SignalInspector) Draw ¶
func (i *SignalInspector) Draw(deltaTime int64) (ok bool)
func (*SignalInspector) Init ¶
func (i *SignalInspector) Init() (ok bool)
func (*SignalInspector) Panel ¶
func (i *SignalInspector) Panel() *View
func (*SignalInspector) Resize ¶
func (i *SignalInspector) Resize(newWidth, newHeight int)
func (*SignalInspector) SetFontSize ¶
func (i *SignalInspector) SetFontSize(size float32) *SignalInspector
func (*SignalInspector) SetMaintainAspectRatio ¶
func (i *SignalInspector) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*SignalInspector) SetPanelSize ¶
func (i *SignalInspector) SetPanelSize(size float32) *SignalInspector
func (*SignalInspector) SetWindow ¶
func (i *SignalInspector) SetWindow(window *Window) WindowObject
func (*SignalInspector) Update ¶
func (i *SignalInspector) Update(deltaTime int64) (ok bool)
type SignalLine ¶
func NewSignalLine ¶
func NewSignalLine(label string, sampleCount int) *SignalLine
func (*SignalLine) AddSamples ¶
func (l *SignalLine) AddSamples(data []float64)
func (*SignalLine) Close ¶
func (l *SignalLine) Close()
func (*SignalLine) Draw ¶
func (l *SignalLine) Draw(deltaTime int64) (ok bool)
func (*SignalLine) EnableDataExportKey ¶
func (l *SignalLine) EnableDataExportKey(key glfw.Key) *SignalLine
func (*SignalLine) EnableInspector ¶
func (l *SignalLine) EnableInspector(inspectKey ...glfw.Key)
func (*SignalLine) Init ¶
func (l *SignalLine) Init() (ok bool)
func (*SignalLine) InspectorPanel ¶
func (l *SignalLine) InspectorPanel() *View
func (*SignalLine) Label ¶
func (l *SignalLine) Label() *Label
func (*SignalLine) Resize ¶
func (l *SignalLine) Resize(newWidth, newHeight int)
func (*SignalLine) SetColor ¶
func (l *SignalLine) SetColor(rgba color.RGBA) WindowObject
func (*SignalLine) SetInspectorAnchor ¶
func (l *SignalLine) SetInspectorAnchor(anchor Anchor)
func (*SignalLine) SetInspectorFontSize ¶
func (l *SignalLine) SetInspectorFontSize(size float32) *SignalLine
func (*SignalLine) SetInspectorMargin ¶
func (l *SignalLine) SetInspectorMargin(margin Margin) *SignalLine
func (*SignalLine) SetInspectorPanelSize ¶
func (l *SignalLine) SetInspectorPanelSize(size float32) *SignalLine
func (*SignalLine) SetThickness ¶
func (l *SignalLine) SetThickness(thickness uint) *SignalLine
func (*SignalLine) SetWindow ¶
func (l *SignalLine) SetWindow(window *Window) WindowObject
func (*SignalLine) Thickness ¶
func (l *SignalLine) Thickness() uint
func (*SignalLine) Update ¶
func (l *SignalLine) Update(deltaTime int64) (ok bool)
type Slider ¶
type Slider struct { View // contains filtered or unexported fields }
func NewSlider ¶
func NewSlider(orientation Orientation, isButtonCircular ...bool) *Slider
func (*Slider) OnValueChanged ¶
func (s *Slider) OnValueChanged(handler func(sender WindowObject, value float32)) *Slider
func (*Slider) OnValueChanging ¶
func (s *Slider) OnValueChanging(handler func(sender WindowObject, value float32)) *Slider
func (*Slider) SetMouseSurface ¶
func (s *Slider) SetMouseSurface(surface MouseSurface)
func (*Slider) SetWindow ¶
func (s *Slider) SetWindow(window *Window) WindowObject
type TabGroup ¶
type TabGroup struct { WindowObjectBase // contains filtered or unexported fields }
func NewTabGroup ¶
func NewTabGroup(objects ...WindowObject) *TabGroup
func (*TabGroup) ActiveIndex ¶
func (*TabGroup) RecursiveMode ¶
func (*TabGroup) SetNavKeys ¶
func (*TabGroup) SetRecursiveMode ¶
func (*TabGroup) SetTabAction ¶
func (*TabGroup) Transition ¶
func (*TabGroup) TransitionNext ¶
func (*TabGroup) TransitionPrevious ¶
type TextAlignment ¶
type TextAlignment int
TextAlignment specifies how the text within Label objects should be positioned with respect to the "frame" of the Label, which is based on its scale.
const ( Centered TextAlignment = iota Left Right )
type Texture ¶
type Texture interface { GlAsset // Width shall return the width of the texture, in pixels. Width() int // Height shall return the height of the texture, in pixels. Height() int }
Texture assets represent texture maps that can be sampled by shaders by binding them to sampler2D variables.
type Texture2D ¶
type Texture2D struct { AssetBase // contains filtered or unexported fields }
func NewTexture2D ¶
func NewTexture2D[T TextureSource](name string, source T, config ...*TextureConfig) *Texture2D
type TextureConfig ¶
type TextureConfig struct { FilterQuality QualityLevel UWrapMode TextureWrapMode VWrapMode TextureWrapMode }
func NewTextureConfig ¶
func NewTextureConfig(filterQuality QualityLevel, wrapMode ...TextureWrapMode) *TextureConfig
func (*TextureConfig) GetFilterConfig ¶
func (c *TextureConfig) GetFilterConfig() (useMipMaps bool, minFilterMode, magFilterMode int32)
type TextureSource ¶
type TextureWrapMode ¶
type TextureWrapMode int32
const ( Repeat TextureWrapMode = gl.REPEAT Clamp TextureWrapMode = gl.CLAMP_TO_EDGE Mirror TextureWrapMode = gl.MIRRORED_REPEAT )
type Transform ¶
type Transform interface { ParentTransform() Transform SetParentTransform(Transform) Transform Origin() mgl32.Vec3 WorldOrigin() mgl32.Vec3 SetOrigin(mgl32.Vec3) Transform Position() mgl32.Vec3 WorldPosition() mgl32.Vec3 SetPosition(mgl32.Vec3) Transform SetPositionX(float32) Transform SetPositionY(float32) Transform SetPositionZ(float32) Transform Rotation() mgl32.Vec3 WorldRotation() mgl32.Vec3 SetRotation(mgl32.Vec3) Transform SetRotationX(float32) Transform SetRotationY(float32) Transform SetRotationZ(float32) Transform Scale() mgl32.Vec3 WorldScale() mgl32.Vec3 SetScale(mgl32.Vec3) Transform SetScaleX(float32) Transform SetScaleY(float32) Transform SetScaleZ(float32) Transform RotationQuat() mgl32.Quat SetRotationQuat(mgl32.Quat) Transform WorldMatrix() mgl32.Mat4 }
Transform Drawable objects are expected to have a transform that can be used to position the object in world space and within the context of a hierarchical parent/child structure. This type defines that contract.
type Transformer ¶
type Transformer interface { // Name shall return the unique name given to the transformer. Name() string SetName(string) // Enabled shall return true if this transformer should actually have an // effect on the data being passed through it. Enabled() bool SetEnabled(bool) // Transform shall perform the actual transformations to the data, // with the input provided to the src argument and the output in the // dst argument, optionally returning additional data as a float array. Transform(dst, src []float64) []float64 }
Transformer instances are used to transform the data being added to a signal, such as to translate from the time domain to the frequency domain.
type TransformerBase ¶
type TransformerBase struct {
// contains filtered or unexported fields
}
func NewTransformerBase ¶
func NewTransformerBase(name string) *TransformerBase
func (*TransformerBase) Enabled ¶
func (t *TransformerBase) Enabled() bool
func (*TransformerBase) Name ¶
func (t *TransformerBase) Name() string
func (*TransformerBase) SampleRate ¶
func (t *TransformerBase) SampleRate() float64
func (*TransformerBase) SetEnabled ¶
func (t *TransformerBase) SetEnabled(enabled bool)
func (*TransformerBase) SetName ¶
func (t *TransformerBase) SetName(name string)
func (*TransformerBase) Transform ¶
func (t *TransformerBase) Transform(dst, src []float64) []float64
type TrueTypeFont ¶
type TrueTypeFont struct { AssetBase // contains filtered or unexported fields }
func NewFont ¶
func NewFont[T FontSource](name string, source T) *TrueTypeFont
func (*TrueTypeFont) Close ¶
func (f *TrueTypeFont) Close()
func (*TrueTypeFont) Init ¶
func (f *TrueTypeFont) Init() bool
func (*TrueTypeFont) TTF ¶
func (f *TrueTypeFont) TTF() *truetype.Font
type VertexAttributeLayout ¶
type VertexAttributeLayout int
const ( // PositionOnlyVaoLayout Expected vertex shader attributes: a_Position PositionOnlyVaoLayout VertexAttributeLayout = iota // PositionColorVaoLayout Expected vertex shader attributes: a_Position, a_Color PositionColorVaoLayout // PositionUvVaoLayout Expected vertex shader attributes: a_Position, a_UV PositionUvVaoLayout // PositionNormalUvVaoLayout Expected vertex shader attributes: a_Position, a_Normal, a_UV PositionNormalUvVaoLayout // PositionNormalUvTangentsVaoLayout Expected vertex shader attributes: a_Position, a_Normal, a_UV, a_Tangent, a_Bitangent PositionNormalUvTangentsVaoLayout )
type View ¶
type View struct { WindowObjectBase // contains filtered or unexported fields }
func (*View) BlurEnabled ¶
func (*View) BlurIntensity ¶
func (*View) BorderColor ¶
func (*View) BorderThickness ¶
func (*View) SetBlurEnabled ¶
func (v *View) SetBlurEnabled(enabled bool) WindowObject
func (*View) SetBlurIntensity ¶
func (v *View) SetBlurIntensity(intensity float32) WindowObject
func (*View) SetBorderThickness ¶
func (*View) SetMaintainAspectRatio ¶
func (v *View) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*View) SetParent ¶
func (v *View) SetParent(parent WindowObject, recursive ...bool) WindowObject
func (*View) SetTexture ¶
func (*View) SetWindow ¶
func (v *View) SetWindow(window *Window) WindowObject
type Viewport ¶
type Viewport struct {
// contains filtered or unexported fields
}
func NewViewport ¶
func (*Viewport) SetWindowSize ¶
type Window ¶
type Window struct {
// contains filtered or unexported fields
}
func NewWindow ¶
func NewWindow(hints ...*WindowHints) *Window
func (*Window) AddKeyEventHandler ¶
func (*Window) AddObjects ¶
func (*Window) AddService ¶
func (*Window) AspectRatio ¶
func (*Window) AspectRatio2D ¶
func (*Window) AspectRatio2DInv ¶
func (*Window) AspectRatioInv ¶
func (*Window) Assets ¶
func (w *Window) Assets() (lib *AssetLibrary)
func (*Window) Borderless ¶
func (*Window) ClearColor ¶
func (*Window) ClearLabelCache ¶
func (w *Window) ClearLabelCache()
func (*Window) CloseObject ¶
func (*Window) CloseObjectAsync ¶
func (*Window) DisableOnBlur ¶
func (*Window) DisposeAllObjects ¶
func (w *Window) DisposeAllObjects()
func (*Window) DisposeAllObjectsAsync ¶
func (w *Window) DisposeAllObjectsAsync()
func (*Window) DisposeAllServices ¶
func (*Window) DisposeAllServicesAsync ¶
func (*Window) DisposeObject ¶
func (*Window) DisposeObjectAsync ¶
func (*Window) DisposeService ¶
func (*Window) DisposeServiceAsync ¶
func (*Window) EnableFullscreenKey ¶
func (*Window) EnableMouseTracking ¶
func (*Window) EnableQuitKey ¶
func (w *Window) EnableQuitKey(cancelFuncs ...context.CancelFunc) *Window
func (*Window) GetService ¶
func (*Window) InitObject ¶
func (*Window) InitObjectAsync ¶
func (*Window) InitService ¶
func (*Window) InitServiceAsync ¶
func (*Window) Initialized ¶
func (*Window) IsFullscreen ¶
func (*Window) IsSecondary ¶
func (*Window) Mouse ¶
func (w *Window) Mouse() *MouseState
func (*Window) MultiSamplingEnabled ¶
func (*Window) OverrideMouseState ¶
func (w *Window) OverrideMouseState(state *MouseState)
func (*Window) RemoveAllObjects ¶
func (w *Window) RemoveAllObjects()
func (*Window) RemoveKeyEventHandlers ¶
func (*Window) RemoveObject ¶
func (*Window) RemoveService ¶
func (*Window) SetFullscreenEnabled ¶
func (*Window) SetOpacity ¶
func (*Window) SetPosition ¶
func (*Window) SetSecondary ¶
func (*Window) SwapMouseButtons ¶
type WindowHints ¶
func NewWindowHints ¶
func NewWindowHints(borderless, resizable, multisampling bool) *WindowHints
type WindowObject ¶
type WindowObject interface { DrawableObject Transform Resizer Window() *Window SetWindow(*Window) WindowObject Color() color.RGBA SetColor(color.RGBA) WindowObject Opacity() uint8 SetOpacity(uint8) WindowObject BlurIntensity() float32 SetBlurIntensity(float32) WindowObject BlurEnabled() bool SetBlurEnabled(bool) WindowObject Width() float32 Height() float32 HalfWidth() float32 HalfHeight() float32 MaintainAspectRatio() bool SetMaintainAspectRatio(bool) WindowObject Anchor() Anchor SetAnchor(Anchor) WindowObject Margin() *Margin SetMargin(Margin) WindowObject SetMarginTop(float32) WindowObject SetMarginRight(float32) WindowObject SetMarginBottom(float32) WindowObject SetMarginLeft(float32) WindowObject Bounds() *Bounds OnResize(func(int, int)) RefreshLayout() Parent() WindowObject SetParent(WindowObject, ...bool) WindowObject AddChild(WindowObject) WindowObject AddChildren(...WindowObject) WindowObject RemoveChild(WindowObject) RemoveChildren() Child(string) WindowObject Children() []WindowObject }
WindowObject objects are drawable objects that are "window-aware," contain additional rendering and positioning properties, and those that allow them to form a hierarchical structure of parent/child objects.
type WindowObjectBase ¶
type WindowObjectBase struct { DrawableObjectBase ObjectTransform // contains filtered or unexported fields }
func NewWindowObject ¶
func NewWindowObject() *WindowObjectBase
func (*WindowObjectBase) AddChild ¶
func (o *WindowObjectBase) AddChild(child WindowObject) WindowObject
func (*WindowObjectBase) AddChildren ¶
func (o *WindowObjectBase) AddChildren(children ...WindowObject) WindowObject
func (*WindowObjectBase) Anchor ¶
func (o *WindowObjectBase) Anchor() Anchor
func (*WindowObjectBase) BlurEnabled ¶
func (o *WindowObjectBase) BlurEnabled() bool
func (*WindowObjectBase) BlurIntensity ¶
func (o *WindowObjectBase) BlurIntensity() float32
func (*WindowObjectBase) Bounds ¶
func (o *WindowObjectBase) Bounds() *Bounds
func (*WindowObjectBase) Child ¶
func (o *WindowObjectBase) Child(name string) WindowObject
func (*WindowObjectBase) Children ¶
func (o *WindowObjectBase) Children() []WindowObject
func (*WindowObjectBase) Close ¶
func (o *WindowObjectBase) Close()
func (*WindowObjectBase) Color ¶
func (o *WindowObjectBase) Color() color.RGBA
func (*WindowObjectBase) Draw ¶
func (o *WindowObjectBase) Draw(deltaTime int64) (ok bool)
func (*WindowObjectBase) HalfHeight ¶
func (o *WindowObjectBase) HalfHeight() float32
func (*WindowObjectBase) HalfWidth ¶
func (o *WindowObjectBase) HalfWidth() float32
func (*WindowObjectBase) Height ¶
func (o *WindowObjectBase) Height() float32
func (*WindowObjectBase) Init ¶
func (o *WindowObjectBase) Init() (ok bool)
func (*WindowObjectBase) MaintainAspectRatio ¶
func (o *WindowObjectBase) MaintainAspectRatio() bool
func (*WindowObjectBase) Margin ¶
func (o *WindowObjectBase) Margin() *Margin
func (*WindowObjectBase) OnResize ¶
func (o *WindowObjectBase) OnResize(handler func(newWidth, newHeight int))
func (*WindowObjectBase) Opacity ¶
func (o *WindowObjectBase) Opacity() uint8
func (*WindowObjectBase) Parent ¶
func (o *WindowObjectBase) Parent() WindowObject
func (*WindowObjectBase) RefreshLayout ¶
func (o *WindowObjectBase) RefreshLayout()
func (*WindowObjectBase) RemoveChild ¶
func (o *WindowObjectBase) RemoveChild(child WindowObject)
func (*WindowObjectBase) RemoveChildren ¶
func (o *WindowObjectBase) RemoveChildren()
func (*WindowObjectBase) Resize ¶
func (o *WindowObjectBase) Resize(newWidth, newHeight int)
func (*WindowObjectBase) SetAnchor ¶
func (o *WindowObjectBase) SetAnchor(anchor Anchor) WindowObject
func (*WindowObjectBase) SetBlurEnabled ¶
func (o *WindowObjectBase) SetBlurEnabled(enabled bool) WindowObject
func (*WindowObjectBase) SetBlurIntensity ¶
func (o *WindowObjectBase) SetBlurIntensity(intensity float32) WindowObject
func (*WindowObjectBase) SetColor ¶
func (o *WindowObjectBase) SetColor(rgba color.RGBA) WindowObject
func (*WindowObjectBase) SetMaintainAspectRatio ¶
func (o *WindowObjectBase) SetMaintainAspectRatio(maintainAspectRatio bool) WindowObject
func (*WindowObjectBase) SetMargin ¶
func (o *WindowObjectBase) SetMargin(margin Margin) WindowObject
func (*WindowObjectBase) SetMarginBottom ¶
func (o *WindowObjectBase) SetMarginBottom(margin float32) WindowObject
func (*WindowObjectBase) SetMarginLeft ¶
func (o *WindowObjectBase) SetMarginLeft(margin float32) WindowObject
func (*WindowObjectBase) SetMarginRight ¶
func (o *WindowObjectBase) SetMarginRight(margin float32) WindowObject
func (*WindowObjectBase) SetMarginTop ¶
func (o *WindowObjectBase) SetMarginTop(margin float32) WindowObject
func (*WindowObjectBase) SetOpacity ¶
func (o *WindowObjectBase) SetOpacity(alpha uint8) WindowObject
func (*WindowObjectBase) SetParent ¶
func (o *WindowObjectBase) SetParent(parent WindowObject, recursive ...bool) WindowObject
func (*WindowObjectBase) SetWindow ¶
func (o *WindowObjectBase) SetWindow(window *Window) WindowObject
func (*WindowObjectBase) Update ¶
func (o *WindowObjectBase) Update(deltaTime int64) (ok bool)
func (*WindowObjectBase) Width ¶
func (o *WindowObjectBase) Width() float32
func (*WindowObjectBase) Window ¶
func (o *WindowObjectBase) Window() *Window
Source Files ¶
- asset.go
- async.go
- bounds.go
- brush.go
- button.go
- camera.go
- canvas.go
- check.go
- color.go
- export.go
- filter.go
- font.go
- fps.go
- gl.go
- glfw.go
- input.go
- label.go
- layout.go
- light.go
- material.go
- model.go
- object.go
- quality.go
- service.go
- shader.go
- shape2d.go
- shape3d.go
- signal.go
- slider.go
- tabgroup.go
- texture.go
- transform.go
- transformer.go
- view.go
- viewport.go
- window.go
- winobj.go