Skip to content

1681-engine / ui / Button

Class: Button ​

Defined in: src/ui/Button.ts:40

A pressable button: normal, hover, pressed and disabled faces, a focus overlay, pointer and touch through Pixi's events, and Accept from the keyboard or a gamepad through the focus manager.

Extends ​

Constructors ​

Constructor ​

ts
new Button(options): Button;

Defined in: src/ui/Button.ts:48

Parameters ​

ParameterType
optionsButtonOptions

Returns ​

Button

Overrides ​

Widget.constructor

Properties ​

boxH ​

ts
protected boxH: number = 0;

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

Inherited from ​

Widget.boxH


boxW ​

ts
protected boxW: number = 0;

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

Inherited from ​

Widget.boxW


focusable ​

ts
focusable: boolean = false;

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

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

Inherited from ​

Widget.focusable


onClick ​

ts
onClick: (() => void) | null;

Defined in: src/ui/Button.ts:41

Accessors ​

boxHeight ​

Get Signature ​

ts
get boxHeight(): number;

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

Returns ​

number

Inherited from ​

Widget.boxHeight


boxWidth ​

Get Signature ​

ts
get boxWidth(): number;

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

Returns ​

number

Inherited from ​

Widget.boxWidth


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

Inherited from ​

Widget.enabled


focused ​

Get Signature ​

ts
get focused(): boolean;

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

Returns ​

boolean

Inherited from ​

Widget.focused


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

Inherited from ​

Widget.host


state ​

Get Signature ​

ts
get state(): ButtonState;

Defined in: src/ui/Button.ts:81

Returns ​

ButtonState

Methods ​

activate() ​

ts
activate(): void;

Defined in: src/ui/Button.ts:92

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

Returns ​

void

Overrides ​

Widget.activate


canFocus() ​

ts
canFocus(): boolean;

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

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

Returns ​

boolean

Inherited from ​

Widget.canFocus


childResized() ​

ts
protected childResized(child): void;

Defined in: src/ui/Button.ts:96

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

Overrides ​

Widget.childResized


click() ​

ts
click(): void;

Defined in: src/ui/Button.ts:88

Runs the button's action, if it is enabled.

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

Inherited from ​

Widget.makeInteractive


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

Inherited from ​

Widget.navigate


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

Inherited from ​

Widget.notifyResized


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

Inherited from ​

Widget.place


redraw() ​

ts
protected redraw(): void;

Defined in: src/ui/Button.ts:107

Draws the current size and state.

Returns ​

void

Overrides ​

Widget.redraw


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

Inherited from ​

Widget.resize


setFocused() ​

ts
setFocused(v): void;

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

Called by the focus manager.

Parameters ​

ParameterType
vboolean

Returns ​

void

Inherited from ​

Widget.setFocused

Released under the MIT License.