Table of Contents

Namespace Xui.Core.UI.Input

Classes

EventRouter

Routes pointer, mouse, scroll, and touch events through the view tree, performing hit testing, pointer capture, and enter/leave tracking.

PointerGestures

Singleton gesture markers used by simple widgets when capturing a pointer. Reusing these avoids per-event heap allocation. Widgets that need to carry extra state can implement IPointerGesture on their own type and pass an instance to CapturePointer instead.

Structs

PointerEventRef

Represents a reference to a pointer event routed to a view, containing identification and pointer state information.

PointerState

Describes the physical state of a pointer at a specific moment in time, including position, pressure, tilt, and button information.

Interfaces

IDrag

A capturing view declares IDrag when it is consuming pointer motion as ongoing input (e.g. a color wheel, a slider thumb, a drawing canvas). Ancestor scroll views and similar containers must not steal capture while an IDrag gesture is active.

IDragHorizontalTentative

A horizontal-axis drag that is willing to yield capture to a vertical-axis ancestor whose drag intent appears stronger. Used by horizontal scroll views nested inside vertical ones: the inner scrolls horizontally from the first pointer move, but if the user's motion is dominantly vertical when crossing the recognition threshold, the outer scroll view steals capture.

The capturing view is expected to "promote" itself by re-capturing with a plain IDrag (e.g. Drag) once horizontal motion has clearly committed to its axis (typical threshold: 20pt of horizontal travel). After promotion, vertical ancestors can no longer steal capture for this pointer.

IPointerGesture

Marker interface attached to a captured pointer to describe what kind of gesture the capturing view is performing. Ancestor views can inspect this (via GetCapturedGesture(int)) to negotiate handover — for example a ScrollView will steal an ITap after a drag threshold but stand down for an IDrag.

ITap

A capturing view declares ITap when it is tracking a press that may or may not become a tap (e.g. Button, Checkbox). An ancestor that wants the pointer for a drag may steal capture after its own threshold is exceeded.

Enums

EventPhase

Defines the phase of event delivery through the view hierarchy.

PointerButton

Defines the mouse or pointer button associated with a pointer event, based on the W3C Pointer Events specification.

PointerButtons

Defines the set of mouse or pointer buttons currently pressed, based on the W3C Pointer Events specification.

PointerEventType

Defines the type of action associated with a pointer event, based on the W3C Pointer Events specification.

PointerType

Defines the type of input device associated with a pointer event.