Struct TabletToolProximityEvent

Source
pub struct TabletToolProximityEvent { /* private fields */ }
Expand description

Signals that a tool has come in or out of proximity of a device with the DeviceCapability::TabletTool capability.

Proximity events contain each of the current values for each axis, and these values may be extracted from them in the same way they are with TabletToolAxisEvent events.

Some tools may always be in proximity. For these tools, proximity events with ProximityState::In are sent only once after DeviceAddedEvent, and proximity events with ProximityState::Out are sent only once before DeviceRemovedEvent.

If the tool that comes into proximity supports x/y coordinates, libinput guarantees that both x and y are set in the proximity event.

When a tool goes out of proximity, the value of every axis should be assumed to have an undefined state and any buttons that are currently held down on the stylus are marked as released. Button release events for each button that was held down on the stylus are sent before the proximity out event.

Implementations§

Source§

impl TabletToolProximityEvent

Source

pub fn proximity_state(&self) -> ProximityState

Returns the new proximity state of a tool from a proximity event.

Used to check whether or not a tool came in or out of proximity during an TabletToolProximityEvent.

See Handling of proximity events for recommendations on proximity handling.

Trait Implementations§

Source§

impl AsRaw<libinput_event_tablet_tool> for TabletToolProximityEvent

Source§

fn as_raw(&self) -> *const libinput_event_tablet_tool

Receive a raw pointer representing this type.
Source§

impl Context for TabletToolProximityEvent

Source§

fn context(&self) -> &Libinput

Returns the underlying libinput context
Source§

impl Debug for TabletToolProximityEvent

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for TabletToolProximityEvent

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl EventTrait for TabletToolProximityEvent

Source§

fn into_event(self) -> Event
where Self: Sized,

Convert into a general Event again
Source§

fn device(&self) -> Device

Return the device associated with this event. Read more
Source§

impl FromRaw<libinput_event_tablet_tool> for TabletToolProximityEvent

Source§

unsafe fn from_raw( ffi: *mut libinput_event_tablet_tool, context: &Libinput, ) -> Self

Create a new instance of this type from a raw pointer and it’s context. If the type of the struct is a valid libinput type, but is unknown to this library, it panics instead. Read more
Source§

impl Hash for TabletToolProximityEvent

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for TabletToolProximityEvent

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for TabletToolProximityEvent

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> TabletToolEventTrait for T

Source§

fn time(&self) -> u32

The event time for this event
Source§

fn time_usec(&self) -> u64

The event time for this event in microseconds
Source§

fn distance_has_changed(&self) -> bool

Check if the distance axis was updated in this event. Read more
Source§

fn distance(&self) -> f64

Returns the current distance from the tablet’s sensor, normalized to the range [0, 1]. Read more
Source§

fn dx(&self) -> f64

Return the delta between the last event and the current event. Read more
Source§

fn dy(&self) -> f64

Return the delta between the last event and the current event. Read more
Source§

fn pressure_has_changed(&self) -> bool

Check if the pressure axis was updated in this event. For TabletToolButtonEvents this function always returns false.
Source§

fn pressure(&self) -> f64

Returns the current pressure being applied on the tool in use, normalized to the range [0, 1]. Read more
Source§

fn rotation_has_changed(&self) -> bool

Check if the z-rotation axis was updated in this event. Read more
Source§

fn rotation(&self) -> f64

Returns the current z rotation of the tool in degrees, clockwise from the tool’s logical neutral position. Read more
Source§

fn slider_has_changed(&self) -> bool

Check if the slider axis was updated in this event. Read more
Source§

fn slider_position(&self) -> f64

Returns the current position of the slider on the tool, normalized to the range [-1, 1]. Read more
Source§

fn tilt_x_has_changed(&self) -> bool

Check if the tilt x axis was updated in this event. Read more
Source§

fn tilt_y_has_changed(&self) -> bool

Check if the tilt y axis was updated in this event. Read more
Source§

fn tilt_x(&self) -> f64

Returns the current tilt along the X axis of the tablet’s current logical orientation, in degrees off the tablet’s z axis. Read more
Source§

fn tilt_y(&self) -> f64

Returns the current tilt along the Y axis of the tablet’s current logical orientation, in degrees off the tablet’s z axis. Read more
Source§

fn size_major_has_changed(&self) -> bool

Check if the size major axis was updated in this event. Read more
Source§

fn size_minor_has_changed(&self) -> bool

Check if the size minor axis was updated in this event. Read more
Source§

fn size_major(&self) -> f64

Returns the current size in mm along the major axis of the touching ellipse. This axis is not necessarily aligned with either x or y, the rotation must be taken into account. Read more
Source§

fn size_minor(&self) -> f64

Returns the current size in mm along the minor axis of the touching ellipse. This axis is not necessarily aligned with either x or y, the rotation must be taken into account. Read more
Source§

fn wheel_has_changed(&self) -> bool

Check if the wheel axis was updated in this event. Read more
Source§

fn wheel_delta(&self) -> f64

Return the delta for the wheel in degrees.
Source§

fn wheel_delta_discrete(&self) -> f64

Return the delta for the wheel in discrete steps (e.g. wheel clicks).
Source§

fn x_has_changed(&self) -> bool

Check if the x axis was updated in this event. Read more
Source§

fn y_has_changed(&self) -> bool

Check if the y axis was updated in this event. Read more
Source§

fn x(&self) -> f64

Returns the X coordinate of the tablet tool, in mm from the top left corner of the tablet in its current logical orientation. Read more
Source§

fn y(&self) -> f64

Returns the Y coordinate of the tablet tool, in mm from the top left corner of the tablet in its current logical orientation. Read more
Source§

fn x_transformed(&self, width: u32) -> f64

Return the current absolute x coordinate of the tablet tool event, transformed to screen coordinates. Read more
Source§

fn y_transformed(&self, height: u32) -> f64

Return the current absolute y coordinate of the tablet tool event, transformed to screen coordinates. Read more
Source§

fn tool(&self) -> TabletTool

Returns the tool that was in use during this event. Read more
Source§

fn into_tablet_tool_event(self) -> TabletToolEvent
where Self: Sized,

Convert into a general TabletToolEvent again
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.