Class GuiComponent<T extends GuiComponent<T>>

java.lang.Object
com.render.api.gui.GuiComponent<T>
Type Parameters:
T - concrete component type for fluent builder methods
Direct Known Subclasses:
AssetComponent, CircleComponent, ContainerComponent, EntityModelComponent, ImageComponent, MenuSeparatorComponent, MultilineTextInputComponent, RectangleComponent, SliderComponent, SvgComponent, TextComponent, TextInputComponent

public abstract class GuiComponent<T extends GuiComponent<T>> extends Object
Base class for components in the managed GUI system.
  • Constructor Details

    • GuiComponent

      protected GuiComponent()
  • Method Details

    • self

      protected final T self()
    • id

      public T id(String id)
      Assigns this component's optional stable identifier.

      The identifier is visible to typed ID selectors, retained-tree lookup, devtools, and view-transition pairing. Recreating a component with the same ID morphs it from the old bounds to the new bounds. A null or blank value removes the identifier.

      Parameters:
      id - stable identifier, or null
      Returns:
      this component
    • id

      public String id()
      Returns this component's optional stable identifier.
      Returns:
      identifier, or null
    • findById

      public final Optional<GuiComponent<?>> findById(String id)
      Finds the uniquely identified component in this retained subtree.

      The search includes this component. Duplicate IDs are rejected because lookup and morph-transition ownership would otherwise be ambiguous.

      Parameters:
      id - identifier to find
      Returns:
      matching component, when present
      Throws:
      IllegalStateException - when the subtree contains the ID more than once
    • findById

      public final <C extends GuiComponent<?>> Optional<C> findById(String id, Class<C> componentType)
      Finds and type-checks a uniquely identified component in this retained subtree.
      Type Parameters:
      C - component type
      Parameters:
      id - identifier to find
      componentType - required component type
      Returns:
      matching typed component, when present
      Throws:
      IllegalStateException - when the ID is duplicated
      ClassCastException - when the matching component has another type
    • viewTransitionName

      public T viewTransitionName(String name)
      Assigns the stable name used to pair this component's old and new view-transition snapshots. This overrides the component ID for transition pairing. A null or blank name returns pairing to retained identity or ID.
      Parameters:
      name - transition name
      Returns:
      this component
    • viewTransitionName

      public final String viewTransitionName()
      Returns this component's explicit view-transition name.
      Returns:
      transition name, or null
    • styleClass

      public T styleClass(String... classes)
      Adds one or more selector-visible style classes.
      Parameters:
      classes - class names
      Returns:
      this component
    • removeStyleClass

      public T removeStyleClass(String styleClass)
      Removes a selector-visible style class.
      Parameters:
      styleClass - class name
      Returns:
      this component
    • styleClasses

      public Set<String> styleClasses()
      Returns immutable selector-visible style classes.
      Returns:
      style classes
    • styleAttribute

      public <V> T styleAttribute(GuiStyleAttribute<V> attribute, V value)
      Sets a typed selector-visible component attribute.
      Type Parameters:
      V - value type
      Parameters:
      attribute - attribute key
      value - value, or null to remove
      Returns:
      this component
    • styleAttribute

      public <V> Optional<V> styleAttribute(GuiStyleAttribute<V> attribute)
      Reads a typed style attribute.
      Type Parameters:
      V - value type
      Parameters:
      attribute - attribute key
      Returns:
      value when present
    • styleState

      public T styleState(GuiPseudoClass pseudoClass, boolean active)
      Sets an explicit standard pseudo-class value.

      Use this for semantic states such as checked, required, valid, or open. Pointer, focus, enabled, root, empty, and structural states are maintained by the runtime.

      Parameters:
      pseudoClass - pseudo-class
      active - active flag
      Returns:
      this component
    • styleState

      public T styleState(String state, boolean active)
      Sets a component-defined selector state.
      Parameters:
      state - state name
      active - active flag
      Returns:
      this component
    • stateProvider

      public T stateProvider(GuiStateProvider provider)
      Adds a dynamic state provider.
      Parameters:
      provider - provider
      Returns:
      this component
    • x

      public T x(float x)
    • y

      public T y(float y)
    • position

      public T position(float x, float y)
    • translateX

      public T translateX(float translateX)
    • translateY

      public T translateY(float translateY)
    • translate

      public T translate(float translateX, float translateY)
    • width

      public T width(float width)
    • height

      public T height(float height)
    • size

      public T size(float width, float height)
    • autoWidth

      public T autoWidth()
    • autoHeight

      public T autoHeight()
    • autoSize

      public T autoSize()
    • width

      public T width(GuiLength width)
      Sets a typed modern width. This declaration is used only by a modern host.
      Parameters:
      width - typed width
      Returns:
      this component
    • height

      public T height(GuiLength height)
      Sets a typed modern height.
      Parameters:
      height - typed height
      Returns:
      this component
    • size

      public T size(GuiLength width, GuiLength height)
    • minWidth

      public T minWidth(GuiLength width)
    • maxWidth

      public T maxWidth(GuiLength width)
    • minHeight

      public T minHeight(GuiLength height)
    • maxHeight

      public T maxHeight(GuiLength height)
    • boxSizing

      public T boxSizing(GuiBoxSizing boxSizing)
    • aspectRatio

      public T aspectRatio(GuiAspectRatio aspectRatio)
    • display

      public T display(GuiDisplay display)
    • defaultDisplay

      protected final void defaultDisplay(GuiDisplay display)
      Defines the formatting role supplied by a component type before authored styles and fluent inline declarations are applied.

      This is intended for component constructors. Calling display(GuiDisplay) after construction still creates the higher-priority inline declaration.

      Parameters:
      display - default formatting role
    • listStyleType

      public T listStyleType(GuiCounterStyle style)
      Selects the list counter style used by an automatic ::marker.
      Parameters:
      style - counter style
      Returns:
      this component
    • listStylePosition

      public T listStylePosition(GuiListStylePosition position)
      Places the automatic marker inside the first line or in an outside marker column.
      Parameters:
      position - marker position
      Returns:
      this component
    • listStyleImage

      public T listStyleImage(GuiListMarkerImage image)
      Replaces the automatic text marker with an explicitly sized image.
      Parameters:
      image - marker image, or null for generated counter text
      Returns:
      this component
    • markerSide

      public T markerSide(GuiMarkerSide side)
      Selects which writing direction determines the outside marker side.
      Parameters:
      side - marker-side policy
      Returns:
      this component
    • markerGap

      public T markerGap(float gap)
      Sets the space between an outside marker and the principal box.
      Parameters:
      gap - non-negative design-space gap
      Returns:
      this component
    • quotes

      public T quotes(GuiQuotePairs quotes)
      Selects generated open/close quote pairs.
      Parameters:
      quotes - quote pairs
      Returns:
      this component
    • scrollMargin

      public T scrollMargin(GuiScrollInsets margin)
      Sets the target's snap-area expansion.
      Parameters:
      margin - scroll margin
      Returns:
      this component
    • scrollMargin

      public T scrollMargin(float all)
      Sets a uniform snap-area expansion.
      Parameters:
      all - margin on every side
      Returns:
      this component
    • scrollSnapStop

      public T scrollSnapStop(GuiScrollSnapStop stop)
      Selects whether a snap operation may pass this target.
      Parameters:
      stop - stop policy
      Returns:
      this component
    • position

      public T position(GuiPositionType positionType)
    • inset

      public T inset(GuiLength all)
    • inset

      public T inset(GuiLength top, GuiLength right, GuiLength bottom, GuiLength left)
    • verticalAlign

      public T verticalAlign(GuiVerticalAlign verticalAlign)
    • flexDirection

      public T flexDirection(GuiFlexDirection direction)
    • flexWrap

      public T flexWrap(GuiFlexWrap wrap)
    • flexGrow

      public T flexGrow(float grow)
    • flexShrink

      public T flexShrink(float shrink)
    • flexBasis

      public T flexBasis(GuiLength basis)
    • order

      public T order(int order)
    • justifyContent

      public T justifyContent(GuiAlignment alignment)
    • alignItems

      public T alignItems(GuiAlignment alignment)
    • alignSelf

      public T alignSelf(GuiAlignment alignment)
    • alignContent

      public T alignContent(GuiAlignment alignment)
    • rowGap

      public T rowGap(GuiLength gap)
    • columnGap

      public T columnGap(GuiLength gap)
    • gridTemplate

      public T gridTemplate(GuiGridTemplate template)
    • gridPlacement

      public T gridPlacement(GuiGridPlacement placement)
    • gridAutoFlow

      public T gridAutoFlow(GuiGridAutoFlow flow)
    • justifyItems

      public T justifyItems(GuiAlignment alignment)
    • justifySelf

      public T justifySelf(GuiAlignment alignment)
    • tableLayout

      public T tableLayout(GuiTableLayout layout)
    • borderCollapse

      public T borderCollapse(GuiBorderCollapse collapse)
    • borderSpacing

      public T borderSpacing(float spacing)
    • captionSide

      public T captionSide(GuiCaptionSide side)
    • emptyCells

      public T emptyCells(GuiEmptyCells value)
    • columnCount

      public T columnCount(int count)
    • columnWidth

      public T columnWidth(GuiLength width)
    • columnFill

      public T columnFill(GuiColumnFill fill)
    • columnRule

      public T columnRule(GuiBorderSide rule)
    • columnSpan

      public T columnSpan(GuiColumnSpan span)
    • breakBefore

      public T breakBefore(GuiBreakValue value)
    • breakAfter

      public T breakAfter(GuiBreakValue value)
    • breakInside

      public T breakInside(GuiBreakValue value)
    • widows

      public T widows(int lines)
    • orphans

      public T orphans(int lines)
    • marginBreak

      public T marginBreak(GuiMarginBreak value)
    • pageName

      public T pageName(String name)
    • anchorName

      public T anchorName(String name)
    • anchorPlacement

      public T anchorPlacement(GuiAnchorPlacement placement)
    • anchor

      public T anchor(GuiAnchor anchor)
    • centered

      public T centered()
    • zIndex

      public T zIndex(int zIndex)
    • tabIndex

      public T tabIndex(int tabIndex)
      Sets this component's sequential keyboard-focus order.

      Positive values are visited first in ascending order, zero follows retained-tree order, and negative values opt out of Tab traversal while preserving mouse and programmatic focus.

      Parameters:
      tabIndex - sequential focus index
      Returns:
      this component
    • tabIndex

      public int tabIndex()
      Returns this component's sequential focus index.
      Returns:
      focus index
    • margin

      public T margin(float all)
    • margin

      public T margin(float vertical, float horizontal)
    • margin

      public T margin(float top, float right, float bottom, float left)
    • padding

      public T padding(float all)
    • padding

      public T padding(float vertical, float horizontal)
    • padding

      public T padding(float top, float right, float bottom, float left)
    • color

      public T color(RenderColor color)
    • color

      @Deprecated(forRemoval=false) public T color(int argb)
      Deprecated.
    • backgroundColor

      public T backgroundColor(RenderColor color)
    • backgroundColor

      @Deprecated(forRemoval=false) public T backgroundColor(int argb)
    • borderColor

      public T borderColor(RenderColor color)
    • borderColor

      @Deprecated(forRemoval=false) public T borderColor(int argb)
      Deprecated.
    • borderWidth

      public T borderWidth(float borderWidth)
    • cornerRadius

      public T cornerRadius(float cornerRadius)
    • opacity

      public T opacity(float opacity)
    • shadow

      public T shadow(GuiShadow shadow)
    • boxShadow

      public T boxShadow(GuiShadow shadow)
      Sets the drop shadow painted behind this component's box.
      Parameters:
      shadow - box shadow, or null
      Returns:
      this component
    • glow

      public T glow(GuiGlow glow)
    • boxGlow

      public T boxGlow(GuiGlow glow)
      Sets the glow painted around this component's box.
      Parameters:
      glow - box glow, or null
      Returns:
      this component
    • gradient

      public T gradient(GuiGradient gradient)
    • animatedBorder

      public T animatedBorder(GuiAnimatedBorder animatedBorder)
      Sets the animated border decoration.

      The moving ring follows the border edge and its glow may extend outside this component's own clip path. Ancestor clips still constrain the decoration.

      Parameters:
      animatedBorder - animated border, or null
      Returns:
      this component
    • visible

      public T visible(boolean visible)
    • caretStyle

      public T caretStyle(GuiCaretStyle caretStyle)
      Sets the editable-text caret appearance inherited by the CARET pseudo-element.
      Parameters:
      caretStyle - caret appearance
      Returns:
      this component
    • backgroundLayers

      public T backgroundLayers(List<GuiBackgroundLayer> layers)
      Replaces the ordered modern background-image layer list. The background color is painted below every layer.
      Parameters:
      layers - ordered bottom-to-top layers
      Returns:
      this component
    • backgroundLayers

      public T backgroundLayers(GuiBackgroundLayer... layers)
    • backgroundLayer

      public T backgroundLayer(GuiBackgroundLayer layer)
    • border

      public T border(GuiBorder border)
      Sets the typed per-side border. Later legacy border setters clear this value.
      Parameters:
      border - border value, or null
      Returns:
      this component
    • outline

      public T outline(GuiOutline outline)
    • boxDecorationBreak

      public T boxDecorationBreak(GuiBoxDecorationBreak behavior)
    • boxShadows

      public T boxShadows(List<GuiBoxShadow> shadows)
    • boxShadows

      public T boxShadows(GuiBoxShadow... shadows)
    • transform

      public T transform(GuiTransform transform)
      Sets the immutable post-layout transform list for this component subtree.
      Parameters:
      transform - ordered transform list
      Returns:
      this component
    • transformOrigin

      public T transformOrigin(GuiTransformOrigin origin)
      Sets the normalized origin around which transforms are applied.
      Parameters:
      origin - transform origin
      Returns:
      this component
    • transformBox

      public T transformBox(GuiTransformBox box)
      Selects the component box used to resolve transforms.
      Parameters:
      box - transform reference box
      Returns:
      this component
    • transformStyle

      public T transformStyle(GuiTransformStyle transformStyle)
      Selects flat or preserve-3D descendant transform behavior.
      Parameters:
      transformStyle - descendant transform behavior
      Returns:
      this component
    • backfaceVisibility

      public T backfaceVisibility(GuiBackfaceVisibility visibility)
      Selects whether a transformed back face remains visible.
      Parameters:
      visibility - back-face behavior
      Returns:
      this component
    • motionPath

      public T motionPath(GuiMotionPath path)
      Sets the post-layout path followed by this component.
      Parameters:
      path - motion-path declaration
      Returns:
      this component
    • clipPath

      public T clipPath(GuiClipPath path)
      Sets the component clip path, or null to remove it.
      Parameters:
      path - clip path
      Returns:
      this component
    • maskLayers

      public T maskLayers(List<GuiMaskLayer> layers)
      Replaces the ordered mask-layer list.
      Parameters:
      layers - mask layers in paint order
      Returns:
      this component
    • maskLayers

      public T maskLayers(GuiMaskLayer... layers)
      Replaces the ordered mask-layer list.
      Parameters:
      layers - mask layers in paint order
      Returns:
      this component
    • filters

      public T filters(GuiFilterChain filters)
      Sets the ordered foreground filter chain.
      Parameters:
      filters - foreground filters
      Returns:
      this component
    • backdropFilters

      public T backdropFilters(GuiFilterChain filters)
      Sets filters applied to the game and retained GUI content already painted behind this component. The component's own fill, border, and descendants are painted sharply after the clipped backdrop pass.
      Parameters:
      filters - backdrop filters
      Returns:
      this component
    • enabled

      public T enabled(boolean enabled)
    • clipChildren

      public T clipChildren(boolean clipChildren)
      Sets whether child content is clipped to this component's content bounds.
      Parameters:
      clipChildren - whether to clip child content
      Returns:
      this component
    • isClippingChildren

      public boolean isClippingChildren()
      Returns whether child content is clipped to this component's content bounds.
      Returns:
      whether child content is clipped
    • requestFocus

      public T requestFocus()
    • tooltip

      public T tooltip(TooltipComponent tooltip)
    • contextMenu

      public T contextMenu(ContextMenuComponent contextMenu)
    • applyStyle

      public T applyStyle(GuiStylePreset preset)
      Applies a reusable sparse style preset.
      Parameters:
      preset - preset to apply
      Returns:
      this component
    • inlineStyle

      public T inlineStyle(Consumer<GuiStyleBuilder> declarations)
      Adds typed high-priority inline declarations for modern mode.

      Existing fluent setters write to the same precedence level. Cascade-wide INITIAL, INHERIT, and UNSET values are available through GuiStyleBuilder.set(GuiStyleProperty, T).

      Parameters:
      declarations - declaration callback
      Returns:
      this component
    • transitionAll

      public T transitionAll(double durationSeconds, GuiEasing easing)
    • transitionAll

      public T transitionAll(double durationSeconds, double delaySeconds, GuiEasing easing)
    • transitionAll

      public T transitionAll(double durationSeconds, double delaySeconds, GuiEasing easing, GuiTransitionBehavior behavior)
      Transitions every modern property, optionally including discrete values.
      Parameters:
      durationSeconds - duration in seconds
      delaySeconds - non-negative delay
      easing - timing function
      behavior - discrete transition policy
      Returns:
      this component
    • transition

      public T transition(double durationSeconds, double delaySeconds, GuiEasing easing, GuiTransitionBehavior behavior, GuiStyleProperty<?>... properties)
      Transitions selected typed modern properties.
      Parameters:
      durationSeconds - duration in seconds
      delaySeconds - non-negative delay
      easing - timing function
      behavior - discrete transition policy
      properties - modern properties
      Returns:
      this component
    • transition

      public T transition(double durationSeconds, GuiEasing easing, GuiTransitionBehavior behavior, GuiStyleProperty<?>... properties)
    • startingStyle

      public T startingStyle(Consumer<GuiStyleBuilder> declarations)
      Defines typed values used when this component first enters the styled tree.
      Parameters:
      declarations - starting declaration callback
      Returns:
      this component
    • transition

      public T transition(double durationSeconds, GuiEasing easing, GuiProperty<?>... properties)
    • transition

      public T transition(double durationSeconds, double delaySeconds, GuiEasing easing, GuiProperty<?>... properties)
    • transition

      public T transition(double durationSeconds, GuiEasing easing, GuiPropertyGroup... groups)
    • transition

      public T transition(double durationSeconds, double delaySeconds, GuiEasing easing, GuiPropertyGroup... groups)
    • hovered

      public T hovered(Consumer<T> consumer)
    • pressed

      public T pressed(Consumer<T> consumer)
    • focused

      public T focused(Consumer<T> consumer)
    • disabled

      public T disabled(Consumer<T> consumer)
    • animation

      public T animation(String name, GuiKeyframes keyframes)
    • play

      public T play(String name)
    • pause

      public T pause(String name)
    • resume

      public T resume(String name)
    • cancel

      public T cancel(String name)
    • add

      public T add(GuiComponent<?> child)
    • remove

      public T remove(GuiComponent<?> child)
    • clearChildren

      public T clearChildren()
    • children

      public List<GuiComponent<?>> children()
    • parent

      public GuiComponent<?> parent()
    • x

      public float x()
    • y

      public float y()
    • width

      public float width()
    • height

      public float height()
    • visible

      public boolean visible()
    • enabled

      public boolean enabled()
    • focused

      public boolean focused()
      Returns whether this component currently owns keyboard focus.
      Returns:
      true when focused
    • readOnly

      public T readOnly(boolean readOnly)
      Makes this control read-only for selector and interaction semantics.
      Parameters:
      readOnly - read-only state
      Returns:
      this component
    • readOnly

      public final boolean readOnly()
    • required

      public T required(boolean required)
      Sets whether this component participates in required/optional form styling.
      Parameters:
      required - required state
      Returns:
      this component
    • required

      public final boolean required()
    • validity

      public T validity(GuiValidity validity)
      Sets semantic validity independently of edit-time input filtering.
      Parameters:
      validity - validation state
      Returns:
      this component
    • validity

      public final GuiValidity validity()
    • rangeState

      public T rangeState(GuiRangeState rangeState)
      Sets the optional range pseudo-state for numeric and custom controls.
      Parameters:
      rangeState - range state
      Returns:
      this component
    • rangeState

      public final GuiRangeState rangeState()
    • indeterminate

      public T indeterminate(boolean indeterminate)
      Sets the mixed/indeterminate state used by tri-state controls.
      Parameters:
      indeterminate - mixed state
      Returns:
      this component
    • indeterminate

      public final boolean indeterminate()
    • matchesStyleState

      public final boolean matchesStyleState(GuiStyleState state)
      Tests a standard or custom modern selector state.
      Parameters:
      state - state query
      Returns:
      active flag
    • computedStyle

      public final Optional<GuiComputedStyle> computedStyle()
      Returns the latest computed modern style.
      Returns:
      computed style when this component has been resolved by a modern host
    • intrinsicSize

      public final GuiIntrinsicSize intrinsicSize()
      Returns intrinsic contributions from the latest modern measure pass.
      Returns:
      immutable intrinsic metrics
    • layoutFragments

      public final List<GuiLayoutFragment> layoutFragments()
      Returns final modern layout fragments. Modern layout normally produces one fragment per box; display:contents and display:none produce none.
      Returns:
      immutable fragment list
    • fragmentTree

      public final GuiFragmentTree fragmentTree()
      Returns the latest page/column fragment projection rooted at this component.
      Returns:
      immutable fragment tree, or an empty tree outside fragmentation
    • pseudoElementStyle

      public final Optional<GuiComputedStyle> pseudoElementStyle(GuiPseudoElement pseudoElement)
      Returns a paint-only or generated pseudo-element's computed style.
      Parameters:
      pseudoElement - pseudo-element
      Returns:
      computed style when a matching rule exists
    • styledPseudoElements

      public final Set<GuiPseudoElement> styledPseudoElements()
      Returns pseudo-elements with a currently matched modern rule.
      Returns:
      immutable pseudo-element set
    • pseudoElementBox

      public final Optional<GuiPseudoElementComponent> pseudoElementBox(GuiPseudoElement pseudoElement)
      Returns a stable generated pseudo-element box for BEFORE, AFTER, or MARKER after a matching modern rule has resolved.
      Parameters:
      pseudoElement - tree-abiding pseudo-element
      Returns:
      generated box when present
    • dirtyCategories

      public final Set<GuiDirtyCategory> dirtyCategories()
      Returns current modern invalidation categories.
      Returns:
      immutable dirty-category set
    • lastInvalidationReason

      public final String lastInvalidationReason()
      Returns the latest invalidation reason for devtools.
      Returns:
      reason
    • clipsChildren

      protected boolean clipsChildren()
    • renderClippedChildren

      protected void renderClippedChildren(com.render.api.gui.GuiRenderContext context)
      Paints descendants through this component's overflow clip.
    • layoutChildren

      protected void layoutChildren(com.render.api.gui.GuiRenderContext context)
    • onModernLayoutComplete

      protected void onModernLayoutComplete()
      Invoked after this component's descendants have been arranged by the modern layout engine.
    • childLayout

      protected ContainerLayout childLayout()
    • childGap

      protected float childGap()
    • childOffsetX

      protected float childOffsetX()
    • childOffsetY

      protected float childOffsetY()
    • childLayoutViewport

      protected com.render.api.gui.GuiBox childLayoutViewport()
      Returns the box used to arrange descendants. Scroll containers override this to reserve persistent scrollbar gutters.
    • preferredWidth

      protected float preferredWidth(com.render.api.gui.GuiRenderContext context)
    • preferredHeight

      protected float preferredHeight(com.render.api.gui.GuiRenderContext context)
    • preferredHeightForWidth

      protected float preferredHeightForWidth(com.render.api.gui.GuiRenderContext context, float resolvedWidth)
    • shouldRouteToChildren

      protected boolean shouldRouteToChildren(float mouseX, float mouseY)
    • containsChildClipPoint

      protected boolean containsChildClipPoint(float mouseX, float mouseY)
    • handlesMouseClick

      protected boolean handlesMouseClick(float mouseX, float mouseY, int button)
    • handlesMouseScroll

      protected boolean handlesMouseScroll(float mouseX, float mouseY)
    • isFocusable

      protected boolean isFocusable()
    • renderSelf

      protected void renderSelf(com.render.api.gui.GuiRenderContext context)
    • paint

      protected void paint(GuiPaintContext context)
      Paints custom leaf content after RenderLib's built-in component rendering and before child rendering.

      This is the supported rendering hook for components implemented outside com.render.api.gui. The supplied context exposes only public, stable types and is valid only until this method returns.

      Parameters:
      context - public custom-paint surface for the current frame
    • renderOverlay

      protected void renderOverlay(com.render.api.gui.GuiRenderContext context)
    • onMouseClicked

      protected boolean onMouseClicked(com.render.api.gui.GuiRenderContext context, float mouseX, float mouseY, int button)
    • onMouseReleased

      protected boolean onMouseReleased(com.render.api.gui.GuiRenderContext context, float mouseX, float mouseY, int button)
    • onMouseDragged

      protected boolean onMouseDragged(com.render.api.gui.GuiRenderContext context, float mouseX, float mouseY, int button, double dragX, double dragY)
    • onMouseScrolled

      protected boolean onMouseScrolled(com.render.api.gui.GuiRenderContext context, float mouseX, float mouseY, double horizontalAmount, double verticalAmount)
    • onKeyPressed

      protected boolean onKeyPressed(com.render.api.gui.GuiRenderContext context, int keyCode, int scanCode, int modifiers)
    • onCharTyped

      protected boolean onCharTyped(com.render.api.gui.GuiRenderContext context, int codePoint, int modifiers)
    • onFocusChanged

      protected void onFocusChanged(boolean focused)
    • tick

      protected void tick()
    • resolveBaseProperties

      protected void resolveBaseProperties(com.render.api.gui.GuiPropertyValues properties)
    • writingState

      protected final boolean writingState()
    • activeStateStyle

      protected final com.render.api.gui.GuiStateStyle activeStateStyle()
    • writeTextShadow

      protected final void writeTextShadow(boolean shadow)
    • renderChildren

      protected final void renderChildren(com.render.api.gui.GuiRenderContext context)
    • writeModernInline

      protected final <V> void writeModernInline(GuiStyleProperty<V> property, V value)
      Records a legacy fluent setter as a high-priority modern inline declaration.
      Type Parameters:
      V - property type
      Parameters:
      property - modern property
      value - literal value
    • invalidateModernLayout

      protected final void invalidateModernLayout(String reason)
    • styleOpen

      protected boolean styleOpen()
      Allows controls with retained popup/expansion state to implement :open.