#[non_exhaustive]pub enum Request<'a> {
Motion {
time: u32,
dx: f64,
dy: f64,
},
MotionAbsolute {
time: u32,
x: u32,
y: u32,
x_extent: u32,
y_extent: u32,
},
Button {
time: u32,
button: u32,
state: WEnum<ButtonState>,
},
Axis {
time: u32,
axis: WEnum<Axis>,
value: f64,
},
Frame,
AxisSource {
axis_source: WEnum<AxisSource>,
},
AxisStop {
time: u32,
axis: WEnum<Axis>,
},
AxisDiscrete {
time: u32,
axis: WEnum<Axis>,
value: f64,
discrete: i32,
},
Destroy,
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Motion
Fields
pointer relative motion event
The pointer has moved by a relative amount to the previous request.
Values are in the global compositor space.
MotionAbsolute
Fields
pointer absolute motion event
The pointer has moved in an absolute coordinate frame.
Value of x can range from 0 to x_extent, value of y can range from 0 to y_extent.
Button
button event
A button was pressed or released.
Axis
Fields
axis event
Scroll and other axis requests.
Frame
end of a pointer event sequence
Indicates the set of events that logically belong together.
AxisSource
Fields
axis_source: WEnum<AxisSource>
source of the axis event
axis source event
Source information for scroll and other axis.
AxisStop
Fields
axis stop event
Stop notification for scroll and other axes.
AxisDiscrete
Fields
axis click event
Discrete step information for scroll and other axes.
This event allows the client to extend data normally sent using the axis event with discrete value.
Destroy
destroy the virtual pointer object
This is a destructor, once sent this object cannot be used any longer.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a> RefUnwindSafe for Request<'a>
impl<'a> Send for Request<'a>
impl<'a> Sync for Request<'a>
impl<'a> Unpin for Request<'a>
impl<'a> UnwindSafe for Request<'a>
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> 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.