#pragma once #include #include #include #include #include #include using namespace facebook; using namespace react; namespace reanimated { using UpdatePropsFunction = std::function; using ObtainPropFunction = std::function; using DispatchCommandFunction = std::function; using MeasureFunction = std::function< jsi::Value(jsi::Runtime &rt, const jsi::Value &shadowNodeValue)>; using RequestRenderFunction = std::function)>; using SynchronouslyUpdateUIPropsFunction = std::function &, const std::vector &)>; 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 KeyboardEventSubscribeFunction = std::function, bool, bool)>; using KeyboardEventUnsubscribeFunction = std::function; using MaybeFlushUIUpdatesQueueFunction = std::function; struct PlatformDepMethodsHolder { RequestRenderFunction requestRender; #ifdef ANDROID SynchronouslyUpdateUIPropsFunction synchronouslyUpdateUIPropsFunction; #endif // ANDROID GetAnimationTimestampFunction getAnimationTimestamp; RegisterSensorFunction registerSensor; UnregisterSensorFunction unregisterSensor; SetGestureStateFunction setGestureStateFunction; KeyboardEventSubscribeFunction subscribeForKeyboardEvents; KeyboardEventUnsubscribeFunction unsubscribeFromKeyboardEvents; MaybeFlushUIUpdatesQueueFunction maybeFlushUIUpdatesQueueFunction; }; } // namespace reanimated