Class WidgetInstance<W extends Widget>
java.lang.Object
dev.pfaff.altargui.WidgetInstance<W>
- Direct Known Subclasses:
CustomLayoutSingleChildWidgetInstance
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final WidgetInstance[]
final ListenableFlag
final ListenableFlag
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal float
final float
final float
final float
void
applyBuiltinSelector
(BuiltinSelector selector, Consumer<WidgetInstance> consumer) final float
final float
protected static void
computeFillLayout
(WidgetInstance element, StencilLayoutContext context) protected abstract void
computeMount
(MountContext context) protected abstract void
computeStencilLayout
(StencilLayoutContext context) protected abstract void
abstract void
configure
(StateContext stateContext, W widget, boolean init) Configures the instance's state according to the inputs in the specifiedwidget
.final void
Copies the available size from the givenother
widget (usually the parent).protected final void
final void
copyPositionFrom
(WidgetInstance other) Copies the position from the givenother
widget (usually the parent).void
dispose()
Disposes of the element...final boolean
protected final void
Sets the computed size to fill the entire allocated rect.final GuiContext
final int
hashCode()
final boolean
isInside
(double checkX, double checkY) final long
key()
protected final void
Deprecated.protected final void
protected final void
protected final void
protected final void
final void
mount
(MountContext context) void
onMount()
Called when the element is mounted to a new parent.void
Called when the element is unmounted from the current parent.protected void
This will need to be overridden for any aligned positioning to includemarkNeedsTraceLayout()
.protected final void
protected final void
final void
setAvailableSize
(float width, float height) Called by the parent element to communicate the amount of space available to its children.protected final void
setComputedSize
(float width, float height) final void
setPosition
(float x, float y) Called by the parent element to set the position of its children.final void
stencilLayout
(StencilLayoutContext context) Sets positions of element content and children.protected final boolean
protected final boolean
final String
toString()
final String
final void
mounts children and computes actual size and position from the allocated rectvoid
uSpecMount
(MountContext context)
-
Field Details
-
EMPTY_ARRAY
-
needsStencilLayout
-
needsTraceLayout
-
-
Constructor Details
-
WidgetInstance
-
-
Method Details
-
configure
Configures the instance's state according to the inputs in the specifiedwidget
.Other initialization might be done if
init
is true. -
onMount
public void onMount()Called when the element is mounted to a new parent. -
onUnmount
@MustBeInvokedByOverriders public void onUnmount()Called when the element is unmounted from the current parent. -
dispose
@MustBeInvokedByOverriders public void dispose()Disposes of the element... currently the element may be reused, but this will likely change in the future. -
stencilLayout
Sets positions of element content and children.This will usually call
StencilLayoutContext.layout(WidgetInstance, WidgetInstance, BiConsumer)
with each child and go through a layout procedure whereinsetAvailableSize(float, float)
and thenstencilLayout(StencilLayoutContext)
are called (in that order) on each child. -
traceLayout
public final void traceLayout()mounts children and computes actual size and position from the allocated rectThis will usually call
StencilLayoutContext.layout(WidgetInstance, WidgetInstance, BiConsumer)
with each child and go through a layout procedure whereinsetAvailableSize(float, float)
and thentraceLayout()
are called (in that order) on each child. -
mount
-
uSpecMount
-
computeFillLayout
-
computeStencilLayout
-
computeTraceLayout
protected abstract void computeTraceLayout() -
computeMount
-
markNeedsStencilLayout
protected final void markNeedsStencilLayout() -
markNeedsTraceLayout
protected final void markNeedsTraceLayout() -
markNeedsLayout
Deprecated.usemarkNeedsStencilLayout()
and/ormarkNeedsTraceLayout()
as appropriate instead. -
propagateNeedsStencilLayoutFromChild
protected void propagateNeedsStencilLayoutFromChild()This will need to be overridden for any aligned positioning to includemarkNeedsTraceLayout()
. -
takeNeedsStencilLayout
protected final boolean takeNeedsStencilLayout() -
takeNeedsTraceLayout
protected final boolean takeNeedsTraceLayout() -
allocatedX
public final float allocatedX() -
allocatedY
public final float allocatedY() -
allocatedWidth
public final float allocatedWidth() -
allocatedHeight
public final float allocatedHeight() -
markNeedsStencilLayoutOnAllocationChange
protected final void markNeedsStencilLayoutOnAllocationChange() -
markNeedsTraceLayoutOnAllocationChange
protected final void markNeedsTraceLayoutOnAllocationChange() -
setPosition
public final void setPosition(float x, float y) Called by the parent element to set the position of its children. -
setAvailableSize
public final void setAvailableSize(float width, float height) Called by the parent element to communicate the amount of space available to its children. -
copyPositionFrom
Copies the position from the givenother
widget (usually the parent). -
copyAvailableSizeFrom
Copies the available size from the givenother
widget (usually the parent). -
requireFiniteAllocatedWidth
protected final void requireFiniteAllocatedWidth() -
requireFiniteAllocatedHeight
protected final void requireFiniteAllocatedHeight() -
computedWidth
public final float computedWidth() -
computedHeight
public final float computedHeight() -
setComputedSize
protected final void setComputedSize(float width, float height) -
copyComputedSizeFrom
-
fillAllocated
protected final void fillAllocated()Sets the computed size to fill the entire allocated rect. -
isInside
public final boolean isInside(double checkX, double checkY) -
applyBuiltinSelector
-
toStringShort
-
toString
-
guiContext
-
key
public final long key() -
equals
-
hashCode
-
markNeedsStencilLayout()
and/ormarkNeedsTraceLayout()
as appropriate instead.