fidget-pincher
Version:
- [jsDelivr CDN](https://cdn.jsdelivr.net/npm/fidget-pincher/): `<script src="https://cdn.jsdelivr.net/npm/fidget-pincher/dist/bundle.min.js"></script>` - [unpkg CDN](https://unpkg.com/fidget-pincher/): `<script src="https://unpkg.com/fidget-pincher/dist
63 lines (62 loc) • 2.09 kB
TypeScript
import { TransformationMatrix } from './TransformationMatrix';
import { Pinch } from './core-math';
export interface FidgetPincherOptions {
enableInertia: boolean;
enableTranslateInertia: boolean;
enableFidgetSpinInertia: boolean;
enablePinchInertia: boolean;
stopTranslateInertiaOnTouch: boolean;
stopFidgetSpinInertiaOnPinch: boolean;
stopFidgetSpinInertiaOnTouch: boolean;
stopPinchInertiaOnPinch: boolean;
stopPinchInertiaOnTouch: boolean;
stopFidgetSpinInertiaOnPinchInertia: boolean;
}
interface Get<T> {
get(): T;
}
interface GetSet<T> {
get(): T;
set(value: T): void;
}
declare class ImplInertia {
private optionsGetter;
private transform;
private __owner;
private t;
private translations;
private translationApplyResult;
private pinches;
private fidgetSpinApplyResult;
private fidgetSpinPivot;
private pinchApplyResult;
private pinchReleaseTimestamp;
private get options();
constructor(optionsGetter: Get<FidgetPincherOptions>, transform: GetSet<TransformationMatrix>, __owner: Impl);
onStart(touches: number, t: number): void;
onTranslate(dx: number, dy: number, t: number): void;
onPinch(pinch: Pinch, t: number): void;
onEnd(touches: number): void;
}
export declare class ImplPointer {
private owner;
x: number;
y: number;
constructor(owner: Impl, x: number, y: number);
move(x: number, y: number, t: number): void;
remove(): void;
}
export declare class Impl {
private options;
pointers: ImplPointer[];
transform: TransformationMatrix;
inertia: ImplInertia;
transformedCallbacks: ((transform: TransformationMatrix) => void)[];
constructor(options: FidgetPincherOptions);
setOptions(options: FidgetPincherOptions): void;
addPointer(x: number, y: number, t: number): ImplPointer;
addTransformedCallback(callback: (transform: TransformationMatrix) => void): void;
removeTransformedCallback(callback: (transform: TransformationMatrix) => void): void;
notifyTransformed(): void;
}
export {};