Skip to main content

ohos_xcomponent_binding/events/
mouse_event.rs

1use 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}