// Do not edit. This file is generated.
// MoonBit type: WheelEvent
// Specifications: pointerevents.idl
///|
/// [WheelEvent](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent)
#external
pub type WheelEvent
///|
pub impl TJsValue for WheelEvent with to_js(self : WheelEvent) -> JsValue = "%identity"
///|
pub impl FromJsAny for WheelEvent with from_js_any(value : JsAny) -> WheelEvent = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// Prefer `try_into()` for checked downcasts.
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TWheelEvent] WheelEvent::into(self : WheelEvent) -> T = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// WARNING: If the underlying JS value is not of type T, this will silently
/// produce a value with incorrect type, leading to undefined behavior.
pub fn[T : TWheelEvent] WheelEvent::unsafe_into(self : WheelEvent) -> T = "%identity"
///|
pub impl HasConstructor for WheelEvent with constructor_name() {
"WheelEvent"
}
///|
/// Checked downcast — returns None if the JS value is not an instance of T.
pub fn[T : TWheelEvent + HasConstructor] WheelEvent::try_into(
self : WheelEvent,
) -> T? {
if js_instanceof(TJsValue::to_js(self), T::constructor_name()) {
Some(self.unsafe_into())
} else {
None
}
}
///|
pub impl TWheelEvent for WheelEvent
///|
pub impl TMouseEvent for WheelEvent
///|
pub impl TUIEvent for WheelEvent
///|
pub impl TEvent for WheelEvent
///|
pub fn WheelEvent::new(
type_ : String,
event_init_dict? : WheelEventInit,
) -> WheelEvent {
wheel_event_new_ffi(TJsValue::to_js(type_), opt_to_js(event_init_dict))
}
///|
pub const WHEEL_EVENT_DOM_DELTA_PIXEL : UInt = 0x00
///|
pub const WHEEL_EVENT_DOM_DELTA_LINE : UInt = 0x01
///|
pub const WHEEL_EVENT_DOM_DELTA_PAGE : UInt = 0x02
///|
/// [WheelEvent](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent) interface.
pub trait TWheelEvent: TMouseEvent {
delta_x(self : Self) -> Double = _
delta_y(self : Self) -> Double = _
delta_z(self : Self) -> Double = _
delta_mode(self : Self) -> UInt = _
}
///|
/// [WheelEvent.deltaX](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaX)
impl TWheelEvent with delta_x(self : Self) -> Double {
wheel_event_delta_x_ffi(TJsValue::to_js(self))
}
///|
/// [WheelEvent.deltaY](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaY)
impl TWheelEvent with delta_y(self : Self) -> Double {
wheel_event_delta_y_ffi(TJsValue::to_js(self))
}
///|
/// [WheelEvent.deltaZ](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaZ)
impl TWheelEvent with delta_z(self : Self) -> Double {
wheel_event_delta_z_ffi(TJsValue::to_js(self))
}
///|
/// [WheelEvent.deltaMode](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode)
impl TWheelEvent with delta_mode(self : Self) -> UInt {
wheel_event_delta_mode_ffi(TJsValue::to_js(self))
}
///|
#cfg(target="js")
extern "js" fn wheel_event_new_ffi(
type_ : JsValue,
event_init_dict : JsValue,
) -> WheelEvent = "(type_, event_init_dict) => new WheelEvent(type_, event_init_dict)"
///|
#cfg(target="js")
extern "js" fn wheel_event_delta_x_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.deltaX"
///|
#cfg(target="js")
fn wheel_event_delta_x_ffi(obj : JsValue) -> Double {
wheel_event_delta_x_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn wheel_event_delta_y_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.deltaY"
///|
#cfg(target="js")
fn wheel_event_delta_y_ffi(obj : JsValue) -> Double {
wheel_event_delta_y_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn wheel_event_delta_z_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.deltaZ"
///|
#cfg(target="js")
fn wheel_event_delta_z_ffi(obj : JsValue) -> Double {
wheel_event_delta_z_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn wheel_event_delta_mode_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.deltaMode"
///|
#cfg(target="js")
fn wheel_event_delta_mode_ffi(obj : JsValue) -> UInt {
wheel_event_delta_mode_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn wheel_event_new_ffi(
type_ : JsValue,
event_init_dict : JsValue,
) -> WheelEvent = "webapi_WheelEvent" "new"
///|
#cfg(target="wasm-gc")
fn wheel_event_delta_x_ffi(obj : JsValue) -> Double = "webapi_WheelEvent" "get_deltaX"
///|
#cfg(target="wasm-gc")
fn wheel_event_delta_y_ffi(obj : JsValue) -> Double = "webapi_WheelEvent" "get_deltaY"
///|
#cfg(target="wasm-gc")
fn wheel_event_delta_z_ffi(obj : JsValue) -> Double = "webapi_WheelEvent" "get_deltaZ"
///|
#cfg(target="wasm-gc")
fn wheel_event_delta_mode_ffi(obj : JsValue) -> UInt = "webapi_WheelEvent" "get_deltaMode"