Class WidgetInstance<W extends Widget>

java.lang.Object
dev.pfaff.altargui.WidgetInstance<W>
All Implemented Interfaces:
Cullable
Direct Known Subclasses:
CustomLayoutSingleChildWidgetInstance

public abstract non-sealed class WidgetInstance<W extends Widget> extends Object implements Cullable
  • Field Details

  • Constructor Details

  • Method Details

    • configure

      public abstract void configure(StateContext stateContext, W widget, boolean init)
      Configures the instance's state according to the inputs in the specified widget.

      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.
    • shouldPaint

      public boolean shouldPaint(MountContext mountContext)
      Specified by:
      shouldPaint in interface Cullable
    • layout

      public final void layout(LayoutContext context)
      mounts children and computes actual size and position from the allocated rect

      This will usually call LayoutContext.layout(WidgetInstance, WidgetInstance, BiConsumer) with each child and go through a layout procedure wherein setAllocatedRect(float, float, float, float) and then layout(LayoutContext) are called (in that order) on each child.

    • mount

      public final void mount(MountContext context)
    • uSpecMount

      public void uSpecMount(MountContext context)
    • computeFillLayout

      protected static void computeFillLayout(WidgetInstance element, LayoutContext context)
    • computeLayout

      protected abstract void computeLayout(LayoutContext context)
    • computeMount

      protected abstract void computeMount(MountContext context)
    • markNeedsLayout

      protected final void markNeedsLayout()
    • takeNeedsLayout

      protected final boolean takeNeedsLayout()
    • allocatedX

      public final float allocatedX()
    • allocatedY

      public final float allocatedY()
    • allocatedWidth

      public final float allocatedWidth()
    • allocatedHeight

      public final float allocatedHeight()
    • canOverflowX

      public final boolean canOverflowX()
    • canOverflowY

      public final boolean canOverflowY()
    • markNeedsLayoutOnAllocationChange

      protected void markNeedsLayoutOnAllocationChange()
    • setAllocatedRect

      public final void setAllocatedRect(float x, float y, float width, float height, boolean canOverflowX, boolean canOverflowY)
    • setAllocatedRect

      public final void setAllocatedRect(float x, float y, float width, float height)
    • copyAllocatedRectFrom

      public final void copyAllocatedRectFrom(WidgetInstance other)
    • 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

      protected final void copyComputedSizeFrom(WidgetInstance other)
    • 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

      public void applyBuiltinSelector(BuiltinSelector selector, Consumer<WidgetInstance> consumer)
    • toStringShort

      public final String toStringShort()
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • guiContext

      public final GuiContext guiContext()
    • key

      public final long key()
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object