vm_control/sys/linux/
gpu.rs1use serde::Deserialize;
6use serde::Serialize;
7use serde_keyvalue::FromKeyValues;
8
9use crate::gpu::DisplayModeTrait;
10
11#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize, FromKeyValues)]
12#[serde(rename_all = "snake_case")]
13pub enum UnixMouseMode {
14 Touchscreen,
16}
17
18#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
19#[serde(rename_all = "snake_case")]
20pub enum UnixDisplayMode {
21 Windowed(u32, u32),
22}
23
24impl DisplayModeTrait for UnixDisplayMode {
25 fn get_window_size(&self) -> (u32, u32) {
26 match self {
27 Self::Windowed(width, height) => (*width, *height),
28 }
29 }
30
31 fn get_virtual_display_size(&self) -> (u32, u32) {
32 self.get_window_size()
33 }
34
35 fn get_virtual_display_size_4k_uhd(&self, _is_4k_uhd_enabled: bool) -> (u32, u32) {
36 self.get_virtual_display_size()
37 }
38}