VistaPointers Class
The VistaPointers class provides a unified interface for tracking mouse and touch pointer events. It normalizes pointer data across different input types and manages multi-touch gestures.
Overview
Section titled “Overview”VistaPointers handles:
- Mouse, touch, and pen input tracking
- Multi-pointer gestures (pinch, pan)
- Pointer movement calculations
- Event normalization across input types
Use Case: Primarily used internally by VistaView for handling interactions. Extensions can access pointer data through event listeners.
Public Properties
Section titled “Public Properties”None - all properties are private.
Public Methods
Section titled “Public Methods”constructor()
Section titled “constructor()”constructor(args: VistaPointerArgs)Creates a new pointer tracking system.
Parameters:
args.elm- Element to attach listeners to (defaults todocument)args.listeners- Array of pointer listeners
Example:
import { VistaPointers } from 'vistaview';
const pointers = new VistaPointers({ elm: element, listeners: [ (e) => { console.log('Pointer event:', e.event, e.pointers.length); }, ],});startListeners()
Section titled “startListeners()”startListeners(): voidStarts listening to pointer events. Called automatically by constructor.
removeListeners()
Section titled “removeListeners()”removeListeners(): voidRemoves all pointer event listeners. Call this when cleaning up.
Example:
pointers.removeListeners();addEventListener()
Section titled “addEventListener()”addEventListener(listener: VistaPointerListener): voidAdds a pointer event listener.
Example:
pointers.addEventListener((e) => { if (e.event === 'down') { console.log('Pointer down at:', e.pointer.x, e.pointer.y); }});removeEventListener()
Section titled “removeEventListener()”removeEventListener(listener: VistaPointerListener): voidRemoves a specific pointer event listener.
getPointerDistance()
Section titled “getPointerDistance()”getPointerDistance(p1: VistaPointer, p2: VistaPointer): numberCalculates the distance between two pointers. Useful for pinch-to-zoom gestures.
Parameters:
Returns: Distance in pixels
Example:
if (pointers.length >= 2) { const distance = pointers.getPointerDistance(pointers[0], pointers[1]); console.log('Pinch distance:', distance);}getCentroid()
Section titled “getCentroid()”getCentroid(): { x: number; y: number } | nullCalculates the center point of all active pointers. Returns null if no pointers are active.
Returns: Center coordinates or null
Example:
const center = pointers.getCentroid();if (center) { console.log('Center point:', center.x, center.y);}Related
Section titled “Related”- VistaPointer - Pointer data type
- VistaPointerListener - Listener function type
- VistaExternalPointerListenerArgs - Event arguments