rustenium_bidi_commands/input/
types.rs

1// Generated types for module
2
3use serde::{Serialize, Deserialize};
4use crate::browsing_context::types::BrowsingContext;
5use crate::script::types::SharedReference;
6use serde_valid::Validate;
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub enum NoneEnum {
10    #[serde(rename = "none")]
11    None,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub enum PauseEnum {
16    #[serde(rename = "pause")]
17    Pause,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21pub struct PauseAction {
22    #[serde(rename = "type")]
23    pub r#type: PauseEnum,
24    #[serde(rename = "duration")]
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub duration: Option<u64>,
27}
28
29pub type NoneSourceAction = PauseAction;
30
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
33pub struct NoneSourceActions {
34    #[serde(rename = "type")]
35    pub r#type: NoneEnum,
36    #[serde(rename = "id")]
37    pub id: String,
38    #[serde(rename = "actions")]
39    pub actions: Vec<NoneSourceAction>,
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
43pub enum KeyEnum {
44    #[serde(rename = "key")]
45    Key,
46}
47
48#[derive(Debug, Clone, Serialize, Deserialize)]
49pub enum KeyDownEnum {
50    #[serde(rename = "keyDown")]
51    KeyDown,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
55pub struct KeyDownAction {
56    #[serde(rename = "type")]
57    pub r#type: KeyDownEnum,
58    #[serde(rename = "value")]
59    pub value: String,
60}
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
63pub enum KeyUpEnum {
64    #[serde(rename = "keyUp")]
65    KeyUp,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
69pub struct KeyUpAction {
70    #[serde(rename = "type")]
71    pub r#type: KeyUpEnum,
72    #[serde(rename = "value")]
73    pub value: String,
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
77#[serde(untagged)]
78pub enum KeySourceAction {
79    PauseAction(PauseAction),
80    KeyDownAction(KeyDownAction),
81    KeyUpAction(KeyUpAction),
82}
83
84#[derive(Debug, Clone, Serialize, Deserialize)]
85pub struct KeySourceActions {
86    #[serde(rename = "type")]
87    pub r#type: KeyEnum,
88    #[serde(rename = "id")]
89    pub id: String,
90    #[serde(rename = "actions")]
91    pub actions: Vec<KeySourceAction>,
92}
93
94#[derive(Debug, Clone, Serialize, Deserialize)]
95pub enum PointerEnum {
96    #[serde(rename = "pointer")]
97    Pointer,
98}
99
100#[derive(Debug, Clone, Serialize, Deserialize)]
101pub enum PointerType {
102    #[serde(rename = "mouse")]
103    Mouse,
104    #[serde(rename = "pen")]
105    Pen,
106    #[serde(rename = "touch")]
107    Touch,
108}
109
110#[derive(Debug, Clone, Serialize, Deserialize)]
111pub struct PointerParameters {
112    #[serde(rename = "pointerType")]
113    #[serde(skip_serializing_if = "Option::is_none")]
114    pub pointer_type: Option<PointerType>,
115}
116
117#[derive(Debug, Clone, Serialize, Deserialize)]
118pub enum PointerDownEnum {
119    #[serde(rename = "pointerDown")]
120    PointerDown,
121}
122
123#[derive(Debug, Clone, Serialize, Deserialize, Validate)]
124pub struct PointerCommonProperties {
125    #[serde(rename = "width")]
126    #[serde(skip_serializing_if = "Option::is_none")]
127    pub width: Option<u64>,
128    #[serde(rename = "height")]
129    #[serde(skip_serializing_if = "Option::is_none")]
130    pub height: Option<u64>,
131    #[serde(rename = "pressure")]
132    #[serde(skip_serializing_if = "Option::is_none")]
133    pub pressure: Option<f64>,
134    #[serde(rename = "tangentialPressure")]
135    #[serde(skip_serializing_if = "Option::is_none")]
136    pub tangential_pressure: Option<f64>,
137    #[serde(rename = "twist")]
138    #[serde(skip_serializing_if = "Option::is_none")]
139    #[validate(minimum = 0)]
140    #[validate(maximum = 359)]
141    pub twist: Option<i64>,
142    #[serde(rename = "altitudeAngle")]
143    #[serde(skip_serializing_if = "Option::is_none")]
144    #[validate(minimum = 0.0)]
145    #[validate(maximum = 1.5707963267948966)]
146    pub altitude_angle: Option<f64>,
147    #[serde(rename = "azimuthAngle")]
148    #[serde(skip_serializing_if = "Option::is_none")]
149    #[validate(minimum = 0.0)]
150    #[validate(maximum = 6.283185307179586)]
151    pub azimuth_angle: Option<f64>,
152}
153
154#[derive(Debug, Clone, Serialize, Deserialize)]
155pub struct PointerDownAction {
156    #[serde(rename = "type")]
157    pub r#type: PointerDownEnum,
158    #[serde(rename = "button")]
159    pub button: u64,
160    #[serde(flatten)]
161    pub pointer_common_properties: PointerCommonProperties,
162}
163
164#[derive(Debug, Clone, Serialize, Deserialize)]
165pub enum PointerUpEnum {
166    #[serde(rename = "pointerUp")]
167    PointerUp,
168}
169
170#[derive(Debug, Clone, Serialize, Deserialize)]
171pub struct PointerUpAction {
172    #[serde(rename = "type")]
173    pub r#type: PointerUpEnum,
174    #[serde(rename = "button")]
175    pub button: u64,
176}
177
178#[derive(Debug, Clone, Serialize, Deserialize)]
179pub enum PointerMoveEnum {
180    #[serde(rename = "pointerMove")]
181    PointerMove,
182}
183
184#[derive(Debug, Clone, Serialize, Deserialize)]
185pub enum ElementEnum {
186    #[serde(rename = "element")]
187    Element,
188}
189
190#[derive(Debug, Clone, Serialize, Deserialize)]
191pub struct ElementOrigin {
192    #[serde(rename = "type")]
193    pub r#type: ElementEnum,
194    #[serde(rename = "element")]
195    pub element: SharedReference,
196}
197
198#[derive(Debug, Clone, Serialize, Deserialize)]
199#[serde(untagged)]
200pub enum Origin {
201    #[serde(rename = "viewport")]
202    Viewport,
203    #[serde(rename = "pointer")]
204    Pointer,
205    ElementOrigin(ElementOrigin),
206}
207
208#[derive(Debug, Clone, Serialize, Deserialize)]
209pub struct PointerMoveAction {
210    #[serde(rename = "type")]
211    pub r#type: PointerMoveEnum,
212    #[serde(rename = "x")]
213    pub x: f64,
214    #[serde(rename = "y")]
215    pub y: f64,
216    #[serde(rename = "duration")]
217    #[serde(skip_serializing_if = "Option::is_none")]
218    pub duration: Option<u64>,
219    #[serde(rename = "origin")]
220    #[serde(skip_serializing_if = "Option::is_none")]
221    pub origin: Option<Origin>,
222    #[serde(flatten)]
223    pub pointer_common_properties: PointerCommonProperties,
224}
225
226#[derive(Debug, Clone, Serialize, Deserialize)]
227#[serde(untagged)]
228pub enum PointerSourceAction {
229    PauseAction(PauseAction),
230    PointerDownAction(PointerDownAction),
231    PointerUpAction(PointerUpAction),
232    PointerMoveAction(PointerMoveAction),
233}
234
235#[derive(Debug, Clone, Serialize, Deserialize)]
236pub struct PointerSourceActions {
237    #[serde(rename = "type")]
238    pub r#type: PointerEnum,
239    #[serde(rename = "id")]
240    pub id: String,
241    #[serde(rename = "parameters")]
242    #[serde(skip_serializing_if = "Option::is_none")]
243    pub parameters: Option<PointerParameters>,
244    #[serde(rename = "actions")]
245    pub actions: Vec<PointerSourceAction>,
246}
247
248#[derive(Debug, Clone, Serialize, Deserialize)]
249pub enum WheelEnum {
250    #[serde(rename = "wheel")]
251    Wheel,
252}
253
254#[derive(Debug, Clone, Serialize, Deserialize)]
255pub enum ScrollEnum {
256    #[serde(rename = "scroll")]
257    Scroll,
258}
259
260#[derive(Debug, Clone, Serialize, Deserialize)]
261pub struct WheelScrollAction {
262    #[serde(rename = "type")]
263    pub r#type: ScrollEnum,
264    #[serde(rename = "x")]
265    pub x: i64,
266    #[serde(rename = "y")]
267    pub y: i64,
268    #[serde(rename = "deltaX")]
269    pub delta_x: i64,
270    #[serde(rename = "deltaY")]
271    pub delta_y: i64,
272    #[serde(rename = "duration")]
273    #[serde(skip_serializing_if = "Option::is_none")]
274    pub duration: Option<u64>,
275    #[serde(rename = "origin")]
276    #[serde(skip_serializing_if = "Option::is_none")]
277    pub origin: Option<Origin>,
278}
279
280#[derive(Debug, Clone, Serialize, Deserialize)]
281#[serde(untagged)]
282pub enum WheelSourceAction {
283    PauseAction(PauseAction),
284    WheelScrollAction(WheelScrollAction),
285}
286
287#[derive(Debug, Clone, Serialize, Deserialize)]
288pub struct WheelSourceActions {
289    #[serde(rename = "type")]
290    pub r#type: WheelEnum,
291    #[serde(rename = "id")]
292    pub id: String,
293    #[serde(rename = "actions")]
294    pub actions: Vec<WheelSourceAction>,
295}
296
297#[derive(Debug, Clone, Serialize, Deserialize)]
298#[serde(untagged)]
299pub enum SourceActions {
300    NoneSourceActions(NoneSourceActions),
301    KeySourceActions(KeySourceActions),
302    PointerSourceActions(PointerSourceActions),
303    WheelSourceActions(WheelSourceActions),
304}
305
306#[derive(Debug, Clone, Serialize, Deserialize)]
307pub struct FileDialogInfo {
308    #[serde(rename = "context")]
309    pub context: BrowsingContext,
310    #[serde(rename = "element")]
311    #[serde(skip_serializing_if = "Option::is_none")]
312    pub element: Option<SharedReference>,
313    #[serde(rename = "multiple")]
314    pub multiple: bool,
315}
316