react-native-zoom-toolkit
Version:
Most complete set of pinch to zoom utilites for React Native
33 lines • 1.53 kB
TypeScript
import { type SharedValue } from 'react-native-reanimated';
import type { GestureStateManager, GestureTouchEvent, GestureUpdateEvent, PinchGestureHandlerEventPayload } from 'react-native-gesture-handler';
import type { BoundsFuction, SizeVector, Vector, PinchGestureEventCallback, PinchGestureEvent, ScaleMode, PinchMode } from '../types';
type PinchOptions = {
container: SizeVector<SharedValue<number>>;
translate: Vector<SharedValue<number>>;
offset: Vector<SharedValue<number>>;
scale: SharedValue<number>;
scaleOffset: SharedValue<number>;
scaleMode: ScaleMode;
minScale: number;
maxScale: SharedValue<number>;
boundFn: BoundsFuction;
pinchMode: PinchMode;
allowPinchPanning: boolean;
userCallbacks: Partial<{
onGestureEnd: () => void;
onPinchStart: PinchGestureEventCallback;
onPinchEnd: PinchGestureEventCallback;
}>;
};
type PinchGestueUpdateEvent = GestureUpdateEvent<PinchGestureHandlerEventPayload>;
export declare const usePinchCommons: (options: PinchOptions) => {
gesturesEnabled: boolean;
onTouchesDown: (e: GestureTouchEvent, state: GestureStateManager) => void;
onTouchesMove: (e: GestureTouchEvent, state: GestureStateManager) => void;
onTouchesUp: (e: GestureTouchEvent, state: GestureStateManager) => void;
onPinchStart: (e: PinchGestureEvent) => void;
onPinchUpdate: (e: PinchGestueUpdateEvent) => void;
onPinchEnd: (e: PinchGestureEvent) => void;
};
export {};
//# sourceMappingURL=usePinchCommons.d.ts.map