1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#![cfg(feature = "input")]
use crate::auto::AsByteSequence;
use alloc::boxed::Box;
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub enum InputEvent {
NoneOfTheAbove(Box<[u8]>),
}
impl Default for InputEvent {
#[inline]
fn default() -> InputEvent {
Self::NoneOfTheAbove(Default::default())
}
}
impl AsByteSequence for InputEvent {
#[inline]
fn size(&self) -> usize {
match self {
Self::NoneOfTheAbove(data) => data.len(),
}
}
#[inline]
fn as_bytes(&self, bytes: &mut [u8]) -> usize {
match self {
Self::NoneOfTheAbove(data) => {
(&mut bytes[..data.len()]).copy_from_slice(data);
data.len()
}
}
}
#[inline]
fn from_bytes(_bytes: &[u8]) -> Option<(Self, usize)> {
panic!("Unable to deserialize InputEvent from bytes")
}
}