Skip to content

TextureModifier

data class TextureModifier(val texture: ResourceLocation) : Modifier.Element<TextureModifier> 

A Modifier.Element that overrides the texture used by certain theme-aware composables (such as net.kernelpanicsoft.archie.gui.composables.data.Slot).

Only the last applied TextureModifier on a node takes effect.

Constructors

TextureModifier

constructor(texture: ResourceLocation)

Properties

texture

val texture: ResourceLocation

Functions

all

open override fun all(predicate: (Modifier.Element<*>) -> Boolean): Boolean

Returns true if predicate returns true for all Elements in this Modifier or if this Modifier contains no Elements.

any

open override fun any(predicate: (Modifier.Element<*>) -> Boolean): Boolean

Returns true if predicate returns true for any Element in this Modifier.

background

@Stable



fun Modifier.background(color: KColor): Modifier

Fills the composable's background with a solid color.

@Stable



fun Modifier.background(startColor: KColor, endColor: KColor): Modifier

Fills the composable's background with a gradient from startColor to endColor going top-to-bottom.

@Stable



fun Modifier.background(
    startColor: KColor, 
    endColor: KColor, 
    gradientDirection: GradientDirection = GradientDirection.TOP_TO_BOTTOM
): Modifier

Fills the composable's background with a gradient from startColor to endColor in the given gradientDirection.

@Stable



fun Modifier.background(color: Int): Modifier

Fills the composable's background with a solid ARGB integer color.

@Stable



fun Modifier.background(startColor: Int, endColor: Int): Modifier

Fills the composable's background with a gradient between two ARGB integer colours.

@Stable



fun Modifier.background(
    startColor: Int, 
    endColor: Int, 
    gradientDirection: GradientDirection = GradientDirection.TOP_TO_BOTTOM
): Modifier

Fills the composable's background with a directional gradient between two ARGB integer colours.

border

@Stable



fun Modifier.border(color: KColor, thickness: Int = 1): Modifier

Adds a border of thickness pixels and color to the composable.

Parameters

  • color: The border colour.

  • thickness: The border stroke width in pixels (default 1).

@Stable



fun Modifier.border(color: Int, thickness: Int = 1): Modifier

Adds a border using a raw ARGB integer color.

Parameters

  • color: ARGB packed colour.

  • thickness: The border stroke width in pixels (default 1).

combinedClickable

@Stable



fun <T : AUINode> Modifier.combinedClickable(
    onLongClick: (T, PointerEvent) -> Unit? = null, 
    onDoubleClick: (T, PointerEvent) -> Unit? = null, 
    onClick: (T, PointerEvent) -> Unit? = null
): Modifier

Adds multiple click-type handlers to a composable in a single modifier.

debug

@Stable



fun Modifier.debug(vararg strs: String): Modifier

Attaches one or more plain-text debug strings to the composable.

@Stable



fun Modifier.debug(vararg comps: Component): Modifier

Attaches one or more formatted Component debug labels to the composable.

fillMaxHeight

@Stable



fun Modifier.fillMaxHeight(percent: Double = 1.0): Modifier

Forces the node to fill percent of the maximum available height.

fillMaxSize

@Stable



fun Modifier.fillMaxSize(percent: Double = 1.0): Modifier

Forces the node to fill percent of both the available width and height.

fillMaxWidth

@Stable



fun Modifier.fillMaxWidth(percent: Double = 1.0): Modifier

Forces the node to fill percent of the maximum available width.

foldIn

open override fun <R> foldIn(initial: R, operation: (R, Modifier.Element<*>) -> R): R

Accumulates a value starting with initial and applying operation to the current value and each element from outside in.

foldOut

open override fun <R> foldOut(initial: R, operation: (Modifier.Element<*>, R) -> R): R

Accumulates a value starting with initial and applying operation to the current value and each element from inside out.

getAll

inline fun <T : Modifier.Element<T>> Modifier.getAll(): List<T>

