Module pointer

Source
Expand description

Types and systems for pointer inputs, such as position and buttons.

The picking system is built around the concept of a ‘Pointer’, which is an abstract representation of a user input with a specific screen location. The cursor and touch input is provided under crate::input, but you can also implement your own custom pointers by supplying a unique ID.

The purpose of this module is primarily to provide a common interface that can be driven by lower-level input devices and consumed by higher-level interaction systems.

Structs§

Location
The location of a pointer, including the current NormalizedRenderTarget, and the x/y position of the pointer on this render target.
PointerInput
An input event effecting a pointer.
PointerInteraction
Holds a list of entities this pointer is currently interacting with, sorted from nearest to farthest.
PointerLocation
Component that tracks a pointer’s current Location.
PointerMap
A resource that maps each PointerId to their Entity for easy lookups.
PointerPress
Tracks the state of the pointer’s buttons in response to PointerInput events.

Enums§

PointerAction
Event sent to drive a pointer.
PointerButton
The button that was just pressed or released
PointerId
Identifies a unique pointer entity. Mouse and Touch pointers are automatically spawned.
PressDirection
The stage of the pointer button press event

Functions§

update_pointer_map
Update the PointerMap resource with the current frame’s data.