PointerEventPass


The enumeration of passes where PointerInputChange traverses up and down the UI tree.

PointerInputChanges traverse throw the hierarchy in the following passes:

  1. Initial: Down the tree from ancestor to descendant.

  2. Main: Up the tree from descendant to ancestor.

  3. Final: Down the tree from ancestor to descendant.

These passes serve the following purposes:

  1. Initial: Allows ancestors to consume aspects of PointerInputChange before descendants. This is where, for example, a scroller may block buttons from getting tapped by other fingers once scrolling has started.

  2. Main: The primary pass where gesture filters should react to and consume aspects of PointerInputChanges. This is the primary path where descendants will interact with PointerInputChanges before parents. This allows for buttons to respond to a tap before a container of the bottom to respond to a tap.

  3. Final: This pass is where children can learn what aspects of PointerInputChanges were consumed by parents during the Main pass. For example, this is how a button determines that it should no longer respond to fingers lifting off of it because a parent scroller has consumed movement in a PointerInputChange.

Summary

Enum Values

Final
Initial
Main

Public functions

PointerEventPass
valueOf(value: String)

Returns the enum constant of this type with the specified name.

Cmn
Array<PointerEventPass>

Returns an array containing the constants of this enum type, in the order they're declared.

Cmn

Public functions

valueOf

fun valueOf(value: String): PointerEventPass

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws
kotlin.IllegalArgumentException

if this enum type has no constant with the specified name

values

fun values(): Array<PointerEventPass>

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.