Collects all Modifier.Element instances of type T from this modifier chain.

height

@Stable



fun Modifier.height(height: Int): Modifier

Sets an exact fixed height of height pixels (width unconstrained).

margin

@Stable



fun Modifier.margin(all: Int = 0): Modifier

Adds a uniform margin on all four sides.

@Stable



fun Modifier.margin(horizontal: Int = 0, vertical: Int = 0): Modifier

Adds symmetric horizontal and vertical margins.

@Stable



fun Modifier.margin(
    left: Int = 0, 
    right: Int = 0, 
    top: Int = 0, 
    bottom: Int = 0
): Modifier

Adds independent per-side margins around this composable.

mergeWith

open override fun mergeWith(other: TextureModifier): TextureModifier

offset

@Stable



fun Modifier.offset(x: Int, y: Int): Modifier

Shifts the composable by (x, y) pixels after layout.

onCharTyped

Registers a character-typed handler on this composable.

onDrag

@Stable



fun <T : AUINode> Modifier.onDrag(global: Boolean = false, onDragEvent: (T, DragEvent) -> Unit): Modifier

Registers a drag event handler on this composable.

onGloballyPositioned

fun Modifier.onGloballyPositioned(onGloballyPositioned: (IntCoordinates) -> Unit): Modifier

onKeyEvent

Registers a key-press handler on this composable.

onPointerEvent

@Stable



fun <T : AUINode> Modifier.onPointerEvent(type: PointerEventType, onEvent: (T, PointerEvent) -> Unit): Modifier

Registers a handler for the given pointer type on this composable.

onScroll

@Stable



fun <T : AUINode> Modifier.onScroll(global: Boolean = false, onScrollEvent: (T, ScrollEvent) -> Unit): Modifier

Registers a scroll event handler on this composable.

onSizeChanged

fun Modifier.onSizeChanged(onSizeChanged: (Size) -> Unit): Modifier

Notifies callback of any size changes to element.

padding

@Stable



fun Modifier.padding(all: Int = 0): Modifier

Adds uniform padding on all four sides.

@Stable



fun Modifier.padding(horizontal: Int = 0, vertical: Int = 0): Modifier

Adds symmetric horizontal and vertical padding.

@Stable



fun Modifier.padding(
    left: Int = 0, 
    right: Int = 0, 
    top: Int = 0, 
    bottom: Int = 0
): Modifier

Adds independent per-side padding inside this composable.

size

@Stable



fun Modifier.size(size: Int): Modifier

Sets an exact fixed square size of size × size pixels.

@Stable



fun Modifier.size(width: Int, height: Int): Modifier

Sets an exact fixed size of width × height pixels.

sizeIn

@Stable



fun Modifier.sizeIn(
    minWidth: Int = 0, 
    maxWidth: Int = Integer.MAX_VALUE, 
    minHeight: Int = 0, 
    maxHeight: Int = Integer.MAX_VALUE
): Modifier

Constrains the node's width and height to be within the given min/max bounds.

texture

@Stable



fun Modifier.texture(texture: ResourceLocation): Modifier

Overrides the texture of theme-aware composables with the given ResourceLocation.

Parameters

  • texture: The replacement texture resource location.

then

open infix fun then(other: Modifier): Modifier

Concatenates this modifier with another.

toComponent

open fun toComponent(): Component

Converts this modifier element to a debug Component representation.

tooltip

@Stable



fun Modifier.tooltip(vararg tooltips: TooltipComponent): Modifier

Attaches one or more TooltipComponents to this composable.

The tooltips are merged with any existing TooltipModifier on the node.

Parameters

  • tooltips: The tooltip components to attach.

unsafeMergeWith

width

@Stable



fun Modifier.width(width: Int): Modifier

Sets an exact fixed width of width pixels (height unconstrained).

zIndex

@Stable



fun Modifier.zIndex(zIndex: Float): Modifier

Sets the rendering depth of this composable relative to its siblings.