react-native-zoom-toolkit
Version:
Smoothly zoom any image, video or component you want!
34 lines • 1.48 kB
TypeScript
import { type SharedValue } from 'react-native-reanimated';
import { type GestureUpdateEvent, type PinchGestureHandlerEventPayload } from 'react-native-gesture-handler';
import { ScaleMode, PinchCenteringMode, type BoundsFuction, type SizeVector, type Vector, type PinchGestureEventCallback, type PinchGestureEvent } from '../types';
type PinchOptions = {
container: SizeVector<SharedValue<number>>;
detectorTranslate: Vector<SharedValue<number>>;
detectorScale: SharedValue<number>;
translate: Vector<SharedValue<number>>;
origin: Vector<SharedValue<number>>;
offset: Vector<SharedValue<number>>;
delta: Vector<SharedValue<number>>;
scale: SharedValue<number>;
scaleOffset: SharedValue<number>;
scaleMode: ScaleMode;
minScale: number;
maxScale: SharedValue<number>;
boundFn: BoundsFuction;
pinchCenteringMode: PinchCenteringMode;
allowPinchPanning: boolean;
userCallbacks: Partial<{
onGestureEnd: () => void;
onPinchStart: PinchGestureEventCallback;
onPinchEnd: PinchGestureEventCallback;
}>;
};
type PinchGestueUpdateEvent = GestureUpdateEvent<PinchGestureHandlerEventPayload>;
export declare const usePinchCommons: (options: PinchOptions) => {
gesturesEnabled: boolean;
onPinchStart: (e: PinchGestureEvent) => void;
onPinchUpdate: (e: PinchGestueUpdateEvent) => void;
onPinchEnd: (e: PinchGestureEvent) => void;
};
export {};
//# sourceMappingURL=usePinchCommons.d.ts.map