lazy-widgets
Version:
Typescript retained mode GUI for the HTML canvas API
23 lines (22 loc) • 946 B
TypeScript
import { RayPointerDriver } from './RayPointerDriver.js';
import type { PointerHint } from './PointerHint.js';
/**
* A source of rays for a {@link RayPointerDriver}. Used so that different kinds
* of ray sources (such as a raycasting mouse or raycasting XR controllers) can
* be used in the same driver without having to extend the driver for each type
* of source.
*
* @category Driver
*/
export interface RayPointerSource {
/**
* The {@link RayPointerDriver} assigned to this source. Register all
* pointers needed by this source here. Don't call this directly, instead,
* use {@link RayPointerDriver#addSource}
*/
setRayPointerDriver(driver: RayPointerDriver): void;
/** Clear assigned {@link RayPointerDriver}. Rays will no longer be sent */
clearRayPointerDriver(): void;
/** Called when a pointer has their hint changed */
onPointerHintChanged(pointer: number, hint: PointerHint): void;
}