#[non_exhaustive]pub enum Request<'a> {
Authenticate {
application: String,
reason: String,
},
PointerMotion {
delta_x: f64,
delta_y: f64,
},
Button {
button: u32,
state: u32,
},
Axis {
axis: u32,
value: f64,
},
TouchDown {
id: u32,
x: f64,
y: f64,
},
TouchMotion {
id: u32,
x: f64,
y: f64,
},
TouchUp {
id: u32,
},
TouchCancel,
TouchFrame,
PointerMotionAbsolute {
x: f64,
y: f64,
},
KeyboardKey {
button: u32,
state: u32,
},
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Authenticate
Information why the client wants to use the interface
A client should use this request to tell the compositor why it wants to use this interface. The compositor might use the information to decide whether it wants to grant the request. The data might also be passed to the user to decide whether the application should get granted access to this very privileged interface.
Fields
PointerMotion
Button
Axis
TouchDown
touch down event
A client should use this request to send touch down event at specific coordinates.
Only available since version 2 of the interface
Fields
TouchMotion
touch motion event
A client should use this request to send touch motion to specific position.
Only available since version 2 of the interface
Fields
TouchUp
touch up event
A client should use this request to send touch up event.
Only available since version 2 of the interface
TouchCancel
touch cancel event
A client should use this request to cancel the current touch event.
Only available since version 2 of the interface
TouchFrame
touch frame event
A client should use this request to send touch frame event.
Only available since version 2 of the interface
PointerMotionAbsolute
Only available since version 3 of the interface
KeyboardKey
Only available since version 4 of the interface
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.