@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
111 lines (110 loc) • 2.15 kB
TypeScript
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;
}