UNPKG

cursor-style-manager-wle

Version:

Shared cursor styles for Wonderland Engine

77 lines (76 loc) 2.37 kB
import { Type } from '@wonderlandengine/api'; import { CSMComponent } from './CSMComponent.js'; /** * Similar to the official mouse-look component, but with cursor-style-manager * support. */ export declare class CSMMouseLookComponent extends CSMComponent { static TypeName: string; static Properties: { /** Mouse look sensitivity */ sensitivity: { type: Type; default: number; }; /** Require a mouse button to be pressed to control view. * Otherwise view will allways follow mouse movement */ requireMouseDown: { type: Type; default: boolean; }; /** If "moveOnClick" is enabled, mouse button which should * be held down to control view */ mouseButtonIndex: { type: Type; }; /** Enables pointer lock on "mousedown" event on canvas */ pointerLockOnClick: { type: Type; default: boolean; }; /** Should pointer events be listened to instead of mouse events? */ listenToPointerInsteadOfMouse: { type: Type; default: boolean; }; /** * Should an improved drag algorithm be used, which can be combined with * other camera rotating methods? */ statelessDrag: { type: Type; default: boolean; }; /** Should an improved method of getting mouse movement be used? */ betterPointerMovement: { type: Type; default: boolean; }; cursorStyleManagerObject: { type: Type; }; cursorStyleManagerName: { type: Type; default: string; }; }; sensitivity: number; requireMouseDown: number; mouseButtonIndex: number; pointerLockOnClick: number; listenToPointerInsteadOfMouse: boolean; statelessDrag: boolean; betterPointerMovement: boolean; currentRotationX: number; currentRotationY: number; mouseDown: boolean; lastCursorX: number; lastCursorY: number; lastPointerId: number; init(): void; protected updateLastCursorPos(e: MouseEvent): void; protected isActivePointer(e: PointerEvent | MouseEvent): boolean; start(): void; onDeactivate(): void; private mouseUp; }