#[repr(transparent)]pub struct PadEvent { /* private fields */ }
Expand description
An event related to a pad-based device.
Implementations§
Methods from Deref<Target = Event>§
pub const NONE: Option<&'static Event> = None
sourcepub fn axes(&self) -> Option<Vec<f64>>
pub fn axes(&self) -> Option<Vec<f64>>
Extracts all axis values from an event.
To find out which axes are used, use DeviceTool::axes()
on the device tool returned by device_tool()
.
Returns
true
on success, otherwise false
axes
the array of values for all axes
sourcepub fn axis(&self, axis_use: AxisUse) -> Option<f64>
pub fn axis(&self, axis_use: AxisUse) -> Option<f64>
Extract the axis value for a particular axis use from an event structure.
To find out which axes are used, use DeviceTool::axes()
on the device tool returned by device_tool()
.
axis_use
the axis use to look for
Returns
true
if the specified axis was found, otherwise false
value
location to store the value found
sourcepub fn device_tool(&self) -> Option<DeviceTool>
pub fn device_tool(&self) -> Option<DeviceTool>
Returns a DeviceTool
representing the tool that
caused the event.
If the was not generated by a device that supports
different tools (such as a tablet), this function will
return None
.
Note: the DeviceTool
will be constant during
the application lifetime, if settings must be stored
persistently across runs, see DeviceTool::serial()
.
Returns
The current device tool
sourcepub fn event_sequence(&self) -> EventSequence
pub fn event_sequence(&self) -> EventSequence
Returns the event sequence to which the event belongs.
Related touch events are connected in a sequence. Other events typically don’t have event sequence information.
Returns
the event sequence that the event belongs to
sourcepub fn event_type(&self) -> EventType
pub fn event_type(&self) -> EventType
sourcepub fn history(&self) -> Vec<TimeCoord>
pub fn history(&self) -> Vec<TimeCoord>
Retrieves the history of the device that @self is for, as a list of time and coordinates.
The history includes positions that are not delivered as separate events to the application because they occurred in the same frame as @self.
Note that only motion and scroll events record history, and motion events do it only if one of the mouse buttons is down, or the device has a tool.
Returns
an array of time and coordinates
sourcepub fn modifier_state(&self) -> ModifierType
pub fn modifier_state(&self) -> ModifierType
sourcepub fn is_pointer_emulated(&self) -> bool
pub fn is_pointer_emulated(&self) -> bool
sourcepub fn position(&self) -> Option<(f64, f64)>
pub fn position(&self) -> Option<(f64, f64)>
Extract the event surface relative x/y coordinates from an event.
This position is in surface coordinates.
Returns
x
location to put event surface x coordinate
y
location to put event surface y coordinate
sourcepub fn time(&self) -> u32
pub fn time(&self) -> u32
Returns the timestamp of @self.
Not all events have timestamps. In that case, this function
returns GDK_CURRENT_TIME
.
Returns
timestamp field from @self
Returns whether a Event
should trigger a context menu,
according to platform conventions.
The right mouse button typically triggers context menus.
This function should always be used instead of simply checking for
event->button == GDK_BUTTON_SECONDARY
.
Returns
true
if the event should trigger a context menu.
pub fn is<T: EventKind>(&self) -> bool
pub fn type_(&self) -> Type
pub fn downcast_ref<T: EventKind>(&self) -> Option<&T>
sourcepub fn angle(&self, event: impl AsRef<Event>) -> Option<f64>
pub fn angle(&self, event: impl AsRef<Event>) -> Option<f64>
Returns the relative angle from @event1 to @event2.
The relative angle is the angle between the X axis and the line through both events’ positions. The rotation direction for positive angles is from the positive X axis towards the positive Y axis.
This assumes that both events have X/Y information.
If not, this function returns false
.
event1
first Event
event2
second Event
Returns
true
if the angle could be calculated.
angle
return location for the relative angle between both events
sourcepub fn center(&self, event: impl AsRef<Event>) -> Option<(f64, f64)>
pub fn center(&self, event: impl AsRef<Event>) -> Option<(f64, f64)>
Returns the point halfway between the events’ positions.
This assumes that both events have X/Y information.
If not, this function returns false
.
event1
first Event
event2
second Event
Returns
true
if the center could be calculated.
x
return location for the X coordinate of the center
y
return location for the Y coordinate of the center
Trait Implementations§
source§impl StaticType for PadEvent
impl StaticType for PadEvent
source§fn static_type() -> Type
fn static_type() -> Type
Self
.