UNPKG

react-native-vision-camera

Version:

VisionCamera is the fastest and most powerful Camera for react-native.

25 lines (24 loc) 1.07 kB
import { useEffect, useMemo } from 'react'; import { VisionCamera } from '../../VisionCamera'; export function useGestureControllers({ controller, enableNativeTapToFocusGesture, enableNativeZoomGesture, }) { // Build a memoized `GestureController` array of all enabled controllers const gestureControllers = useMemo(() => { const result = []; // Single tap gestures need to appear before any multi-tap gestures. if (enableNativeTapToFocusGesture) { result.push(VisionCamera.createTapToFocusGestureController()); } if (enableNativeZoomGesture) { result.push(VisionCamera.createZoomGestureController()); } return result; }, [enableNativeTapToFocusGesture, enableNativeZoomGesture]); // Update their `CameraController` individually useEffect(() => { for (const gestureController of gestureControllers) { gestureController.controller = controller; } }, [controller, gestureControllers]); // return it return gestureControllers; }