@react-native-ohos/react-native-reanimated 4.0.0-rc.1 → 4.0.2-beta.1
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/compatibility.json +161 -161
- package/harmony/reanimated/BuildProfile.ets +16 -16
- package/harmony/reanimated/build-profile.json5 +18 -18
- package/harmony/reanimated/hvigorfile.ts +4 -4
- package/harmony/reanimated/index.ets +4 -4
- package/harmony/reanimated/oh-package-lock.json5 +39 -0
- package/harmony/reanimated/oh-package.json5 +12 -12
- package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -110
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1376
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -230
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
- package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
- package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
- package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
- package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
- package/harmony/reanimated/src/main/module.json5 +12 -12
- package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
- package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
- package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
- package/harmony/reanimated/ts.ts +6 -6
- package/harmony/reanimated.har +0 -0
- package/package.json +70 -68
- package/scripts/deploy.js +191 -191
- package/scripts/set-reanimated-version.js +37 -37
- package/scripts/update-version.js +119 -119
- package/scripts/validate-react-native-version.js +46 -46
- package/scripts/validate-worklets-build.js +17 -17
- package/scripts/validate-worklets-version.js +84 -79
- package/scripts/worklets-version.json +4 -4
- package/src/index.ts +9 -9
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
#include <reanimated/CSS/progress/TransitionProgressProvider.h>
|
|
2
|
-
|
|
3
|
-
#include <limits>
|
|
4
|
-
#include <memory>
|
|
5
|
-
#include <string>
|
|
6
|
-
#include <unordered_set>
|
|
7
|
-
|
|
8
|
-
namespace reanimated::css {
|
|
9
|
-
|
|
10
|
-
// TransitionPropertyProgressProvider
|
|
11
|
-
|
|
12
|
-
TransitionPropertyProgressProvider::TransitionPropertyProgressProvider(
|
|
13
|
-
const double timestamp,
|
|
14
|
-
const double duration,
|
|
15
|
-
const double delay,
|
|
16
|
-
const EasingFunction &easingFunction)
|
|
17
|
-
: RawProgressProvider(timestamp, duration, delay), easingFunction_(easingFunction) {}
|
|
18
|
-
|
|
19
|
-
TransitionPropertyProgressProvider::TransitionPropertyProgressProvider(
|
|
20
|
-
const double timestamp,
|
|
21
|
-
const double duration,
|
|
22
|
-
const double delay,
|
|
23
|
-
const EasingFunction &easingFunction,
|
|
24
|
-
const double reversingShorteningFactor)
|
|
25
|
-
: RawProgressProvider(timestamp, duration, delay),
|
|
26
|
-
easingFunction_(easingFunction),
|
|
27
|
-
reversingShorteningFactor_(reversingShorteningFactor) {}
|
|
28
|
-
|
|
29
|
-
double TransitionPropertyProgressProvider::getGlobalProgress() const {
|
|
30
|
-
return rawProgress_.value_or(0);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
double TransitionPropertyProgressProvider::getKeyframeProgress(const double fromOffset, const double toOffset) const {
|
|
34
|
-
if (fromOffset == toOffset) {
|
|
35
|
-
return 1;
|
|
36
|
-
}
|
|
37
|
-
return easingFunction_(getGlobalProgress());
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
double TransitionPropertyProgressProvider::getRemainingDelay(const double timestamp) const {
|
|
41
|
-
return delay_ - (timestamp - creationTimestamp_);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
double TransitionPropertyProgressProvider::getReversingShorteningFactor() const {
|
|
45
|
-
return reversingShorteningFactor_;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
TransitionProgressState TransitionPropertyProgressProvider::getState() const {
|
|
49
|
-
if (!rawProgress_.has_value()) {
|
|
50
|
-
return TransitionProgressState::Pending;
|
|
51
|
-
}
|
|
52
|
-
const auto rawProgress = rawProgress_.value();
|
|
53
|
-
if (rawProgress >= 1) {
|
|
54
|
-
return TransitionProgressState::Finished;
|
|
55
|
-
}
|
|
56
|
-
return TransitionProgressState::Running;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
std::optional<double> TransitionPropertyProgressProvider::calculateRawProgress(const double timestamp) {
|
|
60
|
-
if (duration_ == 0) {
|
|
61
|
-
return 1;
|
|
62
|
-
}
|
|
63
|
-
return getElapsedTime(timestamp) / duration_;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
double TransitionPropertyProgressProvider::getElapsedTime(const double timestamp) const {
|
|
67
|
-
return timestamp - (creationTimestamp_ + delay_);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// TransitionProgressProvider
|
|
71
|
-
|
|
72
|
-
TransitionProgressState TransitionProgressProvider::getState() const {
|
|
73
|
-
for (const auto &[_, propertyProgressProvider] : propertyProgressProviders_) {
|
|
74
|
-
if (propertyProgressProvider->getState() == TransitionProgressState::Running) {
|
|
75
|
-
return TransitionProgressState::Running;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return TransitionProgressState::Pending;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
double TransitionProgressProvider::getMinDelay(const double timestamp) const {
|
|
82
|
-
if (propertyProgressProviders_.empty()) {
|
|
83
|
-
return 0;
|
|
84
|
-
}
|
|
85
|
-
auto minDelay = std::numeric_limits<double>::max();
|
|
86
|
-
|
|
87
|
-
for (const auto &[_, propertyProgressProvider] : propertyProgressProviders_) {
|
|
88
|
-
const auto remainingDelay = propertyProgressProvider->getRemainingDelay(timestamp);
|
|
89
|
-
if (remainingDelay < minDelay) {
|
|
90
|
-
minDelay = remainingDelay;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return minDelay;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
TransitionPropertyProgressProviders TransitionProgressProvider::getPropertyProgressProviders() const {
|
|
98
|
-
return propertyProgressProviders_;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
std::unordered_set<std::string> TransitionProgressProvider::getRemovedProperties() const {
|
|
102
|
-
return removedProperties_;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
void TransitionProgressProvider::discardFinishedProgressProviders() {
|
|
106
|
-
for (auto it = propertyProgressProviders_.begin(); it != propertyProgressProviders_.end();) {
|
|
107
|
-
if (it->second->getState() == TransitionProgressState::Finished) {
|
|
108
|
-
it = propertyProgressProviders_.erase(it);
|
|
109
|
-
} else {
|
|
110
|
-
++it;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
void TransitionProgressProvider::discardIrrelevantProgressProviders(
|
|
116
|
-
const std::unordered_set<std::string> &transitionPropertyNames) {
|
|
117
|
-
for (auto it = propertyProgressProviders_.begin(); it != propertyProgressProviders_.end();) {
|
|
118
|
-
// Remove property progress providers for properties not specified in the
|
|
119
|
-
// transition property names
|
|
120
|
-
if (transitionPropertyNames.find(it->first) == transitionPropertyNames.end()) {
|
|
121
|
-
it = propertyProgressProviders_.erase(it);
|
|
122
|
-
} else {
|
|
123
|
-
++it;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
void TransitionProgressProvider::runProgressProviders(
|
|
129
|
-
const double timestamp,
|
|
130
|
-
const CSSTransitionPropertiesSettings &propertiesSettings,
|
|
131
|
-
const PropertyNames &changedPropertyNames,
|
|
132
|
-
const std::unordered_set<std::string> &reversedPropertyNames) {
|
|
133
|
-
for (const auto &propertyName : changedPropertyNames) {
|
|
134
|
-
const auto propertySettingsOptional = getTransitionPropertySettings(propertiesSettings, propertyName);
|
|
135
|
-
|
|
136
|
-
if (!propertySettingsOptional.has_value()) {
|
|
137
|
-
throw std::invalid_argument("[Reanimated] Property '" + propertyName + "' is not a valid transition property");
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const auto &propertySettings = propertySettingsOptional.value();
|
|
141
|
-
const auto it = propertyProgressProviders_.find(propertyName);
|
|
142
|
-
|
|
143
|
-
if (it != propertyProgressProviders_.end()) {
|
|
144
|
-
const auto &progressProvider = it->second;
|
|
145
|
-
progressProvider->update(timestamp);
|
|
146
|
-
|
|
147
|
-
if (reversedPropertyNames.find(propertyName) != reversedPropertyNames.end() &&
|
|
148
|
-
progressProvider->getState() != TransitionProgressState::Finished) {
|
|
149
|
-
// Create reversing shortening progress provider for interrupted
|
|
150
|
-
// reversing transition
|
|
151
|
-
propertyProgressProviders_.insert_or_assign(
|
|
152
|
-
propertyName, createReversingShorteningProgressProvider(timestamp, propertySettings, *progressProvider));
|
|
153
|
-
continue;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Create progress provider with the new settings
|
|
158
|
-
propertyProgressProviders_.insert_or_assign(
|
|
159
|
-
propertyName,
|
|
160
|
-
std::make_shared<TransitionPropertyProgressProvider>(
|
|
161
|
-
timestamp, propertySettings.duration, propertySettings.delay, propertySettings.easingFunction));
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
void TransitionProgressProvider::update(const double timestamp) {
|
|
166
|
-
removedProperties_.clear();
|
|
167
|
-
|
|
168
|
-
for (const auto &[propertyName, propertyProgressProvider] : propertyProgressProviders_) {
|
|
169
|
-
propertyProgressProvider->update(timestamp);
|
|
170
|
-
if (propertyProgressProvider->getState() == TransitionProgressState::Finished) {
|
|
171
|
-
removedProperties_.insert(propertyName);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
std::shared_ptr<TransitionPropertyProgressProvider>
|
|
177
|
-
TransitionProgressProvider::createReversingShorteningProgressProvider(
|
|
178
|
-
const double timestamp,
|
|
179
|
-
const CSSTransitionPropertySettings &propertySettings,
|
|
180
|
-
const TransitionPropertyProgressProvider &existingProgressProvider) {
|
|
181
|
-
const auto oldProgress = existingProgressProvider.getKeyframeProgress(0, 1);
|
|
182
|
-
const auto oldReversingShorteningFactor = existingProgressProvider.getReversingShorteningFactor();
|
|
183
|
-
auto newReversingShorteningFactor = oldProgress * oldReversingShorteningFactor + (1 - oldReversingShorteningFactor);
|
|
184
|
-
|
|
185
|
-
return std::make_shared<TransitionPropertyProgressProvider>(
|
|
186
|
-
timestamp,
|
|
187
|
-
propertySettings.duration * newReversingShorteningFactor,
|
|
188
|
-
propertySettings.delay < 0 ? newReversingShorteningFactor * propertySettings.delay : propertySettings.delay,
|
|
189
|
-
propertySettings.easingFunction,
|
|
190
|
-
newReversingShorteningFactor);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
} // namespace reanimated::css
|
|
1
|
+
#include <reanimated/CSS/progress/TransitionProgressProvider.h>
|
|
2
|
+
|
|
3
|
+
#include <limits>
|
|
4
|
+
#include <memory>
|
|
5
|
+
#include <string>
|
|
6
|
+
#include <unordered_set>
|
|
7
|
+
|
|
8
|
+
namespace reanimated::css {
|
|
9
|
+
|
|
10
|
+
// TransitionPropertyProgressProvider
|
|
11
|
+
|
|
12
|
+
TransitionPropertyProgressProvider::TransitionPropertyProgressProvider(
|
|
13
|
+
const double timestamp,
|
|
14
|
+
const double duration,
|
|
15
|
+
const double delay,
|
|
16
|
+
const EasingFunction &easingFunction)
|
|
17
|
+
: RawProgressProvider(timestamp, duration, delay), easingFunction_(easingFunction) {}
|
|
18
|
+
|
|
19
|
+
TransitionPropertyProgressProvider::TransitionPropertyProgressProvider(
|
|
20
|
+
const double timestamp,
|
|
21
|
+
const double duration,
|
|
22
|
+
const double delay,
|
|
23
|
+
const EasingFunction &easingFunction,
|
|
24
|
+
const double reversingShorteningFactor)
|
|
25
|
+
: RawProgressProvider(timestamp, duration, delay),
|
|
26
|
+
easingFunction_(easingFunction),
|
|
27
|
+
reversingShorteningFactor_(reversingShorteningFactor) {}
|
|
28
|
+
|
|
29
|
+
double TransitionPropertyProgressProvider::getGlobalProgress() const {
|
|
30
|
+
return rawProgress_.value_or(0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
double TransitionPropertyProgressProvider::getKeyframeProgress(const double fromOffset, const double toOffset) const {
|
|
34
|
+
if (fromOffset == toOffset) {
|
|
35
|
+
return 1;
|
|
36
|
+
}
|
|
37
|
+
return easingFunction_(getGlobalProgress());
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
double TransitionPropertyProgressProvider::getRemainingDelay(const double timestamp) const {
|
|
41
|
+
return delay_ - (timestamp - creationTimestamp_);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
double TransitionPropertyProgressProvider::getReversingShorteningFactor() const {
|
|
45
|
+
return reversingShorteningFactor_;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
TransitionProgressState TransitionPropertyProgressProvider::getState() const {
|
|
49
|
+
if (!rawProgress_.has_value()) {
|
|
50
|
+
return TransitionProgressState::Pending;
|
|
51
|
+
}
|
|
52
|
+
const auto rawProgress = rawProgress_.value();
|
|
53
|
+
if (rawProgress >= 1) {
|
|
54
|
+
return TransitionProgressState::Finished;
|
|
55
|
+
}
|
|
56
|
+
return TransitionProgressState::Running;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
std::optional<double> TransitionPropertyProgressProvider::calculateRawProgress(const double timestamp) {
|
|
60
|
+
if (duration_ == 0) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
63
|
+
return getElapsedTime(timestamp) / duration_;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
double TransitionPropertyProgressProvider::getElapsedTime(const double timestamp) const {
|
|
67
|
+
return timestamp - (creationTimestamp_ + delay_);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// TransitionProgressProvider
|
|
71
|
+
|
|
72
|
+
TransitionProgressState TransitionProgressProvider::getState() const {
|
|
73
|
+
for (const auto &[_, propertyProgressProvider] : propertyProgressProviders_) {
|
|
74
|
+
if (propertyProgressProvider->getState() == TransitionProgressState::Running) {
|
|
75
|
+
return TransitionProgressState::Running;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return TransitionProgressState::Pending;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
double TransitionProgressProvider::getMinDelay(const double timestamp) const {
|
|
82
|
+
if (propertyProgressProviders_.empty()) {
|
|
83
|
+
return 0;
|
|
84
|
+
}
|
|
85
|
+
auto minDelay = std::numeric_limits<double>::max();
|
|
86
|
+
|
|
87
|
+
for (const auto &[_, propertyProgressProvider] : propertyProgressProviders_) {
|
|
88
|
+
const auto remainingDelay = propertyProgressProvider->getRemainingDelay(timestamp);
|
|
89
|
+
if (remainingDelay < minDelay) {
|
|
90
|
+
minDelay = remainingDelay;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return minDelay;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
TransitionPropertyProgressProviders TransitionProgressProvider::getPropertyProgressProviders() const {
|
|
98
|
+
return propertyProgressProviders_;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
std::unordered_set<std::string> TransitionProgressProvider::getRemovedProperties() const {
|
|
102
|
+
return removedProperties_;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
void TransitionProgressProvider::discardFinishedProgressProviders() {
|
|
106
|
+
for (auto it = propertyProgressProviders_.begin(); it != propertyProgressProviders_.end();) {
|
|
107
|
+
if (it->second->getState() == TransitionProgressState::Finished) {
|
|
108
|
+
it = propertyProgressProviders_.erase(it);
|
|
109
|
+
} else {
|
|
110
|
+
++it;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
void TransitionProgressProvider::discardIrrelevantProgressProviders(
|
|
116
|
+
const std::unordered_set<std::string> &transitionPropertyNames) {
|
|
117
|
+
for (auto it = propertyProgressProviders_.begin(); it != propertyProgressProviders_.end();) {
|
|
118
|
+
// Remove property progress providers for properties not specified in the
|
|
119
|
+
// transition property names
|
|
120
|
+
if (transitionPropertyNames.find(it->first) == transitionPropertyNames.end()) {
|
|
121
|
+
it = propertyProgressProviders_.erase(it);
|
|
122
|
+
} else {
|
|
123
|
+
++it;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
void TransitionProgressProvider::runProgressProviders(
|
|
129
|
+
const double timestamp,
|
|
130
|
+
const CSSTransitionPropertiesSettings &propertiesSettings,
|
|
131
|
+
const PropertyNames &changedPropertyNames,
|
|
132
|
+
const std::unordered_set<std::string> &reversedPropertyNames) {
|
|
133
|
+
for (const auto &propertyName : changedPropertyNames) {
|
|
134
|
+
const auto propertySettingsOptional = getTransitionPropertySettings(propertiesSettings, propertyName);
|
|
135
|
+
|
|
136
|
+
if (!propertySettingsOptional.has_value()) {
|
|
137
|
+
throw std::invalid_argument("[Reanimated] Property '" + propertyName + "' is not a valid transition property");
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const auto &propertySettings = propertySettingsOptional.value();
|
|
141
|
+
const auto it = propertyProgressProviders_.find(propertyName);
|
|
142
|
+
|
|
143
|
+
if (it != propertyProgressProviders_.end()) {
|
|
144
|
+
const auto &progressProvider = it->second;
|
|
145
|
+
progressProvider->update(timestamp);
|
|
146
|
+
|
|
147
|
+
if (reversedPropertyNames.find(propertyName) != reversedPropertyNames.end() &&
|
|
148
|
+
progressProvider->getState() != TransitionProgressState::Finished) {
|
|
149
|
+
// Create reversing shortening progress provider for interrupted
|
|
150
|
+
// reversing transition
|
|
151
|
+
propertyProgressProviders_.insert_or_assign(
|
|
152
|
+
propertyName, createReversingShorteningProgressProvider(timestamp, propertySettings, *progressProvider));
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Create progress provider with the new settings
|
|
158
|
+
propertyProgressProviders_.insert_or_assign(
|
|
159
|
+
propertyName,
|
|
160
|
+
std::make_shared<TransitionPropertyProgressProvider>(
|
|
161
|
+
timestamp, propertySettings.duration, propertySettings.delay, propertySettings.easingFunction));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
void TransitionProgressProvider::update(const double timestamp) {
|
|
166
|
+
removedProperties_.clear();
|
|
167
|
+
|
|
168
|
+
for (const auto &[propertyName, propertyProgressProvider] : propertyProgressProviders_) {
|
|
169
|
+
propertyProgressProvider->update(timestamp);
|
|
170
|
+
if (propertyProgressProvider->getState() == TransitionProgressState::Finished) {
|
|
171
|
+
removedProperties_.insert(propertyName);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
std::shared_ptr<TransitionPropertyProgressProvider>
|
|
177
|
+
TransitionProgressProvider::createReversingShorteningProgressProvider(
|
|
178
|
+
const double timestamp,
|
|
179
|
+
const CSSTransitionPropertySettings &propertySettings,
|
|
180
|
+
const TransitionPropertyProgressProvider &existingProgressProvider) {
|
|
181
|
+
const auto oldProgress = existingProgressProvider.getKeyframeProgress(0, 1);
|
|
182
|
+
const auto oldReversingShorteningFactor = existingProgressProvider.getReversingShorteningFactor();
|
|
183
|
+
auto newReversingShorteningFactor = oldProgress * oldReversingShorteningFactor + (1 - oldReversingShorteningFactor);
|
|
184
|
+
|
|
185
|
+
return std::make_shared<TransitionPropertyProgressProvider>(
|
|
186
|
+
timestamp,
|
|
187
|
+
propertySettings.duration * newReversingShorteningFactor,
|
|
188
|
+
propertySettings.delay < 0 ? newReversingShorteningFactor * propertySettings.delay : propertySettings.delay,
|
|
189
|
+
propertySettings.easingFunction,
|
|
190
|
+
newReversingShorteningFactor);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
} // namespace reanimated::css
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <reanimated/CSS/configs/CSSTransitionConfig.h>
|
|
4
|
-
#include <reanimated/CSS/progress/KeyframeProgressProvider.h>
|
|
5
|
-
#include <reanimated/CSS/progress/RawProgressProvider.h>
|
|
6
|
-
#include <reanimated/CSS/utils/props.h>
|
|
7
|
-
|
|
8
|
-
#include <memory>
|
|
9
|
-
#include <string>
|
|
10
|
-
#include <unordered_map>
|
|
11
|
-
#include <unordered_set>
|
|
12
|
-
|
|
13
|
-
namespace reanimated::css {
|
|
14
|
-
|
|
15
|
-
enum class TransitionProgressState : std::uint8_t { Pending, Running, Finished };
|
|
16
|
-
|
|
17
|
-
class TransitionPropertyProgressProvider final : public KeyframeProgressProvider, public RawProgressProvider {
|
|
18
|
-
public:
|
|
19
|
-
TransitionPropertyProgressProvider(
|
|
20
|
-
double timestamp,
|
|
21
|
-
double duration,
|
|
22
|
-
double delay,
|
|
23
|
-
const EasingFunction &easingFunction);
|
|
24
|
-
TransitionPropertyProgressProvider(
|
|
25
|
-
double timestamp,
|
|
26
|
-
double duration,
|
|
27
|
-
double delay,
|
|
28
|
-
const EasingFunction &easingFunction,
|
|
29
|
-
double reversingShorteningFactor);
|
|
30
|
-
|
|
31
|
-
double getGlobalProgress() const override;
|
|
32
|
-
double getKeyframeProgress(double fromOffset, double toOffset) const override;
|
|
33
|
-
double getRemainingDelay(double timestamp) const;
|
|
34
|
-
double getReversingShorteningFactor() const;
|
|
35
|
-
TransitionProgressState getState() const;
|
|
36
|
-
|
|
37
|
-
protected:
|
|
38
|
-
std::optional<double> calculateRawProgress(double timestamp) override;
|
|
39
|
-
|
|
40
|
-
private:
|
|
41
|
-
EasingFunction easingFunction_;
|
|
42
|
-
double reversingShorteningFactor_ = 1;
|
|
43
|
-
|
|
44
|
-
double getElapsedTime(double timestamp) const;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
using TransitionPropertyProgressProviders =
|
|
48
|
-
std::unordered_map<std::string, std::shared_ptr<TransitionPropertyProgressProvider>>;
|
|
49
|
-
|
|
50
|
-
class TransitionProgressProvider final {
|
|
51
|
-
public:
|
|
52
|
-
TransitionProgressState getState() const;
|
|
53
|
-
double getMinDelay(double timestamp) const;
|
|
54
|
-
TransitionPropertyProgressProviders getPropertyProgressProviders() const;
|
|
55
|
-
std::unordered_set<std::string> getRemovedProperties() const;
|
|
56
|
-
|
|
57
|
-
void discardFinishedProgressProviders();
|
|
58
|
-
void discardIrrelevantProgressProviders(const std::unordered_set<std::string> &transitionPropertyNames);
|
|
59
|
-
void runProgressProviders(
|
|
60
|
-
double timestamp,
|
|
61
|
-
const CSSTransitionPropertiesSettings &propertiesSettings,
|
|
62
|
-
const PropertyNames &changedPropertyNames,
|
|
63
|
-
const std::unordered_set<std::string> &reversedPropertyNames);
|
|
64
|
-
void update(double timestamp);
|
|
65
|
-
|
|
66
|
-
private:
|
|
67
|
-
TransitionPropertyProgressProviders propertyProgressProviders_;
|
|
68
|
-
|
|
69
|
-
std::unordered_set<std::string> removedProperties_;
|
|
70
|
-
|
|
71
|
-
std::shared_ptr<TransitionPropertyProgressProvider> createReversingShorteningProgressProvider(
|
|
72
|
-
double timestamp,
|
|
73
|
-
const CSSTransitionPropertySettings &propertySettings,
|
|
74
|
-
const TransitionPropertyProgressProvider &existingProgressProvider);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
} // namespace reanimated::css
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <reanimated/CSS/configs/CSSTransitionConfig.h>
|
|
4
|
+
#include <reanimated/CSS/progress/KeyframeProgressProvider.h>
|
|
5
|
+
#include <reanimated/CSS/progress/RawProgressProvider.h>
|
|
6
|
+
#include <reanimated/CSS/utils/props.h>
|
|
7
|
+
|
|
8
|
+
#include <memory>
|
|
9
|
+
#include <string>
|
|
10
|
+
#include <unordered_map>
|
|
11
|
+
#include <unordered_set>
|
|
12
|
+
|
|
13
|
+
namespace reanimated::css {
|
|
14
|
+
|
|
15
|
+
enum class TransitionProgressState : std::uint8_t { Pending, Running, Finished };
|
|
16
|
+
|
|
17
|
+
class TransitionPropertyProgressProvider final : public KeyframeProgressProvider, public RawProgressProvider {
|
|
18
|
+
public:
|
|
19
|
+
TransitionPropertyProgressProvider(
|
|
20
|
+
double timestamp,
|
|
21
|
+
double duration,
|
|
22
|
+
double delay,
|
|
23
|
+
const EasingFunction &easingFunction);
|
|
24
|
+
TransitionPropertyProgressProvider(
|
|
25
|
+
double timestamp,
|
|
26
|
+
double duration,
|
|
27
|
+
double delay,
|
|
28
|
+
const EasingFunction &easingFunction,
|
|
29
|
+
double reversingShorteningFactor);
|
|
30
|
+
|
|
31
|
+
double getGlobalProgress() const override;
|
|
32
|
+
double getKeyframeProgress(double fromOffset, double toOffset) const override;
|
|
33
|
+
double getRemainingDelay(double timestamp) const;
|
|
34
|
+
double getReversingShorteningFactor() const;
|
|
35
|
+
TransitionProgressState getState() const;
|
|
36
|
+
|
|
37
|
+
protected:
|
|
38
|
+
std::optional<double> calculateRawProgress(double timestamp) override;
|
|
39
|
+
|
|
40
|
+
private:
|
|
41
|
+
EasingFunction easingFunction_;
|
|
42
|
+
double reversingShorteningFactor_ = 1;
|
|
43
|
+
|
|
44
|
+
double getElapsedTime(double timestamp) const;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
using TransitionPropertyProgressProviders =
|
|
48
|
+
std::unordered_map<std::string, std::shared_ptr<TransitionPropertyProgressProvider>>;
|
|
49
|
+
|
|
50
|
+
class TransitionProgressProvider final {
|
|
51
|
+
public:
|
|
52
|
+
TransitionProgressState getState() const;
|
|
53
|
+
double getMinDelay(double timestamp) const;
|
|
54
|
+
TransitionPropertyProgressProviders getPropertyProgressProviders() const;
|
|
55
|
+
std::unordered_set<std::string> getRemovedProperties() const;
|
|
56
|
+
|
|
57
|
+
void discardFinishedProgressProviders();
|
|
58
|
+
void discardIrrelevantProgressProviders(const std::unordered_set<std::string> &transitionPropertyNames);
|
|
59
|
+
void runProgressProviders(
|
|
60
|
+
double timestamp,
|
|
61
|
+
const CSSTransitionPropertiesSettings &propertiesSettings,
|
|
62
|
+
const PropertyNames &changedPropertyNames,
|
|
63
|
+
const std::unordered_set<std::string> &reversedPropertyNames);
|
|
64
|
+
void update(double timestamp);
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
TransitionPropertyProgressProviders propertyProgressProviders_;
|
|
68
|
+
|
|
69
|
+
std::unordered_set<std::string> removedProperties_;
|
|
70
|
+
|
|
71
|
+
std::shared_ptr<TransitionPropertyProgressProvider> createReversingShorteningProgressProvider(
|
|
72
|
+
double timestamp,
|
|
73
|
+
const CSSTransitionPropertySettings &propertySettings,
|
|
74
|
+
const TransitionPropertyProgressProvider &existingProgressProvider);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
} // namespace reanimated::css
|