UNPKG

@glowjs/core

Version:

GlowJS数字孪生引擎核心库。

111 lines (110 loc) 2.15 kB
import { Base } from '../base/Base'; import { App } from '../core/App'; import { PickingInfo, Mesh } from '../runtime'; import { KeyCode } from './KeyCode'; /** * 事件管理器 */ export declare class EventMgr extends Base { private _observer; /** * 指针处的网格 */ _pointerMesh: Mesh | null; /** * 拾取对象 */ _pickInfo: PickingInfo | null; /** * 长按定时器ID */ private _longDownId; private _pointerCanvas; /** * 鼠标X轴坐标 */ mouseX: number; /** * 鼠标Y轴坐标 */ mouseY: number; private _onPointerEnterCanvas; private _onPointerLeaveCanvas; /** * 热键字典 */ private _hotKeyMap; _pressedKeys: Set<KeyCode>; /** * 实例化一个事件管理器对象 * @param app */ constructor(app: App); /** * 获取指针是否在画布之上 */ get pointerCanvas(): boolean; /** * 注册热键 * @param keys 键 * @param action 动作 */ registerHotKey(keys: KeyCode[], action: () => void): string; /** * 取消注册热键 * @param id 热键注册返回的ID */ unRegisterHotKey(id: string): void; /** * 是否按下了某个键 * @param key 键 */ isPressed(key: KeyCode): boolean; private _onKeyDown; private _onKeyUp; /** * * @param eventData */ private _handleEvent; /** * * @param eventData */ private _onMove; /** * * @param eventData */ private _onWheel; /** * * @param {PointerInfo} eventData */ private _onDown; private _clearLongDown; /** * * @param eventData */ private _onUp; /** * * @param eventData */ private _onPick; /** * * @param eventData */ private _onTap; /** * * @param eventData */ private _onDoubleTap; /** * 释放 */ dispose(): void; }