1#[allow(unused_imports)]
3use super::types::*;
4#[allow(unused_imports)]
5use serde::{Deserialize, Serialize};
6#[allow(unused_imports)]
7use serde_json::Value as Json;
8pub type TimeSinceEpoch = JsFloat;
9#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
10pub enum GestureSourceType {
11 #[serde(rename = "default")]
12 Default,
13 #[serde(rename = "touch")]
14 Touch,
15 #[serde(rename = "mouse")]
16 Mouse,
17}
18#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
19pub enum MouseButton {
20 #[serde(rename = "none")]
21 None,
22 #[serde(rename = "left")]
23 Left,
24 #[serde(rename = "middle")]
25 Middle,
26 #[serde(rename = "right")]
27 Right,
28 #[serde(rename = "back")]
29 Back,
30 #[serde(rename = "forward")]
31 Forward,
32}
33#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
34pub enum DispatchDragEventTypeOption {
35 #[serde(rename = "dragEnter")]
36 DragEnter,
37 #[serde(rename = "dragOver")]
38 DragOver,
39 #[serde(rename = "drop")]
40 Drop,
41 #[serde(rename = "dragCancel")]
42 DragCancel,
43}
44#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
45pub enum DispatchKeyEventTypeOption {
46 #[serde(rename = "keyDown")]
47 KeyDown,
48 #[serde(rename = "keyUp")]
49 KeyUp,
50 #[serde(rename = "rawKeyDown")]
51 RawKeyDown,
52 #[serde(rename = "char")]
53 Char,
54}
55#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
56pub enum DispatchMouseEventTypeOption {
57 #[serde(rename = "mousePressed")]
58 MousePressed,
59 #[serde(rename = "mouseReleased")]
60 MouseReleased,
61 #[serde(rename = "mouseMoved")]
62 MouseMoved,
63 #[serde(rename = "mouseWheel")]
64 MouseWheel,
65}
66#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
67pub enum DispatchMouseEventPointerTypeOption {
68 #[serde(rename = "mouse")]
69 Mouse,
70 #[serde(rename = "pen")]
71 Pen,
72}
73#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
74pub enum DispatchTouchEventTypeOption {
75 #[serde(rename = "touchStart")]
76 TouchStart,
77 #[serde(rename = "touchEnd")]
78 TouchEnd,
79 #[serde(rename = "touchMove")]
80 TouchMove,
81 #[serde(rename = "touchCancel")]
82 TouchCancel,
83}
84#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
85pub enum EmulateTouchFromMouseEventTypeOption {
86 #[serde(rename = "mousePressed")]
87 MousePressed,
88 #[serde(rename = "mouseReleased")]
89 MouseReleased,
90 #[serde(rename = "mouseMoved")]
91 MouseMoved,
92 #[serde(rename = "mouseWheel")]
93 MouseWheel,
94}
95#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
96pub struct TouchPoint {
97 #[serde(default)]
98 #[serde(rename = "x")]
99 pub x: JsFloat,
100 #[serde(default)]
101 #[serde(rename = "y")]
102 pub y: JsFloat,
103 #[serde(skip_serializing_if = "Option::is_none")]
104 #[serde(default)]
105 #[serde(rename = "radiusX")]
106 pub radius_x: Option<JsFloat>,
107 #[serde(skip_serializing_if = "Option::is_none")]
108 #[serde(default)]
109 #[serde(rename = "radiusY")]
110 pub radius_y: Option<JsFloat>,
111 #[serde(skip_serializing_if = "Option::is_none")]
112 #[serde(default)]
113 #[serde(rename = "rotationAngle")]
114 pub rotation_angle: Option<JsFloat>,
115 #[serde(skip_serializing_if = "Option::is_none")]
116 #[serde(default)]
117 #[serde(rename = "force")]
118 pub force: Option<JsFloat>,
119 #[serde(skip_serializing_if = "Option::is_none")]
120 #[serde(default)]
121 #[serde(rename = "tangentialPressure")]
122 pub tangential_pressure: Option<JsFloat>,
123 #[serde(skip_serializing_if = "Option::is_none")]
124 #[serde(default)]
125 #[serde(rename = "tiltX")]
126 pub tilt_x: Option<JsFloat>,
127 #[serde(skip_serializing_if = "Option::is_none")]
128 #[serde(default)]
129 #[serde(rename = "tiltY")]
130 pub tilt_y: Option<JsFloat>,
131 #[serde(skip_serializing_if = "Option::is_none")]
132 #[serde(default)]
133 #[serde(rename = "twist")]
134 pub twist: Option<JsUInt>,
135 #[serde(skip_serializing_if = "Option::is_none")]
136 #[serde(default)]
137 #[serde(rename = "id")]
138 pub id: Option<JsFloat>,
139}
140#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
141pub struct DragDataItem {
142 #[serde(default)]
143 #[serde(rename = "mimeType")]
144 pub mime_type: String,
145 #[serde(default)]
146 #[serde(rename = "data")]
147 pub data: String,
148 #[serde(skip_serializing_if = "Option::is_none")]
149 #[serde(default)]
150 #[serde(rename = "title")]
151 pub title: Option<String>,
152 #[serde(skip_serializing_if = "Option::is_none")]
153 #[serde(default)]
154 #[serde(rename = "baseURL")]
155 pub base_url: Option<String>,
156}
157#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
158pub struct DragData {
159 #[serde(rename = "items")]
160 pub items: Vec<DragDataItem>,
161 #[serde(skip_serializing_if = "Option::is_none")]
162 #[serde(default)]
163 #[serde(rename = "files")]
164 pub files: Option<Vec<String>>,
165 #[serde(default)]
166 #[serde(rename = "dragOperationsMask")]
167 pub drag_operations_mask: JsUInt,
168}
169#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
170pub struct DispatchDragEvent {
171 #[serde(rename = "type")]
172 pub r#type: DispatchDragEventTypeOption,
173 #[serde(default)]
174 #[serde(rename = "x")]
175 pub x: JsFloat,
176 #[serde(default)]
177 #[serde(rename = "y")]
178 pub y: JsFloat,
179 #[serde(rename = "data")]
180 pub data: DragData,
181 #[serde(skip_serializing_if = "Option::is_none")]
182 #[serde(default)]
183 #[serde(rename = "modifiers")]
184 pub modifiers: Option<JsUInt>,
185}
186#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
187pub struct DispatchKeyEvent {
188 #[serde(rename = "type")]
189 pub r#type: DispatchKeyEventTypeOption,
190 #[serde(skip_serializing_if = "Option::is_none")]
191 #[serde(default)]
192 #[serde(rename = "modifiers")]
193 pub modifiers: Option<JsUInt>,
194 #[serde(skip_serializing_if = "Option::is_none")]
195 #[serde(rename = "timestamp")]
196 pub timestamp: Option<TimeSinceEpoch>,
197 #[serde(skip_serializing_if = "Option::is_none")]
198 #[serde(default)]
199 #[serde(rename = "text")]
200 pub text: Option<String>,
201 #[serde(skip_serializing_if = "Option::is_none")]
202 #[serde(default)]
203 #[serde(rename = "unmodifiedText")]
204 pub unmodified_text: Option<String>,
205 #[serde(skip_serializing_if = "Option::is_none")]
206 #[serde(default)]
207 #[serde(rename = "keyIdentifier")]
208 pub key_identifier: Option<String>,
209 #[serde(skip_serializing_if = "Option::is_none")]
210 #[serde(default)]
211 #[serde(rename = "code")]
212 pub code: Option<String>,
213 #[serde(skip_serializing_if = "Option::is_none")]
214 #[serde(default)]
215 #[serde(rename = "key")]
216 pub key: Option<String>,
217 #[serde(skip_serializing_if = "Option::is_none")]
218 #[serde(default)]
219 #[serde(rename = "windowsVirtualKeyCode")]
220 pub windows_virtual_key_code: Option<JsUInt>,
221 #[serde(skip_serializing_if = "Option::is_none")]
222 #[serde(default)]
223 #[serde(rename = "nativeVirtualKeyCode")]
224 pub native_virtual_key_code: Option<JsUInt>,
225 #[serde(skip_serializing_if = "Option::is_none")]
226 #[serde(default)]
227 #[serde(rename = "autoRepeat")]
228 pub auto_repeat: Option<bool>,
229 #[serde(skip_serializing_if = "Option::is_none")]
230 #[serde(default)]
231 #[serde(rename = "isKeypad")]
232 pub is_keypad: Option<bool>,
233 #[serde(skip_serializing_if = "Option::is_none")]
234 #[serde(default)]
235 #[serde(rename = "isSystemKey")]
236 pub is_system_key: Option<bool>,
237 #[serde(skip_serializing_if = "Option::is_none")]
238 #[serde(default)]
239 #[serde(rename = "location")]
240 pub location: Option<JsUInt>,
241 #[serde(skip_serializing_if = "Option::is_none")]
242 #[serde(default)]
243 #[serde(rename = "commands")]
244 pub commands: Option<Vec<String>>,
245}
246#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
247pub struct InsertText {
248 #[serde(default)]
249 #[serde(rename = "text")]
250 pub text: String,
251}
252#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
253pub struct ImeSetComposition {
254 #[serde(default)]
255 #[serde(rename = "text")]
256 pub text: String,
257 #[serde(default)]
258 #[serde(rename = "selectionStart")]
259 pub selection_start: JsUInt,
260 #[serde(default)]
261 #[serde(rename = "selectionEnd")]
262 pub selection_end: JsUInt,
263 #[serde(skip_serializing_if = "Option::is_none")]
264 #[serde(default)]
265 #[serde(rename = "replacementStart")]
266 pub replacement_start: Option<JsUInt>,
267 #[serde(skip_serializing_if = "Option::is_none")]
268 #[serde(default)]
269 #[serde(rename = "replacementEnd")]
270 pub replacement_end: Option<JsUInt>,
271}
272#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
273pub struct DispatchMouseEvent {
274 #[serde(rename = "type")]
275 pub r#type: DispatchMouseEventTypeOption,
276 #[serde(default)]
277 #[serde(rename = "x")]
278 pub x: JsFloat,
279 #[serde(default)]
280 #[serde(rename = "y")]
281 pub y: JsFloat,
282 #[serde(skip_serializing_if = "Option::is_none")]
283 #[serde(default)]
284 #[serde(rename = "modifiers")]
285 pub modifiers: Option<JsUInt>,
286 #[serde(skip_serializing_if = "Option::is_none")]
287 #[serde(rename = "timestamp")]
288 pub timestamp: Option<TimeSinceEpoch>,
289 #[serde(skip_serializing_if = "Option::is_none")]
290 #[serde(rename = "button")]
291 pub button: Option<MouseButton>,
292 #[serde(skip_serializing_if = "Option::is_none")]
293 #[serde(default)]
294 #[serde(rename = "buttons")]
295 pub buttons: Option<JsUInt>,
296 #[serde(skip_serializing_if = "Option::is_none")]
297 #[serde(default)]
298 #[serde(rename = "clickCount")]
299 pub click_count: Option<JsUInt>,
300 #[serde(skip_serializing_if = "Option::is_none")]
301 #[serde(default)]
302 #[serde(rename = "force")]
303 pub force: Option<JsFloat>,
304 #[serde(skip_serializing_if = "Option::is_none")]
305 #[serde(default)]
306 #[serde(rename = "tangentialPressure")]
307 pub tangential_pressure: Option<JsFloat>,
308 #[serde(skip_serializing_if = "Option::is_none")]
309 #[serde(default)]
310 #[serde(rename = "tiltX")]
311 pub tilt_x: Option<JsFloat>,
312 #[serde(skip_serializing_if = "Option::is_none")]
313 #[serde(default)]
314 #[serde(rename = "tiltY")]
315 pub tilt_y: Option<JsFloat>,
316 #[serde(skip_serializing_if = "Option::is_none")]
317 #[serde(default)]
318 #[serde(rename = "twist")]
319 pub twist: Option<JsUInt>,
320 #[serde(skip_serializing_if = "Option::is_none")]
321 #[serde(default)]
322 #[serde(rename = "deltaX")]
323 pub delta_x: Option<JsFloat>,
324 #[serde(skip_serializing_if = "Option::is_none")]
325 #[serde(default)]
326 #[serde(rename = "deltaY")]
327 pub delta_y: Option<JsFloat>,
328 #[serde(skip_serializing_if = "Option::is_none")]
329 #[serde(rename = "pointerType")]
330 pub pointer_type: Option<DispatchMouseEventPointerTypeOption>,
331}
332#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
333pub struct DispatchTouchEvent {
334 #[serde(rename = "type")]
335 pub r#type: DispatchTouchEventTypeOption,
336 #[serde(rename = "touchPoints")]
337 pub touch_points: Vec<TouchPoint>,
338 #[serde(skip_serializing_if = "Option::is_none")]
339 #[serde(default)]
340 #[serde(rename = "modifiers")]
341 pub modifiers: Option<JsUInt>,
342 #[serde(skip_serializing_if = "Option::is_none")]
343 #[serde(rename = "timestamp")]
344 pub timestamp: Option<TimeSinceEpoch>,
345}
346#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
347#[serde(rename_all = "camelCase")]
348pub struct CancelDragging(pub Option<serde_json::Value>);
349#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
350pub struct EmulateTouchFromMouseEvent {
351 #[serde(rename = "type")]
352 pub r#type: EmulateTouchFromMouseEventTypeOption,
353 #[serde(default)]
354 #[serde(rename = "x")]
355 pub x: JsUInt,
356 #[serde(default)]
357 #[serde(rename = "y")]
358 pub y: JsUInt,
359 #[serde(rename = "button")]
360 pub button: MouseButton,
361 #[serde(skip_serializing_if = "Option::is_none")]
362 #[serde(rename = "timestamp")]
363 pub timestamp: Option<TimeSinceEpoch>,
364 #[serde(skip_serializing_if = "Option::is_none")]
365 #[serde(default)]
366 #[serde(rename = "deltaX")]
367 pub delta_x: Option<JsFloat>,
368 #[serde(skip_serializing_if = "Option::is_none")]
369 #[serde(default)]
370 #[serde(rename = "deltaY")]
371 pub delta_y: Option<JsFloat>,
372 #[serde(skip_serializing_if = "Option::is_none")]
373 #[serde(default)]
374 #[serde(rename = "modifiers")]
375 pub modifiers: Option<JsUInt>,
376 #[serde(skip_serializing_if = "Option::is_none")]
377 #[serde(default)]
378 #[serde(rename = "clickCount")]
379 pub click_count: Option<JsUInt>,
380}
381#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
382pub struct SetIgnoreInputEvents {
383 #[serde(default)]
384 #[serde(rename = "ignore")]
385 pub ignore: bool,
386}
387#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
388pub struct SetInterceptDrags {
389 #[serde(default)]
390 #[serde(rename = "enabled")]
391 pub enabled: bool,
392}
393#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
394pub struct SynthesizePinchGesture {
395 #[serde(default)]
396 #[serde(rename = "x")]
397 pub x: JsFloat,
398 #[serde(default)]
399 #[serde(rename = "y")]
400 pub y: JsFloat,
401 #[serde(default)]
402 #[serde(rename = "scaleFactor")]
403 pub scale_factor: JsFloat,
404 #[serde(skip_serializing_if = "Option::is_none")]
405 #[serde(default)]
406 #[serde(rename = "relativeSpeed")]
407 pub relative_speed: Option<JsUInt>,
408 #[serde(skip_serializing_if = "Option::is_none")]
409 #[serde(rename = "gestureSourceType")]
410 pub gesture_source_type: Option<GestureSourceType>,
411}
412#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
413pub struct SynthesizeScrollGesture {
414 #[serde(default)]
415 #[serde(rename = "x")]
416 pub x: JsFloat,
417 #[serde(default)]
418 #[serde(rename = "y")]
419 pub y: JsFloat,
420 #[serde(skip_serializing_if = "Option::is_none")]
421 #[serde(default)]
422 #[serde(rename = "xDistance")]
423 pub x_distance: Option<JsFloat>,
424 #[serde(skip_serializing_if = "Option::is_none")]
425 #[serde(default)]
426 #[serde(rename = "yDistance")]
427 pub y_distance: Option<JsFloat>,
428 #[serde(skip_serializing_if = "Option::is_none")]
429 #[serde(default)]
430 #[serde(rename = "xOverscroll")]
431 pub x_overscroll: Option<JsFloat>,
432 #[serde(skip_serializing_if = "Option::is_none")]
433 #[serde(default)]
434 #[serde(rename = "yOverscroll")]
435 pub y_overscroll: Option<JsFloat>,
436 #[serde(skip_serializing_if = "Option::is_none")]
437 #[serde(default)]
438 #[serde(rename = "preventFling")]
439 pub prevent_fling: Option<bool>,
440 #[serde(skip_serializing_if = "Option::is_none")]
441 #[serde(default)]
442 #[serde(rename = "speed")]
443 pub speed: Option<JsUInt>,
444 #[serde(skip_serializing_if = "Option::is_none")]
445 #[serde(rename = "gestureSourceType")]
446 pub gesture_source_type: Option<GestureSourceType>,
447 #[serde(skip_serializing_if = "Option::is_none")]
448 #[serde(default)]
449 #[serde(rename = "repeatCount")]
450 pub repeat_count: Option<JsUInt>,
451 #[serde(skip_serializing_if = "Option::is_none")]
452 #[serde(default)]
453 #[serde(rename = "repeatDelayMs")]
454 pub repeat_delay_ms: Option<JsUInt>,
455 #[serde(skip_serializing_if = "Option::is_none")]
456 #[serde(default)]
457 #[serde(rename = "interactionMarkerName")]
458 pub interaction_marker_name: Option<String>,
459}
460#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
461pub struct SynthesizeTapGesture {
462 #[serde(default)]
463 #[serde(rename = "x")]
464 pub x: JsFloat,
465 #[serde(default)]
466 #[serde(rename = "y")]
467 pub y: JsFloat,
468 #[serde(skip_serializing_if = "Option::is_none")]
469 #[serde(default)]
470 #[serde(rename = "duration")]
471 pub duration: Option<JsUInt>,
472 #[serde(skip_serializing_if = "Option::is_none")]
473 #[serde(default)]
474 #[serde(rename = "tapCount")]
475 pub tap_count: Option<JsUInt>,
476 #[serde(skip_serializing_if = "Option::is_none")]
477 #[serde(rename = "gestureSourceType")]
478 pub gesture_source_type: Option<GestureSourceType>,
479}
480#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
481#[serde(rename_all = "camelCase")]
482pub struct DispatchDragEventReturnObject {}
483#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
484#[serde(rename_all = "camelCase")]
485pub struct DispatchKeyEventReturnObject {}
486#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
487#[serde(rename_all = "camelCase")]
488pub struct InsertTextReturnObject {}
489#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
490#[serde(rename_all = "camelCase")]
491pub struct ImeSetCompositionReturnObject {}
492#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
493#[serde(rename_all = "camelCase")]
494pub struct DispatchMouseEventReturnObject {}
495#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
496#[serde(rename_all = "camelCase")]
497pub struct DispatchTouchEventReturnObject {}
498#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
499#[serde(rename_all = "camelCase")]
500pub struct CancelDraggingReturnObject {}
501#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
502#[serde(rename_all = "camelCase")]
503pub struct EmulateTouchFromMouseEventReturnObject {}
504#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
505#[serde(rename_all = "camelCase")]
506pub struct SetIgnoreInputEventsReturnObject {}
507#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
508#[serde(rename_all = "camelCase")]
509pub struct SetInterceptDragsReturnObject {}
510#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
511#[serde(rename_all = "camelCase")]
512pub struct SynthesizePinchGestureReturnObject {}
513#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
514#[serde(rename_all = "camelCase")]
515pub struct SynthesizeScrollGestureReturnObject {}
516#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
517#[serde(rename_all = "camelCase")]
518pub struct SynthesizeTapGestureReturnObject {}
519impl Method for DispatchDragEvent {
520 const NAME: &'static str = "Input.dispatchDragEvent";
521 type ReturnObject = DispatchDragEventReturnObject;
522}
523impl Method for DispatchKeyEvent {
524 const NAME: &'static str = "Input.dispatchKeyEvent";
525 type ReturnObject = DispatchKeyEventReturnObject;
526}
527impl Method for InsertText {
528 const NAME: &'static str = "Input.insertText";
529 type ReturnObject = InsertTextReturnObject;
530}
531impl Method for ImeSetComposition {
532 const NAME: &'static str = "Input.imeSetComposition";
533 type ReturnObject = ImeSetCompositionReturnObject;
534}
535impl Method for DispatchMouseEvent {
536 const NAME: &'static str = "Input.dispatchMouseEvent";
537 type ReturnObject = DispatchMouseEventReturnObject;
538}
539impl Method for DispatchTouchEvent {
540 const NAME: &'static str = "Input.dispatchTouchEvent";
541 type ReturnObject = DispatchTouchEventReturnObject;
542}
543impl Method for CancelDragging {
544 const NAME: &'static str = "Input.cancelDragging";
545 type ReturnObject = CancelDraggingReturnObject;
546}
547impl Method for EmulateTouchFromMouseEvent {
548 const NAME: &'static str = "Input.emulateTouchFromMouseEvent";
549 type ReturnObject = EmulateTouchFromMouseEventReturnObject;
550}
551impl Method for SetIgnoreInputEvents {
552 const NAME: &'static str = "Input.setIgnoreInputEvents";
553 type ReturnObject = SetIgnoreInputEventsReturnObject;
554}
555impl Method for SetInterceptDrags {
556 const NAME: &'static str = "Input.setInterceptDrags";
557 type ReturnObject = SetInterceptDragsReturnObject;
558}
559impl Method for SynthesizePinchGesture {
560 const NAME: &'static str = "Input.synthesizePinchGesture";
561 type ReturnObject = SynthesizePinchGestureReturnObject;
562}
563impl Method for SynthesizeScrollGesture {
564 const NAME: &'static str = "Input.synthesizeScrollGesture";
565 type ReturnObject = SynthesizeScrollGestureReturnObject;
566}
567impl Method for SynthesizeTapGesture {
568 const NAME: &'static str = "Input.synthesizeTapGesture";
569 type ReturnObject = SynthesizeTapGestureReturnObject;
570}
571pub mod events {
572 #[allow(unused_imports)]
573 use super::super::types::*;
574 #[allow(unused_imports)]
575 use serde::{Deserialize, Serialize};
576 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
577 pub struct DragInterceptedEvent {
578 pub params: DragInterceptedEventParams,
579 }
580 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
581 pub struct DragInterceptedEventParams {
582 #[serde(rename = "data")]
583 pub data: super::DragData,
584 }
585}