@meddv/ngx-pinch-zoom
Version:
Pinch zoom component for Angular 20.
79 lines (78 loc) • 2.19 kB
TypeScript
import { Properties } from './interfaces';
import { EventEmitter } from "@angular/core";
export declare class IvyPinch {
private readonly properties;
private touches;
private readonly element;
private readonly elementTarget;
private parentElement;
scale: number;
private initialScale;
private elementPosition;
private eventType;
private startX;
private startY;
private moveX;
private moveY;
private initialMoveX;
private initialMoveY;
private moveXC;
private moveYC;
private distance;
private initialDistance;
maxScale: number;
private defaultMaxScale;
private initialPinchCenterX;
private initialPinchCenterY;
private zoomChanged;
get minPanScale(): number;
get fullImage(): {
path: string;
minScale?: number;
};
constructor(properties: Properties, zoomChanged: EventEmitter<number>);
private handleTouchstart;
private handleTouchend;
private handlePan;
private handleDoubleTap;
private handlePinch;
private handleWheel;
private handleResize;
private handleLimitZoom;
private moveLeft;
private moveTop;
private centeringImage;
private limitPanY;
private limitPanX;
private setBasicStyles;
private removeBasicStyles;
private setDraggableImage;
private removeDraggableImage;
private setImageSize;
private setAutoHeight;
private removeImageSize;
private getElementPosition;
private getTouchstartPosition;
private getClientPosition;
private resetScale;
private updateInitialValues;
private getDistance;
private getImageHeight;
private getImageWidth;
private transformElement;
private isTouchScreen;
private getMatchMedia;
isDragging(): boolean;
detectLimitZoom(): void;
private pollLimitZoomForOriginalImage;
private getMaxScaleForOriginalImage;
private getImageElement;
private getImageElements;
toggleZoom(event?: TouchEvent | boolean): void;
zoomIn(value: number): number;
zoomOut(value: number): number;
private setZoom;
private alignImage;
destroy(): void;
private getPropertiesValue;
}