#[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
pointer relative motion event
The pointer has moved by a relative amount to the previous request.
Values are in the global compositor space.
Fields
MotionAbsolute
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.
Fields
Button
button event
A button was pressed or released.
Axis
axis event
Scroll and other axis requests.
Fields
Frame
end of a pointer event sequence
Indicates the set of events that logically belong together.
AxisSource
axis source event
Source information for scroll and other axis.
Fields
axis_source: WEnum<AxisSource>
source of the axis event
AxisStop
axis stop event
Stop notification for scroll and other axes.
Fields
AxisDiscrete
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.
Fields
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> Freeze for Request<'a>
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.