electron_sys/interface/
display.rs

1use crate::interface::{Rectangle, Size};
2use js_sys::JsString;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6#[derive(Debug, Clone, PartialEq)]
7pub struct Display {
8    accelerometer_support: JsString,
9    bounds: Rectangle,
10    color_depth: u32,
11    color_space: JsString,
12    depth_per_component: u32,
13    id: u32,
14    internal: bool,
15    monochrome: bool,
16    rotation: u32,
17    scale_factor: f32,
18    size: Size,
19    touch_support: JsString,
20    work_area_size: Size,
21    work_area: Rectangle,
22}
23
24#[wasm_bindgen]
25impl Display {
26    #[allow(clippy::too_many_arguments)]
27    #[wasm_bindgen(constructor)]
28    pub fn new(
29        accelerometer_support: JsString,
30        bounds: Rectangle,
31        color_depth: u32,
32        color_space: JsString,
33        depth_per_component: u32,
34        id: u32,
35        internal: bool,
36        monochrome: bool,
37        rotation: u32,
38        scale_factor: f32,
39        size: Size,
40        touch_support: JsString,
41        work_area_size: Size,
42        work_area: Rectangle,
43    ) -> Display {
44        Display {
45            accelerometer_support,
46            bounds,
47            color_depth,
48            color_space,
49            depth_per_component,
50            id,
51            internal,
52            monochrome,
53            rotation,
54            scale_factor,
55            size,
56            touch_support,
57            work_area_size,
58            work_area,
59        }
60    }
61
62    #[wasm_bindgen(getter, js_name = "accelerometerSupport")]
63    pub fn accelerometer_support(&self) -> JsString {
64        self.accelerometer_support.clone()
65    }
66
67    #[wasm_bindgen(setter)]
68    pub fn set_accelerometer_support(&mut self, value: JsString) {
69        self.accelerometer_support = value;
70    }
71
72    #[wasm_bindgen(getter)]
73    pub fn bounds(&self) -> Rectangle {
74        self.bounds
75    }
76
77    #[wasm_bindgen(setter)]
78    pub fn set_bounds(&mut self, value: Rectangle) {
79        self.bounds = value;
80    }
81
82    #[wasm_bindgen(getter, js_name = "colorDepth")]
83    pub fn color_depth(&self) -> u32 {
84        self.color_depth
85    }
86
87    #[wasm_bindgen(setter)]
88    pub fn set_color_depth(&mut self, value: u32) {
89        self.color_depth = value;
90    }
91
92    #[wasm_bindgen(getter, js_name = "colorSpace")]
93    pub fn color_space(&self) -> JsString {
94        self.color_space.clone()
95    }
96
97    #[wasm_bindgen(setter)]
98    pub fn set_color_space(&mut self, value: JsString) {
99        self.color_space = value;
100    }
101
102    #[wasm_bindgen(getter, js_name = "depthPerComponent")]
103    pub fn depth_per_component(&self) -> u32 {
104        self.depth_per_component
105    }
106
107    #[wasm_bindgen(setter)]
108    pub fn set_depth_per_component(&mut self, value: u32) {
109        self.depth_per_component = value;
110    }
111
112    #[wasm_bindgen(getter)]
113    pub fn id(&self) -> u32 {
114        self.id
115    }
116
117    #[wasm_bindgen(setter)]
118    pub fn set_id(&mut self, value: u32) {
119        self.id = value;
120    }
121
122    #[wasm_bindgen(getter)]
123    pub fn internal(&self) -> bool {
124        self.internal
125    }
126
127    #[wasm_bindgen(setter)]
128    pub fn set_internal(&mut self, value: bool) {
129        self.internal = value;
130    }
131
132    #[wasm_bindgen(getter)]
133    pub fn monochrome(&self) -> bool {
134        self.monochrome
135    }
136
137    #[wasm_bindgen(setter)]
138    pub fn set_monochrome(&mut self, value: bool) {
139        self.monochrome = value;
140    }
141
142    #[wasm_bindgen(getter)]
143    pub fn rotation(&self) -> u32 {
144        self.rotation
145    }
146
147    #[wasm_bindgen(setter)]
148    pub fn set_rotation(&mut self, value: u32) {
149        self.rotation = value;
150    }
151
152    #[wasm_bindgen(getter, js_name = "scaleFactor")]
153    pub fn scale_factor(&self) -> f32 {
154        self.scale_factor
155    }
156
157    #[wasm_bindgen(setter)]
158    pub fn set_scale_factor(&mut self, value: f32) {
159        self.scale_factor = value;
160    }
161
162    #[wasm_bindgen(getter)]
163    pub fn size(&self) -> Size {
164        self.size
165    }
166
167    #[wasm_bindgen(setter)]
168    pub fn set_size(&mut self, value: Size) {
169        self.size = value;
170    }
171
172    #[wasm_bindgen(getter, js_name = "touchSupport")]
173    pub fn touch_support(&self) -> JsString {
174        self.touch_support.clone()
175    }
176
177    #[wasm_bindgen(setter)]
178    pub fn set_touch_support(&mut self, value: JsString) {
179        self.touch_support = value;
180    }
181
182    #[wasm_bindgen(getter, js_name = "workAreaSize")]
183    pub fn work_area_size(&self) -> Size {
184        self.work_area_size
185    }
186
187    #[wasm_bindgen(setter)]
188    pub fn set_work_area_size(&mut self, value: Size) {
189        self.work_area_size = value;
190    }
191
192    #[wasm_bindgen(getter, js_name = "workArea")]
193    pub fn work_area(&self) -> Rectangle {
194        self.work_area
195    }
196
197    #[wasm_bindgen(setter)]
198    pub fn set_work_area(&mut self, value: Rectangle) {
199        self.work_area = value;
200    }
201}