class UIComponent
package smidr
extends Sprite
extended by UIAccordion, UIButton, UICheckbox, UIChip, UIDropdown, UIIcon, UIIconRail, UIKeybind, UILabel, UIList, UIListRow, UILoadingBar, UIMenuBar, UIModal, UIPanel, UIScrollPane, UISegmented, UISeparator, UISlider, UIStepper, UISwitch, UITabs, UITextInput
Base class for every widget: a retained openfl.display.Sprite that repaints ONLY when
invalidated (no per-frame update). Subclasses override render() and read UITheme /
UILocale there, so theme and locale swaps re-skin the whole tree via UIRoot.invalidateAll.
Pointer correctness is built in: pressed is only set by a press that starts on this widget,
and click() fires only when the matching release also lands on it (see UIPointer). Drags
use beginCapture() to receive exclusive onDragMove/onDragEnd callbacks.
Construction flavors:
interactive = true— hover/press/click handling (leaf widgets)interactive = false, blocking = true— a passive surface that still swallows pointer hits (panels, backdrops); children stay interactiveinteractive = false, blocking = false— pure layout group, pointer-transparent
Constructor
Variables
hoverCursor:MouseCursor = MouseCursor.BUTTON
Native cursor while hovering (interactive widgets; null keeps the arrow).
read onlyw:Float = 0
Layout width in UI units (independent of DisplayObject's content-derived width).
onHover:() ‑> Void = null
Fired when the cursor first enters this widget (hover-driven descriptions/previews).
Methods
resize(width:Float, height:Float):Void
Sets the layout size and repaints when it changed.
Parameters:
width | the new layout width in UI units |
|---|---|
height | the new layout height in UI units |