ferroui_base/input/
pointer_wheel_event_args.rs1use super::{IPointer, InputElement, KeyModifiers, PointerEventArgs, PointerPointProperties};
2use crate::{ferro_routed_event_args, FerroObject, Nullable, Point, Vector, Visual};
3use std::rc::Rc;
4
5#[derive(Clone)]
7pub struct PointerWheelEventArgs {
8 base: PointerEventArgs,
9 delta: Vector,
10}
11
12ferro_routed_event_args!(PointerWheelEventArgs: PointerEventArgs);
13
14impl PointerWheelEventArgs {
15 #[allow(clippy::too_many_arguments)]
17 pub fn new(
18 source: impl Into<Nullable<FerroObject>>,
19 pointer: Rc<dyn IPointer>,
20 root_visual: &Visual,
21 root_visual_position: Point,
22 timestamp: u64,
23 properties: PointerPointProperties,
24 modifiers: KeyModifiers,
25 delta: Vector,
26 ) -> Self {
27 Self {
28 base: PointerEventArgs::new(
29 Some(InputElement::pointer_wheel_changed_event()),
30 source,
31 pointer,
32 Some(root_visual),
33 root_visual_position,
34 timestamp,
35 properties,
36 modifiers,
37 ),
38 delta,
39 }
40 }
41
42 #[inline]
44 pub fn delta(&self) -> Vector {
45 self.delta
46 }
47}