@ue-too/board
Version:
88 lines (87 loc) • 2.71 kB
TypeScript
import type { KmtInputStateMachine } from "../../input-interpretation/input-state-machine";
/**
* @category Event Parser
*/
export interface KMTEventParser {
disabled: boolean;
setUp(): void;
tearDown(): void;
attach(canvas: HTMLCanvasElement): void;
}
/**
* @description The minimum pointer event.
* This is for the interoperability between the vanilla javascript and the pixijs event system.
*
* @category Event Parser
*/
export type MinimumPointerEvent = {
button: number;
pointerType: string;
clientX: number;
clientY: number;
buttons: number;
};
/**
* @description The minimum wheel event.
* This is for the interoperability between the vanilla javascript and the pixijs event system.
*
* @category Event Parser
*/
export type MinimumWheelEvent = {
preventDefault: () => void;
deltaX: number;
deltaY: number;
ctrlKey: boolean;
clientX: number;
clientY: number;
};
/**
* @description The minimum keyboard event.
* This is for the interoperability between the vanilla javascript and the pixijs event system.
*
* @category Event Parser
*/
export type MinimumKeyboardEvent = {
preventDefault: () => void;
key: string;
};
/**
* @description The event target with pointer events.
* This is for the interoperability between the vanilla javascript and the pixijs event system.
*
* @category Event Parser
*/
export type EventTargetWithPointerEvents = {
addEventListener: (type: string, listener: (event: any) => void, options?: {
passive: boolean;
}) => void;
removeEventListener: (type: string, listener: (event: any) => void) => void;
};
/**
* @description The vanilla keyboard mouse and trackpad(KMT) event parser.
* This parser converts the raw events to events that can be used by the input state machine.
*
* @category Event Parser
*/
export declare class VanillaKMTEventParser implements KMTEventParser {
private _disabled;
private _stateMachine;
private _keyfirstPressed;
private _abortController;
private _canvas;
constructor(canvas: HTMLCanvasElement, kmtInputStateMachine: KmtInputStateMachine);
get disabled(): boolean;
set disabled(value: boolean);
get stateMachine(): KmtInputStateMachine;
addEventListeners(signal: AbortSignal): void;
setUp(): void;
tearDown(): void;
bindFunctions(): void;
pointerDownHandler(e: MinimumPointerEvent): void;
pointerUpHandler(e: MinimumPointerEvent): void;
pointerMoveHandler(e: MinimumPointerEvent): void;
scrollHandler(e: MinimumWheelEvent): void;
keypressHandler(e: KeyboardEvent): void;
keyupHandler(e: KeyboardEvent): void;
attach(canvas: HTMLCanvasElement): void;
}