use super::raw_input_event_args::raw_input_event_args;
use super::{RawPointerEventArgs, RawPointerEventType};
use crate::input::{IInputDevice, IInputRoot, RawInputModifiers};
use crate::{Point, Vector};
use std::rc::Rc;
pub struct RawPointerGestureEventArgs {
base: RawPointerEventArgs,
delta: Vector,
}
raw_input_event_args!(RawPointerGestureEventArgs: RawPointerEventArgs);
impl RawPointerGestureEventArgs {
pub fn new(
device: Rc<dyn IInputDevice>,
timestamp: u64,
root: Rc<dyn IInputRoot>,
gesture_type: RawPointerEventType,
position: Point,
delta: Vector,
input_modifiers: RawInputModifiers,
) -> Self {
Self {
base: RawPointerEventArgs::new(device, timestamp, root, gesture_type, position, input_modifiers),
delta,
}
}
#[inline]
pub fn delta(&self) -> Vector {
self.delta
}
}