@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
48 lines (47 loc) • 1.44 kB
TypeScript
import { Vector2 } from 'three';
import EventEmitter from '../EventEmitter.js';
export declare enum InputEvent {
PointerDown = "pointer-down",
PointerUp = "pointer-up",
PointerMove = "pointer-move",
PointerCancel = "pointer-cancel",
Wheel = "wheel",
Click = "click",
DoubleClick = "double-click",
KeyUp = "key-up"
}
export interface InputEventPayload {
[]: Vector2 & {
event: PointerEvent;
};
[]: Vector2 & {
event: PointerEvent;
};
[]: Vector2 & {
event: PointerEvent;
};
[]: void;
[]: WheelEvent;
[]: Vector2 & {
event: PointerEvent;
multiSelect: boolean;
};
[]: Vector2 & {
event: PointerEvent;
multiSelect: boolean;
};
[]: KeyboardEvent;
}
export default class Input extends EventEmitter {
private static readonly MAX_DOUBLE_CLICK_TIMING;
private static readonly MIN_CLICK_TIMING;
private tapTimeout;
private lastTap;
private lastClick;
private touchLocation;
private container;
constructor(container: HTMLElement);
on<T extends InputEvent>(eventType: T, listener: (arg: InputEventPayload[T]) => void): void;
_getNormalisedClickPosition(e: MouseEvent | Touch): Vector2;
dispose(): void;
}