Device identity of the pointer a delivery verb is dispatching, stamped onto every MouseEvent the verb builds (including the ancestor-bubble copies). More...
#include <pointer_dispatch.hpp>
Public Attributes | |
| PointerType | type = PointerType::mouse |
| float | pressure = 0.5f |
| 0.0-1.0; 0.5 is the mouse default. | |
| int | pointer_id = 0 |
| 0 = primary pointer, >0 = an additional simultaneous touch. | |
| float | altitude_angle = 0.0f |
| Stylus altitude above the display plane. | |
| float | azimuth_angle = 0.0f |
| Stylus direction around the display plane. | |
| float | movement_x = 0.0f |
| Host-reported X delta since the prior event. | |
| float | movement_y = 0.0f |
| Host-reported Y delta since the prior event. | |
| bool | has_movement_delta = false |
| The host supplied the movement fields. | |
Device identity of the pointer a delivery verb is dispatching, stamped onto every MouseEvent the verb builds (including the ancestor-bubble copies).
Kept as a struct for the same reason WheelHost / MouseDownHost / MouseUpHost are: press and release carried no device fields at all, so a touch could be described on a drag tick but never on the press a widget latches on, and adding pointer_id — plus stylus tilt later — would otherwise cost one more positional overload per verb. The drag verb keeps its older PointerType + float scalar overloads because they are already exported; this struct is the form that also carries pointer_id.
| float pulp::view::PointerAttributes::altitude_angle = 0.0f |
Stylus altitude above the display plane.
| float pulp::view::PointerAttributes::azimuth_angle = 0.0f |
Stylus direction around the display plane.
| bool pulp::view::PointerAttributes::has_movement_delta = false |
The host supplied the movement fields.
| float pulp::view::PointerAttributes::movement_x = 0.0f |
Host-reported X delta since the prior event.
| float pulp::view::PointerAttributes::movement_y = 0.0f |
Host-reported Y delta since the prior event.
| int pulp::view::PointerAttributes::pointer_id = 0 |
0 = primary pointer, >0 = an additional simultaneous touch.
The gesture arbiter keys its per-pointer sessions on this, and PinchRecognizer / RotateRecognizer key their touch maps on it, so two touches that share an id collapse into one and no multi-touch gesture can ever form.
| float pulp::view::PointerAttributes::pressure = 0.5f |
0.0-1.0; 0.5 is the mouse default.
| PointerType pulp::view::PointerAttributes::type = PointerType::mouse |