electron_sys/interface/
display.rs1use 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}