@ahmafi/pixi-viewport
Version:
A highly configurable viewport/2D camera designed to work with pixi.js. Features include dragging, pinch-to-zoom, mouse wheel zooming, decelerated dragging, follow target, snap to point, snap to zoom, clamping, bouncing on edges, and move on mouse edges.
35 lines (34 loc) • 938 B
TypeScript
import { Plugin } from './Plugin';
import type { Viewport } from '../Viewport';
import { MovedEvent } from '../types';
export interface IDecelerateOptions {
friction?: number;
bounce?: number;
minSpeed?: number;
}
export interface IDecelerateSnapshot {
x: number;
y: number;
time: number;
}
export declare class Decelerate extends Plugin {
readonly options: Required<IDecelerateOptions>;
x: number | null;
y: number | null;
percentChangeX: number;
percentChangeY: number;
protected saved: Array<IDecelerateSnapshot>;
protected timeSinceRelease: number;
constructor(parent: Viewport, options?: IDecelerateOptions);
down(): boolean;
isActive(): boolean;
move(): boolean;
protected handleMoved(e: MovedEvent): void;
up(): boolean;
activate(options: {
x?: number;
y?: number;
}): void;
update(elapsed: number): void;
reset(): void;
}