Skip to content

1681-engine / ui / Widget

Abstract Class: Widget ​

Defined in: src/ui/Widget.ts:19

The base of every canvas widget: a Pixi container with a layout box (boxWidth × boxHeight, its own units, not its drawn bounds), an enabled and a focused state, and the hooks keyboard and gamepad navigation call.

A widget is a Pixi Container, so Container's own members are taken names: in particular label (Pixi's debug name, a string) — a subclass field label holding a Label clashes with it; call it caption, title, … .

Extends ​

  • Container

Extended by ​

Constructors ​

Constructor ​

ts
new Widget(options?): Widget;

Defined in: node_modules/pixi.js/lib/scene/container/Container.d.ts:843

Parameters ​

ParameterType
options?ContainerOptions<ContainerChild>

Returns ​

Widget

Inherited from ​

ts
Container.constructor

Properties ​

boxH ​

ts
protected boxH: number = 0;

Defined in: src/ui/Widget.ts:23


boxW ​

ts
protected boxW: number = 0;

Defined in: src/ui/Widget.ts:22


focusable ​

ts
focusable: boolean = false;

Defined in: src/ui/Widget.ts:21

Whether the focus manager may land on it (buttons, sliders, toggles).

Accessors ​

boxHeight ​

Get Signature ​

ts
get boxHeight(): number;

Defined in: src/ui/Widget.ts:31

Returns ​

number


boxWidth ​

Get Signature ​

ts
get boxWidth(): number;

Defined in: src/ui/Widget.ts:27

Returns ​

number


enabled ​

Get Signature ​

ts
get enabled(): boolean;

Defined in: src/ui/Widget.ts:35

Returns ​

boolean

Set Signature ​

ts
set enabled(v): void;

Defined in: src/ui/Widget.ts:39

Parameters ​
ParameterType
vboolean
Returns ​

void


focused ​

Get Signature ​

ts
get focused(): boolean;

Defined in: src/ui/Widget.ts:47

Returns ​

boolean


host ​

Get Signature ​

ts
get protected host(): UiHost | null;

Defined in: src/ui/Widget.ts:90

The root it sits under, looked up when needed: a widget may be built before it is added.

Returns ​

UiHost | null

Methods ​

activate() ​

ts
activate(): void;

Defined in: src/ui/Widget.ts:82

Accept pressed while focused (Enter, the pad's A).

Returns ​

void


canFocus() ​

ts
canFocus(): boolean;

Defined in: src/ui/Widget.ts:75

Focusable now: enabled, shown, and every parent shown.

Returns ​

boolean


childResized() ​

ts
protected childResized(_child): void;

Defined in: src/ui/Widget.ts:108

A child widget's box changed size by itself (a Label given a longer text). A widget that places a child by its size (a Button centring its content) lays it out again here; the default does nothing, so a Stack still waits for its layout() and a change does not ripple up through every container.

Parameters ​

ParameterType
_childWidget

Returns ​

void


makeInteractive() ​

ts
protected makeInteractive(): void;

Defined in: src/ui/Widget.ts:98

Hit-tested by Pixi, and every press on it is kept from the world. A widget whose drawing has gaps (a scroll view, an empty panel) also sets a hitArea over its box, so a press between its pieces is not the world's.

Returns ​

void


ts
navigate(_dir): boolean;

Defined in: src/ui/Widget.ts:85

A direction pressed while focused; true when the widget used it (a slider stepping) so focus stays.

Parameters ​

ParameterType
_dirNavDirection

Returns ​

boolean


notifyResized() ​

ts
protected notifyResized(): void;

Defined in: src/ui/Widget.ts:111

Tells the parent widget this one's box changed size by itself.

Returns ​

void


place() ​

ts
place(x, y): this;

Defined in: src/ui/Widget.ts:68

Moves it, on whole pixels under a pixel-perfect root.

Parameters ​

ParameterType
xnumber
ynumber

Returns ​

this


redraw() ​

ts
abstract protected redraw(): void;

Defined in: src/ui/Widget.ts:117

Draws the current size and state.

Returns ​

void


resize() ​

ts
resize(width, height): this;

Defined in: src/ui/Widget.ts:59

Resizes the layout box (whole pixels under a pixel-perfect root) and redraws.

Parameters ​

ParameterType
widthnumber
heightnumber

Returns ​

this


setFocused() ​

ts
setFocused(v): void;

Defined in: src/ui/Widget.ts:52

Called by the focus manager.

Parameters ​

ParameterType
vboolean

Returns ​

void

Released under the MIT License.