use crate::*;
#[derive(Clone, Copy, Data)]
pub(crate) struct UseKeyboardEvent {
#[get(type(copy))]
pub(crate) last_key: Signal<String>,
#[get(type(copy))]
pub(crate) last_key_code: Signal<String>,
#[get(type(copy))]
pub(crate) last_key_up: Signal<String>,
#[get(type(copy))]
pub(crate) key_repeat: Signal<bool>,
#[get(type(copy))]
pub(crate) modifier: Signal<String>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseMouseEvent {
#[get(type(copy))]
pub(crate) click_count: Signal<i32>,
#[get(type(copy))]
pub(crate) double_click_count: Signal<i32>,
#[get(type(copy))]
pub(crate) mouse_pos: Signal<String>,
#[get(type(copy))]
pub(crate) mouse_screen_pos: Signal<String>,
#[get(type(copy))]
pub(crate) mouse_button: Signal<String>,
#[get(type(copy))]
pub(crate) mouse_buttons: Signal<String>,
#[get(type(copy))]
pub(crate) mouse_enter_count: Signal<i32>,
#[get(type(copy))]
pub(crate) mouse_leave_count: Signal<i32>,
#[get(type(copy))]
pub(crate) mouse_over_count: Signal<i32>,
#[get(type(copy))]
pub(crate) mouse_out_count: Signal<i32>,
#[get(type(copy))]
pub(crate) mouse_down_count: Signal<i32>,
#[get(type(copy))]
pub(crate) mouse_up_count: Signal<i32>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseFocusEvent {
#[get(type(copy))]
pub(crate) focus_status: Signal<String>,
#[get(type(copy))]
pub(crate) focus_in_count: Signal<i32>,
#[get(type(copy))]
pub(crate) focus_out_count: Signal<i32>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseDragEvent {
#[get(type(copy))]
pub(crate) drag_status: Signal<String>,
#[get(type(copy))]
pub(crate) drag_pos: Signal<String>,
#[get(type(copy))]
pub(crate) drag_types: Signal<String>,
#[get(type(copy))]
pub(crate) drag_enter_counter: Signal<i32>,
#[get(type(copy))]
pub(crate) drag_pending_pos: Signal<String>,
#[get(type(copy))]
pub(crate) drag_raf_id: Signal<i32>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseWheelEvent {
#[get(type(copy))]
pub(crate) wheel_delta: Signal<String>,
#[get(type(copy))]
pub(crate) wheel_total: Signal<f64>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseClipboardEvent {
#[get(type(copy))]
pub(crate) clipboard_data: Signal<String>,
#[get(type(copy))]
pub(crate) clipboard_event_type: Signal<String>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseTouchEvent {
#[get(type(copy))]
pub(crate) touch_info: Signal<String>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseFormEvent {
#[get(type(copy))]
pub(crate) form_input_value: Signal<String>,
#[get(type(copy))]
pub(crate) form_change_value: Signal<String>,
#[get(type(copy))]
pub(crate) form_checkbox: Signal<bool>,
#[get(type(copy))]
pub(crate) form_select_value: Signal<String>,
#[get(type(copy))]
pub(crate) submit_count: Signal<i32>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseMediaEvent {
#[get(type(copy))]
pub(crate) media_status: Signal<String>,
#[get(type(copy))]
pub(crate) media_event_log: Signal<String>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseVideoEvent {
#[get(type(copy))]
pub(crate) video_status: Signal<String>,
#[get(type(copy))]
pub(crate) video_event_log: Signal<String>,
#[get(type(copy))]
pub(crate) video_current_time: Signal<String>,
#[get(type(copy))]
pub(crate) video_duration: Signal<String>,
#[get(type(copy))]
pub(crate) video_buffered: Signal<String>,
#[get(type(copy))]
pub(crate) video_playback_rate: Signal<String>,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseImageEvent {
#[get(type(copy))]
pub(crate) image_status: Signal<String>,
#[get(type(copy))]
pub(crate) image_event_log: Signal<String>,
#[get(type(copy))]
pub(crate) image_natural_size: Signal<String>,
}