zwp_relative_pointer_v1_server_protocol/
zwp_relative_pointer_v1_server_protocol.rs1#![allow(warnings)]
26#![allow(clippy::all)]
27use anyhow;
28#[allow(unused_imports)]
29use fuchsia_wayland_core::{Array, Enum, Fixed, NewId, NewObject};
30use fuchsia_wayland_core::{ArgKind, Arg, FromArgs, IntoMessage, Message,
31 MessageGroupSpec, MessageHeader, MessageSpec, MessageType,
32 ObjectId, EncodeError, DecodeError, Interface};
33
34#[allow(unused_imports)]
35use wayland_server_protocol::*;
36pub mod zwp_relative_pointer_manager_v1 {
37use super::*;
38
39#[derive(Debug)]
44pub struct ZwpRelativePointerManagerV1;
45
46impl Interface for ZwpRelativePointerManagerV1 {
47 const NAME: &'static str = "zwp_relative_pointer_manager_v1";
48 const VERSION: u32 = 1;
49 const REQUESTS: MessageGroupSpec = MessageGroupSpec(&[
50 MessageSpec(&[
52 ]),
53 MessageSpec(&[
55 ArgKind::NewId,
56 ArgKind::Object,
57 ]),
58 ]);
59 const EVENTS: MessageGroupSpec = MessageGroupSpec(&[
60 ]);
61 type Incoming = Request;
62 type Outgoing = Event;
63}
64
65#[derive(Debug)]
66pub enum Request {
67
68 Destroy,
73
74 GetRelativePointer {
79 id: NewObject<ZwpRelativePointerV1>,
80 pointer: ObjectId,
81 },
82}
83
84impl MessageType for Request {
85 fn log(&self, this: ObjectId) -> String {
86 match *self {
87 Request::Destroy {
88 } => {
89 format!("zwp_relative_pointer_manager_v1@{:?}::destroy()", this)
90 }
91 Request::GetRelativePointer {
92 ref id,
93 ref pointer,
94 } => {
95 format!("zwp_relative_pointer_manager_v1@{:?}::get_relative_pointer(id: {:?}, pointer: {:?})", this, id, pointer)
96 }
97 }
98 }
99 fn message_name(&self) -> &'static std::ffi::CStr{
100 match *self {
101 Request::Destroy { .. } => c"zwp_relative_pointer_manager_v1::destroy",
102 Request::GetRelativePointer { .. } => c"zwp_relative_pointer_manager_v1::get_relative_pointer",
103 }
104 }
105}
106#[derive(Debug)]
107pub enum Event {
108}
109
110impl MessageType for Event {
111 fn log(&self, this: ObjectId) -> String {
112 match *self {
113 }
114 }
115 fn message_name(&self) -> &'static std::ffi::CStr{
116 match *self {
117 }
118 }
119}
120impl IntoMessage for Event {
121 type Error = EncodeError;
122 fn into_message(self, id: u32) -> Result<Message, <Self as IntoMessage>::Error> {
123 let mut header = MessageHeader {
124 sender: id,
125 opcode: 0,
126 length: 0,
127 };
128 let mut msg = Message::new();
129 msg.write_header(&header)?;
130 match self {
131 }
132 header.length = msg.bytes().len() as u16;
133 msg.rewind();
134 msg.write_header(&header)?;
135 Ok(msg)
136 }
137}
138impl FromArgs for Request {
139 fn from_args(op: u16, mut args: Vec<Arg>) -> Result<Self, anyhow::Error> {
140 match op {
141 0 => {
142 let mut iter = args.into_iter();
143 Ok(Request::Destroy {
144
145 })
146 },
147 1 => {
148 let mut iter = args.into_iter();
149 Ok(Request::GetRelativePointer {
150 id: iter.next()
151 .ok_or(DecodeError::InsufficientArgs)?
152 .as_new_id()?.into(),
153 pointer: iter.next()
154 .ok_or(DecodeError::InsufficientArgs)?
155 .as_object()?,
156
157 })
158 },
159 _ => {
160 Err(DecodeError::InvalidOpcode(op).into())
161 },
162 }
163 }
164}
165} pub use crate::zwp_relative_pointer_manager_v1::ZwpRelativePointerManagerV1;
168pub use crate::zwp_relative_pointer_manager_v1::Request as ZwpRelativePointerManagerV1Request;
169pub use crate::zwp_relative_pointer_manager_v1::Event as ZwpRelativePointerManagerV1Event;
170pub mod zwp_relative_pointer_v1 {
171use super::*;
172
173#[derive(Debug)]
180pub struct ZwpRelativePointerV1;
181
182impl Interface for ZwpRelativePointerV1 {
183 const NAME: &'static str = "zwp_relative_pointer_v1";
184 const VERSION: u32 = 1;
185 const REQUESTS: MessageGroupSpec = MessageGroupSpec(&[
186 MessageSpec(&[
188 ]),
189 ]);
190 const EVENTS: MessageGroupSpec = MessageGroupSpec(&[
191 MessageSpec(&[
193 ArgKind::Uint,
194 ArgKind::Uint,
195 ArgKind::Fixed,
196 ArgKind::Fixed,
197 ArgKind::Fixed,
198 ArgKind::Fixed,
199 ]),
200 ]);
201 type Incoming = Request;
202 type Outgoing = Event;
203}
204
205#[derive(Debug)]
206pub enum Request {
207
208 Destroy,
211}
212
213impl MessageType for Request {
214 fn log(&self, this: ObjectId) -> String {
215 match *self {
216 Request::Destroy {
217 } => {
218 format!("zwp_relative_pointer_v1@{:?}::destroy()", this)
219 }
220 }
221 }
222 fn message_name(&self) -> &'static std::ffi::CStr{
223 match *self {
224 Request::Destroy { .. } => c"zwp_relative_pointer_v1::destroy",
225 }
226 }
227}
228#[derive(Debug)]
229pub enum Event {
230
231 RelativeMotion {
264 utime_hi: u32,
266 utime_lo: u32,
268 dx: Fixed,
270 dy: Fixed,
272 dx_unaccel: Fixed,
274 dy_unaccel: Fixed,
276 },
277}
278
279impl MessageType for Event {
280 fn log(&self, this: ObjectId) -> String {
281 match *self {
282 Event::RelativeMotion {
283 ref utime_hi,
284 ref utime_lo,
285 ref dx,
286 ref dy,
287 ref dx_unaccel,
288 ref dy_unaccel,
289 } => {
290 format!("zwp_relative_pointer_v1@{:?}::relative_motion(utime_hi: {:?}, utime_lo: {:?}, dx: {:?}, dy: {:?}, dx_unaccel: {:?}, dy_unaccel: {:?})", this, utime_hi, utime_lo, dx, dy, dx_unaccel, dy_unaccel)
291 }
292 }
293 }
294 fn message_name(&self) -> &'static std::ffi::CStr{
295 match *self {
296 Event::RelativeMotion { .. } => c"zwp_relative_pointer_v1::relative_motion",
297 }
298 }
299}
300impl IntoMessage for Event {
301 type Error = EncodeError;
302 fn into_message(self, id: u32) -> Result<Message, <Self as IntoMessage>::Error> {
303 let mut header = MessageHeader {
304 sender: id,
305 opcode: 0,
306 length: 0,
307 };
308 let mut msg = Message::new();
309 msg.write_header(&header)?;
310 match self {
311 Event::RelativeMotion {
312 utime_hi,
313 utime_lo,
314 dx,
315 dy,
316 dx_unaccel,
317 dy_unaccel,
318 } => {
319 msg.write_arg(Arg::Uint(utime_hi))?;
320 msg.write_arg(Arg::Uint(utime_lo))?;
321 msg.write_arg(Arg::Fixed(dx))?;
322 msg.write_arg(Arg::Fixed(dy))?;
323 msg.write_arg(Arg::Fixed(dx_unaccel))?;
324 msg.write_arg(Arg::Fixed(dy_unaccel))?;
325 header.opcode = 0;
326 },
327 }
328 header.length = msg.bytes().len() as u16;
329 msg.rewind();
330 msg.write_header(&header)?;
331 Ok(msg)
332 }
333}
334impl FromArgs for Request {
335 fn from_args(op: u16, mut args: Vec<Arg>) -> Result<Self, anyhow::Error> {
336 match op {
337 0 => {
338 let mut iter = args.into_iter();
339 Ok(Request::Destroy {
340
341 })
342 },
343 _ => {
344 Err(DecodeError::InvalidOpcode(op).into())
345 },
346 }
347 }
348}
349} pub use crate::zwp_relative_pointer_v1::ZwpRelativePointerV1;
352pub use crate::zwp_relative_pointer_v1::Request as ZwpRelativePointerV1Request;
353pub use crate::zwp_relative_pointer_v1::Event as ZwpRelativePointerV1Event;