UNPKG

@osobh/reactar

Version:

AR Library for React Native and Expo

52 lines 2.32 kB
"use strict"; // src/ui/GestureHandler.tsx var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = GestureHandler; const react_1 = __importDefault(require("react")); const react_native_1 = require("react-native"); const react_native_gesture_handler_1 = require("react-native-gesture-handler"); function GestureHandler({ onTap, onPinch, onPan, children, }) { const handleTapStateChange = (event) => { if (event.nativeEvent.state === react_native_gesture_handler_1.State.ACTIVE && onTap) { onTap(); } }; const handlePinchStateChange = (event) => { if (event.nativeEvent.state === react_native_gesture_handler_1.State.ACTIVE && onPinch) { onPinch(event.nativeEvent.scale); } }; const handlePanStateChange = (event) => { if (event.nativeEvent.state === react_native_gesture_handler_1.State.ACTIVE && onPan) { onPan(event.nativeEvent.translationX, event.nativeEvent.translationY); } }; return (react_1.default.createElement(react_native_gesture_handler_1.PanGestureHandler, { onHandlerStateChange: handlePanStateChange }, react_1.default.createElement(react_native_gesture_handler_1.PinchGestureHandler, { onHandlerStateChange: handlePinchStateChange }, react_1.default.createElement(react_native_gesture_handler_1.TapGestureHandler, { onHandlerStateChange: handleTapStateChange }, react_1.default.createElement(react_native_1.View, { style: styles.container }, children, react_1.default.createElement(react_native_1.View, { style: styles.overlay }, react_1.default.createElement(react_native_1.Text, { style: styles.overlayText }, "Gesture Overlay"))))))); } const styles = react_native_1.StyleSheet.create({ container: { flex: 1, }, overlay: { position: 'absolute', top: 20, left: 20, backgroundColor: 'rgba(0, 0, 0, 0.5)', padding: 10, borderRadius: 8, }, overlayText: { color: '#fff', fontSize: 16, }, }); //# sourceMappingURL=GestureHandler.js.map