Skip to main content

Widget

Client Server

Methods​

Widget Set(table properties)​

Widget WidgetByName(string name)​

Properties​

string type​

integer id​

boolean isDestroyed​

Widget parent​

Window window​

table children​

integer childCount​

boolean hasChildren​

Widget next​

Widget prev​

boolean isWindow​

boolean isContainer​

boolean isSelected​

string name​

string tooltip​

string tooltipTitle​

boolean visible​

boolean enabled​

Vec2 size​

string sizing​

string sizingX​

string sizingY​

Vec2 pos​

string posType​

Vec2 sizePx​

Vec2 posPx​

string overflow​

boolean endLine​

integer siblingIndex​

Vec2 padding​

string paddingMode​

number rounding​

string roundingMode​

string cornerShape​

integer roundCorners​

boolean glyphFade​

Vec2 margin​

string marginMode​

Vec2 gap​

Spacing between sibling widgets (x) and between wrapped flow lines (y).

Vec2 translate​

Vec2 scale​

Vec2 scaleOrigin​

number opacity​

string alignItems​

Cross-axis alignment of child widgets: start/center/end/stretch.

string alignSelf​

Overrides the parent's alignItems for this widget (auto inherits).

string justifyContent​

Main-axis distribution of children: start/center/end/space-between/space-around.

Vec2 mp​

boolean bgFrame​

string cursor​

boolean dragHighlight​

Color bgColor​

Color borderColor​

number borderWidth​

Color textColor​

number fontSize​

boolean fontBold​

string fontName​

Vec2 textAlign​

boolean outline​

Color outlineColor​

number outlineWidth​

Color outline2Color​

number outline2Width​

boolean effectOutline​

If true, the fx domain-warp and reveal effects are applied to the shadow and outline passes as well, so the whole glyph warps together instead of the fill sliding off a static outline. Shape/shading (cornerRound, bevel) and pattern stay fill-only. Default false.

boolean shadow​

Color shadowColor​

Vec2 shadowOffset​

number shadowSoftness​

number weight​

table fx​

Grouped MTSDF text effects. Write-only: unlisted keys reset to default, so fx = {...} sets the complete warp state and nil clears all. Values are 0..1 unless noted. cornerRound rounds the glyph's sharp MSDF corners (1 = fully rounded, SDF-like). bevel is faux-3D bevel / emboss shading along the glyph edge, lit from bevelLight (direction, mapped to a 0..2pi azimuth). melt is an animated noise domain-warp ('melting') of the glyph; glitch static horizontal scanline-displacement bands; bend horizontal shear / slant; twist a swirl warp, stronger toward the glyph edges; wave an animated sine ripple along the glyph; hollow knocks out the fill. reveal = { amount, mask='noise'|'linear'|'radial', param, edge } is the coverage-mask reveal: amount 0 = solid, 1 = fully gone; param is the mask scale (noise) or angle (linear); edge is the hue of the glowing reveal front edge, 0 = no edge. pattern = { kind='halftone'|'dither'|'contour', scale, angle } is the procedural fill pattern: scale sets dot/cell size or ring frequency, angle its rotation mapped to 0..2pi. See the FX Playground editor tool.

table fill​

Write-only 2-color fill gradient: { top=Color, bottom=Color, along='y'|'x' }.

table layers​

Array of stacked text layers, each { d=dilate, soft=glow, off=Vec2 shadow offset, color=, colorBottom=, along='y'|'x' }. When set, the layer stack REPLACES the base fill/outline/shadow.

boolean pixelSnap​

boolean ellipsis​

integer intVar​

boolean showNoValue​

fun(widget:Widget, ...) onHoverEx​

fun(widget:Widget, ...) onHoverEndEx​

fun(widget:Widget, ...) onFocusEx​

fun(widget:Widget, ...) onFocusEndEx​

fun(widget:Widget, ...) onPressStartEx​

fun(widget:Widget, ...) onPressCancelEx​

fun(widget:Widget, ...) onPressEx​

fun(widget:Widget, ...) onRightPressEx​

fun(widget:Widget, ...) onMouseMoveEx​

fun(widget:Widget, key:string) onKeyDownEx​

fun(widget:Widget, key:string) onKeyUpEx​

fun(widget:Widget, ...) onValueChangeEx​

fun(widget:Widget, value:any, oldValue:any) onValueCommitEx​

fun(widget:Widget):any onDragStartEx​

fun(widget:Widget, var:any, varList:table, pos:Vec2):boolean? onDragOverEx​

fun(widget:Widget) onDragLeaveEx​

fun(widget:Widget, var:any, varList:table, pos:Vec2):boolean? onDragEndEx​

fun(widget:Widget, active:boolean, var:any, varList:table) onDragSessionEx​

string onPress​

string onPressStart​

string onPressCancel​

string onMouseMove​

string onHover​

string onHoverEnd​

string onFocus​

string onFocusEnd​

string onKeyDown​

string onKeyUp​

string onValueChange​

string onValueCommit​

string onDragStart​

string onDragOver​

string onDragLeave​

string onDragEnd​