UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

64 lines (63 loc) 3.14 kB
import type { ObservableEvents } from 'modern-idoc'; import type { Cursor } from './Cursor'; import type { InputEvent } from './InputEvent'; import type { MouseInputEvent } from './MouseInputEvent'; import { Observable } from 'modern-idoc'; import { KeyboardInputEvent } from './KeyboardInputEvent'; import { PointerInputEvent } from './PointerInputEvent'; import { WheelInputEvent } from './WheelInputEvent'; export interface InputEvents extends ObservableEvents { pointerdown: [ev: PointerInputEvent]; pointerover: [ev: PointerInputEvent]; pointermove: [ev: PointerInputEvent]; pointerup: [ev: PointerInputEvent]; wheel: [ev: WheelInputEvent]; keydown: [ev: KeyboardInputEvent]; keypress: [ev: KeyboardInputEvent]; keyup: [ev: KeyboardInputEvent]; } export type InputEventKey = keyof InputEvents; export interface Input { on: <K extends keyof InputEvents & string>(event: K, listener: (...args: InputEvents[K]) => void) => this; once: <K extends keyof InputEvents & string>(event: K, listener: (...args: InputEvents[K]) => void) => this; off: <K extends keyof InputEvents & string>(event: K, listener: (...args: InputEvents[K]) => void) => this; emit: <K extends keyof InputEvents & string>(event: K, ...args: InputEvents[K]) => this; } export declare class Input extends Observable { /** * Current event */ event?: PointerInputEvent | WheelInputEvent | KeyboardInputEvent; target?: HTMLElement; cursor: Cursor; cursorStyles: Record<string, any>; setuped: boolean; enableMoveEvent: boolean; enableWheelEvent: boolean; enableClickEvent: boolean; setTarget(target: HTMLElement): void; removeEventListeners(): void; addEventListeners(): void; protected normalize(event: KeyboardEvent): KeyboardEvent[]; protected normalize(event: WheelEvent): WheelEvent[]; protected normalize(event: TouchEvent | PointerEvent | MouseEvent): PointerEvent[]; protected _clonePointerEvent(nativeEvent: PointerEvent): PointerInputEvent; protected _copyInputEvent(event: InputEvent, nativeEvent: UIEvent): void; protected _copyMouseEvent(event: MouseInputEvent, nativeEvent: MouseEvent): void; protected _cloneWheelEvent(nativeEvent: WheelEvent): WheelInputEvent; protected _cloneKeyboardEvent(nativeEvent: KeyboardEvent): KeyboardInputEvent; setCursor(mode?: Cursor): void; mapPositionToPoint(point: { x: number; y: number; }, x: number, y: number): void; protected _onKeyDown: (nativeEvent: KeyboardEvent) => void; protected _onKeyPress: (nativeEvent: KeyboardEvent) => void; protected _onKeyUp: (nativeEvent: KeyboardEvent) => void; protected _onPointerDown: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void; protected _onPointerOver: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void; protected _onPointerMove: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void; protected _onPointerUp: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void; protected _onWheel: (nativeEvent: WheelEvent) => void; destroy(): void; }