ferroui_base/input/raw/
raw_input_helpers.rs1use super::RawPointerEventType;
2use crate::input::{KeyModifiers, PointerUpdateKind, RawInputModifiers};
3
4impl RawInputModifiers {
5 #[inline]
7 pub fn to_key_modifiers(self) -> KeyModifiers {
8 KeyModifiers::from_bits_truncate((self & RawInputModifiers::KEYBOARD_MASK).bits())
9 }
10}
11
12impl RawPointerEventType {
13 pub fn to_update_kind(self) -> PointerUpdateKind {
15 match self {
16 RawPointerEventType::LeftButtonDown => PointerUpdateKind::LeftButtonPressed,
17 RawPointerEventType::LeftButtonUp => PointerUpdateKind::LeftButtonReleased,
18 RawPointerEventType::RightButtonDown => PointerUpdateKind::RightButtonPressed,
19 RawPointerEventType::RightButtonUp => PointerUpdateKind::RightButtonReleased,
20 RawPointerEventType::MiddleButtonDown => PointerUpdateKind::MiddleButtonPressed,
21 RawPointerEventType::MiddleButtonUp => PointerUpdateKind::MiddleButtonReleased,
22 RawPointerEventType::XButton1Down => PointerUpdateKind::XButton1Pressed,
23 RawPointerEventType::XButton1Up => PointerUpdateKind::XButton1Released,
24 RawPointerEventType::XButton2Down => PointerUpdateKind::XButton2Pressed,
25 RawPointerEventType::XButton2Up => PointerUpdateKind::XButton2Released,
26 RawPointerEventType::TouchBegin => PointerUpdateKind::LeftButtonPressed,
27 RawPointerEventType::TouchEnd => PointerUpdateKind::LeftButtonReleased,
28 _ => PointerUpdateKind::Other,
29 }
30 }
31}