#pragma once #include #ifdef RCT_NEW_ARCH_ENABLED #include #endif #include #include #include using namespace facebook; #ifdef RCT_NEW_ARCH_ENABLED using namespace react; #endif namespace reanimated { #ifdef RCT_NEW_ARCH_ENABLED using SynchronouslyUpdateUIPropsFunction = std::function; using UpdatePropsFunction = std::function; using RemoveFromPropsRegistryFunction = std::function; using DispatchCommandFunction = std::function; using MeasureFunction = std::function< jsi::Value(jsi::Runtime &rt, const jsi::Value &shadowNodeValue)>; #else using UpdatePropsFunction = std::function; using ScrollToFunction = std::function; using DispatchCommandFunction = std::function; using MeasureFunction = std::function>(int)>; #endif // RCT_NEW_ARCH_ENABLED using RequestRenderFunction = std::function, jsi::Runtime &)>; using ObtainPropFunction = std::function; using GetAnimationTimestampFunction = std::function; using ProgressLayoutAnimationFunction = std::function; using EndLayoutAnimationFunction = std::function; using RegisterSensorFunction = std::function)>; using UnregisterSensorFunction = std::function; using SetGestureStateFunction = std::function; using ConfigurePropsFunction = std::function; using KeyboardEventSubscribeFunction = std::function, bool)>; using KeyboardEventUnsubscribeFunction = std::function; using MaybeFlushUIUpdatesQueueFunction = std::function; struct PlatformDepMethodsHolder { RequestRenderFunction requestRender; #ifdef RCT_NEW_ARCH_ENABLED SynchronouslyUpdateUIPropsFunction synchronouslyUpdateUIPropsFunction; #else UpdatePropsFunction updatePropsFunction; ScrollToFunction scrollToFunction; DispatchCommandFunction dispatchCommandFunction; MeasureFunction measureFunction; ConfigurePropsFunction configurePropsFunction; ObtainPropFunction obtainPropFunction; #endif GetAnimationTimestampFunction getAnimationTimestamp; ProgressLayoutAnimationFunction progressLayoutAnimation; EndLayoutAnimationFunction endLayoutAnimation; RegisterSensorFunction registerSensor; UnregisterSensorFunction unregisterSensor; SetGestureStateFunction setGestureStateFunction; KeyboardEventSubscribeFunction subscribeForKeyboardEvents; KeyboardEventUnsubscribeFunction unsubscribeFromKeyboardEvents; MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueueFunction; }; } // namespace reanimated