react-native-reanimated 2.3.0-alpha.3 → 2.3.0-beta.4
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.
- package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +15 -8
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +176 -154
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +49 -33
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -7
- package/Common/cpp/Registries/MapperRegistry.cpp +24 -20
- package/Common/cpp/Registries/WorkletsCache.cpp +19 -9
- package/Common/cpp/SharedItems/FrozenObject.cpp +17 -8
- package/Common/cpp/SharedItems/MutableValue.cpp +38 -25
- package/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +11 -7
- package/Common/cpp/SharedItems/RemoteObject.cpp +9 -5
- package/Common/cpp/SharedItems/ShareableValue.cpp +211 -160
- package/Common/cpp/Tools/FeaturesConfig.cpp +5 -0
- package/Common/cpp/Tools/JSIStoreValueUser.cpp +25 -6
- package/Common/cpp/Tools/Mapper.cpp +30 -30
- package/Common/cpp/Tools/RuntimeDecorator.cpp +124 -86
- package/Common/cpp/Tools/Scheduler.cpp +6 -5
- package/Common/cpp/Tools/WorkletEventHandler.cpp +4 -2
- package/Common/cpp/headers/LayoutAnimations/LayoutAnimationsProxy.h +12 -11
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +50 -31
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +34 -16
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +15 -8
- package/Common/cpp/headers/Registries/MapperRegistry.h +5 -4
- package/Common/cpp/headers/Registries/WorkletsCache.h +9 -7
- package/Common/cpp/headers/SharedItems/FrozenObject.h +19 -11
- package/Common/cpp/headers/SharedItems/HostFunctionHandler.h +8 -4
- package/Common/cpp/headers/SharedItems/MutableValue.h +23 -12
- package/Common/cpp/headers/SharedItems/MutableValueSetterProxy.h +12 -7
- package/Common/cpp/headers/SharedItems/RemoteObject.h +19 -8
- package/Common/cpp/headers/SharedItems/RuntimeManager.h +26 -25
- package/Common/cpp/headers/SharedItems/ShareableValue.h +32 -27
- package/Common/cpp/headers/SharedItems/SharedParent.h +10 -7
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +95 -72
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +18 -19
- package/Common/cpp/headers/Tools/FeaturesConfig.h +19 -0
- package/Common/cpp/headers/Tools/JSIStoreValueUser.h +13 -16
- package/Common/cpp/headers/Tools/Mapper.h +19 -16
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +17 -7
- package/Common/cpp/headers/Tools/ReanimatedHiddenHeaders.h +7 -11
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +36 -27
- package/Common/cpp/headers/Tools/Scheduler.h +30 -35
- package/Common/cpp/headers/Tools/WorkletEventHandler.h +11 -8
- package/Common/cpp/hidden_headers/Logger.h +14 -14
- package/Common/cpp/hidden_headers/LoggerInterface.h +8 -9
- package/Common/cpp/hidden_headers/SpeedChecker.h +7 -8
- package/README.md +1 -1
- package/RNReanimated.podspec +24 -6
- package/android/build.gradle +38 -29
- package/android/react-native-reanimated-63-hermes.aar +0 -0
- package/android/react-native-reanimated-63-jsc.aar +0 -0
- package/android/react-native-reanimated-64-hermes.aar +0 -0
- package/android/react-native-reanimated-64-jsc.aar +0 -0
- package/android/react-native-reanimated-65-hermes.aar +0 -0
- package/android/react-native-reanimated-65-jsc.aar +0 -0
- package/android/react-native-reanimated-66-hermes.aar +0 -0
- package/android/react-native-reanimated-66-jsc.aar +0 -0
- package/android/react-native-reanimated-67-hermes.aar +0 -0
- package/android/react-native-reanimated-67-jsc.aar +0 -0
- package/ios/LayoutReanimation/REAAnimationsManager.h +10 -8
- package/ios/LayoutReanimation/REAAnimationsManager.m +91 -87
- package/ios/LayoutReanimation/REASnapshot.h +2 -2
- package/ios/LayoutReanimation/REASnapshot.m +8 -7
- package/ios/LayoutReanimation/REAUIManager.h +4 -4
- package/ios/LayoutReanimation/REAUIManager.mm +116 -70
- package/ios/Nodes/REAAlwaysNode.m +14 -15
- package/ios/Nodes/REABezierNode.m +8 -7
- package/ios/Nodes/REABlockNode.m +1 -1
- package/ios/Nodes/REACallFuncNode.h +0 -1
- package/ios/Nodes/REACallFuncNode.m +10 -8
- package/ios/Nodes/REAClockNodes.m +22 -20
- package/ios/Nodes/REAConcatNode.h +0 -1
- package/ios/Nodes/REAConcatNode.m +2 -2
- package/ios/Nodes/REACondNode.m +7 -5
- package/ios/Nodes/READebugNode.m +5 -4
- package/ios/Nodes/REAEventNode.m +1 -1
- package/ios/Nodes/REAFunctionNode.h +0 -1
- package/ios/Nodes/REAFunctionNode.m +2 -2
- package/ios/Nodes/REAJSCallNode.m +4 -5
- package/ios/Nodes/REANode.h +3 -4
- package/ios/Nodes/REANode.m +9 -11
- package/ios/Nodes/REAOperatorNode.m +68 -67
- package/ios/Nodes/REAParamNode.h +1 -3
- package/ios/Nodes/REAParamNode.m +15 -17
- package/ios/Nodes/REAPropsNode.h +1 -3
- package/ios/Nodes/REAPropsNode.m +19 -22
- package/ios/Nodes/REASetNode.h +0 -1
- package/ios/Nodes/REASetNode.m +7 -5
- package/ios/Nodes/REAStyleNode.h +0 -1
- package/ios/Nodes/REAStyleNode.m +2 -4
- package/ios/Nodes/REATransformNode.h +0 -1
- package/ios/Nodes/REATransformNode.m +3 -5
- package/ios/Nodes/REAValueNode.m +5 -7
- package/ios/REAEventDispatcher.m +4 -4
- package/ios/REAModule.h +0 -2
- package/ios/REAModule.m +29 -38
- package/ios/REANodesManager.h +11 -19
- package/ios/REANodesManager.m +106 -130
- package/ios/REAUtils.h +5 -3
- package/ios/RNGestureHandlerStateManager.h +5 -0
- package/ios/Transitioning/RCTConvert+REATransition.m +45 -29
- package/ios/Transitioning/REAAllTransitions.h +2 -2
- package/ios/Transitioning/REAAllTransitions.m +14 -25
- package/ios/Transitioning/REATransition.h +8 -7
- package/ios/Transitioning/REATransition.m +19 -16
- package/ios/Transitioning/REATransitionAnimation.h +1 -1
- package/ios/Transitioning/REATransitionAnimation.m +2 -3
- package/ios/Transitioning/REATransitionManager.m +3 -3
- package/ios/native/NativeMethods.h +20 -5
- package/ios/native/NativeMethods.mm +14 -6
- package/ios/native/NativeProxy.h +4 -2
- package/ios/native/NativeProxy.mm +84 -63
- package/ios/native/REAIOSErrorHandler.h +13 -10
- package/ios/native/REAIOSErrorHandler.mm +19 -15
- package/ios/native/REAIOSLogger.h +8 -8
- package/ios/native/REAIOSLogger.mm +10 -6
- package/ios/native/REAIOSScheduler.h +5 -5
- package/ios/native/REAIOSScheduler.mm +17 -10
- package/ios/native/REAInitializer.h +5 -7
- package/ios/native/REAInitializer.mm +43 -31
- package/ios/native/UIResponder+Reanimated.mm +2 -2
- package/lib/Animated.js +9 -1
- package/lib/ConfigHelper.js +121 -138
- package/lib/ReanimatedEventEmitter.js +0 -1
- package/lib/ReanimatedModule.js +0 -1
- package/lib/ReanimatedModule.macos.js +0 -1
- package/lib/ReanimatedModule.native.js +5 -6
- package/lib/ReanimatedModule.windows.js +0 -1
- package/lib/ReanimatedModuleCompat.js +64 -35
- package/lib/createAnimatedComponent.js +468 -487
- package/lib/index.js +9 -1
- package/lib/reanimated2/NativeMethods.js +7 -12
- package/lib/reanimated2/NativeReanimated/NativeReanimated.js +37 -0
- package/lib/reanimated2/NativeReanimated/index.js +15 -0
- package/lib/reanimated2/PropAdapters.js +0 -1
- package/lib/reanimated2/UpdateProps.js +6 -7
- package/lib/reanimated2/ViewDescriptorsSet.js +4 -4
- package/lib/reanimated2/WorkletEventHandler.js +15 -13
- package/lib/reanimated2/animation/delay.js +8 -2
- package/lib/reanimated2/animation/spring.js +2 -0
- package/lib/reanimated2/animation/styleAnimation.js +7 -3
- package/lib/reanimated2/animation/util.js +25 -2
- package/lib/reanimated2/core.js +41 -17
- package/lib/reanimated2/globals.d.ts +21 -1
- package/lib/reanimated2/hook/useAnimatedRef.js +1 -1
- package/lib/reanimated2/hook/useAnimatedStyle.js +3 -3
- package/lib/reanimated2/index.js +1 -0
- package/lib/reanimated2/interpolation.js +95 -87
- package/lib/reanimated2/js-reanimated/JSReanimated.js +13 -10
- package/lib/reanimated2/js-reanimated/Mapper.js +4 -3
- package/lib/reanimated2/js-reanimated/MapperRegistry.js +3 -6
- package/lib/reanimated2/js-reanimated/MutableValue.js +0 -2
- package/lib/reanimated2/js-reanimated/index.js +10 -8
- package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +33 -2
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +27 -124
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +125 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +1 -2
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +115 -45
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +7 -2
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +21 -21
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +25 -25
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +19 -17
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +5 -5
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +9 -9
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +17 -17
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +19 -19
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +9 -9
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +33 -33
- package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +78 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +128 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
- package/lib/reanimated2/layoutReanimation/index.js +1 -0
- package/lib/reanimated2/mock.js +3 -1
- package/lib/reanimated2/utils.js +9 -0
- package/lib/setAndForwardRef.js +14 -48
- package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
- package/mock.js +1 -1
- package/package.json +28 -17
- package/plugin.js +220 -39
- package/react-native-reanimated.d.ts +542 -547
- package/src/Animated.js +9 -1
- package/src/{ConfigHelper.js → ConfigHelper.ts} +15 -7
- package/src/{ReanimatedEventEmitter.js → ReanimatedEventEmitter.ts} +0 -0
- package/src/{ReanimatedModule.js → ReanimatedModule.macos.ts} +0 -0
- package/src/{ReanimatedModule.native.js → ReanimatedModule.native.ts} +0 -0
- package/src/{ReanimatedModule.macos.js → ReanimatedModule.ts} +0 -0
- package/src/{ReanimatedModule.windows.js → ReanimatedModule.windows.ts} +0 -0
- package/src/ReanimatedModuleCompat.ts +51 -0
- package/src/{createAnimatedComponent.js → createAnimatedComponent.tsx} +285 -126
- package/src/reanimated2/NativeMethods.ts +34 -13
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +72 -0
- package/src/reanimated2/NativeReanimated/index.ts +18 -0
- package/src/reanimated2/PropAdapters.ts +0 -1
- package/src/reanimated2/UpdateProps.ts +31 -15
- package/src/reanimated2/ViewDescriptorsSet.ts +15 -12
- package/src/reanimated2/WorkletEventHandler.ts +41 -23
- package/src/reanimated2/animation/commonTypes.ts +4 -4
- package/src/reanimated2/animation/decay.ts +2 -2
- package/src/reanimated2/animation/delay.ts +11 -5
- package/src/reanimated2/animation/index.ts +7 -7
- package/src/reanimated2/animation/repeat.ts +4 -4
- package/src/reanimated2/animation/sequence.ts +2 -2
- package/src/reanimated2/animation/spring.ts +6 -5
- package/src/reanimated2/animation/styleAnimation.ts +27 -15
- package/src/reanimated2/animation/timing.ts +5 -5
- package/src/reanimated2/animation/util.ts +47 -8
- package/src/reanimated2/commonTypes.ts +3 -0
- package/src/reanimated2/core.ts +80 -34
- package/src/reanimated2/globals.d.ts +21 -1
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +1 -1
- package/src/reanimated2/hook/useAnimatedRef.ts +13 -15
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +3 -3
- package/src/reanimated2/hook/useAnimatedStyle.ts +7 -7
- package/src/reanimated2/hook/utils.ts +4 -3
- package/src/reanimated2/index.ts +1 -0
- package/src/reanimated2/interpolation.ts +170 -103
- package/src/reanimated2/js-reanimated/JSReanimated.ts +37 -23
- package/src/reanimated2/js-reanimated/Mapper.ts +22 -9
- package/src/reanimated2/js-reanimated/MapperRegistry.ts +22 -19
- package/src/reanimated2/js-reanimated/MutableValue.ts +11 -11
- package/src/reanimated2/js-reanimated/index.ts +31 -14
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.ts +75 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +29 -159
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +169 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +2 -2
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +3 -9
- package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +1 -5
- package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +162 -82
- package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +7 -2
- package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +32 -32
- package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +38 -38
- package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +34 -32
- package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +8 -8
- package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +14 -14
- package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +26 -26
- package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +28 -28
- package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +14 -14
- package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +50 -50
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +104 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +213 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +60 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +58 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +41 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +78 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +6 -0
- package/src/reanimated2/layoutReanimation/index.ts +1 -0
- package/src/reanimated2/mock.ts +3 -1
- package/src/reanimated2/utils.ts +21 -0
- package/src/{setAndForwardRef.js → setAndForwardRef.ts} +12 -2
- package/android/react-native-reanimated-62-hermes.aar +0 -0
- package/android/react-native-reanimated-62-jsc.aar +0 -0
- package/lib/reanimated2/NativeReanimated.js +0 -48
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseBounceAnimationBuilder.js +0 -55
- package/lib/reanimated2/layoutReanimation/animationBuilder/LayoutAnimationBuilder.js +0 -165
- package/src/ReanimatedModuleCompat.js +0 -37
- package/src/reanimated2/NativeReanimated.ts +0 -70
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.tsx +0 -41
- package/src/reanimated2/layoutReanimation/animationBuilder/BaseBounceAnimationBuilder.ts +0 -82
- package/src/reanimated2/layoutReanimation/animationBuilder/LayoutAnimationBuilder.ts +0 -217
|
@@ -1,55 +1,60 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include
|
|
4
|
-
#include
|
|
5
|
-
#include
|
|
3
|
+
#include <jsi/jsi.h>
|
|
4
|
+
#include <memory>
|
|
5
|
+
#include <mutex>
|
|
6
|
+
#include <string>
|
|
7
|
+
#include <unordered_map>
|
|
8
|
+
#include <vector>
|
|
6
9
|
#include "HostFunctionHandler.h"
|
|
7
10
|
#include "JSIStoreValueUser.h"
|
|
11
|
+
#include "LayoutAnimationsProxy.h"
|
|
8
12
|
#include "RuntimeManager.h"
|
|
9
13
|
#include "Scheduler.h"
|
|
10
|
-
#include
|
|
11
|
-
#include
|
|
12
|
-
#include
|
|
13
|
-
#include <jsi/jsi.h>
|
|
14
|
-
#include "LayoutAnimationsProxy.h"
|
|
14
|
+
#include "SharedParent.h"
|
|
15
|
+
#include "ValueWrapper.h"
|
|
16
|
+
#include "WorkletsCache.h"
|
|
15
17
|
|
|
16
18
|
using namespace facebook;
|
|
17
19
|
|
|
18
20
|
namespace reanimated {
|
|
19
21
|
|
|
20
|
-
class ShareableValue: public std::enable_shared_from_this<ShareableValue>,
|
|
21
|
-
|
|
22
|
-
friend
|
|
23
|
-
friend
|
|
24
|
-
friend
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
class ShareableValue : public std::enable_shared_from_this<ShareableValue>,
|
|
23
|
+
public StoreUser {
|
|
24
|
+
friend WorkletsCache;
|
|
25
|
+
friend FrozenObject;
|
|
26
|
+
friend LayoutAnimationsProxy;
|
|
27
|
+
friend void extractMutables(
|
|
28
|
+
jsi::Runtime &rt,
|
|
29
|
+
std::shared_ptr<ShareableValue> sv,
|
|
30
|
+
std::vector<std::shared_ptr<MutableValue>> &res);
|
|
31
|
+
|
|
32
|
+
private:
|
|
29
33
|
RuntimeManager *runtimeManager;
|
|
30
34
|
std::unique_ptr<ValueWrapper> valueContainer;
|
|
31
35
|
std::unique_ptr<jsi::Value> hostValue;
|
|
32
36
|
std::weak_ptr<jsi::Value> remoteValue;
|
|
33
37
|
bool containsHostFunction = false;
|
|
34
38
|
|
|
35
|
-
ShareableValue(RuntimeManager *runtimeManager, std::shared_ptr<Scheduler> s)
|
|
39
|
+
ShareableValue(RuntimeManager *runtimeManager, std::shared_ptr<Scheduler> s)
|
|
40
|
+
: StoreUser(s, *runtimeManager), runtimeManager(runtimeManager) {}
|
|
36
41
|
|
|
37
42
|
jsi::Value toJSValue(jsi::Runtime &rt);
|
|
38
|
-
jsi::Object createHost(
|
|
43
|
+
jsi::Object createHost(
|
|
44
|
+
jsi::Runtime &rt,
|
|
45
|
+
std::shared_ptr<jsi::HostObject> host);
|
|
39
46
|
void adapt(jsi::Runtime &rt, const jsi::Value &value, ValueType objectType);
|
|
40
47
|
void adaptCache(jsi::Runtime &rt, const jsi::Value &value);
|
|
41
48
|
std::string demangleExceptionName(std::string toDemangle);
|
|
42
49
|
|
|
43
|
-
public:
|
|
50
|
+
public:
|
|
44
51
|
ValueType type = ValueType::UndefinedType;
|
|
45
52
|
static std::shared_ptr<ShareableValue> adapt(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
);
|
|
53
|
+
jsi::Runtime &rt,
|
|
54
|
+
const jsi::Value &value,
|
|
55
|
+
RuntimeManager *runtimeManager,
|
|
56
|
+
ValueType objectType = ValueType::UndefinedType);
|
|
51
57
|
jsi::Value getValue(jsi::Runtime &rt);
|
|
52
|
-
|
|
53
58
|
};
|
|
54
59
|
|
|
55
|
-
}
|
|
60
|
+
} // namespace reanimated
|
|
@@ -8,12 +8,15 @@ enum class ValueType {
|
|
|
8
8
|
BoolType,
|
|
9
9
|
NumberType,
|
|
10
10
|
StringType,
|
|
11
|
-
RemoteObjectType,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
RemoteObjectType, // object that can be instantiated on host side and modified
|
|
12
|
+
// on the remote (worklet) side
|
|
13
|
+
MutableValueType, // object with 'value' property that can be updated and read
|
|
14
|
+
// from any thread
|
|
15
|
+
HostFunctionType, // function that will be executed asynchronously on the host
|
|
16
|
+
// runtime
|
|
17
|
+
WorkletFunctionType, // function that gets run on the UI thread
|
|
18
|
+
FrozenObjectType, // frozen object, can only be set and never modified
|
|
19
|
+
FrozenArrayType, // frozen array, can only be set and never modified
|
|
17
20
|
};
|
|
18
21
|
|
|
19
22
|
class ShareableValue;
|
|
@@ -21,4 +24,4 @@ class MutableValue;
|
|
|
21
24
|
class RemoteObject;
|
|
22
25
|
class NativeReanimatedModule;
|
|
23
26
|
|
|
24
|
-
}
|
|
27
|
+
} // namespace reanimated
|
|
@@ -1,132 +1,155 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include "WorkletsCache.h"
|
|
4
|
-
#include "SharedParent.h"
|
|
5
3
|
#include <jsi/jsi.h>
|
|
4
|
+
#include <memory>
|
|
6
5
|
#include <string>
|
|
7
|
-
#include
|
|
6
|
+
#include <vector>
|
|
8
7
|
#include "HostFunctionHandler.h"
|
|
8
|
+
#include "JSIStoreValueUser.h"
|
|
9
|
+
#include "SharedParent.h"
|
|
10
|
+
#include "WorkletsCache.h"
|
|
9
11
|
|
|
10
12
|
namespace reanimated {
|
|
11
13
|
|
|
12
14
|
class HostFunctionWrapper;
|
|
13
15
|
|
|
14
16
|
class ValueWrapper {
|
|
15
|
-
public:
|
|
16
|
-
ValueWrapper() {}
|
|
17
|
-
ValueWrapper(ValueType _type) : type(_type) {}
|
|
17
|
+
public:
|
|
18
|
+
ValueWrapper() {}
|
|
19
|
+
explicit ValueWrapper(ValueType _type) : type(_type) {}
|
|
18
20
|
ValueType getType() const {
|
|
19
21
|
return type;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
virtual ~ValueWrapper() {}
|
|
23
25
|
|
|
24
|
-
static inline bool asBoolean(
|
|
25
|
-
|
|
26
|
-
static inline
|
|
27
|
-
|
|
28
|
-
static inline const std::
|
|
29
|
-
|
|
30
|
-
static inline std::
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
static inline bool asBoolean(
|
|
27
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
28
|
+
static inline double asNumber(
|
|
29
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
30
|
+
static inline const std::string &asString(
|
|
31
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
32
|
+
static inline const std::shared_ptr<HostFunctionHandler> &asHostFunction(
|
|
33
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
34
|
+
static inline const std::shared_ptr<FrozenObject> &asFrozenObject(
|
|
35
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
36
|
+
static inline const std::shared_ptr<RemoteObject> &asRemoteObject(
|
|
37
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
38
|
+
static inline std::vector<std::shared_ptr<ShareableValue>> &asFrozenArray(
|
|
39
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
40
|
+
static inline const std::shared_ptr<MutableValue> &asMutableValue(
|
|
41
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
42
|
+
|
|
43
|
+
static const HostFunctionWrapper *asHostFunctionWrapper(
|
|
44
|
+
const std::unique_ptr<ValueWrapper> &valueContainer);
|
|
45
|
+
|
|
46
|
+
protected:
|
|
47
|
+
ValueType type;
|
|
37
48
|
};
|
|
38
49
|
|
|
39
50
|
class BooleanValueWrapper : public ValueWrapper {
|
|
40
|
-
public:
|
|
41
|
-
BooleanValueWrapper(const bool _value)
|
|
42
|
-
|
|
51
|
+
public:
|
|
52
|
+
explicit BooleanValueWrapper(const bool _value)
|
|
53
|
+
: ValueWrapper(ValueType::BoolType), value(_value) {}
|
|
43
54
|
bool value;
|
|
44
55
|
};
|
|
45
56
|
|
|
46
57
|
class NumberValueWrapper : public ValueWrapper {
|
|
47
|
-
public:
|
|
48
|
-
NumberValueWrapper(const double _value)
|
|
49
|
-
|
|
58
|
+
public:
|
|
59
|
+
explicit NumberValueWrapper(const double _value)
|
|
60
|
+
: ValueWrapper(ValueType::NumberType), value(_value) {}
|
|
50
61
|
double value;
|
|
51
62
|
};
|
|
52
63
|
|
|
53
64
|
class StringValueWrapper : public ValueWrapper {
|
|
54
|
-
public:
|
|
55
|
-
StringValueWrapper(const std::string &
|
|
56
|
-
|
|
65
|
+
public:
|
|
66
|
+
explicit StringValueWrapper(const std::string &_value)
|
|
67
|
+
: ValueWrapper(ValueType::StringType), value(_value) {}
|
|
57
68
|
std::string value;
|
|
58
69
|
};
|
|
59
70
|
|
|
60
71
|
class HostFunctionWrapper : public ValueWrapper {
|
|
61
|
-
public:
|
|
62
|
-
HostFunctionWrapper(
|
|
63
|
-
|
|
72
|
+
public:
|
|
73
|
+
explicit HostFunctionWrapper(
|
|
74
|
+
const std::shared_ptr<HostFunctionHandler> &_value)
|
|
75
|
+
: ValueWrapper(ValueType::HostFunctionType), value(_value) {}
|
|
64
76
|
std::shared_ptr<HostFunctionHandler> value;
|
|
65
77
|
};
|
|
66
78
|
|
|
67
79
|
class FrozenObjectWrapper : public ValueWrapper {
|
|
68
|
-
public:
|
|
69
|
-
FrozenObjectWrapper(const std::shared_ptr<FrozenObject> &
|
|
70
|
-
|
|
80
|
+
public:
|
|
81
|
+
explicit FrozenObjectWrapper(const std::shared_ptr<FrozenObject> &_value)
|
|
82
|
+
: ValueWrapper(ValueType::FrozenObjectType), value(_value) {}
|
|
71
83
|
std::shared_ptr<FrozenObject> value;
|
|
72
84
|
};
|
|
73
85
|
|
|
74
86
|
class RemoteObjectWrapper : public ValueWrapper {
|
|
75
|
-
public:
|
|
76
|
-
RemoteObjectWrapper(const std::shared_ptr<RemoteObject> &
|
|
77
|
-
|
|
87
|
+
public:
|
|
88
|
+
explicit RemoteObjectWrapper(const std::shared_ptr<RemoteObject> &_value)
|
|
89
|
+
: ValueWrapper(ValueType::RemoteObjectType), value(_value) {}
|
|
78
90
|
std::shared_ptr<RemoteObject> value;
|
|
79
91
|
};
|
|
80
92
|
|
|
81
93
|
class FrozenArrayWrapper : public ValueWrapper {
|
|
82
|
-
public:
|
|
83
|
-
FrozenArrayWrapper() : ValueWrapper(ValueType::FrozenArrayType) {}
|
|
84
|
-
FrozenArrayWrapper(
|
|
85
|
-
|
|
94
|
+
public:
|
|
95
|
+
FrozenArrayWrapper() : ValueWrapper(ValueType::FrozenArrayType) {}
|
|
96
|
+
explicit FrozenArrayWrapper(
|
|
97
|
+
const std::vector<std::shared_ptr<ShareableValue>> &_value)
|
|
98
|
+
: ValueWrapper(ValueType::FrozenArrayType), value(_value) {}
|
|
86
99
|
std::vector<std::shared_ptr<ShareableValue>> value;
|
|
87
100
|
};
|
|
88
101
|
|
|
89
102
|
class MutableValueWrapper : public ValueWrapper {
|
|
90
|
-
public:
|
|
91
|
-
MutableValueWrapper(const std::shared_ptr<MutableValue> &
|
|
92
|
-
|
|
103
|
+
public:
|
|
104
|
+
explicit MutableValueWrapper(const std::shared_ptr<MutableValue> &_value)
|
|
105
|
+
: ValueWrapper(ValueType::MutableValueType), value(_value) {}
|
|
93
106
|
std::shared_ptr<MutableValue> value;
|
|
94
107
|
};
|
|
95
108
|
|
|
96
|
-
inline bool ValueWrapper::asBoolean(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
inline double ValueWrapper::asNumber(const std::unique_ptr<ValueWrapper>& valueContainer) {
|
|
101
|
-
return static_cast<NumberValueWrapper*>(valueContainer.get())->value;
|
|
102
|
-
};
|
|
109
|
+
inline bool ValueWrapper::asBoolean(
|
|
110
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
111
|
+
return static_cast<BooleanValueWrapper *>(valueContainer.get())->value;
|
|
112
|
+
}
|
|
103
113
|
|
|
104
|
-
inline
|
|
105
|
-
|
|
106
|
-
|
|
114
|
+
inline double ValueWrapper::asNumber(
|
|
115
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
116
|
+
return static_cast<NumberValueWrapper *>(valueContainer.get())->value;
|
|
117
|
+
}
|
|
107
118
|
|
|
108
|
-
inline const std::
|
|
109
|
-
|
|
110
|
-
|
|
119
|
+
inline const std::string &ValueWrapper::asString(
|
|
120
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
121
|
+
return static_cast<StringValueWrapper *>(valueContainer.get())->value;
|
|
122
|
+
}
|
|
111
123
|
|
|
112
|
-
inline const std::shared_ptr<
|
|
113
|
-
|
|
114
|
-
|
|
124
|
+
inline const std::shared_ptr<HostFunctionHandler> &ValueWrapper::asHostFunction(
|
|
125
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
126
|
+
return static_cast<HostFunctionWrapper *>(valueContainer.get())->value;
|
|
127
|
+
}
|
|
115
128
|
|
|
116
|
-
inline const std::shared_ptr<
|
|
117
|
-
|
|
118
|
-
|
|
129
|
+
inline const std::shared_ptr<FrozenObject> &ValueWrapper::asFrozenObject(
|
|
130
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
131
|
+
return static_cast<FrozenObjectWrapper *>(valueContainer.get())->value;
|
|
132
|
+
}
|
|
119
133
|
|
|
120
|
-
inline std::
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
inline const std::shared_ptr<RemoteObject> &ValueWrapper::asRemoteObject(
|
|
135
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
136
|
+
return static_cast<RemoteObjectWrapper *>(valueContainer.get())->value;
|
|
137
|
+
}
|
|
123
138
|
|
|
124
|
-
inline
|
|
125
|
-
|
|
126
|
-
|
|
139
|
+
inline std::vector<std::shared_ptr<ShareableValue>>
|
|
140
|
+
&ValueWrapper::asFrozenArray(
|
|
141
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
142
|
+
return static_cast<FrozenArrayWrapper *>(valueContainer.get())->value;
|
|
143
|
+
}
|
|
127
144
|
|
|
128
|
-
inline const
|
|
129
|
-
|
|
130
|
-
|
|
145
|
+
inline const std::shared_ptr<MutableValue> &ValueWrapper::asMutableValue(
|
|
146
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
147
|
+
return static_cast<MutableValueWrapper *>(valueContainer.get())->value;
|
|
148
|
+
}
|
|
131
149
|
|
|
150
|
+
inline const HostFunctionWrapper *ValueWrapper::asHostFunctionWrapper(
|
|
151
|
+
const std::unique_ptr<ValueWrapper> &valueContainer) {
|
|
152
|
+
return static_cast<HostFunctionWrapper *>(valueContainer.get());
|
|
132
153
|
}
|
|
154
|
+
|
|
155
|
+
} // namespace reanimated
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include
|
|
3
|
+
#include <memory>
|
|
4
4
|
#include <string>
|
|
5
|
+
#include "Scheduler.h"
|
|
5
6
|
|
|
6
|
-
namespace reanimated
|
|
7
|
-
{
|
|
7
|
+
namespace reanimated {
|
|
8
8
|
|
|
9
9
|
struct ErrorWrapper {
|
|
10
10
|
std::string message = "";
|
|
@@ -12,22 +12,21 @@ struct ErrorWrapper {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
class ErrorHandler {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
this->getScheduler()->scheduleOnUI([this]() mutable {
|
|
21
|
-
this->raiseSpec();
|
|
22
|
-
});
|
|
23
|
-
return true;
|
|
15
|
+
public:
|
|
16
|
+
bool raise() {
|
|
17
|
+
if (getError()->handled) {
|
|
18
|
+
return false;
|
|
24
19
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
this->getScheduler()->scheduleOnUI([this]() mutable { this->raiseSpec(); });
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
virtual std::shared_ptr<Scheduler> getScheduler() = 0;
|
|
24
|
+
virtual std::shared_ptr<ErrorWrapper> getError() = 0;
|
|
25
|
+
virtual void setError(std::string message) = 0;
|
|
26
|
+
virtual ~ErrorHandler() {}
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
virtual void raiseSpec() = 0;
|
|
31
30
|
};
|
|
32
31
|
|
|
33
|
-
}
|
|
32
|
+
} // namespace reanimated
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include <string>
|
|
3
|
+
|
|
4
|
+
namespace reanimated {
|
|
5
|
+
|
|
6
|
+
class FeaturesConfig {
|
|
7
|
+
public:
|
|
8
|
+
static inline bool isLayoutAnimationEnabled() {
|
|
9
|
+
return _isLayoutAnimationEnabled;
|
|
10
|
+
}
|
|
11
|
+
static inline void setLayoutAnimationEnabled(bool isLayoutAnimationEnabled) {
|
|
12
|
+
_isLayoutAnimationEnabled = isLayoutAnimationEnabled;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
private:
|
|
16
|
+
static bool _isLayoutAnimationEnabled;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
} // namespace reanimated
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
#
|
|
2
|
-
#define JSIStoreValueUser_h
|
|
1
|
+
#pragma once
|
|
3
2
|
|
|
3
|
+
#include <jsi/jsi.h>
|
|
4
4
|
#include <stdio.h>
|
|
5
5
|
#include <memory>
|
|
6
|
-
#include <vector>
|
|
7
|
-
#include <unordered_map>
|
|
8
|
-
#include <jsi/jsi.h>
|
|
9
6
|
#include <mutex>
|
|
7
|
+
#include <unordered_map>
|
|
8
|
+
#include <vector>
|
|
10
9
|
#include "Scheduler.h"
|
|
11
10
|
|
|
12
11
|
using namespace facebook;
|
|
@@ -16,25 +15,23 @@ namespace reanimated {
|
|
|
16
15
|
class RuntimeManager;
|
|
17
16
|
|
|
18
17
|
struct StaticStoreUser {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
std::atomic<int> ctr;
|
|
19
|
+
std::unordered_map<int, std::vector<std::shared_ptr<jsi::Value>>> store;
|
|
20
|
+
std::recursive_mutex storeMutex;
|
|
22
21
|
};
|
|
23
22
|
|
|
24
23
|
class StoreUser {
|
|
25
24
|
int identifier = 0;
|
|
26
25
|
std::weak_ptr<Scheduler> scheduler;
|
|
27
26
|
std::shared_ptr<StaticStoreUser> storeUserData;
|
|
28
|
-
|
|
29
|
-
public:
|
|
30
|
-
StoreUser(std::shared_ptr<Scheduler> s, RuntimeManager &runtimeManager);
|
|
31
|
-
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
StoreUser(std::shared_ptr<Scheduler> s, const RuntimeManager &runtimeManager);
|
|
30
|
+
|
|
32
31
|
std::weak_ptr<jsi::Value> getWeakRef(jsi::Runtime &rt);
|
|
33
32
|
void removeRefs();
|
|
34
|
-
|
|
33
|
+
|
|
35
34
|
virtual ~StoreUser();
|
|
36
35
|
};
|
|
37
36
|
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
#endif /* JSIStoreValueUser_h */
|
|
37
|
+
} // namespace reanimated
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include "ShareableValue.h"
|
|
4
|
-
#include "NativeReanimatedModule.h"
|
|
5
|
-
#include <stdio.h>
|
|
6
3
|
#include <jsi/jsi.h>
|
|
4
|
+
#include <stdio.h>
|
|
5
|
+
#include <memory>
|
|
6
|
+
#include <vector>
|
|
7
|
+
#include "NativeReanimatedModule.h"
|
|
8
|
+
#include "ShareableValue.h"
|
|
7
9
|
|
|
8
10
|
using namespace facebook;
|
|
9
11
|
|
|
@@ -18,7 +20,8 @@ struct ViewDescriptor {
|
|
|
18
20
|
|
|
19
21
|
class Mapper : public std::enable_shared_from_this<Mapper> {
|
|
20
22
|
friend MapperRegistry;
|
|
21
|
-
|
|
23
|
+
|
|
24
|
+
private:
|
|
22
25
|
unsigned long id;
|
|
23
26
|
NativeReanimatedModule *module;
|
|
24
27
|
std::shared_ptr<jsi::Function> mapper;
|
|
@@ -26,23 +29,23 @@ private:
|
|
|
26
29
|
std::vector<std::shared_ptr<MutableValue>> outputs;
|
|
27
30
|
bool dirty = true;
|
|
28
31
|
std::shared_ptr<jsi::Function> userUpdater;
|
|
29
|
-
UpdaterFunction*
|
|
32
|
+
UpdaterFunction *updateProps;
|
|
30
33
|
int optimalizationLvl = 0;
|
|
31
34
|
std::shared_ptr<ShareableValue> viewDescriptors;
|
|
32
35
|
|
|
33
|
-
public:
|
|
34
|
-
Mapper(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
public:
|
|
37
|
+
Mapper(
|
|
38
|
+
NativeReanimatedModule *module,
|
|
39
|
+
unsigned long id,
|
|
40
|
+
std::shared_ptr<jsi::Function> mapper,
|
|
41
|
+
std::vector<std::shared_ptr<MutableValue>> inputs,
|
|
42
|
+
std::vector<std::shared_ptr<MutableValue>> outputs);
|
|
39
43
|
void execute(jsi::Runtime &rt);
|
|
40
44
|
void enableFastMode(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
);
|
|
45
|
+
const int optimalizationLvl,
|
|
46
|
+
const std::shared_ptr<ShareableValue> &updater,
|
|
47
|
+
const std::shared_ptr<ShareableValue> &jsViewDescriptors);
|
|
45
48
|
virtual ~Mapper();
|
|
46
49
|
};
|
|
47
50
|
|
|
48
|
-
}
|
|
51
|
+
} // namespace reanimated
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
-
#include <stdio.h>
|
|
4
3
|
#include <jsi/jsi.h>
|
|
4
|
+
#include <stdio.h>
|
|
5
|
+
#include <string>
|
|
6
|
+
#include <utility>
|
|
7
|
+
#include <vector>
|
|
5
8
|
|
|
6
9
|
using namespace facebook;
|
|
7
10
|
|
|
8
|
-
namespace reanimated
|
|
9
|
-
{
|
|
11
|
+
namespace reanimated {
|
|
10
12
|
|
|
11
|
-
using UpdaterFunction = std::function<void(
|
|
12
|
-
|
|
13
|
+
using UpdaterFunction = std::function<void(
|
|
14
|
+
jsi::Runtime &rt,
|
|
15
|
+
int viewTag,
|
|
16
|
+
const jsi::Value &viewName,
|
|
17
|
+
const jsi::Object &object)>;
|
|
18
|
+
using RequestRender =
|
|
19
|
+
std::function<void(std::function<void(double)>, jsi::Runtime &rt)>;
|
|
13
20
|
using ScrollToFunction = std::function<void(int, double, double, bool)>;
|
|
14
|
-
using MeasuringFunction =
|
|
21
|
+
using MeasuringFunction =
|
|
22
|
+
std::function<std::vector<std::pair<std::string, double>>(int)>;
|
|
15
23
|
using TimeProviderFunction = std::function<double(void)>;
|
|
24
|
+
using SetGestureStateFunction = std::function<void(int, int)>;
|
|
16
25
|
|
|
17
26
|
struct PlatformDepMethodsHolder {
|
|
18
27
|
RequestRender requestRender;
|
|
@@ -20,6 +29,7 @@ struct PlatformDepMethodsHolder {
|
|
|
20
29
|
ScrollToFunction scrollToFunction;
|
|
21
30
|
MeasuringFunction measuringFunction;
|
|
22
31
|
TimeProviderFunction getCurrentTime;
|
|
32
|
+
SetGestureStateFunction setGestureStateFunction;
|
|
23
33
|
};
|
|
24
34
|
|
|
25
|
-
}
|
|
35
|
+
} // namespace reanimated
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
#ifndef REANIMATEDEXAMPLE_REANIMATEDHIDDEN_H
|
|
3
|
-
#define REANIMATEDEXAMPLE_REANIMATEDHIDDEN_H
|
|
1
|
+
#pragma once
|
|
4
2
|
|
|
5
3
|
#if defined(ONANDROID)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
#include "Logger.h"
|
|
5
|
+
#include "LoggerInterface.h"
|
|
6
|
+
#include "SpeedChecker.h"
|
|
9
7
|
#else
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
#include "Common/cpp/hidden_headers/Logger.h"
|
|
9
|
+
#include "Common/cpp/hidden_headers/LoggerInterface.h"
|
|
10
|
+
#include "Common/cpp/hidden_headers/SpeedChecker.h"
|
|
13
11
|
#endif
|
|
14
|
-
|
|
15
|
-
#endif //REANIMATEDEXAMPLE_REANIMATEDHIDDEN_H
|