Skip to content

OnPointerEventModifier

A Modifier.Element that registers a callback for a specific PointerEventType.

When multiple OnPointerEventModifier elements with the same eventType exist on a node, the last one replaces earlier ones (they do not chain). Use combinedClickable if you need multiple click behaviours on a single node.

Parameters

  • T: The concrete AUINode subtype the handler expects.

  • eventType: The pointer event that triggers onEvent.

  • onEvent: The handler invoked with the receiving node and the event.

Constructors

OnPointerEventModifier

constructor(eventType: PointerEventType, onEvent: (T, PointerEvent) -> Unit)

Parameters

  • T: The concrete AUINode subtype the handler expects.

  • eventType: The pointer event that triggers onEvent.

  • onEvent: The handler invoked with the receiving node and the event.

Properties

eventType

Parameters

  • eventType: The pointer event that triggers onEvent.

onEvent

val onEvent: (T, PointerEvent) -> Unit

Parameters

  • onEvent: The handler invoked with the receiving node and the event.

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: Int): Modifier

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

@Stable



fun Modifier.background(color: KColor): Modifier

Fills the composable's background with a solid 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: 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: Int, 
    endColor: Int, 
    gradientDirection: GradientDirection = GradientDirection.TOP_TO_BOTTOM
): Modifier

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

@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.

border

@Stable



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

Adds a border using a raw ARGB integer color.

@Stable



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

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

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.

At least one of the three callbacks must be non-null.

Parameters

  • onLongClick: Invoked when the node is held for more than LONG_CLICK_THRESHOLD ms.

  • onDoubleClick: Invoked when two presses occur within DOUBLE_CLICK_THRESHOLD ms.

  • onClick: Invoked on a normal single click (mouse release).

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: OnPointerEventModifier<*>): OnPointerEventModifier<*>

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.

Called when the user types a printable character while the node (or a descendant) participates in key event dispatch.

Parameters

  • onEvent: Callback invoked with (node, CharEvent).

onDrag

@Stable



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

Registers a drag event handler on this composable.

Parameters

  • global: When true, the handler fires for drag events anywhere on screen.

  • onDragEvent: The callback invoked with (node, DragEvent).

onGloballyPositioned

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

onKeyEvent

Registers a key-press handler on this composable.

The handler is called when a keyboard key is pressed while the node (or a descendant) holds focus in the key event dispatch chain.

Parameters

  • onEvent: Callback invoked with (node, KeyEvent).

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.

Parameters

  • T: The expected AUINode subtype; use AUINode for the generic case.

  • type: The PointerEventType to listen for.

  • onEvent: The callback invoked with (node, event) when the event occurs.

onScroll

@Stable



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

Registers a scroll event handler on this composable.

Parameters

  • global: When true, the handler fires for scroll events anywhere on screen.

  • onScrollEvent: The callback invoked with (node, ScrollEvent).

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.

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.

toString

open override fun toString(): String

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.