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.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
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¶
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).
Adds a border using a raw ARGB integer color.
Parameters
-
color: ARGB packed colour.
-
thickness: The border stroke width in pixels (default 1).
clipToBounds¶
fun Modifier.clipToBounds(): Modifier
Restricts hit-testing of this node's descendants to its own bounds - see ClipToBoundsModifier.
combinedClickable¶
@Stable
fun <T : UINode> 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¶
Attaches one or more plain-text debug strings to the composable.
Attaches one or more formatted Component debug labels to the composable.
draggable¶
fun Modifier.draggable(
state: DraggableState,
orientation: Orientation,
enabled: Boolean = true,
interactionSource: MutableInteractionSource? = null,
onDragStarted: () -> Unit = {},
onDragStopped: () -> Unit = {}
): Modifier
Recognizes a drag gesture along orientation and reports each movement as a delta to state - the net.kernelpanicsoft.archie equivalent of Compose Foundation's Modifier.draggable(state, orientation, enabled, interactionSource, onDragStarted, onDragStopped) (dropping startDragImmediately/reverseDirection, which have no equivalent concept here).
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.
focusable¶
@Composable
fun Modifier.focusable(enabled: Boolean = true, interactionSource: MutableInteractionSource? = null): Modifier
Registers this composable as a vanilla keyboard/controller focus-navigation stop - the net.kernelpanicsoft.archie equivalent of Compose Foundation's Modifier.focusable.
foldIn¶
Accumulates a value starting with initial and applying operation to the current value and each element from outside in.
foldOut¶
Accumulates a value starting with initial and applying operation to the current value and each element from inside out.
getAll¶
Collects all Modifier.Element instances of type T from this modifier chain.
height¶
Sets an exact fixed height of height pixels (width unconstrained).
hoverable¶
fun Modifier.hoverable(interactionSource: MutableInteractionSource, enabled: Boolean = true): Modifier
Emits HoverInteraction as the pointer enters/exits - matches Compose Foundation's own Modifier.hoverable(interactionSource, enabled) signature exactly. Observe the result via net.kernelpanicsoft.archie.gui.interaction.collectIsHoveredAsState, same as Android; this has no enter/exit callbacks of its own to hook into.
margin¶
Adds a uniform margin on all four sides.
Adds symmetric horizontal and vertical margins.
Adds independent per-side margins around this composable.
mergeWith¶
open override fun mergeWith(other: TextureModifier): TextureModifier
offset¶
onCharTyped¶
Registers a character-typed handler on this composable.
onDrag¶
Registers a drag event handler on this composable.
onGloballyPositioned¶
fun Modifier.onGloballyPositioned(onGloballyPositioned: (IntCoordinates) -> Unit): Modifier
Registers onGloballyPositioned to be called with the node's absolute screen coordinates every time it is placed (e.g. on layout changes).
onKeyEvent¶
Registers a key-press handler on this composable.
onPointerEvent¶
@Stable
fun <T : UINode> Modifier.onPointerEvent(type: PointerEventType, onEvent: (T, PointerEvent) -> Unit): Modifier
Registers a handler for the given pointer type on this composable.
onScroll¶
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¶
Adds uniform padding on all four sides.
Adds symmetric horizontal and vertical padding.
Adds independent per-side padding inside this composable.
pressable¶
Emits PressInteraction and invokes onPress across a press - the net.kernelpanicsoft.archie equivalent of the press-recognition half of Compose Foundation's Modifier.clickable. Observe release via net.kernelpanicsoft.archie.gui.interaction.collectIsPressedAsState rather than a callback - onPress is kept only because, unlike hover, a press is inherently an action (the click itself), not just state to observe.
selectable¶
@Composable
fun Modifier.selectable(
selected: Boolean,
enabled: Boolean = true,
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
onClick: () -> Unit
): Modifier
Marks this composable as a selectable option within a mutually exclusive group (radio button/tab) - the net.kernelpanicsoft.archie equivalent of Compose Foundation's Modifier.selectable.
size¶
sizeIn¶
Constrains the node's width and height to be within the given min/max bounds.
texture¶
Overrides the texture of theme-aware composables with the given ResourceLocation.
Parameters
- texture: The replacement texture resource location.
then¶
Concatenates this modifier with another.
toComponent¶
open fun toComponent(): Component
Converts this modifier element to a debug Component representation.
toggleable¶
@Composable
fun Modifier.toggleable(
value: Boolean,
enabled: Boolean = true,
interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
onValueChange: (Boolean) -> Unit
): Modifier
Marks this composable as a togglable boolean control (checkbox/switch) - the net.kernelpanicsoft.archie equivalent of Compose Foundation's Modifier.toggleable.
tooltip¶
Shows lines as a tooltip while the pointer is over this composable.
Declared on the composable rather than tracked by the screen, which is the point: a screen can only draw a tooltip for something it knows about, so anything drawn inside a net.kernelpanicsoft.archie.gui.layer.Layer - a modal, a popup editor - had no way to offer one without every possible host screen plumbing the hover back out for it. The renderer finds the hovered node itself; see tooltipAt.
Parameters
- lines: The tooltip's lines, top to bottom. An empty list shows nothing.
tooltip, for lines a caller already holds as a list.
unsafeMergeWith¶
open fun unsafeMergeWith(other: Modifier.Element<*>): TextureModifier
width¶
Sets an exact fixed width of width pixels (height unconstrained).
zIndex¶
Sets the rendering depth of this composable relative to its siblings.