@awayjs/scene
Version:
AwayJS scene classes
75 lines • 2.79 kB
TypeScript
import { Stage } from '@awayjs/stage';
import { PickingCollision, RaycastPicker, INode } from '@awayjs/view';
import { PointerEvent } from '../events/PointerEvent';
import { IInputRecorder } from './IInputRecorder';
/**
* MouseManager enforces a singleton pattern and is not intended to be instanced.
* it provides a manager class for detecting mouse hits on scene objects and sending out mouse events.
*/
export declare class MouseManager {
private static _instance;
static inputRecorder: IInputRecorder;
private _stage;
private static _instancePool;
private _pickerLookup;
private _pointerDataArray;
private _updateDirty;
private _focusNode;
allowKeyInput: boolean;
private _eventBubbling;
private _allowFocusOnUnfocusable;
private _showCursor;
private _cursorType;
private _nullVector;
private static _touchToMouseDict;
static _pointerDict: Record<string, PointerEvent>;
private _dragOut;
private _dragOver;
private _dragMove;
private _dragStart;
private _dragStop;
private _focusIn;
private _focusOut;
private _useSoftkeyboard;
private _isAVM1Dragging;
startDragObject(collision?: PickingCollision, isAVM1Dragging?: boolean): void;
stopDragObject(): void;
get showCursor(): boolean;
set showCursor(value: boolean);
set cursorType(t: 'pointer' | 'auto');
get cursorType(): 'pointer' | 'auto';
get eventBubbling(): boolean;
set eventBubbling(value: boolean);
/**
* Creates a new <code>MouseManager</code> object.
*/
constructor(stage: Stage);
set useSoftkeyboard(value: boolean);
get useSoftkeyboard(): boolean;
dispose(): void;
static clearInstance(stage: Stage): void;
static getInstance(stage: Stage): MouseManager;
setFocus(node: INode): void;
getFocus(): INode;
private dispatchEvent;
private setupAndDispatchEvent;
fireMouseEvents(forcePicker?: RaycastPicker): void;
private _fireMouseEventsInternal;
registerPicker(picker: RaycastPicker): void;
unregisterPicker(picker: RaycastPicker): void;
addEventsForSceneBinary(touchMessage: ArrayBuffer, sceneIdx?: number): void;
fireEventsForSceneFromString(touchMessage: String, _sceneIdx?: number): void;
private setUpEvent;
private queueDispatch;
onKeyDown(event: any): void;
onKeyUp(event: any): void;
onMouseMove(event: MouseEvent | TouchEvent): void;
onMouseOut(event: MouseEvent): void;
onMouseOver(event: MouseEvent): void;
onDoubleClick(event: MouseEvent): void;
onMouseDown(event: MouseEvent | TouchEvent): void;
onMouseUp(event: MouseEvent | TouchEvent): void;
onMouseWheel(event: WheelEvent): void;
private updateColliders;
}
//# sourceMappingURL=MouseManager.d.ts.map