@zeainc/zea-ux
Version:
104 lines • 3.04 kB
TypeScript
import { XRController, XRControllerEvent, XRPoseEvent, ZeaKeyboardEvent, ZeaPointerEvent } from '@zeainc/zea-engine';
import { AppData } from '../../../types/types';
import { PointerTool } from './PointerTool';
interface UIIntersection {
clientX: number;
clientY: number;
}
/**
* Class representing a VR UI tool.
*
* @extends BaseTool
*/
declare class VRUITool extends PointerTool {
private vrUIDOMElement;
private controllerUI;
private uiOpen;
private uiOpenedByMouse;
private triggerHeld;
private visibilityStates;
private uiController;
private element;
private listenerIds;
openUIKeyboardHotkey: string;
openUiAngleTolerance: number;
/**
* Create a VR UI tool.
* @param appData - The appData value.
* @param vrUIDOMElement - The dom element we will use as the VR UI
*/
constructor(appData: AppData, vrUIDOMElement: HTMLElement);
/**
* The getName method.
*
* @return {string} The return value.
*/
getName(): string;
/**
* The activateTool method.
*/
activateTool(): void;
/**
* The deactivateTool method.
*/
deactivateTool(): void;
/**
* The openUI method.
* @param uiController - The uiController param.
* @param : VRController - The pointerController param.
* @param headXfo - The headXfo param.
*/
openUI(uiController: XRController, pointerController: XRController): void;
private childAdded;
private restoreVisibility;
/**
* The closeUI method.
*/
closeUI(): void;
private calcUIIntersection;
private getDOMElementFromPoint;
/**
* The sendEventToUI method.
* @param eventName - The eventName param.
* @param args - The args param.
* @return The return value.
*/
sendEventToUI(controller: XRController, element: Element, eventName: string, hit: UIIntersection, args?: Record<string, any>): void;
/**
* The onXRControllerButtonDown method.
* @param event - The event param.
*/
onPointerDown(event: XRControllerEvent): void;
/**
* Event fired when a pointing device button is clicked.
*
* @param event - The event param.
*/
onPointerClick(event: ZeaPointerEvent): void;
onPointerDoubleClick(event: ZeaPointerEvent): void;
/**
* The onVRControllerButtonUp method.
* @param event - The event param.
*/
onPointerUp(event: ZeaPointerEvent): void;
/**
* The onXRPoseChanged method.
* @param event - The event param.
*/
onPointerMove(event: XRPoseEvent): void;
/**
* Event fired when the user presses down a key on the keyboard.
*
* @param event - The event param.
*/
onKeyDown(event: ZeaKeyboardEvent): void;
/**
* Event fired when the user releases a key on the keyboard.
*
* @param event - The event param.
*/
onKeyUp(event: ZeaKeyboardEvent): void;
}
export default VRUITool;
export { VRUITool };
//# sourceMappingURL=VRUITool.d.ts.map