#[non_exhaustive]
pub enum Request { 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: ButtonState, }, Axis { time: u32, axis: Axis, value: f64, }, Frame, AxisSource { axis_source: AxisSource, }, AxisStop { time: u32, axis: Axis, }, AxisDiscrete { time: u32, axis: Axis, value: f64, discrete: i32, }, Destroy, }

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Motion

Fields

§time: u32
§dx: f64
§dy: f64

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

§time: u32
§x_extent: u32
§y_extent: u32

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

Fields

§time: u32
§button: u32

button event

A button was pressed or released.

§

Axis

Fields

§time: u32
§axis: Axis
§value: f64

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: AxisSource

axis source event

Source information for scroll and other axis.

§

AxisStop

Fields

§time: u32
§axis: Axis

axis stop event

Stop notification for scroll and other axes.

§

AxisDiscrete

Fields

§time: u32
§axis: Axis
§value: f64
§discrete: i32

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.

Trait Implementations§

source§

impl Debug for Request

source§

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

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

impl MessageGroup for Request

source§

const MESSAGES: &'static [MessageDesc] = _

Wire representation of this MessageGroup
§

type Map = ProxyMap

The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing.
source§

fn is_destructor(&self) -> bool

Whether this message is a destructor Read more
source§

fn opcode(&self) -> u16

The opcode of this message
source§

fn since(&self) -> u32

The minimal object version for which this message exists
source§

fn child<Meta: ObjectMetadata>( opcode: u16, version: u32, meta: &Meta ) -> Option<Object<Meta>>

Retrieve the child Object associated with this message if any
source§

fn from_raw(msg: Message, map: &mut Self::Map) -> Result<Self, ()>

Construct a message from its raw representation
source§

fn into_raw(self, sender_id: u32) -> Message

Turn this message into its raw representation
source§

unsafe fn from_raw_c( obj: *mut c_void, opcode: u32, args: *const wl_argument ) -> Result<Request, ()>

Construct a message of this group from its C representation Read more
source§

fn as_raw_c_in<F, T>(self, f: F) -> T
where F: FnOnce(u32, &mut [wl_argument]) -> T,

Build a C representation of this message Read more

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.