use std::fmt::{Debug, Formatter};
use wasm_bindgen::JsCast;
use web_sys::{Event, EventTarget, MouseEvent};
#[derive(Clone)]
pub struct OnDoubleClick {
inner: MouseEvent,
}
impl Debug for OnDoubleClick {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
f.write_str("OnDoubleClickEvent")
}
}
impl From<Event> for OnDoubleClick {
fn from(e: Event) -> Self {
let event: MouseEvent = e.unchecked_into();
Self { inner: event }
}
}
impl OnDoubleClick {
#[inline]
pub fn screen_x(&self) -> i32 {
self.inner.screen_x()
}
#[inline]
pub fn screen_y(&self) -> i32 {
self.inner.screen_y()
}
#[inline]
pub fn client_x(&self) -> i32 {
self.inner.client_x()
}
#[inline]
pub fn client_y(&self) -> i32 {
self.inner.client_y()
}
#[inline]
pub fn x(&self) -> i32 {
self.inner.x()
}
#[inline]
pub fn y(&self) -> i32 {
self.inner.y()
}
#[inline]
pub fn offset_x(&self) -> i32 {
self.inner.offset_x()
}
#[inline]
pub fn offset_y(&self) -> i32 {
self.inner.offset_y()
}
#[inline]
pub fn ctrl_key(&self) -> bool {
self.inner.ctrl_key()
}
#[inline]
pub fn shift_key(&self) -> bool {
self.inner.shift_key()
}
pub fn alt_key(&self) -> bool {
self.inner.alt_key()
}
#[inline]
pub fn meta_key(&self) -> bool {
self.inner.meta_key()
}
#[inline]
pub fn button(&self) -> i16 {
self.inner.button()
}
#[inline]
pub fn buttons(&self) -> u16 {
self.inner.buttons()
}
#[inline]
pub fn related_target(&self) -> Option<EventTarget> {
self.inner.related_target()
}
#[inline]
pub fn region(&self) -> Option<String> {
self.inner.region()
}
#[inline]
pub fn movement_x(&self) -> i32 {
self.inner.movement_x()
}
#[inline]
pub fn movement_y(&self) -> i32 {
self.inner.movement_y()
}
}