// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/pointerevents
///|
/// PointerEventInit dictionary
pub(all) struct PointerEventInit {
pointerId : Int?
width : Double?
height : Double?
pressure : Double?
tangentialPressure : Double?
tiltX : Int?
tiltY : Int?
twist : Int?
altitudeAngle : Double?
azimuthAngle : Double?
pointerType : String?
isPrimary : Bool?
persistentDeviceId : Int?
coalescedEvents : Array[PointerEvent]?
predictedEvents : Array[PointerEvent]?
}
///|
/// Create a new PointerEventInit with default values
pub fn PointerEventInit::default() -> PointerEventInit {
PointerEventInit::{
pointerId: None,
width: None,
height: None,
pressure: None,
tangentialPressure: None,
tiltX: None,
tiltY: None,
twist: None,
altitudeAngle: None,
azimuthAngle: None,
pointerType: None,
isPrimary: None,
persistentDeviceId: None,
coalescedEvents: None,
predictedEvents: None,
}
}
///|
extern "js" fn PointerEventInit::to_js_ffi(self : PointerEventInit) -> JsValue =
#| (self) => ({
#| pointerId: self.pointerId,
#| width: ((() => { const v = self.width; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| height: ((() => { const v = self.height; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| pressure: ((() => { const v = self.pressure; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| tangentialPressure: ((() => { const v = self.tangentialPressure; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| tiltX: self.tiltX,
#| tiltY: self.tiltY,
#| twist: self.twist,
#| altitudeAngle: ((() => { const v = self.altitudeAngle; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| azimuthAngle: ((() => { const v = self.azimuthAngle; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| pointerType: self.pointerType,
#| isPrimary: (self.isPrimary === -1 ? undefined : self.isPrimary),
#| persistentDeviceId: self.persistentDeviceId,
#| coalescedEvents: ((() => { const v = self.coalescedEvents; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| predictedEvents: ((() => { const v = self.predictedEvents; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn PointerEventInit::to_js(self : PointerEventInit) -> JsValue {
PointerEventInit::to_js_ffi(self)
}
///|
extern "js" fn PointerEventInit::from_js_ffi(
value : JsValue,
) -> PointerEventInit =
#| (v) => ({
#| pointerId: v.pointerId,
#| width: (v.width === undefined ? { $tag: 0 } : { $tag: 1, _0: v.width }),
#| height: (v.height === undefined ? { $tag: 0 } : { $tag: 1, _0: v.height }),
#| pressure: (v.pressure === undefined ? { $tag: 0 } : { $tag: 1, _0: v.pressure }),
#| tangentialPressure: (v.tangentialPressure === undefined ? { $tag: 0 } : { $tag: 1, _0: v.tangentialPressure }),
#| tiltX: v.tiltX,
#| tiltY: v.tiltY,
#| twist: v.twist,
#| altitudeAngle: (v.altitudeAngle === undefined ? { $tag: 0 } : { $tag: 1, _0: v.altitudeAngle }),
#| azimuthAngle: (v.azimuthAngle === undefined ? { $tag: 0 } : { $tag: 1, _0: v.azimuthAngle }),
#| pointerType: v.pointerType,
#| isPrimary: (v.isPrimary === undefined ? -1 : v.isPrimary),
#| persistentDeviceId: v.persistentDeviceId,
#| coalescedEvents: (v.coalescedEvents === undefined ? { $tag: 0 } : { $tag: 1, _0: v.coalescedEvents }),
#| predictedEvents: (v.predictedEvents === undefined ? { $tag: 0 } : { $tag: 1, _0: v.predictedEvents })
#| })
///|
/// Convert from JsValue
pub fn PointerEventInit::from_js(value : JsValue) -> PointerEventInit {
PointerEventInit::from_js_ffi(value)
}
///|
/// PointerEvent interface
pub type PointerEvent
///|
pub extern "js" fn PointerEvent::to_js_value(self : PointerEvent) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to PointerEvent (unchecked)
pub extern "js" fn PointerEvent::from_js_value(v : JsValue) -> PointerEvent =
#| (v) => v
///|
/// Safely cast JsValue to PointerEvent (checked with instanceof)
pub extern "js" fn PointerEvent::from_js_value_opt(
v : JsValue,
) -> PointerEvent? =
#| (v) => (v instanceof PointerEvent) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to PointerEvent (checked with instanceof)
pub extern "js" fn JsValue::as_pointer_event(self : JsValue) -> PointerEvent? =
#| (self) => (self instanceof PointerEvent) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to PointerEvent (unchecked)
pub extern "js" fn JsValue::to_pointer_event(self : JsValue) -> PointerEvent =
#| (self) => self
///|
pub extern "js" fn PointerEvent::to_mouse_event(
self : PointerEvent,
) -> MouseEvent =
#| (self) => self
///|
pub extern "js" fn PointerEvent::to_ui_event(self : PointerEvent) -> UIEvent =
#| (self) => self
///|
pub extern "js" fn PointerEvent::to_event(self : PointerEvent) -> Event =
#| (self) => self
///|
pub extern "js" fn PointerEvent::new(type_ : String) -> PointerEvent =
#| (type_) => new PointerEvent(type_)
///|
extern "js" fn PointerEvent::new_with_event_init_dict_ffi(
type_ : String,
event_init_dict : JsValue,
) -> PointerEvent =
#| (type_, event_init_dict) => new PointerEvent(type_, event_init_dict)
///|
pub fn PointerEvent::new_with_event_init_dict(
type_ : String,
event_init_dict : PointerEventInit,
) -> PointerEvent {
PointerEvent::new_with_event_init_dict_ffi(type_, event_init_dict.to_js())
}
///|
pub extern "js" fn PointerEvent::get_pointer_id(self : PointerEvent) -> Int =
#| (self) => self.pointerId
///|
pub extern "js" fn PointerEvent::get_width(self : PointerEvent) -> Double =
#| (self) => self.width
///|
pub extern "js" fn PointerEvent::get_height(self : PointerEvent) -> Double =
#| (self) => self.height
///|
pub extern "js" fn PointerEvent::get_pressure(self : PointerEvent) -> Double =
#| (self) => self.pressure
///|
pub extern "js" fn PointerEvent::get_tangential_pressure(
self : PointerEvent,
) -> Double =
#| (self) => self.tangentialPressure
///|
pub extern "js" fn PointerEvent::get_tilt_x(self : PointerEvent) -> Int =
#| (self) => self.tiltX
///|
pub extern "js" fn PointerEvent::get_tilt_y(self : PointerEvent) -> Int =
#| (self) => self.tiltY
///|
pub extern "js" fn PointerEvent::get_twist(self : PointerEvent) -> Int =
#| (self) => self.twist
///|
pub extern "js" fn PointerEvent::get_altitude_angle(
self : PointerEvent,
) -> Double =
#| (self) => self.altitudeAngle
///|
pub extern "js" fn PointerEvent::get_azimuth_angle(
self : PointerEvent,
) -> Double =
#| (self) => self.azimuthAngle
///|
pub extern "js" fn PointerEvent::get_pointer_type(
self : PointerEvent,
) -> String =
#| (self) => self.pointerType
///|
pub extern "js" fn PointerEvent::get_is_primary(self : PointerEvent) -> Bool =
#| (self) => self.isPrimary
///|
pub extern "js" fn PointerEvent::get_persistent_device_id(
self : PointerEvent,
) -> Int =
#| (self) => self.persistentDeviceId
///|
pub extern "js" fn PointerEvent::get_coalesced_events(
self : PointerEvent,
) -> Array[PointerEvent] =
#| (self) => self.getCoalescedEvents()
///|
pub extern "js" fn PointerEvent::get_predicted_events(
self : PointerEvent,
) -> Array[PointerEvent] =
#| (self) => self.getPredictedEvents()