react-native-reanimated 2.8.0 → 3.0.0-rc.0
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/Fabric/FabricUtils.cpp +128 -0
- package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
- package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
- package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
- package/Common/cpp/Tools/Mapper.cpp +23 -4
- package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
- package/Common/cpp/Tools/Scheduler.cpp +4 -0
- package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
- package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
- package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
- package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
- package/Common/cpp/headers/Tools/Mapper.h +1 -1
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
- package/README.md +4 -0
- package/RNReanimated.podspec +22 -11
- package/android/CMakeLists.txt +139 -27
- package/android/build.gradle +86 -209
- package/android/local.properties +1 -0
- package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
- package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
- package/android/src/main/cpp/NativeProxy.cpp +178 -33
- package/android/src/main/cpp/headers/NativeProxy.h +43 -7
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
- package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +15 -2
- package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
- package/ios/REAEventDispatcher.m +0 -1
- package/ios/REAModule.h +10 -1
- package/ios/REAModule.mm +284 -0
- package/ios/REANodesManager.h +27 -51
- package/ios/{REANodesManager.m → REANodesManager.mm} +91 -223
- package/ios/native/NativeProxy.mm +144 -17
- package/ios/native/REAInitializer.mm +12 -4
- package/ios/native/UIResponder+Reanimated.h +3 -1
- package/ios/native/UIResponder+Reanimated.mm +3 -1
- package/lib/Animated.js +0 -4
- package/lib/createAnimatedComponent.js +30 -169
- package/lib/index.js +0 -4
- package/lib/reanimated2/Easing.js +0 -42
- package/lib/reanimated2/NativeMethods.js +20 -3
- package/lib/reanimated2/UpdateProps.js +25 -10
- package/lib/reanimated2/core.js +4 -1
- package/lib/reanimated2/fabricUtils.js +18 -0
- package/lib/reanimated2/globals.d.ts +17 -1
- package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
- package/lib/reanimated2/hook/utils.js +0 -5
- package/lib/reanimated2/interpolateColor.js +5 -2
- package/lib/reanimated2/interpolation.js +0 -15
- package/lib/reanimated2/js-reanimated/index.js +3 -0
- package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
- package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
- package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
- package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
- package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
- package/package.json +7 -5
- package/plugin.js +4 -1
- package/src/Animated.js +0 -4
- package/src/createAnimatedComponent.tsx +37 -197
- package/src/reanimated2/Easing.ts +0 -53
- package/src/reanimated2/NativeMethods.ts +39 -7
- package/src/reanimated2/UpdateProps.ts +38 -19
- package/src/reanimated2/commonTypes.ts +4 -1
- package/src/reanimated2/component/FlatList.tsx +8 -5
- package/src/reanimated2/core.ts +7 -1
- package/src/reanimated2/fabricUtils.ts +27 -0
- package/src/reanimated2/globals.d.ts +17 -1
- package/src/reanimated2/hook/commonTypes.ts +4 -2
- package/src/reanimated2/hook/index.ts +1 -1
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
- package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
- package/src/reanimated2/hook/utils.ts +2 -11
- package/src/reanimated2/interpolateColor.ts +6 -2
- package/src/reanimated2/interpolation.ts +1 -26
- package/src/reanimated2/js-reanimated/index.ts +5 -0
- package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/7.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +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/android/react-native-reanimated-68-hermes.aar +0 -0
- package/android/react-native-reanimated-68-jsc.aar +0 -0
- package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
- package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
- package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
- package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
- package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
- package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
- package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
- package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
- package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
- package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
- package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
- package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
- package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
- package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
- package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
- package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
- package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
- package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
- package/ios/Nodes/REAAlwaysNode.h +0 -4
- package/ios/Nodes/REAAlwaysNode.m +0 -35
- package/ios/Nodes/REABezierNode.h +0 -5
- package/ios/Nodes/REABezierNode.m +0 -103
- package/ios/Nodes/REABlockNode.h +0 -5
- package/ios/Nodes/REABlockNode.m +0 -25
- package/ios/Nodes/REACallFuncNode.h +0 -6
- package/ios/Nodes/REACallFuncNode.m +0 -69
- package/ios/Nodes/REAClockNodes.h +0 -19
- package/ios/Nodes/REAClockNodes.m +0 -118
- package/ios/Nodes/REAConcatNode.h +0 -5
- package/ios/Nodes/REAConcatNode.m +0 -32
- package/ios/Nodes/REACondNode.h +0 -5
- package/ios/Nodes/REACondNode.m +0 -36
- package/ios/Nodes/READebugNode.h +0 -5
- package/ios/Nodes/READebugNode.m +0 -30
- package/ios/Nodes/REAEventNode.h +0 -8
- package/ios/Nodes/REAEventNode.m +0 -35
- package/ios/Nodes/REAFunctionNode.h +0 -6
- package/ios/Nodes/REAFunctionNode.m +0 -24
- package/ios/Nodes/REAJSCallNode.h +0 -5
- package/ios/Nodes/REAJSCallNode.m +0 -30
- package/ios/Nodes/REANode.h +0 -40
- package/ios/Nodes/REANode.m +0 -155
- package/ios/Nodes/REAOperatorNode.h +0 -5
- package/ios/Nodes/REAOperatorNode.m +0 -114
- package/ios/Nodes/REAParamNode.h +0 -10
- package/ios/Nodes/REAParamNode.m +0 -79
- package/ios/Nodes/REAPropsNode.h +0 -9
- package/ios/Nodes/REAPropsNode.m +0 -96
- package/ios/Nodes/REASetNode.h +0 -5
- package/ios/Nodes/REASetNode.m +0 -34
- package/ios/Nodes/REAStyleNode.h +0 -5
- package/ios/Nodes/REAStyleNode.m +0 -27
- package/ios/Nodes/REATransformNode.h +0 -5
- package/ios/Nodes/REATransformNode.m +0 -36
- package/ios/Nodes/REAValueNode.h +0 -9
- package/ios/Nodes/REAValueNode.m +0 -26
- package/ios/REAModule.m +0 -184
- package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
- package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
- package/ios/Transitioning/REAAllTransitions.h +0 -26
- package/ios/Transitioning/REAAllTransitions.m +0 -296
- package/ios/Transitioning/REATransition.h +0 -64
- package/ios/Transitioning/REATransition.m +0 -210
- package/ios/Transitioning/REATransitionAnimation.h +0 -17
- package/ios/Transitioning/REATransitionAnimation.m +0 -79
- package/ios/Transitioning/REATransitionManager.h +0 -9
- package/ios/Transitioning/REATransitionManager.m +0 -60
- package/ios/Transitioning/REATransitionValues.h +0 -15
- package/ios/Transitioning/REATransitionValues.m +0 -25
- package/lib/reanimated1/Easing.js +0 -231
- package/lib/reanimated1/SpringConfig.js +0 -79
- package/lib/reanimated1/Transitioning.js +0 -158
- package/lib/reanimated1/animations/Animation.js +0 -32
- package/lib/reanimated1/animations/SpringUtils.js +0 -199
- package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/lib/reanimated1/animations/decay.js +0 -54
- package/lib/reanimated1/animations/spring.js +0 -198
- package/lib/reanimated1/animations/timing.js +0 -74
- package/lib/reanimated1/base.js +0 -13
- package/lib/reanimated1/core/AnimatedAlways.js +0 -33
- package/lib/reanimated1/core/AnimatedBezier.js +0 -150
- package/lib/reanimated1/core/AnimatedBlock.js +0 -52
- package/lib/reanimated1/core/AnimatedCall.js +0 -55
- package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/lib/reanimated1/core/AnimatedClock.js +0 -90
- package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
- package/lib/reanimated1/core/AnimatedCode.js +0 -32
- package/lib/reanimated1/core/AnimatedConcat.js +0 -32
- package/lib/reanimated1/core/AnimatedCond.js +0 -57
- package/lib/reanimated1/core/AnimatedDebug.js +0 -62
- package/lib/reanimated1/core/AnimatedEvent.js +0 -126
- package/lib/reanimated1/core/AnimatedFunction.js +0 -55
- package/lib/reanimated1/core/AnimatedNode.js +0 -223
- package/lib/reanimated1/core/AnimatedOperator.js +0 -103
- package/lib/reanimated1/core/AnimatedParam.js +0 -88
- package/lib/reanimated1/core/AnimatedProps.js +0 -108
- package/lib/reanimated1/core/AnimatedSet.js +0 -38
- package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
- package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
- package/lib/reanimated1/core/AnimatedStyle.js +0 -78
- package/lib/reanimated1/core/AnimatedTransform.js +0 -78
- package/lib/reanimated1/core/AnimatedValue.js +0 -38
- package/lib/reanimated1/core/Core.test.js +0 -30
- package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
- package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
- package/lib/reanimated1/derived/acc.js +0 -11
- package/lib/reanimated1/derived/color.js +0 -47
- package/lib/reanimated1/derived/diff.js +0 -16
- package/lib/reanimated1/derived/diffClamp.js +0 -11
- package/lib/reanimated1/derived/evaluateOnce.js +0 -35
- package/lib/reanimated1/derived/index.js +0 -8
- package/lib/reanimated1/derived/interpolate.js +0 -152
- package/lib/reanimated1/derived/interpolateColors.js +0 -62
- package/lib/reanimated1/derived/onChange.js +0 -14
- package/lib/reanimated1/derived/useCode.js +0 -41
- package/lib/reanimated1/index.js +0 -53
- package/lib/reanimated1/operators.js +0 -35
- package/lib/reanimated1/useValue.js +0 -10
- package/lib/reanimated1/val.js +0 -3
- package/lib/types/react-native-reanimated-tests.d.ts +0 -1
- package/src/reanimated1/Easing.js +0 -231
- package/src/reanimated1/SpringConfig.js +0 -79
- package/src/reanimated1/Transitioning.js +0 -158
- package/src/reanimated1/animations/Animation.js +0 -32
- package/src/reanimated1/animations/SpringUtils.js +0 -199
- package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/src/reanimated1/animations/decay.js +0 -54
- package/src/reanimated1/animations/spring.js +0 -198
- package/src/reanimated1/animations/timing.js +0 -74
- package/src/reanimated1/base.js +0 -13
- package/src/reanimated1/core/AnimatedAlways.js +0 -33
- package/src/reanimated1/core/AnimatedBezier.js +0 -150
- package/src/reanimated1/core/AnimatedBlock.js +0 -52
- package/src/reanimated1/core/AnimatedCall.js +0 -55
- package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/src/reanimated1/core/AnimatedClock.js +0 -90
- package/src/reanimated1/core/AnimatedClockTest.js +0 -22
- package/src/reanimated1/core/AnimatedCode.js +0 -32
- package/src/reanimated1/core/AnimatedConcat.js +0 -32
- package/src/reanimated1/core/AnimatedCond.js +0 -57
- package/src/reanimated1/core/AnimatedDebug.js +0 -62
- package/src/reanimated1/core/AnimatedEvent.js +0 -126
- package/src/reanimated1/core/AnimatedFunction.js +0 -55
- package/src/reanimated1/core/AnimatedNode.js +0 -223
- package/src/reanimated1/core/AnimatedOperator.js +0 -103
- package/src/reanimated1/core/AnimatedParam.js +0 -88
- package/src/reanimated1/core/AnimatedProps.js +0 -108
- package/src/reanimated1/core/AnimatedSet.js +0 -38
- package/src/reanimated1/core/AnimatedStartClock.js +0 -30
- package/src/reanimated1/core/AnimatedStopClock.js +0 -30
- package/src/reanimated1/core/AnimatedStyle.js +0 -78
- package/src/reanimated1/core/AnimatedTransform.js +0 -78
- package/src/reanimated1/core/AnimatedValue.js +0 -38
- package/src/reanimated1/core/Core.test.js +0 -30
- package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
- package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
- package/src/reanimated1/derived/acc.js +0 -11
- package/src/reanimated1/derived/color.js +0 -47
- package/src/reanimated1/derived/diff.js +0 -16
- package/src/reanimated1/derived/diffClamp.js +0 -11
- package/src/reanimated1/derived/evaluateOnce.js +0 -35
- package/src/reanimated1/derived/index.js +0 -8
- package/src/reanimated1/derived/interpolate.js +0 -152
- package/src/reanimated1/derived/interpolateColors.js +0 -62
- package/src/reanimated1/derived/onChange.js +0 -14
- package/src/reanimated1/derived/useCode.js +0 -41
- package/src/reanimated1/index.js +0 -53
- package/src/reanimated1/operators.js +0 -35
- package/src/reanimated1/useValue.js +0 -10
- package/src/reanimated1/val.js +0 -3
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
|
|
3
|
+
import { ShadowNodeWrapper } from './commonTypes';
|
|
4
|
+
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
let findHostInstance_DEPRECATED = (_ref: React.Component) => null;
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
10
|
+
findHostInstance_DEPRECATED =
|
|
11
|
+
require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
|
|
12
|
+
} catch (e) {
|
|
13
|
+
// do nothing
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function getShadowNodeWrapperFromHostInstance(
|
|
17
|
+
hostInstance: unknown
|
|
18
|
+
): ShadowNodeWrapper {
|
|
19
|
+
// @ts-ignore Fabric
|
|
20
|
+
return hostInstance._internalInstanceHandle.stateNode.node;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function getShadowNodeWrapperFromRef(
|
|
24
|
+
ref: React.Component
|
|
25
|
+
): ShadowNodeWrapper {
|
|
26
|
+
return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));
|
|
27
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { AnimatedStyle, StyleProps } from './commonTypes';
|
|
2
2
|
import { ReanimatedConsole } from './core';
|
|
3
|
+
import { ShadowNodeWrapper } from './hook/commonTypes';
|
|
3
4
|
import { MeasuredDimensions } from './NativeMethods';
|
|
4
5
|
import { NativeReanimated } from './NativeReanimated/NativeReanimated';
|
|
5
6
|
declare global {
|
|
6
7
|
const _WORKLET: boolean;
|
|
8
|
+
const _IS_FABRIC: boolean;
|
|
7
9
|
const _frameTimestamp: number;
|
|
8
10
|
const _eventTimestamp: number;
|
|
9
11
|
const _setGlobalConsole: (console?: ReanimatedConsole) => void;
|
|
@@ -14,11 +16,18 @@ declare global {
|
|
|
14
16
|
flag: { value: boolean; _value: boolean }
|
|
15
17
|
) => void;
|
|
16
18
|
const _setGestureState: (handlerTag: number, newState: number) => void;
|
|
17
|
-
const
|
|
19
|
+
const _updatePropsPaper: (
|
|
18
20
|
tag: number,
|
|
19
21
|
name: string,
|
|
20
22
|
updates: StyleProps | AnimatedStyle
|
|
21
23
|
) => void;
|
|
24
|
+
const _updatePropsFabric: (
|
|
25
|
+
shadowNodeWrapper: ShadowNodeWrapper,
|
|
26
|
+
props: StyleProps | AnimatedStyle
|
|
27
|
+
) => void;
|
|
28
|
+
const _removeShadowNodeFromRegistry: (
|
|
29
|
+
shadowNodeWrapper: ShadowNodeWrapper
|
|
30
|
+
) => void;
|
|
22
31
|
const _measure: (viewTag: number) => MeasuredDimensions;
|
|
23
32
|
const _scrollTo: (
|
|
24
33
|
viewTag: number,
|
|
@@ -26,6 +35,11 @@ declare global {
|
|
|
26
35
|
y: number,
|
|
27
36
|
animated: boolean
|
|
28
37
|
) => void;
|
|
38
|
+
const _dispatchCommand: (
|
|
39
|
+
shadowNodeWrapper: ShadowNodeWrapper,
|
|
40
|
+
commandName: string,
|
|
41
|
+
args: Array<unknown>
|
|
42
|
+
) => void;
|
|
29
43
|
const _chronoNow: () => number;
|
|
30
44
|
const ReanimatedDataMock: {
|
|
31
45
|
now: () => number;
|
|
@@ -36,10 +50,12 @@ declare global {
|
|
|
36
50
|
_log: (s: string) => void;
|
|
37
51
|
_setGestureState: () => void;
|
|
38
52
|
_WORKLET: boolean;
|
|
53
|
+
_IS_FABRIC: boolean;
|
|
39
54
|
__reanimatedModuleProxy: NativeReanimated;
|
|
40
55
|
_frameTimestamp: number | null;
|
|
41
56
|
_measure: () => MeasuredDimensions;
|
|
42
57
|
_scrollTo: () => void;
|
|
58
|
+
_dispatchCommand: () => void;
|
|
43
59
|
_chronoNow: () => number;
|
|
44
60
|
performance: { now: () => number };
|
|
45
61
|
LayoutAnimationRepository: {
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { Context, ShadowNodeWrapper } from '../commonTypes';
|
|
2
2
|
|
|
3
|
-
export type
|
|
3
|
+
export type DependencyList = Array<unknown> | undefined;
|
|
4
4
|
|
|
5
5
|
export interface ContextWithDependencies<TContext extends Context> {
|
|
6
6
|
context: TContext;
|
|
7
7
|
savedDependencies: DependencyList;
|
|
8
8
|
}
|
|
9
|
+
|
|
9
10
|
export interface Descriptor {
|
|
10
11
|
tag: number;
|
|
11
12
|
name: string;
|
|
13
|
+
shadowNodeWrapper: ShadowNodeWrapper;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export interface RefObjectFunction<T> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
-
import { WorkletFunction } from '../commonTypes';
|
|
2
|
+
import { Context, WorkletFunction } from '../commonTypes';
|
|
3
3
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
4
|
-
import {
|
|
4
|
+
import { DependencyList } from './commonTypes';
|
|
5
5
|
import { useEvent, useHandler } from './Hooks';
|
|
6
6
|
|
|
7
7
|
interface Handler<T, TContext extends Context> extends WorkletFunction {
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { Component, useRef } from 'react';
|
|
2
|
-
import { getTag } from '../NativeMethods';
|
|
3
2
|
import { useSharedValue } from './useSharedValue';
|
|
4
3
|
import { RefObjectFunction } from './commonTypes';
|
|
4
|
+
import { ShadowNodeWrapper } from '../commonTypes';
|
|
5
|
+
import { getTag } from '../NativeMethods';
|
|
6
|
+
import { getShadowNodeWrapperFromHostInstance } from '../fabricUtils';
|
|
5
7
|
|
|
6
8
|
export function useAnimatedRef<T extends Component>(): RefObjectFunction<T> {
|
|
7
|
-
const tag = useSharedValue<number | null>(-1);
|
|
9
|
+
const tag = useSharedValue<number | ShadowNodeWrapper | null>(-1);
|
|
8
10
|
const ref = useRef<RefObjectFunction<T>>();
|
|
11
|
+
const isFabric = global._IS_FABRIC;
|
|
9
12
|
|
|
10
13
|
if (!ref.current) {
|
|
11
14
|
const fun: RefObjectFunction<T> = <RefObjectFunction<T>>((component) => {
|
|
12
15
|
'worklet';
|
|
13
16
|
// enters when ref is set by attaching to a component
|
|
14
17
|
if (component) {
|
|
15
|
-
tag.value =
|
|
18
|
+
tag.value = isFabric
|
|
19
|
+
? getShadowNodeWrapperFromHostInstance(component)
|
|
20
|
+
: getTag(component);
|
|
16
21
|
fun.current = component;
|
|
17
22
|
}
|
|
18
23
|
return tag.value;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
import { NativeScrollEvent } from 'react-native';
|
|
3
|
-
import { NativeEvent, WorkletFunction } from '../commonTypes';
|
|
3
|
+
import { Context, NativeEvent, WorkletFunction } from '../commonTypes';
|
|
4
4
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
5
|
-
import {
|
|
5
|
+
import { DependencyList } from './commonTypes';
|
|
6
6
|
import { useEvent, useHandler } from './Hooks';
|
|
7
7
|
|
|
8
8
|
export interface ScrollHandler<TContext extends Context>
|
|
@@ -2,6 +2,7 @@ import { MutableRefObject, useEffect, useRef } from 'react';
|
|
|
2
2
|
import { processColor } from '../Colors';
|
|
3
3
|
import {
|
|
4
4
|
AnimatedStyle,
|
|
5
|
+
Context,
|
|
5
6
|
NativeEvent,
|
|
6
7
|
NestedObjectValues,
|
|
7
8
|
StyleProps,
|
|
@@ -12,11 +13,7 @@ import { makeRemote } from '../core';
|
|
|
12
13
|
import { isWeb, isJest } from '../PlatformChecker';
|
|
13
14
|
import { colorProps } from '../UpdateProps';
|
|
14
15
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
15
|
-
import {
|
|
16
|
-
Context,
|
|
17
|
-
ContextWithDependencies,
|
|
18
|
-
DependencyList,
|
|
19
|
-
} from './commonTypes';
|
|
16
|
+
import { ContextWithDependencies, DependencyList } from './commonTypes';
|
|
20
17
|
|
|
21
18
|
interface Handler<T, TContext extends Context> extends WorkletFunction {
|
|
22
19
|
(event: T, context: TContext): void;
|
|
@@ -44,12 +41,6 @@ export function useEvent<T extends NativeEvent<T>>(
|
|
|
44
41
|
initRef.current.updateWorklet(handler);
|
|
45
42
|
}
|
|
46
43
|
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
return () => {
|
|
49
|
-
initRef.current = null;
|
|
50
|
-
};
|
|
51
|
-
}, []);
|
|
52
|
-
|
|
53
44
|
return initRef;
|
|
54
45
|
}
|
|
55
46
|
|
|
@@ -10,11 +10,15 @@ import {
|
|
|
10
10
|
} from './Colors';
|
|
11
11
|
import { makeMutable } from './core';
|
|
12
12
|
import { interpolate } from './interpolation';
|
|
13
|
-
// @ts-ignore JS file
|
|
14
|
-
import { Extrapolate } from '../reanimated1/derived';
|
|
15
13
|
import { SharedValue } from './commonTypes';
|
|
16
14
|
import { useSharedValue } from './hook/useSharedValue';
|
|
17
15
|
|
|
16
|
+
export const Extrapolate = {
|
|
17
|
+
EXTEND: 'extend',
|
|
18
|
+
CLAMP: 'clamp',
|
|
19
|
+
IDENTITY: 'identity',
|
|
20
|
+
};
|
|
21
|
+
|
|
18
22
|
const interpolateColorsHSV = (
|
|
19
23
|
value: number,
|
|
20
24
|
inputRange: readonly number[],
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
// @ts-ignore JS file
|
|
2
|
-
import interpolateNode from '../reanimated1/derived/interpolate';
|
|
3
|
-
|
|
4
1
|
export enum Extrapolation {
|
|
5
2
|
IDENTITY = 'identity',
|
|
6
3
|
CLAMP = 'clamp',
|
|
7
4
|
EXTEND = 'extend',
|
|
8
5
|
}
|
|
9
6
|
|
|
10
|
-
export interface InterpolatedNode {
|
|
11
|
-
__nodeId: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
7
|
interface InterpolationNarrowedInput {
|
|
15
8
|
leftEdgeInput: number;
|
|
16
9
|
rightEdgeInput: number;
|
|
@@ -34,11 +27,6 @@ export type ExtrapolationType =
|
|
|
34
27
|
| string
|
|
35
28
|
| undefined;
|
|
36
29
|
|
|
37
|
-
function isNode(x: number | InterpolatedNode): x is InterpolatedNode {
|
|
38
|
-
'worklet';
|
|
39
|
-
return (x as InterpolatedNode).__nodeId !== undefined;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
30
|
function getVal(
|
|
43
31
|
type: Extrapolation,
|
|
44
32
|
coef: number,
|
|
@@ -156,7 +144,7 @@ function internalInterpolate(
|
|
|
156
144
|
// TODO: support default values in worklets:
|
|
157
145
|
// e.g. function interpolate(x, input, output, type = Extrapolatation.CLAMP)
|
|
158
146
|
export function interpolate(
|
|
159
|
-
x: number
|
|
147
|
+
x: number,
|
|
160
148
|
input: readonly number[],
|
|
161
149
|
output: readonly number[],
|
|
162
150
|
type?: ExtrapolationType
|
|
@@ -169,19 +157,6 @@ export function interpolate(
|
|
|
169
157
|
}
|
|
170
158
|
|
|
171
159
|
const extrapolationConfig = validateType(type);
|
|
172
|
-
|
|
173
|
-
if (isNode(x)) {
|
|
174
|
-
console.warn(
|
|
175
|
-
`interpolate() was renamed to interpolateNode() in Reanimated 2. Please use interpolateNode() instead`
|
|
176
|
-
);
|
|
177
|
-
return interpolateNode(x, {
|
|
178
|
-
inputRange: input,
|
|
179
|
-
outputRange: output,
|
|
180
|
-
extrapolateLeft: extrapolationConfig.extrapolateLeft,
|
|
181
|
-
extrapolateRight: extrapolationConfig.extrapolateRight,
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
|
|
185
160
|
const length = input.length;
|
|
186
161
|
const narrowedInput: InterpolationNarrowedInput = {
|
|
187
162
|
leftEdgeInput: input[0],
|
|
@@ -36,6 +36,11 @@ if (shouldBeUseWeb()) {
|
|
|
36
36
|
"[Reanimated] You can't use `scrollTo` with Chrome Debugger or with web version"
|
|
37
37
|
);
|
|
38
38
|
};
|
|
39
|
+
global._dispatchCommand = () => {
|
|
40
|
+
console.warn(
|
|
41
|
+
"[Reanimated] You can't use `scrollTo` or `dispatchCommand` methods with Chrome Debugger or with web version"
|
|
42
|
+
);
|
|
43
|
+
};
|
|
39
44
|
global._setGestureState = () => {
|
|
40
45
|
console.warn(
|
|
41
46
|
"[Reanimated] You can't use `setGestureState` with Chrome Debugger or with web version"
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated;
|
|
2
|
-
|
|
3
|
-
import com.swmansion.reanimated.nodes.Node;
|
|
4
|
-
import java.util.ArrayList;
|
|
5
|
-
|
|
6
|
-
public class UpdateContext {
|
|
7
|
-
|
|
8
|
-
public long updateLoopID = 0;
|
|
9
|
-
public String callID = "";
|
|
10
|
-
public final ArrayList<Node> updatedNodes = new ArrayList<>();
|
|
11
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.MapUtils;
|
|
5
|
-
import com.swmansion.reanimated.NodesManager;
|
|
6
|
-
|
|
7
|
-
public class AlwaysNode extends Node implements FinalNode {
|
|
8
|
-
public AlwaysNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
9
|
-
super(nodeID, config, nodesManager);
|
|
10
|
-
mNodeToBeEvaluated =
|
|
11
|
-
MapUtils.getInt(
|
|
12
|
-
config,
|
|
13
|
-
"what",
|
|
14
|
-
"Reanimated: Argument passed to always node is either of wrong type or is missing.");
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
private int mNodeToBeEvaluated;
|
|
18
|
-
|
|
19
|
-
@Override
|
|
20
|
-
public void update() {
|
|
21
|
-
this.value();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@Override
|
|
25
|
-
protected Double evaluate() {
|
|
26
|
-
mNodesManager.findNodeById(mNodeToBeEvaluated, Node.class).value();
|
|
27
|
-
return ZERO;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import android.graphics.PointF;
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
5
|
-
import com.swmansion.reanimated.MapUtils;
|
|
6
|
-
import com.swmansion.reanimated.NodesManager;
|
|
7
|
-
|
|
8
|
-
public class BezierNode extends Node {
|
|
9
|
-
|
|
10
|
-
private static class CubicBezierInterpolator {
|
|
11
|
-
|
|
12
|
-
protected PointF start;
|
|
13
|
-
protected PointF end;
|
|
14
|
-
protected PointF a = new PointF();
|
|
15
|
-
protected PointF b = new PointF();
|
|
16
|
-
protected PointF c = new PointF();
|
|
17
|
-
|
|
18
|
-
public CubicBezierInterpolator(PointF start, PointF end) {
|
|
19
|
-
this.start = start;
|
|
20
|
-
this.end = end;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public CubicBezierInterpolator(float startX, float startY, float endX, float endY) {
|
|
24
|
-
this(new PointF(startX, startY), new PointF(endX, endY));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public float getInterpolation(float time) {
|
|
28
|
-
return getBezierCoordinateY(getXForTime(time));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
protected float getBezierCoordinateY(float time) {
|
|
32
|
-
c.y = 3 * start.y;
|
|
33
|
-
b.y = 3 * (end.y - start.y) - c.y;
|
|
34
|
-
a.y = 1 - c.y - b.y;
|
|
35
|
-
return time * (c.y + time * (b.y + time * a.y));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
protected float getXForTime(float time) {
|
|
39
|
-
float x = time;
|
|
40
|
-
float z;
|
|
41
|
-
for (int i = 1; i < 14; i++) {
|
|
42
|
-
z = getBezierCoordinateX(x) - time;
|
|
43
|
-
if (Math.abs(z) < 1e-3) {
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
x -= z / getXDerivate(x);
|
|
47
|
-
}
|
|
48
|
-
return x;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
private float getXDerivate(float t) {
|
|
52
|
-
return c.x + t * (2 * b.x + 3 * a.x * t);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
private float getBezierCoordinateX(float time) {
|
|
56
|
-
c.x = 3 * start.x;
|
|
57
|
-
b.x = 3 * (end.x - start.x) - c.x;
|
|
58
|
-
a.x = 1 - c.x - b.x;
|
|
59
|
-
return time * (c.x + time * (b.x + time * a.x));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
private final int mInputID;
|
|
64
|
-
private final CubicBezierInterpolator mInterpolator;
|
|
65
|
-
|
|
66
|
-
public BezierNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
67
|
-
super(nodeID, config, nodesManager);
|
|
68
|
-
|
|
69
|
-
mInputID =
|
|
70
|
-
MapUtils.getInt(
|
|
71
|
-
config,
|
|
72
|
-
"input",
|
|
73
|
-
"Reanimated: Argument passed to bezier node is either of wrong type or is missing.");
|
|
74
|
-
|
|
75
|
-
float startX = (float) config.getDouble("mX1");
|
|
76
|
-
float startY = (float) config.getDouble("mY1");
|
|
77
|
-
float endX = (float) config.getDouble("mX2");
|
|
78
|
-
float endY = (float) config.getDouble("mY2");
|
|
79
|
-
mInterpolator = new CubicBezierInterpolator(startX, startY, endX, endY);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@Override
|
|
83
|
-
protected Double evaluate() {
|
|
84
|
-
Double in = (Double) mNodesManager.getNodeValue(mInputID);
|
|
85
|
-
return Double.valueOf(mInterpolator.getInterpolation(in.floatValue()));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
import com.swmansion.reanimated.Utils;
|
|
6
|
-
|
|
7
|
-
public class BlockNode extends Node {
|
|
8
|
-
|
|
9
|
-
private final int[] mBlock;
|
|
10
|
-
|
|
11
|
-
public BlockNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
12
|
-
super(nodeID, config, nodesManager);
|
|
13
|
-
mBlock = Utils.processIntArray(config.getArray("block"));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
@Override
|
|
17
|
-
protected Object evaluate() {
|
|
18
|
-
Object res = null;
|
|
19
|
-
for (int i = 0; i < mBlock.length; i++) {
|
|
20
|
-
res = mNodesManager.findNodeById(mBlock[i], Node.class).value();
|
|
21
|
-
}
|
|
22
|
-
return res;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
import com.swmansion.reanimated.Utils;
|
|
6
|
-
|
|
7
|
-
public class CallFuncNode extends Node {
|
|
8
|
-
|
|
9
|
-
private String mPreviousCallID;
|
|
10
|
-
private final int mWhatNodeID;
|
|
11
|
-
private final int[] mArgs;
|
|
12
|
-
private final int[] mParams;
|
|
13
|
-
|
|
14
|
-
public CallFuncNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
15
|
-
super(nodeID, config, nodesManager);
|
|
16
|
-
mWhatNodeID = config.getInt("what");
|
|
17
|
-
mParams = Utils.processIntArray(config.getArray("params"));
|
|
18
|
-
mArgs = Utils.processIntArray(config.getArray("args"));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
private void beginContext() {
|
|
22
|
-
mPreviousCallID = mNodesManager.updateContext.callID;
|
|
23
|
-
mNodesManager.updateContext.callID =
|
|
24
|
-
mNodesManager.updateContext.callID + '/' + String.valueOf(mNodeID);
|
|
25
|
-
for (int i = 0; i < mParams.length; i++) {
|
|
26
|
-
int paramId = mParams[i];
|
|
27
|
-
ParamNode paramNode = mNodesManager.findNodeById(paramId, ParamNode.class);
|
|
28
|
-
paramNode.beginContext(mArgs[i], mPreviousCallID);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private void endContext() {
|
|
33
|
-
for (int i = 0; i < mParams.length; i++) {
|
|
34
|
-
int paramId = mParams[i];
|
|
35
|
-
ParamNode paramNode = mNodesManager.findNodeById(paramId, ParamNode.class);
|
|
36
|
-
paramNode.endContext();
|
|
37
|
-
}
|
|
38
|
-
mNodesManager.updateContext.callID = mPreviousCallID;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@Override
|
|
42
|
-
protected Object evaluate() {
|
|
43
|
-
beginContext();
|
|
44
|
-
Node whatNode = mNodesManager.findNodeById(mWhatNodeID, Node.class);
|
|
45
|
-
Object retVal = whatNode.value();
|
|
46
|
-
endContext();
|
|
47
|
-
return retVal;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.NodesManager;
|
|
5
|
-
|
|
6
|
-
public class ClockNode extends Node implements NodesManager.OnAnimationFrame {
|
|
7
|
-
|
|
8
|
-
public boolean isRunning;
|
|
9
|
-
|
|
10
|
-
public ClockNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
11
|
-
super(nodeID, config, nodesManager);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public void start() {
|
|
15
|
-
if (isRunning) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
isRunning = true;
|
|
19
|
-
mNodesManager.postOnAnimation(this);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public void stop() {
|
|
23
|
-
isRunning = false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@Override
|
|
27
|
-
protected Double evaluate() {
|
|
28
|
-
return mNodesManager.currentFrameTimeMs;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@Override
|
|
32
|
-
public void onAnimationFrame(double timestampMs) {
|
|
33
|
-
if (isRunning) {
|
|
34
|
-
markUpdated();
|
|
35
|
-
mNodesManager.postOnAnimation(this);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
package com.swmansion.reanimated.nodes;
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
4
|
-
import com.swmansion.reanimated.MapUtils;
|
|
5
|
-
import com.swmansion.reanimated.NodesManager;
|
|
6
|
-
|
|
7
|
-
public abstract class ClockOpNode extends Node {
|
|
8
|
-
|
|
9
|
-
public static class ClockStartNode extends ClockOpNode {
|
|
10
|
-
public ClockStartNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
11
|
-
super(nodeID, config, nodesManager);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@Override
|
|
15
|
-
protected Double eval(Node clock) {
|
|
16
|
-
if (clock instanceof ParamNode) {
|
|
17
|
-
((ParamNode) clock).start();
|
|
18
|
-
} else {
|
|
19
|
-
((ClockNode) clock).start();
|
|
20
|
-
}
|
|
21
|
-
return ZERO;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public static class ClockStopNode extends ClockOpNode {
|
|
26
|
-
public ClockStopNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
27
|
-
super(nodeID, config, nodesManager);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@Override
|
|
31
|
-
protected Double eval(Node clock) {
|
|
32
|
-
if (clock instanceof ParamNode) {
|
|
33
|
-
((ParamNode) clock).stop();
|
|
34
|
-
} else {
|
|
35
|
-
((ClockNode) clock).stop();
|
|
36
|
-
}
|
|
37
|
-
return ZERO;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public static class ClockTestNode extends ClockOpNode {
|
|
42
|
-
public ClockTestNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
43
|
-
super(nodeID, config, nodesManager);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@Override
|
|
47
|
-
protected Double eval(Node clock) {
|
|
48
|
-
if (clock instanceof ParamNode) {
|
|
49
|
-
return ((ParamNode) clock).isRunning() ? 1. : 0.;
|
|
50
|
-
}
|
|
51
|
-
return ((ClockNode) clock).isRunning ? 1. : 0.;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
private int clockID;
|
|
56
|
-
|
|
57
|
-
public ClockOpNode(int nodeID, ReadableMap config, NodesManager nodesManager) {
|
|
58
|
-
super(nodeID, config, nodesManager);
|
|
59
|
-
clockID =
|
|
60
|
-
MapUtils.getInt(
|
|
61
|
-
config,
|
|
62
|
-
"clock",
|
|
63
|
-
"Reanimated: Argument passed to clock node is either of wrong type or is missing.");
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
@Override
|
|
67
|
-
protected Double evaluate() {
|
|
68
|
-
Node clock = mNodesManager.findNodeById(clockID, Node.class);
|
|
69
|
-
return eval(clock);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
protected abstract Double eval(Node clock);
|
|
73
|
-
}
|