react-quick-pinch-zoom
Version:
A react component that providing multi-touch gestures for zooming and dragging on any DOM element.
91 lines (90 loc) • 2.65 kB
TypeScript
import React, { Component } from 'react';
import { ScaleToOptions, Props, DefaultProps } from './types';
declare class PinchZoom extends Component<Props> {
static defaultProps: DefaultProps;
private _velocity;
private _prevDragMovePoint;
private _containerObserver;
private _fingers;
private _firstMove;
private _hasInteraction;
private _inAnimation;
private _initialOffset;
private _interaction;
private _isDoubleTap;
private _isOffsetsSet;
private _lastDragPosition;
private _lastScale;
private _lastTouchStart;
private _lastZoomCenter;
private _listenMouseMove;
private _nthZoom;
private _offset;
private _startOffset;
private _startTouches;
private _updatePlaned;
private _wheelTimeOut;
private _zoomFactor;
private _initialZoomFactor;
private _draggingPoint;
private _ignoreNextClick;
private _containerRef;
private _handleClick;
private _handleDragStart;
private _handleDrag;
private _resetInertia;
private _realizeInertia;
private _collectInertia;
private _handleDragEnd;
private _handleZoomStart;
private _handleZoom;
private _handleZoomEnd;
private _handleDoubleTap;
private _computeInitialOffset;
private _resetOffset;
private _setupOffsets;
private _sanitizeOffset;
alignCenter(options: ScaleToOptions): void;
scaleTo(options: ScaleToOptions): void;
private _scaleTo;
private _scale;
private _scaleZoomFactor;
private _canDrag;
private _drag;
private _virtualDrag;
private _addOffset;
private _sanitize;
private _isInsaneOffset;
private _sanitizeOffsetAnimation;
private _zoomOutAnimation;
private _getInitialZoomFactor;
private _getCurrentZoomCenter;
private _getOffsetByFirstTouch;
private _getOffsetTouches;
private _animate;
private _stopAnimation;
private _end;
private _getContainerRect;
private _getChildSize;
private _updateInitialZoomFactor;
private _onResize;
private _bindEvents;
private _unSubscribe;
private _update;
private _handlerIfEnable;
private _setInteraction;
private _distanceBetweenNumbers;
private _enoughToDrag;
private _updateInteraction;
private _detectDoubleTap;
private _handlerOnTouchEnd;
private _handlerOnTouchStart;
private _handlerOnTouchMove;
simulate(fn: (e: TouchEvent) => void): (a: MouseEvent) => void;
private _handlerWheel;
private _handlers;
componentDidMount(): void;
componentWillUnmount(): void;
render(): React.JSX.Element;
}
export default PinchZoom;