react-native-gesture-image-viewer 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -54,6 +54,8 @@ export const useGestureViewer = ({
|
|
|
54
54
|
const triggerTranslateX = useSharedValue(0);
|
|
55
55
|
const triggerTranslateY = useSharedValue(0);
|
|
56
56
|
const triggerOpacity = useSharedValue(1);
|
|
57
|
+
const lastFocalX = useSharedValue(0);
|
|
58
|
+
const lastFocalY = useSharedValue(0);
|
|
57
59
|
const dataLength = data?.length || 0;
|
|
58
60
|
const animationConfig = useMemo(() => ({
|
|
59
61
|
duration: triggerAnimation?.duration ?? 300,
|
|
@@ -293,10 +295,12 @@ export const useGestureViewer = ({
|
|
|
293
295
|
if (event.numberOfTouches === 2) {
|
|
294
296
|
scheduleOnRN(setIsPinching, true);
|
|
295
297
|
}
|
|
296
|
-
}).onBegin(
|
|
298
|
+
}).onBegin(event => {
|
|
297
299
|
startScale.value = scale.value;
|
|
298
300
|
initialTranslateX.value = translateX.value;
|
|
299
301
|
initialTranslateY.value = translateY.value;
|
|
302
|
+
lastFocalX.value = event.focalX;
|
|
303
|
+
lastFocalY.value = event.focalY;
|
|
300
304
|
}).onUpdate(event => {
|
|
301
305
|
const newScale = startScale.value * event.scale;
|
|
302
306
|
scale.value = newScale;
|
|
@@ -305,9 +309,16 @@ export const useGestureViewer = ({
|
|
|
305
309
|
translateY.value = withTiming(0);
|
|
306
310
|
return;
|
|
307
311
|
}
|
|
312
|
+
const focalDeltaX = Math.abs(event.focalX - lastFocalX.value);
|
|
313
|
+
const focalDeltaY = Math.abs(event.focalY - lastFocalY.value);
|
|
314
|
+
const threshold = 50;
|
|
315
|
+
if (focalDeltaX < threshold && focalDeltaY < threshold) {
|
|
316
|
+
lastFocalX.value = event.focalX;
|
|
317
|
+
lastFocalY.value = event.focalY;
|
|
318
|
+
}
|
|
308
319
|
const deltaScale = newScale - startScale.value;
|
|
309
|
-
const centerX =
|
|
310
|
-
const centerY =
|
|
320
|
+
const centerX = lastFocalX.value - width / 2;
|
|
321
|
+
const centerY = lastFocalY.value - height / 2;
|
|
311
322
|
|
|
312
323
|
// NOTE 새로운 이동값 = 기존 이동값 - (중심점 거리 × 스케일 변화량) / 원래 스케일 (중심점이 화면 중심에서 멀수록, 확대 배율이 클수록 더 많이 이동)
|
|
313
324
|
const newTranslateX = initialTranslateX.value - centerX * deltaScale / startScale.value;
|
|
@@ -366,7 +377,7 @@ export const useGestureViewer = ({
|
|
|
366
377
|
}).onFinalize(() => {
|
|
367
378
|
scheduleOnRN(setIsPinching, false);
|
|
368
379
|
});
|
|
369
|
-
}, [scale, enablePinchZoom, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, height, constrainTranslation]);
|
|
380
|
+
}, [scale, enablePinchZoom, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, height, constrainTranslation, lastFocalX, lastFocalY]);
|
|
370
381
|
const zoomPanGesture = useMemo(() => {
|
|
371
382
|
return Gesture.Pan().enabled(enablePanWhenZoomed && isZoomed).activeCursor('grabbing').averageTouches(true).onBegin(() => {
|
|
372
383
|
initialTranslateX.value = translateX.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","listRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","threshold","resistance","fadeBackdrop","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","startX","x","startY","y","initialScaleFromTrigger","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleDismiss","endX","endY","endScale","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","onUpdate","translationY","onEnd","stiffness","damping","mass","overshootClamping","energyThreshold","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","listRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","threshold","resistance","fadeBackdrop","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","startX","x","startY","y","initialScaleFromTrigger","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleDismiss","endX","endY","endScale","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","onUpdate","translationY","onEnd","stiffness","damping","mass","overshootClamping","energyThreshold","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","focalX","focalY","newScale","focalDeltaX","abs","focalDeltaY","deltaScale","centerX","centerY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAG/D,KAAK,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAC1C,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,gBAAgB,CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,EAAE,EAAE,kRAmBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAG/D,KAAK,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAC1C,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAC3B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,gBAAgB,CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,EAAE,EAAE,kRAmBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;;iCA4TvB,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmUlD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gesture-image-viewer",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"description": "🖼️ React Native Image Viewer - Reanimated-powered image gestures with full control",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
package/src/useGestureViewer.ts
CHANGED
|
@@ -82,6 +82,9 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
82
82
|
const triggerTranslateY = useSharedValue(0);
|
|
83
83
|
const triggerOpacity = useSharedValue(1);
|
|
84
84
|
|
|
85
|
+
const lastFocalX = useSharedValue(0);
|
|
86
|
+
const lastFocalY = useSharedValue(0);
|
|
87
|
+
|
|
85
88
|
const dataLength = data?.length || 0;
|
|
86
89
|
|
|
87
90
|
const animationConfig = useMemo(
|
|
@@ -456,10 +459,12 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
456
459
|
scheduleOnRN(setIsPinching, true);
|
|
457
460
|
}
|
|
458
461
|
})
|
|
459
|
-
.onBegin(() => {
|
|
462
|
+
.onBegin((event) => {
|
|
460
463
|
startScale.value = scale.value;
|
|
461
464
|
initialTranslateX.value = translateX.value;
|
|
462
465
|
initialTranslateY.value = translateY.value;
|
|
466
|
+
lastFocalX.value = event.focalX;
|
|
467
|
+
lastFocalY.value = event.focalY;
|
|
463
468
|
})
|
|
464
469
|
.onUpdate((event) => {
|
|
465
470
|
const newScale = startScale.value * event.scale;
|
|
@@ -472,9 +477,18 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
472
477
|
return;
|
|
473
478
|
}
|
|
474
479
|
|
|
480
|
+
const focalDeltaX = Math.abs(event.focalX - lastFocalX.value);
|
|
481
|
+
const focalDeltaY = Math.abs(event.focalY - lastFocalY.value);
|
|
482
|
+
const threshold = 50;
|
|
483
|
+
|
|
484
|
+
if (focalDeltaX < threshold && focalDeltaY < threshold) {
|
|
485
|
+
lastFocalX.value = event.focalX;
|
|
486
|
+
lastFocalY.value = event.focalY;
|
|
487
|
+
}
|
|
488
|
+
|
|
475
489
|
const deltaScale = newScale - startScale.value;
|
|
476
|
-
const centerX =
|
|
477
|
-
const centerY =
|
|
490
|
+
const centerX = lastFocalX.value - width / 2;
|
|
491
|
+
const centerY = lastFocalY.value - height / 2;
|
|
478
492
|
|
|
479
493
|
// NOTE 새로운 이동값 = 기존 이동값 - (중심점 거리 × 스케일 변화량) / 원래 스케일 (중심점이 화면 중심에서 멀수록, 확대 배율이 클수록 더 많이 이동)
|
|
480
494
|
const newTranslateX = initialTranslateX.value - (centerX * deltaScale) / startScale.value;
|
|
@@ -547,6 +561,8 @@ export const useGestureViewer = <ItemT, LC>({
|
|
|
547
561
|
width,
|
|
548
562
|
height,
|
|
549
563
|
constrainTranslation,
|
|
564
|
+
lastFocalX,
|
|
565
|
+
lastFocalY,
|
|
550
566
|
]);
|
|
551
567
|
|
|
552
568
|
const zoomPanGesture = useMemo(() => {
|