UNPKG

@motion-core/motion-gpu

Version:

Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.

94 lines 2.62 kB
import { type CurrentReadable } from '../core/current-value.js'; import { type PointerClick, type PointerFrameRequestMode, type PointerState } from '../core/pointer.js'; export type { PointerClick, PointerFrameRequestMode, PointerKind, PointerPoint, PointerState } from '../core/pointer.js'; /** * Configuration for pointer input handling in `usePointer`. */ export interface UsePointerOptions { /** * Enables pointer listeners. * * @default true */ enabled?: boolean; /** * Frame wake-up strategy for pointer-driven state changes. * * @default 'auto' */ requestFrame?: PointerFrameRequestMode; /** * Requests pointer capture on pointer down. * * @default true */ capturePointer?: boolean; /** * Tracks pointer move/up outside canvas while pointer is pressed. * * @default true */ trackWhilePressedOutsideCanvas?: boolean; /** * Enables click/tap synthesis on pointer up. * * @default true */ clickEnabled?: boolean; /** * Maximum press duration to consider pointer up a click (milliseconds). * * @default 350 */ clickMaxDurationMs?: number; /** * Maximum pointer travel from down to up to consider pointer up a click (pixels). * * @default 8 */ clickMaxMovePx?: number; /** * Allowed pointer buttons for click synthesis. * * @default [0] */ clickButtons?: number[]; /** * Called after pointer move state update. */ onMove?: (state: PointerState, event: PointerEvent) => void; /** * Called after pointer down state update. */ onDown?: (state: PointerState, event: PointerEvent) => void; /** * Called after pointer up/cancel state update. */ onUp?: (state: PointerState, event: PointerEvent) => void; /** * Called when click/tap is synthesized. */ onClick?: (click: PointerClick, state: PointerState, event: PointerEvent) => void; } /** * Reactive state returned by `usePointer`. */ export interface UsePointerResult { /** * Current pointer state. */ state: CurrentReadable<PointerState>; /** * Last synthesized click/tap event. */ lastClick: CurrentReadable<PointerClick | null>; /** * Clears last click snapshot. */ resetClick: () => void; } /** * Tracks normalized pointer coordinates and click/tap snapshots for the active `FragCanvas`. */ export declare function usePointer(options?: UsePointerOptions): UsePointerResult; //# sourceMappingURL=use-pointer.d.ts.map