ferroui_base/input/raw/
raw_touch_event_args.rs1use super::raw_input_event_args::raw_input_event_args;
2use super::{RawPointerEventArgs, RawPointerEventType, RawPointerPoint};
3use crate::input::{IInputDevice, IInputRoot, RawInputModifiers};
4use crate::Point;
5use std::rc::Rc;
6
7pub struct RawTouchEventArgs {
9 base: RawPointerEventArgs,
10}
11
12raw_input_event_args!(RawTouchEventArgs: RawPointerEventArgs);
13
14impl RawTouchEventArgs {
15 pub fn new(
17 device: Rc<dyn IInputDevice>,
18 timestamp: u64,
19 root: Rc<dyn IInputRoot>,
20 type_: RawPointerEventType,
21 position: Point,
22 input_modifiers: RawInputModifiers,
23 raw_pointer_id: i64,
24 ) -> Self {
25 let base = RawPointerEventArgs::new(device, timestamp, root, type_, position, input_modifiers);
26 base.set_raw_pointer_id(raw_pointer_id);
27 Self { base }
28 }
29
30 pub fn with_point(
32 device: Rc<dyn IInputDevice>,
33 timestamp: u64,
34 root: Rc<dyn IInputRoot>,
35 type_: RawPointerEventType,
36 point: RawPointerPoint,
37 input_modifiers: RawInputModifiers,
38 raw_pointer_id: i64,
39 ) -> Self {
40 let base = RawPointerEventArgs::with_point(device, timestamp, root, type_, point, input_modifiers);
41 base.set_raw_pointer_id(raw_pointer_id);
42 Self { base }
43 }
44}