Skip to main content

rebind_client/
types.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
4pub struct Pixel {
5    pub r: u8,
6    pub g: u8,
7    pub b: u8,
8}
9
10#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
11pub struct Point {
12    pub x: i32,
13    pub y: i32,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
17pub struct Resolution {
18    pub width: u32,
19    pub height: u32,
20}
21
22#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
23pub struct Modifiers {
24    pub shift: bool,
25    pub ctrl: bool,
26    pub alt: bool,
27    pub win: bool,
28}
29
30#[derive(Debug, Clone, Deserialize, Serialize)]
31pub struct WindowInfo {
32    pub title: String,
33    pub process: String,
34    pub x: i32,
35    pub y: i32,
36    pub width: i32,
37    pub height: i32,
38}
39
40#[derive(Debug, Clone)]
41pub struct InputState {
42    pub keys: Vec<String>,
43    pub modifiers: Modifiers,
44}