electron_sys/interface/
enable_device_emulation_options.rs

1use crate::interface::{Point, Size};
2use js_sys::JsString;
3use wasm_bindgen::prelude::*;
4
5// NOTE: called `Parameters` upstream.
6
7#[wasm_bindgen]
8#[derive(Clone, Debug, PartialEq)]
9pub struct EnableDeviceEmulationOptions {
10    device_scale_factor: f32,
11    scale: f32,
12    screen_position: JsString,
13    screen_size: Size,
14    view_position: Point,
15    view_size: Size,
16}
17
18#[wasm_bindgen]
19impl EnableDeviceEmulationOptions {
20    #[wasm_bindgen(constructor)]
21    pub fn new(
22        device_scale_factor: f32,
23        scale: f32,
24        screen_position: JsString,
25        screen_size: Size,
26        view_position: Point,
27        view_size: Size,
28    ) -> EnableDeviceEmulationOptions {
29        EnableDeviceEmulationOptions {
30            device_scale_factor,
31            scale,
32            screen_position,
33            screen_size,
34            view_position,
35            view_size,
36        }
37    }
38
39    #[wasm_bindgen(getter, js_name = "deviceScaleFactor")]
40    pub fn device_scale_factor(&self) -> f32 {
41        self.device_scale_factor
42    }
43
44    #[wasm_bindgen(setter)]
45    pub fn set_device_scale_factor(&mut self, value: f32) {
46        self.device_scale_factor = value;
47    }
48
49    #[wasm_bindgen(getter)]
50    pub fn scale(&self) -> f32 {
51        self.scale
52    }
53
54    #[wasm_bindgen(setter)]
55    pub fn set_scale(&mut self, value: f32) {
56        self.scale = value;
57    }
58
59    #[wasm_bindgen(getter, js_name = "screenPosition")]
60    pub fn screen_position(&self) -> JsString {
61        self.screen_position.clone()
62    }
63
64    #[wasm_bindgen(setter)]
65    pub fn set_screen_position(&mut self, value: JsString) {
66        self.screen_position = value;
67    }
68
69    #[wasm_bindgen(getter, js_name = "screenSize")]
70    pub fn screen_size(&self) -> Size {
71        self.screen_size
72    }
73
74    #[wasm_bindgen(setter)]
75    pub fn set_screen_size(&mut self, value: Size) {
76        self.screen_size = value;
77    }
78
79    #[wasm_bindgen(getter, js_name = "viewPosition")]
80    pub fn view_position(&self) -> Point {
81        self.view_position
82    }
83
84    #[wasm_bindgen(setter)]
85    pub fn set_view_position(&mut self, value: Point) {
86        self.view_position = value;
87    }
88
89    #[wasm_bindgen(getter, js_name = "viewSize")]
90    pub fn view_size(&self) -> Size {
91        self.view_size
92    }
93
94    #[wasm_bindgen(setter)]
95    pub fn set_view_size(&mut self, value: Size) {
96        self.view_size = value;
97    }
98}