@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.
40 lines (39 loc) • 1.19 kB
TypeScript
import { IPointData } from '@pixi/core';
import { Plugin } from './Plugin';
import type { Viewport } from '../Viewport';
export interface IAnimateOptions {
time?: number;
position?: IPointData;
width?: number;
height?: number;
scale?: number;
scaleX?: number;
scaleY?: number;
ease?: any;
callbackOnComplete?: (viewport: Viewport) => void;
removeOnInterrupt?: boolean;
}
export declare class Animate extends Plugin {
readonly options: IAnimateOptions & {
ease: any;
time: number;
};
protected startX?: number;
protected startY?: number;
protected deltaX?: number;
protected deltaY?: number;
protected keepCenter: boolean;
protected startWidth: number | null;
protected startHeight: number | null;
protected deltaWidth: number | null;
protected deltaHeight: number | null;
protected width: number | null;
protected height: number | null;
protected time: number;
constructor(parent: Viewport, options?: IAnimateOptions);
protected setupPosition(): void;
protected setupZoom(): void;
down(): boolean;
complete(): void;
update(elapsed: number): void;
}