react-ivy-pinch-zoom
Version:
React library for images scaling and dragging with touch screen gestures
120 lines (119 loc) • 3.46 kB
TypeScript
export interface IvyPinchProperties {
element: string;
key?: string;
doubleTap?: boolean;
doubleTapScale?: number;
zoomControlScale?: number;
transitionDuration?: number;
autoZoomOut?: boolean;
limitZoom?: number | "original image size";
disablePan?: boolean;
limitPan?: boolean;
minPanScale?: number;
minScale?: number;
eventHandler?: any;
listeners?: "auto" | "mouse and touch";
wheel?: boolean;
fullImage?: {
path: string;
minScale?: number;
};
autoHeight?: boolean;
wheelZoomFactor?: number;
draggableImage?: boolean;
}
export declare const IvyPinchDefaultProperties: {
doubleTap: boolean;
doubleTapScale: number;
zoomControlScale: number;
transitionDuration: number;
limitZoom: string;
minPanScale: number;
minScale: number;
wheelZoomFactor: number;
draggableImage: boolean;
};
export declare class IvyPinch {
properties: any;
touches: any;
element: any;
elementTarget: any;
parentElement: any;
i: number;
scale: number;
initialScale: number;
elementPosition: any;
eventType: any;
startX: number;
startY: number;
moveX: number;
moveY: number;
initialMoveX: number;
initialMoveY: number;
moveXC: number;
moveYC: number;
lastTap: number;
draggingMode: boolean;
distance: number;
doubleTapTimeout: number;
initialDistance: number;
events: any;
maxHtmlContentScale: number;
maxScale: number;
constructor(properties: any);
emitEvent(properties: any): void;
handleTouchstart: (event: any) => void;
handleTouchend: (event: any) => void;
handlePan: (event: any) => void;
handleDoubleTap: (event: any) => void;
handlePinch: (event: any) => void;
handleWheel: (event: any) => void;
handleResize: () => void;
handleLimitZoom(): void;
getLimitZoom(): number | undefined;
moveLeft(event: any, index?: number): number;
moveTop(event: any, index?: number): number;
centeringImage(): boolean;
limitPanY(): void;
limitPanX(): void;
setBasicStyles(): void;
removeBasicStyles(): void;
setDraggableImage(): void;
removeDraggableImage(): void;
setImageSize(): void;
setAutoHeight(): void;
removeImageSize(): void;
getElementPosition(): void;
getTouchstartPosition(event: any): void;
getClientPosition(event: any, index?: number): {
clientX: any;
clientY: any;
};
resetScale(): void;
updateInitialValues(): void;
getDistance(touches: any): number;
getImageHeight(): any;
getImageWidth(): any;
transformElement(duration: any): void;
isTouchScreen(): boolean;
getMatchMedia(query: any): boolean;
isDragging(): boolean | undefined;
replaceImagePath(): void;
pollLimitZoom(): void;
getImageElement(): any;
setMoveX(value: number, transitionDuration: number): void;
setMoveY(value: number, transitionDuration: number): void;
toggleZoom(event?: any): void;
setZoom(properties: {
scale: number;
center?: number[];
}): void;
alignImage(): void;
setTransform(properties: {
x?: number;
y?: number;
scale?: number;
transitionDuration?: number;
}): void;
destroy(): void;
}