// Do not edit. This file is generated.
// MoonBit type: PointerEvent
// Specifications: pointerevents.idl
///|
/// [PointerEvent](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent)
#external
pub type PointerEvent
///|
pub impl TJsValue for PointerEvent with to_js(self : PointerEvent) -> JsValue = "%identity"
///|
pub impl FromJsAny for PointerEvent with from_js_any(value : JsAny) -> PointerEvent = "%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 : TPointerEvent] PointerEvent::into(self : PointerEvent) -> 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 : TPointerEvent] PointerEvent::unsafe_into(self : PointerEvent) -> T = "%identity"
///|
pub impl HasConstructor for PointerEvent with constructor_name() {
"PointerEvent"
}
///|
/// Checked downcast — returns None if the JS value is not an instance of T.
pub fn[T : TPointerEvent + HasConstructor] PointerEvent::try_into(
self : PointerEvent,
) -> T? {
if js_instanceof(TJsValue::to_js(self), T::constructor_name()) {
Some(self.unsafe_into())
} else {
None
}
}
///|
pub impl TPointerEvent for PointerEvent
///|
pub impl TMouseEvent for PointerEvent
///|
pub impl TUIEvent for PointerEvent
///|
pub impl TEvent for PointerEvent
///|
pub fn PointerEvent::new(
type_ : String,
event_init_dict? : PointerEventInit,
) -> PointerEvent {
pointer_event_new_ffi(TJsValue::to_js(type_), opt_to_js(event_init_dict))
}
///|
/// [PointerEvent](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent) interface.
pub trait TPointerEvent: TMouseEvent {
pointer_id(self : Self) -> Int = _
width(self : Self) -> Double = _
height(self : Self) -> Double = _
pressure(self : Self) -> Float = _
tangential_pressure(self : Self) -> Float = _
tilt_x(self : Self) -> Int = _
tilt_y(self : Self) -> Int = _
twist(self : Self) -> Int = _
altitude_angle(self : Self) -> Double = _
azimuth_angle(self : Self) -> Double = _
pointer_type(self : Self) -> String = _
is_primary(self : Self) -> Bool = _
persistent_device_id(self : Self) -> Int = _
get_coalesced_events(self : Self) -> Array[PointerEvent] = _
get_predicted_events(self : Self) -> Array[PointerEvent] = _
}
///|
/// [PointerEvent.pointerId](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerId)
impl TPointerEvent with pointer_id(self : Self) -> Int {
pointer_event_pointer_id_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.width](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/width)
impl TPointerEvent with width(self : Self) -> Double {
pointer_event_width_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.height](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/height)
impl TPointerEvent with height(self : Self) -> Double {
pointer_event_height_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.pressure](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pressure)
impl TPointerEvent with pressure(self : Self) -> Float {
pointer_event_pressure_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.tangentialPressure](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tangentialPressure)
impl TPointerEvent with tangential_pressure(self : Self) -> Float {
pointer_event_tangential_pressure_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.tiltX](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltX)
impl TPointerEvent with tilt_x(self : Self) -> Int {
pointer_event_tilt_x_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.tiltY](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltY)
impl TPointerEvent with tilt_y(self : Self) -> Int {
pointer_event_tilt_y_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.twist](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/twist)
impl TPointerEvent with twist(self : Self) -> Int {
pointer_event_twist_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.altitudeAngle](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/altitudeAngle)
impl TPointerEvent with altitude_angle(self : Self) -> Double {
pointer_event_altitude_angle_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.azimuthAngle](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/azimuthAngle)
impl TPointerEvent with azimuth_angle(self : Self) -> Double {
pointer_event_azimuth_angle_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.pointerType](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType)
impl TPointerEvent with pointer_type(self : Self) -> String {
pointer_event_pointer_type_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.isPrimary](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary)
impl TPointerEvent with is_primary(self : Self) -> Bool {
pointer_event_is_primary_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.persistentDeviceId](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/persistentDeviceId)
impl TPointerEvent with persistent_device_id(self : Self) -> Int {
pointer_event_persistent_device_id_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.getCoalescedEvents](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/getCoalescedEvents)
impl TPointerEvent with get_coalesced_events(self : Self) -> Array[PointerEvent] {
pointer_event_get_coalesced_events_ffi(TJsValue::to_js(self))
}
///|
/// [PointerEvent.getPredictedEvents](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/getPredictedEvents)
impl TPointerEvent with get_predicted_events(self : Self) -> Array[PointerEvent] {
pointer_event_get_predicted_events_ffi(TJsValue::to_js(self))
}
///|
#cfg(target="js")
extern "js" fn pointer_event_new_ffi(
type_ : JsValue,
event_init_dict : JsValue,
) -> PointerEvent = "(type_, event_init_dict) => new PointerEvent(type_, event_init_dict)"
///|
#cfg(target="js")
extern "js" fn pointer_event_pointer_id_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.pointerId"
///|
#cfg(target="js")
fn pointer_event_pointer_id_ffi(obj : JsValue) -> Int {
pointer_event_pointer_id_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_width_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.width"
///|
#cfg(target="js")
fn pointer_event_width_ffi(obj : JsValue) -> Double {
pointer_event_width_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_height_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.height"
///|
#cfg(target="js")
fn pointer_event_height_ffi(obj : JsValue) -> Double {
pointer_event_height_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_pressure_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.pressure"
///|
#cfg(target="js")
fn pointer_event_pressure_ffi(obj : JsValue) -> Float {
pointer_event_pressure_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_tangential_pressure_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.tangentialPressure"
///|
#cfg(target="js")
fn pointer_event_tangential_pressure_ffi(obj : JsValue) -> Float {
pointer_event_tangential_pressure_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_tilt_x_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.tiltX"
///|
#cfg(target="js")
fn pointer_event_tilt_x_ffi(obj : JsValue) -> Int {
pointer_event_tilt_x_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_tilt_y_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.tiltY"
///|
#cfg(target="js")
fn pointer_event_tilt_y_ffi(obj : JsValue) -> Int {
pointer_event_tilt_y_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_twist_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.twist"
///|
#cfg(target="js")
fn pointer_event_twist_ffi(obj : JsValue) -> Int {
pointer_event_twist_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_altitude_angle_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.altitudeAngle"
///|
#cfg(target="js")
fn pointer_event_altitude_angle_ffi(obj : JsValue) -> Double {
pointer_event_altitude_angle_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_azimuth_angle_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.azimuthAngle"
///|
#cfg(target="js")
fn pointer_event_azimuth_angle_ffi(obj : JsValue) -> Double {
pointer_event_azimuth_angle_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_pointer_type_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.pointerType"
///|
#cfg(target="js")
fn pointer_event_pointer_type_ffi(obj : JsValue) -> String {
pointer_event_pointer_type_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_is_primary_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.isPrimary"
///|
#cfg(target="js")
fn pointer_event_is_primary_ffi(obj : JsValue) -> Bool {
pointer_event_is_primary_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_persistent_device_id_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.persistentDeviceId"
///|
#cfg(target="js")
fn pointer_event_persistent_device_id_ffi(obj : JsValue) -> Int {
pointer_event_persistent_device_id_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_get_coalesced_events_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.getCoalescedEvents()"
///|
#cfg(target="js")
fn pointer_event_get_coalesced_events_ffi(obj : JsValue) -> Array[PointerEvent] {
pointer_event_get_coalesced_events_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn pointer_event_get_predicted_events_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.getPredictedEvents()"
///|
#cfg(target="js")
fn pointer_event_get_predicted_events_ffi(obj : JsValue) -> Array[PointerEvent] {
pointer_event_get_predicted_events_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn pointer_event_new_ffi(
type_ : JsValue,
event_init_dict : JsValue,
) -> PointerEvent = "webapi_PointerEvent" "new"
///|
#cfg(target="wasm-gc")
fn pointer_event_pointer_id_ffi(obj : JsValue) -> Int = "webapi_PointerEvent" "get_pointerId"
///|
#cfg(target="wasm-gc")
fn pointer_event_width_ffi(obj : JsValue) -> Double = "webapi_PointerEvent" "get_width"
///|
#cfg(target="wasm-gc")
fn pointer_event_height_ffi(obj : JsValue) -> Double = "webapi_PointerEvent" "get_height"
///|
#cfg(target="wasm-gc")
fn pointer_event_pressure_ffi(obj : JsValue) -> Float = "webapi_PointerEvent" "get_pressure"
///|
#cfg(target="wasm-gc")
fn pointer_event_tangential_pressure_ffi(obj : JsValue) -> Float = "webapi_PointerEvent" "get_tangentialPressure"
///|
#cfg(target="wasm-gc")
fn pointer_event_tilt_x_ffi(obj : JsValue) -> Int = "webapi_PointerEvent" "get_tiltX"
///|
#cfg(target="wasm-gc")
fn pointer_event_tilt_y_ffi(obj : JsValue) -> Int = "webapi_PointerEvent" "get_tiltY"
///|
#cfg(target="wasm-gc")
fn pointer_event_twist_ffi(obj : JsValue) -> Int = "webapi_PointerEvent" "get_twist"
///|
#cfg(target="wasm-gc")
fn pointer_event_altitude_angle_ffi(obj : JsValue) -> Double = "webapi_PointerEvent" "get_altitudeAngle"
///|
#cfg(target="wasm-gc")
fn pointer_event_azimuth_angle_ffi(obj : JsValue) -> Double = "webapi_PointerEvent" "get_azimuthAngle"
///|
#cfg(target="wasm-gc")
fn pointer_event_pointer_type_ffi_wasm(obj : JsValue) -> JsValue = "webapi_PointerEvent" "get_pointerType"
///|
#cfg(target="wasm-gc")
fn pointer_event_pointer_type_ffi(obj : JsValue) -> String {
jsvalue_to_string(pointer_event_pointer_type_ffi_wasm(obj))
}
///|
#cfg(target="wasm-gc")
fn pointer_event_is_primary_ffi(obj : JsValue) -> Bool = "webapi_PointerEvent" "get_isPrimary"
///|
#cfg(target="wasm-gc")
fn pointer_event_persistent_device_id_ffi(obj : JsValue) -> Int = "webapi_PointerEvent" "get_persistentDeviceId"
///|
#cfg(target="wasm-gc")
fn pointer_event_get_coalesced_events_ffi_wasm(obj : JsValue) -> JsArray = "webapi_PointerEvent" "getCoalescedEvents"
///|
#cfg(target="wasm-gc")
fn pointer_event_get_coalesced_events_ffi(obj : JsValue) -> Array[PointerEvent] {
pointer_event_get_coalesced_events_ffi_wasm(obj).to_array()
}
///|
#cfg(target="wasm-gc")
fn pointer_event_get_predicted_events_ffi_wasm(obj : JsValue) -> JsArray = "webapi_PointerEvent" "getPredictedEvents"
///|
#cfg(target="wasm-gc")
fn pointer_event_get_predicted_events_ffi(obj : JsValue) -> Array[PointerEvent] {
pointer_event_get_predicted_events_ffi_wasm(obj).to_array()
}