Documentation ¶
Overview ¶
Package gui implements the GUI infraestructure and several widgets.
Index ¶
- Constants
- type Align
- type BorderSizes
- type Button
- type ButtonStyle
- type ButtonStyles
- type CheckRadio
- type CheckRadioStyle
- type CheckRadioStyles
- type ControlFolder
- type ControlFolderGroup
- type ControlFolderStyles
- type DockLayout
- type DockLayoutParams
- type DropDown
- func (dd *DropDown) Add(item *ImageLabel)
- func (dd *DropDown) InsertAt(pos int, item *ImageLabel)
- func (dd *DropDown) ItemAt(pos int) *ImageLabel
- func (dd *DropDown) RemoveAt(pos int)
- func (dd *DropDown) SelectPos(pos int)
- func (dd *DropDown) Selected() *ImageLabel
- func (dd *DropDown) SetSelected(item *ImageLabel)
- type DropDownStyle
- type DropDownStyles
- type Edit
- func (ed *Edit) CursorBack()
- func (ed *Edit) CursorDelete()
- func (ed *Edit) CursorEnd()
- func (ed *Edit) CursorHome()
- func (ed *Edit) CursorInput(s string)
- func (ed *Edit) CursorLeft()
- func (ed *Edit) CursorPos(col int)
- func (ed *Edit) CursorRight()
- func (ed *Edit) LostKeyFocus()
- func (ed *Edit) SetFontSize(size float64) *Edit
- func (ed *Edit) SetStyles(es *EditStyles)
- func (ed *Edit) SetText(text string) *Edit
- func (ed *Edit) Text() string
- type EditStyle
- type EditStyles
- type FillLayout
- type Folder
- type FolderStyle
- type FolderStyles
- type GridLayout
- type GridLayoutParams
- type HBoxLayout
- type HBoxLayoutParams
- type ILayout
- type IPanel
- type Image
- type ImageLabel
- func (il *ImageLabel) CopyFields(other *ImageLabel)
- func (il *ImageLabel) SetBgColor(color *math32.Color)
- func (il *ImageLabel) SetBgColor4(color *math32.Color4)
- func (il *ImageLabel) SetColor(color *math32.Color)
- func (il *ImageLabel) SetColor4(color *math32.Color4)
- func (il *ImageLabel) SetFontSize(size float64)
- func (il *ImageLabel) SetIcon(icode int)
- func (il *ImageLabel) SetImage(img *Image)
- func (il *ImageLabel) SetImageFromFile(imgfile string) error
- func (il *ImageLabel) SetText(text string)
- func (il *ImageLabel) Text() string
- type ImageLabelStyle
- type Label
- func (l *Label) BgColor() math32.Color4
- func (l *Label) Color() math32.Color4
- func (l *Label) FontSize() float64
- func (l *Label) SetBgColor(color *math32.Color) *Label
- func (l *Label) SetBgColor4(color *math32.Color4) *Label
- func (l *Label) SetColor(color *math32.Color) *Label
- func (l *Label) SetColor4(color4 *math32.Color4) *Label
- func (l *Label) SetFontSize(size float64) *Label
- func (l *Label) SetText(msg string)
- func (l *Label) Text() string
- type List
- func (li *List) Add(item IPanel)
- func (li *List) InsertAt(pos int, item IPanel)
- func (li *List) ItemAt(pos int) IPanel
- func (li *List) ItemPosition(item IPanel) int
- func (li *List) Remove(item IPanel)
- func (li *List) RemoveAt(pos int)
- func (li *List) SelectPos(pos int, state bool)
- func (li *List) Selected() []IPanel
- func (li *List) SetItemPadLeftAt(pos int, pad float32)
- func (li *List) SetSelected(item IPanel, state bool)
- func (li *List) SetSingle(state bool)
- func (li *List) SetStyles(s *ListStyles)
- func (li *List) Single() bool
- type ListItem
- type ListItemStyle
- type ListItemStyles
- type ListStyles
- type Panel
- func (p *Panel) Add(ichild IPanel) *Panel
- func (p *Panel) Borders() BorderSizes
- func (p *Panel) BordersColor4() math32.Color4
- func (p *Panel) Bounded() bool
- func (p *Panel) Color4() math32.Color4
- func (p *Panel) ContainsPosition(x, y float32) bool
- func (p *Panel) ContentHeight() float32
- func (p *Panel) ContentWidth() float32
- func (p *Panel) Enabled() bool
- func (pan *Panel) GetPanel() *Panel
- func (p *Panel) Height() float32
- func (p *Panel) Initialize(width, height float32)
- func (p *Panel) LostKeyFocus()
- func (p *Panel) Margins() BorderSizes
- func (p *Panel) Material() *material.Material
- func (p *Panel) MinHeight() float32
- func (p *Panel) MinWidth() float32
- func (p *Panel) Paddings() BorderSizes
- func (p *Panel) Remove(ichild IPanel) bool
- func (p *Panel) RenderSetup(gl *gls.GLS, rinfo *core.RenderInfo)
- func (p *Panel) SetBorders(top, right, bottom, left float32)
- func (p *Panel) SetBordersColor(color *math32.Color)
- func (p *Panel) SetBordersColor4(color *math32.Color4)
- func (p *Panel) SetBordersFrom(src *BorderSizes)
- func (p *Panel) SetBounded(bounded bool)
- func (p *Panel) SetColor(color *math32.Color) *Panel
- func (p *Panel) SetColor4(color *math32.Color4) *Panel
- func (p *Panel) SetContentAspectHeight(height float32)
- func (p *Panel) SetContentAspectWidth(width float32)
- func (p *Panel) SetContentHeight(height float32)
- func (p *Panel) SetContentSize(width, height float32)
- func (p *Panel) SetContentWidth(width float32)
- func (p *Panel) SetEnabled(state bool)
- func (p *Panel) SetForeground()
- func (p *Panel) SetHeight(height float32)
- func (p *Panel) SetHighlighted2(state bool)
- func (p *Panel) SetLayout(ilayout ILayout)
- func (p *Panel) SetLayoutParams(params interface{})
- func (p *Panel) SetMargins(top, right, bottom, left float32)
- func (p *Panel) SetMarginsFrom(src *BorderSizes)
- func (p *Panel) SetPaddings(top, right, bottom, left float32)
- func (p *Panel) SetPaddingsColor(color *math32.Color)
- func (p *Panel) SetPaddingsFrom(src *BorderSizes)
- func (p *Panel) SetPosition(x, y float32)
- func (pan *Panel) SetRoot(root *Root)
- func (p *Panel) SetSelected2(state bool)
- func (p *Panel) SetSize(width, height float32)
- func (p *Panel) SetTopChild(ipan IPanel)
- func (p *Panel) SetWidth(width float32)
- func (p *Panel) TotalHeight() float32
- func (p *Panel) UpdateMatrixWorld()
- func (p *Panel) Width() float32
- type Rect
- type Resizable
- type Root
- func (r *Root) Add(ipan IPanel)
- func (r *Root) ClearKeyFocus()
- func (r *Root) HasKeyFocus(ipan IPanel) bool
- func (r *Root) HasMouseFocus(ipan IPanel) bool
- func (r *Root) SetCursorDrag()
- func (r *Root) SetCursorHResize()
- func (r *Root) SetCursorNormal()
- func (r *Root) SetCursorVResize()
- func (r *Root) SetKeyFocus(ipan IPanel)
- func (r *Root) SetMouseFocus(ipan IPanel)
- func (r *Root) SetScrollFocus(ipan IPanel)
- func (r *Root) StopPropagation(events int)
- func (r *Root) SubscribeWin()
- type ScrollBar
- type ScrollBarButtonStyle
- type ScrollBarStyle
- type Scroller
- func (s *Scroller) Add(item IPanel)
- func (s *Scroller) ApplyStyle(style int)
- func (s *Scroller) Clear()
- func (s *Scroller) First() int
- func (s *Scroller) InsertAt(pos int, item IPanel)
- func (s *Scroller) ItemAt(pos int) IPanel
- func (s *Scroller) ItemPosition(item IPanel) int
- func (s *Scroller) ItemVisible(pos int) bool
- func (s *Scroller) Len() int
- func (s *Scroller) Remove(item IPanel)
- func (s *Scroller) RemoveAt(pos int)
- func (s *Scroller) ScrollDown()
- func (s *Scroller) ScrollUp()
- func (s *Scroller) SetAutoHeight(maxHeight float32)
- func (s *Scroller) SetAutoWidth(maxWidth float32)
- func (s *Scroller) SetFirst(pos int)
- func (s *Scroller) SetStyles(ss *ScrollerStyles)
- type ScrollerStyle
- type ScrollerStyles
- type Slider
- type SliderStyle
- type SliderStyles
- type Splitter
- type SplitterStyle
- type SplitterStyles
- type Style
- type Tree
- func (t *Tree) Add(ichild IPanel)
- func (t *Tree) AddNode(text string) *TreeNode
- func (t *Tree) FindChild(child IPanel) (*TreeNode, int)
- func (t *Tree) Initialize(width, height float32)
- func (t *Tree) InsertAt(pos int, child IPanel)
- func (t *Tree) InsertNodeAt(pos int, text string) *TreeNode
- func (t *Tree) Remove(child IPanel)
- func (t *Tree) Selected() IPanel
- func (t *Tree) SetStyles(s *TreeStyles)
- type TreeNode
- func (n *TreeNode) Add(child IPanel)
- func (n *TreeNode) AddNode(text string) *TreeNode
- func (n *TreeNode) FindChild(child IPanel) (*TreeNode, int)
- func (n *TreeNode) InsertAt(pos int, child IPanel)
- func (n *TreeNode) InsertNodeAt(pos int, text string) *TreeNode
- func (n *TreeNode) Len() int
- func (n *TreeNode) Remove(child IPanel)
- func (n *TreeNode) SetExpanded(state bool)
- type TreeNodeStyle
- type TreeNodeStyles
- type TreeStyles
- type VBoxLayout
- type VBoxLayoutParams
- type Window
- type WindowStyle
- type WindowStyles
- type WindowTitle
Constants ¶
const ( AlignNone = Align(iota) // No aligh AlignLeft // Align horizontally at left AlignRight // Align horizontally at right AlignWidth // Align horizontally using all width AlignTop // Align vertically at the top AlignBottom // Align vertically at the cnter AlignHeight // Align vertically using all height AlignCenter // Align horizontally/vertically at the center )
const ( DockTop = iota + 1 DockRight DockBottom DockLeft DockCenter )
const ( OnClick = "gui.OnClick" // Widget clicked by mouse or key OnCursor = window.OnCursor // cursor (mouse) position events OnCursorEnter = "gui.OnCursorEnter" // cursor enters the panel area OnCursorLeave = "gui.OnCursorLeave" // cursor leaves the panel area OnMouseDown = window.OnMouseDown // any mouse button is pressed OnMouseUp = window.OnMouseUp // any mouse button is released OnMouseOut = "gui.OnMouseOut" // mouse button pressed outside of the panel OnKeyDown = window.OnKeyDown // key is pressed OnKeyUp = window.OnKeyUp // key is released OnKeyRepeat = window.OnKeyRepeat // key is pressed again by automatic repeat OnChar = window.OnChar // key is pressed and has unicode OnResize = "gui.OnResize" // panel size changed (no parameters) OnEnable = "gui.OnEnable" // panel enabled state changed (no parameters) OnChange = "gui.OnChange" // onChange is emitted by List, DropDownList, CheckBox and Edit OnScroll = window.OnScroll // scroll event OnChild = "gui.OnChild" // child added to or removed from panel OnRadioGroup = "gui.OnRadioGroup" // radio button from a group changed state )
Consolidate window events plus GUI events
const ( StopGUI = 0x01 // Stop event propagation to GUI Stop3D = 0x02 // Stop event propagation to 3D StopAll = StopGUI | Stop3D // Stop event propagation )
const ( OverStyle = iota + 1 FocusStyle DisabledStyle NormalStyle DefaultStyle )
const ( ResizeTop = Resizable(1 << (iota + 1)) ResizeRight ResizeBottom ResizeLeft ResizeAll = ResizeTop | ResizeRight | ResizeBottom | ResizeLeft )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BorderSizes ¶
func (*BorderSizes) Set ¶
func (bs *BorderSizes) Set(top, right, bottom, left float32)
type Button ¶
type Button struct { *Panel // Embedded Panel Label *Label // Label panel // contains filtered or unexported fields }
func NewButton ¶
NewButton creates and returns a pointer to a new button widget with the specified text for the button label.
func (*Button) SetIcon ¶
SetIcon sets the button icon from the default Icon font. If there is currently a selected image, it is removed
func (*Button) SetImage ¶
SetImage sets the button left image from the specified filename If there is currently a selected icon, it is removed
func (*Button) SetStyles ¶
func (b *Button) SetStyles(bs *ButtonStyles)
SetStyles set the button styles overriding the default style
type ButtonStyle ¶
type ButtonStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color FgColor math32.Color }
Button style
type ButtonStyles ¶
type ButtonStyles struct { Normal ButtonStyle Over ButtonStyle Focus ButtonStyle Pressed ButtonStyle Disabled ButtonStyle }
All Button styles
type CheckRadio ¶
type CheckRadio struct { Panel // Embedded panel Label *Label // Text label // contains filtered or unexported fields }
func NewCheckBox ¶
func NewCheckBox(text string) *CheckRadio
NewCheckBox creates and returns a pointer to a new CheckBox widget with the specified text
func NewRadioButton ¶
func NewRadioButton(text string) *CheckRadio
NewRadioButton creates and returns a pointer to a new RadioButton widget with the specified text
func (*CheckRadio) Group ¶
func (cb *CheckRadio) Group() string
Group returns the name of the radio group
func (*CheckRadio) SetGroup ¶
func (cb *CheckRadio) SetGroup(group string)
SetGroup sets the name of the radio group
func (*CheckRadio) SetRoot ¶
func (cb *CheckRadio) SetRoot(root *Root)
SetRoot overrides the IPanel.SetRoot method
func (*CheckRadio) SetStyles ¶
func (cb *CheckRadio) SetStyles(bs *CheckRadioStyles)
SetStyles set the button styles overriding the default style
func (*CheckRadio) SetValue ¶
func (cb *CheckRadio) SetValue(state bool) *CheckRadio
SetValue sets the current state of the checkbox
func (*CheckRadio) Value ¶
func (cb *CheckRadio) Value() bool
Value returns the current state of the checkbox
type CheckRadioStyle ¶
type CheckRadioStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color4 FgColor math32.Color }
type CheckRadioStyles ¶
type CheckRadioStyles struct { Normal CheckRadioStyle Over CheckRadioStyle Focus CheckRadioStyle Disabled CheckRadioStyle }
type ControlFolder ¶
type ControlFolder struct { Folder // Embedded folder // contains filtered or unexported fields }
func NewControlFolder ¶
func NewControlFolder(text string, width float32) *ControlFolder
NewControlFolder creates and returns a pointer to a new control folder widget with the specified text and initial width
func (*ControlFolder) AddCheckBox ¶
func (f *ControlFolder) AddCheckBox(text string) *CheckRadio
func (*ControlFolder) AddGroup ¶
func (f *ControlFolder) AddGroup(text string) *ControlFolderGroup
func (*ControlFolder) AddSlider ¶
func (f *ControlFolder) AddSlider(text string, sf, v float32) *Slider
func (*ControlFolder) Clear ¶
func (f *ControlFolder) Clear()
func (*ControlFolder) Initialize ¶
func (f *ControlFolder) Initialize(text string, width float32)
Initialize initializes the control folder with the specified text and initial width It is normally used when the control folder is embedded in another object
type ControlFolderGroup ¶
type ControlFolderGroup struct {
// contains filtered or unexported fields
}
func (*ControlFolderGroup) AddCheckBox ¶
func (g *ControlFolderGroup) AddCheckBox(text string) *CheckRadio
type ControlFolderStyles ¶
type ControlFolderStyles struct { Folder *FolderStyles Tree *TreeStyles }
type DockLayout ¶
type DockLayout struct { }
func NewDockLayout ¶
func NewDockLayout() *DockLayout
func (*DockLayout) Recalc ¶
func (dl *DockLayout) Recalc(ipan IPanel)
type DockLayoutParams ¶
type DockLayoutParams struct {
Edge int
}
type DropDown ¶
type DropDown struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewDropDown ¶
func NewDropDown(width float32, item *ImageLabel) *DropDown
NewDropDown creates and returns a pointer to a new drop down widget with the specified width.
func (*DropDown) Add ¶
func (dd *DropDown) Add(item *ImageLabel)
Add add a list item at the end of the list
func (*DropDown) InsertAt ¶
func (dd *DropDown) InsertAt(pos int, item *ImageLabel)
InsertAt inserts a list item at the specified position Returs true if the item was successfuly inserted
func (*DropDown) ItemAt ¶
func (dd *DropDown) ItemAt(pos int) *ImageLabel
ItemAt returns the list item at the specified position
func (*DropDown) RemoveAt ¶
RemoveAt removes the list item from the specified position Returs true if the item was successfuly removed
func (*DropDown) Selected ¶
func (dd *DropDown) Selected() *ImageLabel
Returns the currently selected item or nil if not item was selected
func (*DropDown) SetSelected ¶
func (dd *DropDown) SetSelected(item *ImageLabel)
SetSelected sets the selected item
type DropDownStyle ¶
type DropDownStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color FgColor math32.Color }
DropDown list style
type DropDownStyles ¶
type DropDownStyles struct { Normal *DropDownStyle Over *DropDownStyle Focus *DropDownStyle Disabled *DropDownStyle }
DropDown list styles
type Edit ¶
type Edit struct { Label // Embedded label MaxLength int // Maximum number of characters // contains filtered or unexported fields }
func (*Edit) CursorBack ¶
func (ed *Edit) CursorBack()
CursorBack deletes the character at left of the cursor if possible
func (*Edit) CursorDelete ¶
func (ed *Edit) CursorDelete()
CursorDelete deletes the character at the right of the cursor if possible
func (*Edit) CursorEnd ¶
func (ed *Edit) CursorEnd()
CursorEnd moves the edit cursor to the end of the text
func (*Edit) CursorHome ¶
func (ed *Edit) CursorHome()
CursorHome moves the edit cursor to the beginning of the text
func (*Edit) CursorInput ¶
CursorInput inserts the specified string at the current cursor position
func (*Edit) CursorLeft ¶
func (ed *Edit) CursorLeft()
CursorLeft moves the edit cursor one character left if possible
func (*Edit) CursorPos ¶
CursorPos sets the position of the cursor at the specified column if possible
func (*Edit) CursorRight ¶
func (ed *Edit) CursorRight()
CursorRight moves the edit cursor one character right if possible
func (*Edit) LostKeyFocus ¶
func (ed *Edit) LostKeyFocus()
LostKeyFocus satisfies the IPanel interface and is called by gui root container when the panel loses the key focus
func (*Edit) SetFontSize ¶
SetFontSize sets label font size (overrides Label.SetFontSize)
func (*Edit) SetStyles ¶
func (ed *Edit) SetStyles(es *EditStyles)
SetStyles set the button styles overriding the default style
type EditStyles ¶
type FillLayout ¶
type FillLayout struct {
// contains filtered or unexported fields
}
func NewFillLayout ¶
func NewFillLayout(width, height bool) *FillLayout
NewFillLayout creates and returns a pointer of a new fill layout
func (*FillLayout) Recalc ¶
func (f *FillLayout) Recalc(ipan IPanel)
Recalc is called by the panel which has this layout
type Folder ¶
type Folder struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewFolder ¶
NewFolder creates and returns a pointer to a new folder widget with the specified text and initial width
func (*Folder) Initialize ¶
Initialize initializes the Folder with the specified text and initial width It is normally used when the folder is embedded in another object
func (*Folder) SetAlignRight ¶
SetAlignRight sets the side of the alignment of the content panel in relation to the folder
func (*Folder) SetStyles ¶
func (f *Folder) SetStyles(fs *FolderStyles)
SetStyles set the folder styles overriding the default style
func (*Folder) TotalHeight ¶
TotalHeight returns this folder total height considering the contents panel, if visible
type FolderStyle ¶
type FolderStyle struct { Margins BorderSizes Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color FgColor math32.Color Icons [2]int }
type FolderStyles ¶
type FolderStyles struct { Normal *FolderStyle Over *FolderStyle Focus *FolderStyle Disabled *FolderStyle }
type GridLayout ¶
type GridLayout struct {
// contains filtered or unexported fields
}
func NewGridLayout ¶
func NewGridLayout() *GridLayout
NewGridLayout creates and returns a pointer of a new grid layout
func (*GridLayout) Recalc ¶
func (g *GridLayout) Recalc(ipan IPanel)
type GridLayoutParams ¶
type HBoxLayout ¶
type HBoxLayout struct {
// contains filtered or unexported fields
}
func NewHBoxLayout ¶
func NewHBoxLayout() *HBoxLayout
NewHBoxLayout creates and returns a pointer to a new horizontal box layout
func (*HBoxLayout) Recalc ¶
func (bl *HBoxLayout) Recalc(ipan IPanel)
Recalc recalculates and sets the position and sizes of all children
func (*HBoxLayout) SetAlignH ¶
func (bl *HBoxLayout) SetAlignH(align Align)
SetAlignH sets the horizontal alignment of the whole group of items inside the parent panel and updates the layout if possible. This only has any effect if there are no expanded items.
func (*HBoxLayout) SetSpacing ¶
func (bl *HBoxLayout) SetSpacing(spacing float32)
SetSpacing sets the horizontal spacing between the items in pixels and updates the layout if possible
type HBoxLayoutParams ¶
type HBoxLayoutParams struct { Expand float32 // item expand horizontally factor (0 - no expand) AlignV Align // item vertical alignment }
Parameters for individual children
type IPanel ¶
type IPanel interface { graphic.IGraphic GetPanel() *Panel SetRoot(*Root) LostKeyFocus() TotalHeight() float32 }
IPanel is the interface for all panel types
type Image ¶
type Image struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewImage ¶
NewImage creates and returns an image panel with the image from the specified image used as a texture. Initially the size of the panel content area is the exact size of the image.
func NewImageFromRGBA ¶
NewImageFromRGBA creates and returns an image panel from the specified image
func NewImageFromTex ¶
NewImageFromTex creates and returns an image panel from the specified texture2D
type ImageLabel ¶
type ImageLabel struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewImageLabel ¶
func NewImageLabel(text string) *ImageLabel
NewImageLabel creates and returns a pointer to a new image label widget with the specified text for the label and no image/icon
func (*ImageLabel) CopyFields ¶
func (il *ImageLabel) CopyFields(other *ImageLabel)
CopyFields copies another image label icon/image and text to this one
func (*ImageLabel) SetBgColor ¶
func (il *ImageLabel) SetBgColor(color *math32.Color)
SetBgColor sets the color of the image label background The color alpha is set to 1.0
func (*ImageLabel) SetBgColor4 ¶
func (il *ImageLabel) SetBgColor4(color *math32.Color4)
SetBgColor4 sets the color4 of the image label background
func (*ImageLabel) SetColor ¶
func (il *ImageLabel) SetColor(color *math32.Color)
SetColor sets the color of the label and icon text
func (*ImageLabel) SetColor4 ¶
func (il *ImageLabel) SetColor4(color *math32.Color4)
SetColor4 sets the color4 of the label and icon
func (*ImageLabel) SetFontSize ¶
func (il *ImageLabel) SetFontSize(size float64)
SetFontSize sets the size of the image label font size
func (*ImageLabel) SetIcon ¶
func (il *ImageLabel) SetIcon(icode int)
SetIcon sets the image label icon from the default Icon font. If there is currently a selected image, it is removed
func (*ImageLabel) SetImage ¶
func (il *ImageLabel) SetImage(img *Image)
SetImage sets the image label image
func (*ImageLabel) SetImageFromFile ¶
func (il *ImageLabel) SetImageFromFile(imgfile string) error
SetImageFromFile sets the image label image from the specified filename If there is currently a selected icon, it is removed
func (*ImageLabel) SetText ¶
func (il *ImageLabel) SetText(text string)
SetText sets the text of the image label
type ImageLabelStyle ¶
type ImageLabelStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color4 FgColor math32.Color4 }
ImageLabel style
type Label ¶
type Label struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewIconLabel ¶
NewIconLabel creates and returns a label panel using the specified text drawn using the default icon font.
func NewLabel ¶
NewLabel creates and returns a label panel with the specified text drawn using the current default font.
func (*Label) SetBgColor ¶
SetBgColor sets the color of the label background The color alpha is set to 1.0
func (*Label) SetBgColor4 ¶
SetBgColor4 sets the color4 of the label background
func (*Label) SetFontSize ¶
SetFontSize sets label font size
type List ¶
type List struct { Scroller // Embedded scroller // contains filtered or unexported fields }
func NewHList ¶
NewHList creates and returns a pointer to a new horizontal list panel with the specified dimensions
func NewVList ¶
NewVList creates and returns a pointer to a new vertical list panel with the specified dimensions
func (*List) InsertAt ¶
InsertAt inserts a list item at the specified position Returs true if the item was successfuly inserted
func (*List) ItemPosition ¶
ItemPosition returns the position of the specified item in the list or -1 if not found
func (*List) RemoveAt ¶
RemoveAt removes the list item from the specified position Returns true if the item was successfuly removed
func (*List) SetItemPadLeftAt ¶
SetItemPadLeftAt sets the additional left padding for this item It is used mainly by the tree control
func (*List) SetSelected ¶
Select selects or unselects the specified item
func (*List) SetStyles ¶
func (li *List) SetStyles(s *ListStyles)
SetStyles set the listr styles overriding the default style
type ListItem ¶
type ListItem struct { Panel // Container panel // contains filtered or unexported fields }
All items inserted into the list are encapsulated inside a ListItem
func (*ListItem) SetHighlighted ¶
setHighlighted sets this item selected state
func (*ListItem) SetSelected ¶
setSelected sets this item selected state
type ListItemStyle ¶
type ListItemStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color4 FgColor math32.Color }
type ListItemStyles ¶
type ListItemStyles struct { Normal ListItemStyle Over ListItemStyle Selected ListItemStyle Highlighted ListItemStyle SelHigh ListItemStyle }
type ListStyles ¶
type ListStyles struct { Scroller *ScrollerStyles Item *ListItemStyles }
type Panel ¶
func NewPanel ¶
NewPanel creates and returns a pointer to a new panel with the specified dimensions in pixels
func (*Panel) Borders ¶
func (p *Panel) Borders() BorderSizes
Borders returns this panel current border sizes
func (*Panel) BordersColor4 ¶
BorderColor4 returns current border color
func (*Panel) ContainsPosition ¶
ContainsPosition returns indication if this panel contains the specified screen position in pixels.
func (*Panel) ContentHeight ¶
ContentHeight returns the current height of the content area in pixels
func (*Panel) ContentWidth ¶
ContentWidth returns the current width of the content area in pixels
func (*Panel) Initialize ¶
Initialize initializes this panel and is normally used by other types which embed a panel.
func (*Panel) LostKeyFocus ¶
func (p *Panel) LostKeyFocus()
LostKeyFocus satisfies the IPanel interface and is called by gui root container when the panel loses the key focus
func (*Panel) Margins ¶
func (p *Panel) Margins() BorderSizes
Margins returns the current margin sizes in pixels
func (*Panel) Paddings ¶
func (p *Panel) Paddings() BorderSizes
Paddings returns this panel padding sizes in pixels
func (*Panel) RenderSetup ¶
func (p *Panel) RenderSetup(gl *gls.GLS, rinfo *core.RenderInfo)
RenderSetup is called by the Engine before drawing the object
func (*Panel) SetBorders ¶
SetBorders sets this panel border sizes in pixels and recalculates the panel external size
func (*Panel) SetBordersColor ¶
SetBordersColor sets the color of this panel borders The borders opacity is set to 1.0 (full opaque)
func (*Panel) SetBordersColor4 ¶
SetBordersColor4 sets the color and opacity of this panel borders
func (*Panel) SetBordersFrom ¶
func (p *Panel) SetBordersFrom(src *BorderSizes)
SetBordersFrom sets this panel border sizes from the specified BorderSizes pointer and recalculates the panel size
func (*Panel) SetBounded ¶
SetBounded sets this panel bounded state
func (*Panel) SetContentAspectHeight ¶
SetContentAspectHeight sets the height of the content area of the panel to the specified value and adjusts its width to keep the same aspect ratio.
func (*Panel) SetContentAspectWidth ¶
SetContentAspectWidth sets the width of the content area of the panel to the specified value and adjusts its height to keep the same aspect radio.
func (*Panel) SetContentHeight ¶
SetContentHeight sets this panel content height to the specified dimension in pixels. The external size of the panel may increase or decrease to acomodate the new width
func (*Panel) SetContentSize ¶
SetContentSize sets this panel content size to the specified dimensions. The external size of the panel may increase or decrease to acomodate the new content size.
func (*Panel) SetContentWidth ¶
SetContentWidth sets this panel content width to the specified dimension in pixels. The external size of the panel may increase or decrease to acomodate the new width
func (*Panel) SetEnabled ¶
SetEnabled sets the panel enabled state A disabled panel do not process key or mouse events.
func (*Panel) SetForeground ¶
func (p *Panel) SetForeground()
SetTopChild sets this panel to be on the foreground in relation to all its siblings.
func (*Panel) SetHeight ¶
SetHeight sets this panel external height in pixels. The internal panel areas and positions are recalculated
func (*Panel) SetHighlighted2 ¶
SetHighlighted satisfies the IPanel interface and is normally called by a list container to change the panel visual appearance
func (*Panel) SetLayout ¶
SetLayout sets the layout to use to position the children of this panel To remove the layout, call this function passing nil as parameter.
func (*Panel) SetLayoutParams ¶
func (p *Panel) SetLayoutParams(params interface{})
SetLayoutParams sets the layout parameters for this panel
func (*Panel) SetMargins ¶
SetMargins set this panel margin sizes in pixels and recalculates the panel external size
func (*Panel) SetMarginsFrom ¶
func (p *Panel) SetMarginsFrom(src *BorderSizes)
SetMarginsFrom sets this panel margins sizes from the specified BorderSizes pointer and recalculates the panel external size
func (*Panel) SetPaddings ¶
SetPaddings sets the panel padding sizes in pixels
func (*Panel) SetPaddingsColor ¶
SetPaddingsColor sets the color of this panel paddings.
func (*Panel) SetPaddingsFrom ¶
func (p *Panel) SetPaddingsFrom(src *BorderSizes)
SetPaddingsFrom sets this panel padding sizes from the specified BorderSizes pointer and recalculates the panel size
func (*Panel) SetPosition ¶
SetPosition sets this panel absolute position in pixel coordinates from left to right and from top to bottom of the screen.
func (*Panel) SetRoot ¶
SetRoot satisfies the IPanel interface and sets the pointer to this panel root container
func (*Panel) SetSelected2 ¶
SetSelected satisfies the IPanel interface and is normally called by a list container to change the panel visual appearance
func (*Panel) SetTopChild ¶
SetTopChild sets the Z coordinate of the specified panel to be on top of all other children of this panel. The function does not check if the specified panel is a child of this one.
func (*Panel) SetWidth ¶
SetWidth sets this panel external width in pixels. The internal panel areas and positions are recalculated
func (*Panel) TotalHeight ¶
TotalHeight satisfies the IPanel interface and returns the total height of this panel considering visible not bounded children
func (*Panel) UpdateMatrixWorld ¶
func (p *Panel) UpdateMatrixWorld()
UpdateMatrixWorld overrides the standard Node version which is called by the Engine before rendering the frame.
type Root ¶
type Root struct { Panel // embedded panel core.TimerManager // embedded TimerManager // contains filtered or unexported fields }
func (*Root) ClearKeyFocus ¶
func (r *Root) ClearKeyFocus()
ClearKeyFocus clears the key focus panel (if any) without calling LostKeyFocus() for previous focused panel
func (*Root) HasKeyFocus ¶
HasKeyFocus checks if the specified panel has the key focus
func (*Root) HasMouseFocus ¶
HasMouseFocus checks if the specified panel has the mouse focus
func (*Root) SetCursorDrag ¶
func (r *Root) SetCursorDrag()
SetCursorDrag sets the cursor of the associated window to drag type
func (*Root) SetCursorHResize ¶
func (r *Root) SetCursorHResize()
SetCursorHResize sets the cursor of the associated window to horizontal resize type
func (*Root) SetCursorNormal ¶
func (r *Root) SetCursorNormal()
SetCursorNormal sets the cursor of the associated window to standard type
func (*Root) SetCursorVResize ¶
func (r *Root) SetCursorVResize()
SetCursorVResize sets the cursor of the associated window to vertical resize type
func (*Root) SetKeyFocus ¶
SetKeyFocus sets the panel which will receive all keyboard events Passing nil will remove the focus (if any)
func (*Root) SetMouseFocus ¶
SetMouseFocus sets the panel which will receive all mouse events Passing nil will restore the default event processing
func (*Root) SetScrollFocus ¶
SetScrollFocus sets the panel which will receive all scroll events Passing nil will restore the default event processing
func (*Root) StopPropagation ¶
StopPropagation stops the propagation of the current event to outside the root panel (for example the 3D camera)
func (*Root) SubscribeWin ¶
func (r *Root) SubscribeWin()
SubscribeWin subscribes this root panel to window events
type ScrollBar ¶
type ScrollBar struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewHScrollBar ¶
NewHScrollBar creates and returns a pointer to a new horizontal scroll bar with the specified dimensions.
func NewVScrollBar ¶
NewVScrollBar creates and returns a pointer to a new vertical scroll bar with the specified dimensions.
type ScrollBarButtonStyle ¶
type ScrollBarStyle ¶
type ScrollBarStyle struct { Paddings BorderSizes Borders BorderSizes BordersColor math32.Color4 Color math32.Color Button ScrollBarButtonStyle }
type Scroller ¶
type Scroller struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewHScroller ¶
NewHScroller creates and returns a pointer to a new horizontal scroller panel with the specified dimensions.
func NewVScroller ¶
NewVScroller creates and returns a pointer to a new vertical scroller panel with the specified dimensions.
func (*Scroller) ApplyStyle ¶
func (*Scroller) Clear ¶
func (s *Scroller) Clear()
Clear removes and disposes of all the scroller children
func (*Scroller) ItemAt ¶
GetItem returns the item at the specified position. Returns nil if the position is invalid.
func (*Scroller) ItemPosition ¶
ItemPosition returns the position of the specified item in the scroller of -1 if not found
func (*Scroller) ItemVisible ¶
ItemVisible returns indication if the item at the specified position is completely visible or not
func (*Scroller) ScrollDown ¶
func (s *Scroller) ScrollDown()
ScrollDown scrolls the list down one item if possible
func (*Scroller) ScrollUp ¶
func (s *Scroller) ScrollUp()
ScrollUp scrolls the list up one item if possible
func (*Scroller) SetAutoHeight ¶
func (*Scroller) SetAutoWidth ¶
func (*Scroller) SetStyles ¶
func (s *Scroller) SetStyles(ss *ScrollerStyles)
SetStyles set the scroller styles overriding the default style
type ScrollerStyle ¶
type ScrollerStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color FgColor math32.Color }
type ScrollerStyles ¶
type ScrollerStyles struct { Normal ScrollerStyle Over ScrollerStyle Focus ScrollerStyle Disabled ScrollerStyle }
type Slider ¶
type Slider struct { Panel // Embedded panel // contains filtered or unexported fields }
func NewHSlider ¶
NewHSlider creates and returns a pointer to a new horizontal slider with the specified initial dimensions.
func NewVSlider ¶
NewVSlider creates and returns a pointer to a new vertical slider with the specified initial dimensions.
func (*Slider) ScaleFactor ¶
ScaleFactor returns the slider current scale factor (default = 1.0)
func (*Slider) SetScaleFactor ¶
SetScaleFactor set the slider scale factor (default = 1.0)
func (*Slider) SetStyles ¶
func (s *Slider) SetStyles(ss *SliderStyles)
SetStyles set the slider styles overriding the default style
type SliderStyle ¶
type SliderStyle struct { Border BorderSizes // outer panel border sizes BorderColor math32.Color4 // outer panel border colors Paddings BorderSizes // outer panel padding sizes BgColor math32.Color4 // outer panel color FgColor math32.Color4 // slider panel color }
SliderStyle
type SliderStyles ¶
type SliderStyles struct { Normal SliderStyle Over SliderStyle Focus SliderStyle Disabled SliderStyle }
All Slider styles
type Splitter ¶
type Splitter struct { Panel // Embedded panel P0 Panel // Left/Top panel P1 Panel // Right/Bottom panel // contains filtered or unexported fields }
func NewHSplitter ¶
NewHSplitter creates and returns a pointer to a new horizontal splitter widget with the specified initial dimensions
func NewVSplitter ¶
NewVSplitter creates and returns a pointer to a new vertical splitter widget with the specified initial dimensions
type SplitterStyle ¶
type SplitterStyles ¶
type SplitterStyles struct { Normal SplitterStyle Over SplitterStyle Drag SplitterStyle }
type Style ¶
type Style struct { Font *text.Font FontIcon *text.Font Button ButtonStyles CheckRadio CheckRadioStyles Edit EditStyles ScrollBar ScrollBarStyle Slider SliderStyles Splitter SplitterStyles Window WindowStyles Scroller ScrollerStyles List ListStyles DropDown DropDownStyles Folder FolderStyles Tree TreeStyles ControlFolder ControlFolderStyles }
All styles
var StyleDefault *Style
Pointer to default style
type Tree ¶
type Tree struct { List // Embedded list panel // contains filtered or unexported fields }
func (*Tree) AddNode ¶
Add adds a new tree node with the specified text at the end of this tree and returns pointer to the new node
func (*Tree) FindChild ¶
FindChild searches for the specified child in the tree and all its children. If found, returns the parent node and its position relative to the parent. If the parent is the tree returns nil as the parent If not found returns nil and -1
func (*Tree) Initialize ¶
Initialize initializes the tree with the specified initial width and height It is normally used when the folder is embedded in another object
func (*Tree) InsertNodeAt ¶
InsertNodeAt inserts at the specified position a new tree node with the specified text at the end of this tree and returns pointer to the new node
func (*Tree) Remove ¶
Remove removes the specified child from the tree or any of its children nodes.
func (*Tree) SetStyles ¶
func (t *Tree) SetStyles(s *TreeStyles)
SetStyles set the tree styles overriding the default style
type TreeNode ¶
type TreeNode struct { Panel // Embedded panel // contains filtered or unexported fields }
func (*TreeNode) FindChild ¶
FindChild searches for the specified child in this node and all its children. If found, returns the parent node and its position relative to the parent. If not found returns nil and -1
func (*TreeNode) InsertAt ¶
InsertAt inserts a child panel at the specified position in this node If the position is invalid, the function panics
func (*TreeNode) InsertNodeAt ¶
InsertNodeAt inserts a new node at the specified position in this node If the position is invalid, the function panics
func (*TreeNode) Remove ¶
Remove removes the specified child from this node or any of its children nodes
func (*TreeNode) SetExpanded ¶
SetExpanded sets the expanded state of this node
type TreeNodeStyle ¶
type TreeNodeStyle struct { Margins BorderSizes Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 BgColor math32.Color FgColor math32.Color Icons [2]int }
type TreeNodeStyles ¶
type TreeNodeStyles struct {
Normal TreeNodeStyle
}
type TreeStyles ¶
type TreeStyles struct { List *ListStyles // Styles for the embedded list Node *TreeNodeStyles // Styles for the node panel Padlevel float32 // Left padding indentation }
type VBoxLayout ¶
type VBoxLayout struct {
// contains filtered or unexported fields
}
func NewVBoxLayout ¶
func NewVBoxLayout() *VBoxLayout
NewVBoxLayout creates and returns a pointer to a new horizontal box layout
func (*VBoxLayout) Recalc ¶
func (bl *VBoxLayout) Recalc(ipan IPanel)
Recalc recalculates and sets the position and sizes of all children
func (*VBoxLayout) SetAlignV ¶
func (bl *VBoxLayout) SetAlignV(align Align)
SetAlignH sets the horizontal alignment of the whole group of items inside the parent panel and updates the layout if possible. This only has any effect if there are no expanded items.
func (*VBoxLayout) SetSpacing ¶
func (bl *VBoxLayout) SetSpacing(spacing float32)
SetSpacing sets the horizontal spacing between the items in pixels and updates the layout if possible
type VBoxLayoutParams ¶
type VBoxLayoutParams struct { Expand float32 // item expand vertically factor (0 - no expand) AlignH Align // item horizontal alignment }
Parameters for individual children
type Window ¶
type Window struct { Panel // Embedded Panel // contains filtered or unexported fields }
func NewWindow ¶
NewWindow creates and returns a pointer to a new window with the specified dimensions
func (*Window) SetResizable ¶
SetResizable set the borders which are resizable
type WindowStyle ¶
type WindowStyle struct { Border BorderSizes Paddings BorderSizes BorderColor math32.Color4 TitleBorders BorderSizes TitleBorderColor math32.Color4 TitleBgColor math32.Color4 TitleFgColor math32.Color4 }
type WindowStyles ¶
type WindowStyles struct { Normal WindowStyle Over WindowStyle Focus WindowStyle Disabled WindowStyle }
All Window styles
type WindowTitle ¶
type WindowTitle struct { Panel // Embedded panel // contains filtered or unexported fields }
Source Files ¶
- align.go
- button.go
- checkradio.go
- control_folder.go
- doc.go
- docklayout.go
- dropdown.go
- edit.go
- events.go
- filllayout.go
- folder.go
- gridlayout.go
- hboxlayout.go
- ilayout.go
- image.go
- imagelabel.go
- label.go
- list.go
- logger.go
- panel.go
- root.go
- scrollbar.go
- scroller.go
- slider.go
- splitter.go
- style.go
- tree.go
- util.go
- vboxlayout.go
- window.go