UNPKG

@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.

49 lines (48 loc) 1.71 kB
import { Plugin } from './Plugin'; import type { FederatedPointerEvent } from '@pixi/events'; import type { IPointData } from '@pixi/core'; import type { Viewport } from '../Viewport'; export interface IDragOptions { direction?: string; pressDrag?: boolean; wheel?: boolean; wheelScroll?: number; reverse?: boolean; clampWheel?: boolean | string; underflow?: string; factor?: number; mouseButtons?: 'all' | string; keyToPress?: string[] | null; ignoreKeyToPressOnTouch?: boolean; lineHeight?: number; wheelSwapAxes?: boolean; } export declare class Drag extends Plugin { readonly options: Readonly<Required<IDragOptions>>; protected moved: boolean; protected reverse: 1 | -1; protected xDirection: boolean; protected yDirection: boolean; protected keyIsPressed: boolean; protected mouse: [boolean, boolean, boolean]; protected underflowX: -1 | 0 | 1; protected underflowY: -1 | 0 | 1; protected last?: IPointData | null; protected current?: number; private windowEventHandlers; constructor(parent: Viewport, options?: {}); protected handleKeyPresses(codes: string[]): void; private addWindowEventHandler; destroy(): void; protected mouseButtons(buttons: string): void; protected parseUnderflow(): void; protected checkButtons(event: FederatedPointerEvent): boolean; protected checkKeyPress(event: FederatedPointerEvent): boolean; down(event: FederatedPointerEvent): boolean; get active(): boolean; move(event: FederatedPointerEvent): boolean; up(event: FederatedPointerEvent): boolean; wheel(event: WheelEvent): boolean; resume(): void; clamp(): void; }