happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
52 lines (46 loc) • 1.72 kB
text/typescript
import MouseEvent from './MouseEvent.js';
import IPointerEventInit from './IPointerEventInit.js';
/**
*
*/
export default class PointerEvent extends MouseEvent {
public readonly pointerId: number;
public readonly width: number;
public readonly height: number;
public readonly pressure: number;
public readonly tangentialPressure: number;
public readonly tiltX: number;
public readonly tiltY: number;
public readonly twist: number;
public readonly altitudeAngle: number;
public readonly azimuthAngle: number;
public readonly pointerType: string;
public readonly isPrimary: boolean;
public readonly coalescedEvents: PointerEvent[];
public readonly predictedEvents: PointerEvent[];
/**
* Constructor.
*
* @param type Event type.
* @param [eventInit] Event init.
*/
constructor(type: string, eventInit: IPointerEventInit | null = null) {
super(type, eventInit);
this.pointerId = eventInit?.pointerId ?? 0;
this.width = eventInit?.width ?? 1;
this.height = eventInit?.height ?? 1;
this.pressure = eventInit?.pressure ?? 0;
this.tangentialPressure = eventInit?.tangentialPressure ?? 0;
this.tiltX = eventInit?.tiltX ?? 0;
this.tiltY = eventInit?.tiltY ?? 0;
this.twist = eventInit?.twist ?? 0;
this.altitudeAngle = eventInit?.altitudeAngle ?? 0;
this.azimuthAngle = eventInit?.azimuthAngle ?? 0;
this.pointerType = eventInit?.pointerType ?? '';
this.isPrimary = eventInit?.isPrimary ?? false;
this.coalescedEvents = eventInit?.coalescedEvents ?? [];
this.predictedEvents = eventInit?.predictedEvents ?? [];
}
public getCoalescedEvents = (): PointerEvent[] => this.coalescedEvents;
public getPredictedEvents = (): PointerEvent[] => this.predictedEvents;
}