ohos_xcomponent_binding/events/
mouse_event.rs1use crate::{MouseAction, MouseButton};
2use ohos_xcomponent_sys::OH_NativeXComponent_MouseEvent;
3
4#[derive(Debug, Clone)]
5pub struct MouseEventData {
6 pub x: f32,
7 pub y: f32,
8 pub screen_x: f32,
9 pub screen_y: f32,
10 pub timestamp: i64,
11 pub action: MouseAction,
12 pub button: MouseButton,
13}
14
15impl From<OH_NativeXComponent_MouseEvent> for MouseEventData {
16 fn from(value: OH_NativeXComponent_MouseEvent) -> Self {
17 Self {
18 x: value.x,
19 y: value.y,
20 screen_x: value.screenX,
21 screen_y: value.screenY,
22 timestamp: value.timestamp,
23 action: value.action.into(),
24 button: value.button.into(),
25 }
26 }
27}