Widget

Properties

name

type (default value)

description

position

util.vector2 (0, 0)

Offsets the position of the widget from its parent’s
top-left corner in pixels.

size

util.vector2 (0, 0)

Increases the widget’s size in pixels.

relativePosition

util.vector2 (0, 0)

Offsets the position of the widget from its parent’s
top-left corner as a fraction of the parent’s size.

relativeSize

util.vector2 (0, 0)

Increases the widget’s size by a fraction of its parent’s size.

anchor

util.vector2 (0, 0)

Offsets the widget’s position by a fraction of its size.
Useful for centering or aligning to a corner.

visible

boolean (true)

Defines if the widget is visible

propagateEvents

boolean (true)

Allows base widget events to propagate to the widget’s parent.

alpha

number (1.0)

Set the opacity of the widget and its contents.
If inheritAlpha is set to true, this becomes the maximum alpha value the widget can take.

inheritAlpha

boolean (true)

Modulate alpha with parents alpha.
If the parent has inheritAlpha set to true, the value after modulating is passed to the child.

Events

Base widget events are special, they can propagate up to the parent widget. This can be prevented by changing the propagateEvents property, or by assigning an event handler. The event is still allowed to propagate if the event handler returns true.

name

first argument type

description

keyPress

KeyboardEvent

A key was pressed with this widget in focus

keyRelease

KeyboardEvent

A key was released with this widget in focus

mouseMove

MouseEvent

Mouse cursor moved on this widget
MouseEvent.button is the mouse button being held
(nil when simply moving, and not dragging)

mouseClick

nil

Widget was clicked with left mouse button

mouseDoubleClick

nil

Widget was double clicked with left mouse button

mousePress

MouseEvent

A mouse button was pressed on this widget

mouseRelease

MouseEvent

A mouse button was released on this widget

focusGain

nil

Widget gained focus (either through mouse or keyboard)

focusLoss

nil

Widget lost focus

textInput

string

Text input with this widget in focus

External

name

type (default value)

description

slot

bool (false)

Only applies for template content (ignored in layout content).
If true, all the widgets defined in layout content will be rendered as children of this widget.
Only one widget per template can have slot = true (others will be ignored).