Documentation
¶
Index ¶
- Constants
- Variables
- func LoadFont(path string) (text.Face, error)
- func LoadImage(path string) (*ebiten.Image, error)
- func RegisterWidget(name string, el Widget)
- func SetFontLoader(loader func(path string) (text.Face, error))
- func SetImageLoader(loader func(path string) (*ebiten.Image, error))
- func SetTemplateLoader(loader func(path string) (Nodes, error))
- type Alignment
- type AssignerBackgroundColor
- type AssignerBorderColor
- type AssignerDisable
- type AssignerFontFace
- type AssignerFontSize
- type AssignerForegroundColor
- type AssignerHeight
- type AssignerHorizontalAlignment
- type AssignerImage
- type AssignerImageStretch
- type AssignerOriginX
- type AssignerOriginY
- type AssignerText
- type AssignerTextWrap
- type AssignerVerticalAlignment
- type AssignerWidth
- type AssignerX
- type AssignerY
- type Event
- type EventCancelable
- type EventFocus
- type EventKeyInput
- type EventKeyPress
- type EventKeyRelease
- type EventPointerIn
- type EventPointerMove
- type EventPointerOut
- type EventPointerPress
- type EventPointerPressed
- type EventPointerRelease
- type EventUnfocus
- type GetterDisabled
- type GetterX
- type GetterY
- type HitChecker
- type ImageStretch
- type Layout
- func (l *Layout) AddNode(n Node) *Node
- func (l *Layout) ClearEvents()
- func (l *Layout) Draw(screen *ebiten.Image)
- func (l *Layout) Generate()
- func (l *Layout) GetByID(id string) *Node
- func (l *Layout) HasEvents() bool
- func (l *Layout) Layout(ctx LayoutContext)
- func (l *Layout) Parse(src string) error
- func (l *Layout) RemoveNode(n *Node)
- func (l *Layout) Update()
- type LayoutContext
- type LayoutWidget
- type Node
- type Nodes
- type ReceiverGenerate
- type ReceiverGlobalRelease
- type ReceiverPointerGlobalMove
- type ReceiverPointerIn
- type ReceiverPointerMove
- type ReceiverPointerOut
- type ReceiverPointerPress
- type ReceiverPointerPressed
- type ReceiverPointerRelease
- type Theme
- type Widget
- type Wrap
Constants ¶
const ( AlignLeft = style.Left AlignCenter = style.Center AlignRight = style.Right AlignTop = style.Top AlignMiddle = style.Middle AlignBottom = style.Bottom )
Our alignment types. See style package for more info.
Our wrapping types. See style package for more info.
const ( ImageStretchNone = style.None ImageStretchFill = style.Fill ImageStretchCover = style.Cover ImageStretchNearest = style.Nearest )
Our image scaling types. See style package for more info.
Variables ¶
var ( ErrNoImageLoader = errors.New("no image loader set") ErrNoFontLoader = errors.New("no font loader set") ErrNoTemplateLoader = errors.New("no template loader set") )
Errors
var CurrentTheme = style.CurrentTheme
CurrentTheme is an alias for style.CurrentTheme.
var DefaultTheme = style.DefaultTheme
DefaultTheme is an alias for style.DefaultTheme.
Functions ¶
func RegisterWidget ¶
RegisterWidget is used to register an Widget for parsing into the passed in type.
func SetFontLoader ¶
SetFontLoader sets the function to load a font by path.
func SetImageLoader ¶
SetImageLoader sets the function to load an image by path.
func SetTemplateLoader ¶
SetTemplateLoader sets the function to load a template by path.
Types ¶
type AssignerBackgroundColor ¶
type AssignerBackgroundColor = assigners.BackgroundColor
AssignerBackgroundColor is an alias.
type AssignerBorderColor ¶
type AssignerBorderColor = assigners.BorderColor
AssignerBorderColor is an alias.
type AssignerForegroundColor ¶
type AssignerForegroundColor = assigners.ForegroundColor
AssignerForegroundColor is an alias.
type AssignerHorizontalAlignment ¶
type AssignerHorizontalAlignment = assigners.HorizontalAlignment
AssignerHorizontalAlignment is an alias.
type AssignerImageStretch ¶
type AssignerImageStretch = assigners.ImageStretch
AssignerImageStretch is an alias.
type AssignerVerticalAlignment ¶
type AssignerVerticalAlignment = assigners.VerticalAlignment
AssignerVerticalAlignment is an alias.
type EventCancelable ¶
type EventCancelable interface {
Cancel()
Canceled() bool
}
EventCancelable is an event that is cancelable. This applies to all events.
type EventFocus ¶
EventFocus is triggered when a widget gains focus.
type EventKeyInput ¶
EventKeyInput is used to receive key input events. Only the focused element will receive this event.
type EventKeyPress ¶
EventKeyPress is used to receive key press events. Only the focused element will receive this event.
type EventKeyRelease ¶
type EventKeyRelease = *events.KeyRelease
EventKeyRelease is used to receive key release events. Only the focused element will receive this event.
type EventPointerIn ¶
EventPointerIn is an event that is triggered when a pointer enters an element.
type EventPointerMove ¶
type EventPointerMove = *events.PointerMove
EventPointerMove is an event that is triggered when a pointer within an element or when an element is pressed and the pointer moves anywhere.
type EventPointerOut ¶
type EventPointerOut = *events.PointerOut
EventPointerOut is an event that is triggered when a pointer leaves an element.
type EventPointerPress ¶
type EventPointerPress = *events.PointerPress
EventPointerPress is an event that is triggered when a pointer has depressed an element.
type EventPointerPressed ¶
type EventPointerPressed = *events.PointerPressed
EventPointerPressed is an event that is triggered when a pointer has depressed an element.
type EventPointerRelease ¶
type EventPointerRelease = *events.PointerRelease
EventPointerRelease is an event that is triggered when a pointer has released an element.
type EventUnfocus ¶
EventUnfocus is triggered when a widget has lost focus.
type HitChecker ¶
HitChecker checks if the given coordinate hits the target element.
type ImageStretch ¶
type ImageStretch = style.ImageStretch
ImageStretch is a type alias for style.ImageStretch.
type Layout ¶
type Layout struct {
RenderTarget *ebiten.Image
ClampPointers bool
Nodes Nodes
// contains filtered or unexported fields
}
Layout is used to control layout and manage evts.
func (*Layout) ClearEvents ¶
func (l *Layout) ClearEvents()
ClearEvents clears all events that have been processed, such as pointer presses, key presses, etc.
func (*Layout) Generate ¶
func (l *Layout) Generate()
Generate creates proper Widgets from the list of Nodes.
func (*Layout) RemoveNode ¶
RemoveNode removes the given node from the layout.
type LayoutContext ¶
LayoutContext is used to contain pertinent information for widget layout.
type LayoutWidget ¶
LayoutWidget is an optional interface that widgets can implement to allow for changing their size.
type Node ¶
type Node struct {
ID string
Type string
X string
Y string
Width string
Height string
OriginX string
OriginY string
Text string
TextWrap Wrap
Obfuscated bool
Font string
FontSize string
Widget Widget `json:"-"`
BackgroundColor string
ForegroundColor string
BorderColor string
BorderWidth string
VerticalAlign Alignment
HorizontalAlign Alignment
ImageStretch ImageStretch
Image string // ???
Source string // TODO: maybe merge with Image? This is only used by Templates atm.
FocusIndex int
Children Nodes
Hidden bool
Disabled bool
Parent *Node // Hmm... uncertain if this paradigm is wise.
// contains filtered or unexported fields
}
Node is a parseable structure used for determining element position, style, and beyond.
type Nodes ¶
type Nodes []*Node
Nodes are a slice of nodes, wow.
func LoadTemplate ¶
LoadTemplate loads the given path using the loader set in SetTemplateLoader
func (*Nodes) ForEach ¶
ForEach iterates through all nodes and traverses their children. If cb returns true, the for each processing is canceled.
func (*Nodes) ForEachDeepest ¶
ForEachDeepest iterates through nodes from the first to last with the deepest node in each occurring first.
type ReceiverGlobalRelease ¶
type ReceiverGlobalRelease = receivers.PointerGlobalRelease
ReceiverGlobalRelease is an alias.
type ReceiverPointerGlobalMove ¶
type ReceiverPointerGlobalMove = receivers.PointerGlobalMove
ReceiverPointerGlobalMove is an alias.
type ReceiverPointerIn ¶
ReceiverPointerIn is an alias.
type ReceiverPointerMove ¶
type ReceiverPointerMove = receivers.PointerMove
ReceiverPointerMove is an alias.
type ReceiverPointerOut ¶
type ReceiverPointerOut = receivers.PointerOut
ReceiverPointerOut is an alias.
type ReceiverPointerPress ¶
type ReceiverPointerPress = receivers.PointerPress
ReceiverPointerPress is an alias.
type ReceiverPointerPressed ¶
type ReceiverPointerPressed = receivers.PointerPressed
ReceiverPointerPressed is an alias.
type ReceiverPointerRelease ¶
type ReceiverPointerRelease = receivers.PointerRelease
ReceiverPointerRelease is an alias.