Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::PointerAttributes Struct Reference

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.

Detailed Description

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.

Member Data Documentation

◆ altitude_angle

float pulp::view::PointerAttributes::altitude_angle = 0.0f

Stylus altitude above the display plane.

◆ azimuth_angle

float pulp::view::PointerAttributes::azimuth_angle = 0.0f

Stylus direction around the display plane.

◆ has_movement_delta

bool pulp::view::PointerAttributes::has_movement_delta = false

The host supplied the movement fields.

◆ movement_x

float pulp::view::PointerAttributes::movement_x = 0.0f

Host-reported X delta since the prior event.

◆ movement_y

float pulp::view::PointerAttributes::movement_y = 0.0f

Host-reported Y delta since the prior event.

◆ pointer_id

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.

◆ pressure

float pulp::view::PointerAttributes::pressure = 0.5f

0.0-1.0; 0.5 is the mouse default.

◆ type

PointerType pulp::view::PointerAttributes::type = PointerType::mouse

The documentation for this struct was generated from the following file: