wayk_proto/message/common/
edge_rect.rs1use core::mem;
4
5#[derive(Encode, Decode, Debug, Clone, Default)]
6pub struct EdgeRect {
7 pub left: i16,
8 pub top: i16,
9 pub right: i16,
10 pub bottom: i16,
11}
12
13impl EdgeRect {
14 pub const REQUIRED_SIZE: usize = mem::size_of::<Self>();
15}
16
17#[cfg(test)]
18mod tests {
19 use super::*;
20 use crate::serialization::{Decode, Encode};
21
22 #[rustfmt::skip]
23 const NOW_EDGE_RECT: [u8; 8] = [
24 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, ];
29
30 #[test]
31 fn decoding() {
32 let rect = EdgeRect::decode(&NOW_EDGE_RECT).unwrap();
33 assert_eq!(rect.left, 0);
34 assert_eq!(rect.top, 0);
35 assert_eq!(rect.right, 1024);
36 assert_eq!(rect.bottom, 768);
37 }
38
39 #[test]
40 fn encoding() {
41 let rect = EdgeRect {
42 left: 0,
43 top: 0,
44 right: 1024,
45 bottom: 768,
46 };
47 assert_eq!(rect.encode().unwrap(), NOW_EDGE_RECT.to_vec());
48 }
49}