pub struct ZwpTabletPadRingV2 { /* private fields */ }
server
only.Expand description
pad ring
A circular interaction area, such as the touch ring on the Wacom Intuos Pro series tablets.
Events on a ring are logically grouped by the wl_tablet_pad_ring.frame event.
See also the Request enum for this interface.
Implementations§
source§impl ZwpTabletPadRingV2
impl ZwpTabletPadRingV2
sourcepub fn source(&self, source: Source)
pub fn source(&self, source: Source)
ring event source
Source information for ring events.
This event does not occur on its own. It is sent before a wp_tablet_pad_ring.frame event and carries the source information for all events within that frame.
The source specifies how this event was generated. If the source is wp_tablet_pad_ring.source.finger, a wp_tablet_pad_ring.stop event will be sent when the user lifts the finger off the device.
This event is optional. If the source is unknown for an interaction, no event is sent.
sourcepub fn angle(&self, degrees: f64)
pub fn angle(&self, degrees: f64)
angle changed
Sent whenever the angle on a ring changes.
The angle is provided in degrees clockwise from the logical north of the ring in the pad’s current rotation.
sourcepub fn stop(&self)
pub fn stop(&self)
interaction stopped
Stop notification for ring events.
For some wp_tablet_pad_ring.source types, a wp_tablet_pad_ring.stop event is sent to notify a client that the interaction with the ring has terminated. This enables the client to implement kinetic scrolling. See the wp_tablet_pad_ring.source documentation for information on when this event may be generated.
Any wp_tablet_pad_ring.angle events with the same source after this event should be considered as the start of a new interaction.
sourcepub fn frame(&self, time: u32)
pub fn frame(&self, time: u32)
end of a ring event sequence
Indicates the end of a set of ring events that logically belong together. A client is expected to accumulate the data in all events within the frame before proceeding.
All wp_tablet_pad_ring events before a wp_tablet_pad_ring.frame event belong logically together. For example, on termination of a finger interaction on a ring the compositor will send a wp_tablet_pad_ring.source event, a wp_tablet_pad_ring.stop event and a wp_tablet_pad_ring.frame event.
A wp_tablet_pad_ring.frame event is sent for every logical event group, even if the group only contains a single wp_tablet_pad_ring event. Specifically, a client may get a sequence: angle, frame, angle, frame, etc.
Trait Implementations§
source§impl Borrow<ObjectId> for ZwpTabletPadRingV2
impl Borrow<ObjectId> for ZwpTabletPadRingV2
source§impl Clone for ZwpTabletPadRingV2
impl Clone for ZwpTabletPadRingV2
source§fn clone(&self) -> ZwpTabletPadRingV2
fn clone(&self) -> ZwpTabletPadRingV2
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ZwpTabletPadRingV2
impl Debug for ZwpTabletPadRingV2
source§impl Hash for ZwpTabletPadRingV2
impl Hash for ZwpTabletPadRingV2
source§impl PartialEq<Weak<ZwpTabletPadRingV2>> for ZwpTabletPadRingV2
impl PartialEq<Weak<ZwpTabletPadRingV2>> for ZwpTabletPadRingV2
source§impl PartialEq for ZwpTabletPadRingV2
impl PartialEq for ZwpTabletPadRingV2
source§impl Resource for ZwpTabletPadRingV2
impl Resource for ZwpTabletPadRingV2
source§fn object_data(&self) -> Option<&Arc<dyn Any + Send + Sync>>
fn object_data(&self) -> Option<&Arc<dyn Any + Send + Sync>>
source§fn handle(&self) -> &WeakHandle
fn handle(&self) -> &WeakHandle
source§fn from_id(conn: &DisplayHandle, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &DisplayHandle, id: ObjectId) -> Result<Self, InvalidId>
source§fn send_event(&self, evt: Self::Event<'_>) -> Result<(), InvalidId>
fn send_event(&self, evt: Self::Event<'_>) -> Result<(), InvalidId>
source§fn parse_request(
conn: &DisplayHandle,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Request), DispatchError>
fn parse_request( conn: &DisplayHandle, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Request), DispatchError>
source§fn write_event<'a>(
&self,
conn: &DisplayHandle,
msg: Self::Event<'a>,
) -> Result<Message<ObjectId, BorrowedFd<'a>>, InvalidId>
fn write_event<'a>( &self, conn: &DisplayHandle, msg: Self::Event<'a>, ) -> Result<Message<ObjectId, BorrowedFd<'a>>, InvalidId>
source§fn is_alive(&self) -> bool
fn is_alive(&self) -> bool
impl Eq for ZwpTabletPadRingV2
Auto Trait Implementations§
impl Freeze for ZwpTabletPadRingV2
impl !RefUnwindSafe for ZwpTabletPadRingV2
impl Send for ZwpTabletPadRingV2
impl Sync for ZwpTabletPadRingV2
impl Unpin for ZwpTabletPadRingV2
impl !UnwindSafe for ZwpTabletPadRingV2
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.