@react-native-ohos/react-native-reanimated 4.0.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 +1 -1
- 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 -94
- 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 -45
- 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 -111
- 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 -1380
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -230
- 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 -233
- 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 -69
- 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 -84
- package/scripts/worklets-version.json +4 -4
- package/src/index.ts +9 -9
|
@@ -1,224 +1,224 @@
|
|
|
1
|
-
#include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
|
|
2
|
-
|
|
3
|
-
#include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
|
|
4
|
-
#include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
|
|
5
|
-
#include <reanimated/CSS/common/values/CSSAngle.h>
|
|
6
|
-
#include <reanimated/CSS/common/values/CSSLength.h>
|
|
7
|
-
#include <reanimated/CSS/common/values/CSSNumber.h>
|
|
8
|
-
|
|
9
|
-
#include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
|
|
10
|
-
#include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
|
|
11
|
-
#include <reanimated/CSS/interpolation/transforms/operations/rotate.h>
|
|
12
|
-
#include <reanimated/CSS/interpolation/transforms/operations/scale.h>
|
|
13
|
-
#include <reanimated/CSS/interpolation/transforms/operations/skew.h>
|
|
14
|
-
#include <reanimated/CSS/interpolation/transforms/operations/translate.h>
|
|
15
|
-
|
|
16
|
-
#include <utility>
|
|
17
|
-
|
|
18
|
-
namespace reanimated::css {
|
|
19
|
-
|
|
20
|
-
std::string createConversionErrorMessage(const TransformOp fromType, const TransformOp toType) {
|
|
21
|
-
return "[Reanimated] Cannot convert transform operation of type: " + getTransformOperationName(fromType) +
|
|
22
|
-
" to type: " + getTransformOperationName(toType);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
TransformOperation::TransformOperation(TransformOp type) : StyleOperation(static_cast<uint8_t>(type)) {}
|
|
26
|
-
|
|
27
|
-
bool TransformOperation::canConvertTo(const TransformOp targetType) const {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
void TransformOperation::assertCanConvertTo(const TransformOp targetType) const {
|
|
32
|
-
if (!canConvertTo(targetType)) {
|
|
33
|
-
throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
TransformOperations TransformOperation::convertTo(const TransformOp targetType) const {
|
|
38
|
-
throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
std::string TransformOperation::getOperationName() const {
|
|
42
|
-
return getTransformOperationName(static_cast<TransformOp>(type));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
bool TransformOperation::is3D() const {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
std::shared_ptr<TransformOperation> TransformOperation::fromJSIValue(jsi::Runtime &rt, const jsi::Value &value) {
|
|
50
|
-
if (!value.isObject()) {
|
|
51
|
-
throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
jsi::Object obj = value.asObject(rt);
|
|
55
|
-
auto propertyNames = obj.getPropertyNames(rt);
|
|
56
|
-
|
|
57
|
-
if (propertyNames.size(rt) != 1) {
|
|
58
|
-
throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const auto propertyName = propertyNames.getValueAtIndex(rt, 0).asString(rt).utf8(rt);
|
|
62
|
-
const auto propertyValue = obj.getProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName));
|
|
63
|
-
const TransformOp operationType = getTransformOperationType(propertyName);
|
|
64
|
-
|
|
65
|
-
switch (operationType) {
|
|
66
|
-
case TransformOp::Perspective:
|
|
67
|
-
return std::make_shared<PerspectiveOperation>(propertyValue.asNumber());
|
|
68
|
-
case TransformOp::Rotate:
|
|
69
|
-
return std::make_shared<RotateOperation>(propertyValue.asString(rt).utf8(rt));
|
|
70
|
-
case TransformOp::RotateX:
|
|
71
|
-
return std::make_shared<RotateXOperation>(propertyValue.asString(rt).utf8(rt));
|
|
72
|
-
case TransformOp::RotateY:
|
|
73
|
-
return std::make_shared<RotateYOperation>(propertyValue.asString(rt).utf8(rt));
|
|
74
|
-
case TransformOp::RotateZ:
|
|
75
|
-
return std::make_shared<RotateZOperation>(propertyValue.asString(rt).utf8(rt));
|
|
76
|
-
case TransformOp::Scale:
|
|
77
|
-
return std::make_shared<ScaleOperation>(propertyValue.asNumber());
|
|
78
|
-
case TransformOp::ScaleX:
|
|
79
|
-
return std::make_shared<ScaleXOperation>(propertyValue.asNumber());
|
|
80
|
-
case TransformOp::ScaleY:
|
|
81
|
-
return std::make_shared<ScaleYOperation>(propertyValue.asNumber());
|
|
82
|
-
case TransformOp::TranslateX: {
|
|
83
|
-
if (propertyValue.isNumber()) {
|
|
84
|
-
return std::make_shared<TranslateXOperation>(propertyValue.asNumber());
|
|
85
|
-
}
|
|
86
|
-
return std::make_shared<TranslateXOperation>(propertyValue.asString(rt).utf8(rt));
|
|
87
|
-
}
|
|
88
|
-
case TransformOp::TranslateY: {
|
|
89
|
-
if (propertyValue.isNumber()) {
|
|
90
|
-
return std::make_shared<TranslateYOperation>(propertyValue.asNumber());
|
|
91
|
-
}
|
|
92
|
-
return std::make_shared<TranslateYOperation>(propertyValue.asString(rt).utf8(rt));
|
|
93
|
-
}
|
|
94
|
-
case TransformOp::SkewX:
|
|
95
|
-
return std::make_shared<SkewXOperation>(propertyValue.asString(rt).utf8(rt));
|
|
96
|
-
case TransformOp::SkewY:
|
|
97
|
-
return std::make_shared<SkewYOperation>(propertyValue.asString(rt).utf8(rt));
|
|
98
|
-
case TransformOp::Matrix:
|
|
99
|
-
return std::make_shared<MatrixOperation>(rt, propertyValue);
|
|
100
|
-
default:
|
|
101
|
-
throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
std::shared_ptr<TransformOperation> TransformOperation::fromDynamic(const folly::dynamic &value) {
|
|
106
|
-
if (!value.isObject()) {
|
|
107
|
-
throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
auto &obj = value;
|
|
111
|
-
if (obj.size() != 1) {
|
|
112
|
-
throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
auto propertyName = obj.items().begin()->first.getString();
|
|
116
|
-
auto propertyValue = obj.items().begin()->second;
|
|
117
|
-
const TransformOp operationType = getTransformOperationType(propertyName);
|
|
118
|
-
|
|
119
|
-
switch (operationType) {
|
|
120
|
-
case TransformOp::Perspective:
|
|
121
|
-
return std::make_shared<PerspectiveOperation>(propertyValue.getDouble());
|
|
122
|
-
case TransformOp::Rotate:
|
|
123
|
-
return std::make_shared<RotateOperation>(propertyValue.getString());
|
|
124
|
-
case TransformOp::RotateX:
|
|
125
|
-
return std::make_shared<RotateXOperation>(propertyValue.getString());
|
|
126
|
-
case TransformOp::RotateY:
|
|
127
|
-
return std::make_shared<RotateYOperation>(propertyValue.getString());
|
|
128
|
-
case TransformOp::RotateZ:
|
|
129
|
-
return std::make_shared<RotateZOperation>(propertyValue.getString());
|
|
130
|
-
case TransformOp::Scale:
|
|
131
|
-
return std::make_shared<ScaleOperation>(propertyValue.getDouble());
|
|
132
|
-
case TransformOp::ScaleX:
|
|
133
|
-
return std::make_shared<ScaleXOperation>(propertyValue.getDouble());
|
|
134
|
-
case TransformOp::ScaleY:
|
|
135
|
-
return std::make_shared<ScaleYOperation>(propertyValue.getDouble());
|
|
136
|
-
case TransformOp::TranslateX: {
|
|
137
|
-
if (propertyValue.isNumber()) {
|
|
138
|
-
return std::make_shared<TranslateXOperation>(propertyValue.getDouble());
|
|
139
|
-
}
|
|
140
|
-
return std::make_shared<TranslateXOperation>(propertyValue.getString());
|
|
141
|
-
}
|
|
142
|
-
case TransformOp::TranslateY: {
|
|
143
|
-
if (propertyValue.isNumber()) {
|
|
144
|
-
return std::make_shared<TranslateYOperation>(propertyValue.getDouble());
|
|
145
|
-
}
|
|
146
|
-
return std::make_shared<TranslateYOperation>(propertyValue.getString());
|
|
147
|
-
}
|
|
148
|
-
case TransformOp::SkewX:
|
|
149
|
-
return std::make_shared<SkewXOperation>(propertyValue.getString());
|
|
150
|
-
case TransformOp::SkewY:
|
|
151
|
-
return std::make_shared<SkewYOperation>(propertyValue.getString());
|
|
152
|
-
case TransformOp::Matrix:
|
|
153
|
-
return std::make_shared<MatrixOperation>(propertyValue);
|
|
154
|
-
default:
|
|
155
|
-
throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// TransformOperationBase implementation
|
|
160
|
-
template <TransformOp TOperation, typename TValue>
|
|
161
|
-
TransformOperationBase<TOperation, TValue>::TransformOperationBase(TValue value)
|
|
162
|
-
: TransformOperation(TOperation), value(std::move(value)) {}
|
|
163
|
-
|
|
164
|
-
template <TransformOp TOperation, typename TValue>
|
|
165
|
-
TransformMatrix::Shared TransformOperationBase<TOperation, TValue>::toMatrix(bool force3D) const {
|
|
166
|
-
if constexpr (Resolvable<TValue>) {
|
|
167
|
-
// Handle resolvable operations
|
|
168
|
-
throw std::runtime_error("[Reanimated] Cannot convert resolvable operation to matrix: " + getOperationName());
|
|
169
|
-
} else {
|
|
170
|
-
// Handle regular operations
|
|
171
|
-
const auto shouldBe3D = this->is3D() || force3D;
|
|
172
|
-
|
|
173
|
-
if (cachedMatrix_) {
|
|
174
|
-
const auto resultDimension = shouldBe3D ? MATRIX_3D_DIMENSION : MATRIX_2D_DIMENSION;
|
|
175
|
-
if (cachedMatrix_->getDimension() == resultDimension) {
|
|
176
|
-
return cachedMatrix_;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
TransformMatrix::Shared result;
|
|
181
|
-
if (shouldBe3D) {
|
|
182
|
-
result = std::make_shared<const TransformMatrix3D>(TransformMatrix3D::create<TOperation>(this->value.value));
|
|
183
|
-
} else {
|
|
184
|
-
result = std::make_shared<const TransformMatrix2D>(TransformMatrix2D::create<TOperation>(this->value.value));
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
cachedMatrix_ = result;
|
|
188
|
-
return result;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
template <TransformOp TOperation, typename TValue>
|
|
193
|
-
folly::dynamic TransformOperationBase<TOperation, TValue>::valueToDynamic() const {
|
|
194
|
-
return value.toDynamic();
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
template <TransformOp TOperation, typename TValue>
|
|
198
|
-
bool TransformOperationBase<TOperation, TValue>::areValuesEqual(const StyleOperation &other) const {
|
|
199
|
-
return value == static_cast<const TransformOperationBase<TOperation, TValue> &>(other).value;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// Rotate operations
|
|
203
|
-
template struct TransformOperationBase<TransformOp::Rotate, CSSAngle>;
|
|
204
|
-
template struct TransformOperationBase<TransformOp::RotateZ, CSSAngle>;
|
|
205
|
-
template struct TransformOperationBase<TransformOp::RotateX, CSSAngle>;
|
|
206
|
-
template struct TransformOperationBase<TransformOp::RotateY, CSSAngle>;
|
|
207
|
-
|
|
208
|
-
// Translate operations
|
|
209
|
-
template struct TransformOperationBase<TransformOp::TranslateX, CSSLength>;
|
|
210
|
-
template struct TransformOperationBase<TransformOp::TranslateY, CSSLength>;
|
|
211
|
-
|
|
212
|
-
// Scale operations
|
|
213
|
-
template struct TransformOperationBase<TransformOp::ScaleX, CSSDouble>;
|
|
214
|
-
template struct TransformOperationBase<TransformOp::ScaleY, CSSDouble>;
|
|
215
|
-
template struct TransformOperationBase<TransformOp::Scale, CSSDouble>;
|
|
216
|
-
|
|
217
|
-
// Skew operations
|
|
218
|
-
template struct TransformOperationBase<TransformOp::SkewX, CSSAngle>;
|
|
219
|
-
template struct TransformOperationBase<TransformOp::SkewY, CSSAngle>;
|
|
220
|
-
|
|
221
|
-
// Perspective operation
|
|
222
|
-
template struct TransformOperationBase<TransformOp::Perspective, CSSDouble>;
|
|
223
|
-
|
|
224
|
-
} // namespace reanimated::css
|
|
1
|
+
#include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
|
|
2
|
+
|
|
3
|
+
#include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
|
|
4
|
+
#include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
|
|
5
|
+
#include <reanimated/CSS/common/values/CSSAngle.h>
|
|
6
|
+
#include <reanimated/CSS/common/values/CSSLength.h>
|
|
7
|
+
#include <reanimated/CSS/common/values/CSSNumber.h>
|
|
8
|
+
|
|
9
|
+
#include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
|
|
10
|
+
#include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
|
|
11
|
+
#include <reanimated/CSS/interpolation/transforms/operations/rotate.h>
|
|
12
|
+
#include <reanimated/CSS/interpolation/transforms/operations/scale.h>
|
|
13
|
+
#include <reanimated/CSS/interpolation/transforms/operations/skew.h>
|
|
14
|
+
#include <reanimated/CSS/interpolation/transforms/operations/translate.h>
|
|
15
|
+
|
|
16
|
+
#include <utility>
|
|
17
|
+
|
|
18
|
+
namespace reanimated::css {
|
|
19
|
+
|
|
20
|
+
std::string createConversionErrorMessage(const TransformOp fromType, const TransformOp toType) {
|
|
21
|
+
return "[Reanimated] Cannot convert transform operation of type: " + getTransformOperationName(fromType) +
|
|
22
|
+
" to type: " + getTransformOperationName(toType);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
TransformOperation::TransformOperation(TransformOp type) : StyleOperation(static_cast<uint8_t>(type)) {}
|
|
26
|
+
|
|
27
|
+
bool TransformOperation::canConvertTo(const TransformOp targetType) const {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
void TransformOperation::assertCanConvertTo(const TransformOp targetType) const {
|
|
32
|
+
if (!canConvertTo(targetType)) {
|
|
33
|
+
throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
TransformOperations TransformOperation::convertTo(const TransformOp targetType) const {
|
|
38
|
+
throw std::invalid_argument(createConversionErrorMessage(static_cast<TransformOp>(type), targetType));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
std::string TransformOperation::getOperationName() const {
|
|
42
|
+
return getTransformOperationName(static_cast<TransformOp>(type));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
bool TransformOperation::is3D() const {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
std::shared_ptr<TransformOperation> TransformOperation::fromJSIValue(jsi::Runtime &rt, const jsi::Value &value) {
|
|
50
|
+
if (!value.isObject()) {
|
|
51
|
+
throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
jsi::Object obj = value.asObject(rt);
|
|
55
|
+
auto propertyNames = obj.getPropertyNames(rt);
|
|
56
|
+
|
|
57
|
+
if (propertyNames.size(rt) != 1) {
|
|
58
|
+
throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const auto propertyName = propertyNames.getValueAtIndex(rt, 0).asString(rt).utf8(rt);
|
|
62
|
+
const auto propertyValue = obj.getProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName));
|
|
63
|
+
const TransformOp operationType = getTransformOperationType(propertyName);
|
|
64
|
+
|
|
65
|
+
switch (operationType) {
|
|
66
|
+
case TransformOp::Perspective:
|
|
67
|
+
return std::make_shared<PerspectiveOperation>(propertyValue.asNumber());
|
|
68
|
+
case TransformOp::Rotate:
|
|
69
|
+
return std::make_shared<RotateOperation>(propertyValue.asString(rt).utf8(rt));
|
|
70
|
+
case TransformOp::RotateX:
|
|
71
|
+
return std::make_shared<RotateXOperation>(propertyValue.asString(rt).utf8(rt));
|
|
72
|
+
case TransformOp::RotateY:
|
|
73
|
+
return std::make_shared<RotateYOperation>(propertyValue.asString(rt).utf8(rt));
|
|
74
|
+
case TransformOp::RotateZ:
|
|
75
|
+
return std::make_shared<RotateZOperation>(propertyValue.asString(rt).utf8(rt));
|
|
76
|
+
case TransformOp::Scale:
|
|
77
|
+
return std::make_shared<ScaleOperation>(propertyValue.asNumber());
|
|
78
|
+
case TransformOp::ScaleX:
|
|
79
|
+
return std::make_shared<ScaleXOperation>(propertyValue.asNumber());
|
|
80
|
+
case TransformOp::ScaleY:
|
|
81
|
+
return std::make_shared<ScaleYOperation>(propertyValue.asNumber());
|
|
82
|
+
case TransformOp::TranslateX: {
|
|
83
|
+
if (propertyValue.isNumber()) {
|
|
84
|
+
return std::make_shared<TranslateXOperation>(propertyValue.asNumber());
|
|
85
|
+
}
|
|
86
|
+
return std::make_shared<TranslateXOperation>(propertyValue.asString(rt).utf8(rt));
|
|
87
|
+
}
|
|
88
|
+
case TransformOp::TranslateY: {
|
|
89
|
+
if (propertyValue.isNumber()) {
|
|
90
|
+
return std::make_shared<TranslateYOperation>(propertyValue.asNumber());
|
|
91
|
+
}
|
|
92
|
+
return std::make_shared<TranslateYOperation>(propertyValue.asString(rt).utf8(rt));
|
|
93
|
+
}
|
|
94
|
+
case TransformOp::SkewX:
|
|
95
|
+
return std::make_shared<SkewXOperation>(propertyValue.asString(rt).utf8(rt));
|
|
96
|
+
case TransformOp::SkewY:
|
|
97
|
+
return std::make_shared<SkewYOperation>(propertyValue.asString(rt).utf8(rt));
|
|
98
|
+
case TransformOp::Matrix:
|
|
99
|
+
return std::make_shared<MatrixOperation>(rt, propertyValue);
|
|
100
|
+
default:
|
|
101
|
+
throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
std::shared_ptr<TransformOperation> TransformOperation::fromDynamic(const folly::dynamic &value) {
|
|
106
|
+
if (!value.isObject()) {
|
|
107
|
+
throw std::invalid_argument("[Reanimated] TransformOperation must be an object.");
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
auto &obj = value;
|
|
111
|
+
if (obj.size() != 1) {
|
|
112
|
+
throw std::invalid_argument("[Reanimated] TransformOperation must have exactly one property.");
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
auto propertyName = obj.items().begin()->first.getString();
|
|
116
|
+
auto propertyValue = obj.items().begin()->second;
|
|
117
|
+
const TransformOp operationType = getTransformOperationType(propertyName);
|
|
118
|
+
|
|
119
|
+
switch (operationType) {
|
|
120
|
+
case TransformOp::Perspective:
|
|
121
|
+
return std::make_shared<PerspectiveOperation>(propertyValue.getDouble());
|
|
122
|
+
case TransformOp::Rotate:
|
|
123
|
+
return std::make_shared<RotateOperation>(propertyValue.getString());
|
|
124
|
+
case TransformOp::RotateX:
|
|
125
|
+
return std::make_shared<RotateXOperation>(propertyValue.getString());
|
|
126
|
+
case TransformOp::RotateY:
|
|
127
|
+
return std::make_shared<RotateYOperation>(propertyValue.getString());
|
|
128
|
+
case TransformOp::RotateZ:
|
|
129
|
+
return std::make_shared<RotateZOperation>(propertyValue.getString());
|
|
130
|
+
case TransformOp::Scale:
|
|
131
|
+
return std::make_shared<ScaleOperation>(propertyValue.getDouble());
|
|
132
|
+
case TransformOp::ScaleX:
|
|
133
|
+
return std::make_shared<ScaleXOperation>(propertyValue.getDouble());
|
|
134
|
+
case TransformOp::ScaleY:
|
|
135
|
+
return std::make_shared<ScaleYOperation>(propertyValue.getDouble());
|
|
136
|
+
case TransformOp::TranslateX: {
|
|
137
|
+
if (propertyValue.isNumber()) {
|
|
138
|
+
return std::make_shared<TranslateXOperation>(propertyValue.getDouble());
|
|
139
|
+
}
|
|
140
|
+
return std::make_shared<TranslateXOperation>(propertyValue.getString());
|
|
141
|
+
}
|
|
142
|
+
case TransformOp::TranslateY: {
|
|
143
|
+
if (propertyValue.isNumber()) {
|
|
144
|
+
return std::make_shared<TranslateYOperation>(propertyValue.getDouble());
|
|
145
|
+
}
|
|
146
|
+
return std::make_shared<TranslateYOperation>(propertyValue.getString());
|
|
147
|
+
}
|
|
148
|
+
case TransformOp::SkewX:
|
|
149
|
+
return std::make_shared<SkewXOperation>(propertyValue.getString());
|
|
150
|
+
case TransformOp::SkewY:
|
|
151
|
+
return std::make_shared<SkewYOperation>(propertyValue.getString());
|
|
152
|
+
case TransformOp::Matrix:
|
|
153
|
+
return std::make_shared<MatrixOperation>(propertyValue);
|
|
154
|
+
default:
|
|
155
|
+
throw std::invalid_argument("[Reanimated] Unknown transform operation: " + propertyName);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// TransformOperationBase implementation
|
|
160
|
+
template <TransformOp TOperation, typename TValue>
|
|
161
|
+
TransformOperationBase<TOperation, TValue>::TransformOperationBase(TValue value)
|
|
162
|
+
: TransformOperation(TOperation), value(std::move(value)) {}
|
|
163
|
+
|
|
164
|
+
template <TransformOp TOperation, typename TValue>
|
|
165
|
+
TransformMatrix::Shared TransformOperationBase<TOperation, TValue>::toMatrix(bool force3D) const {
|
|
166
|
+
if constexpr (Resolvable<TValue>) {
|
|
167
|
+
// Handle resolvable operations
|
|
168
|
+
throw std::runtime_error("[Reanimated] Cannot convert resolvable operation to matrix: " + getOperationName());
|
|
169
|
+
} else {
|
|
170
|
+
// Handle regular operations
|
|
171
|
+
const auto shouldBe3D = this->is3D() || force3D;
|
|
172
|
+
|
|
173
|
+
if (cachedMatrix_) {
|
|
174
|
+
const auto resultDimension = shouldBe3D ? MATRIX_3D_DIMENSION : MATRIX_2D_DIMENSION;
|
|
175
|
+
if (cachedMatrix_->getDimension() == resultDimension) {
|
|
176
|
+
return cachedMatrix_;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
TransformMatrix::Shared result;
|
|
181
|
+
if (shouldBe3D) {
|
|
182
|
+
result = std::make_shared<const TransformMatrix3D>(TransformMatrix3D::create<TOperation>(this->value.value));
|
|
183
|
+
} else {
|
|
184
|
+
result = std::make_shared<const TransformMatrix2D>(TransformMatrix2D::create<TOperation>(this->value.value));
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
cachedMatrix_ = result;
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
template <TransformOp TOperation, typename TValue>
|
|
193
|
+
folly::dynamic TransformOperationBase<TOperation, TValue>::valueToDynamic() const {
|
|
194
|
+
return value.toDynamic();
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
template <TransformOp TOperation, typename TValue>
|
|
198
|
+
bool TransformOperationBase<TOperation, TValue>::areValuesEqual(const StyleOperation &other) const {
|
|
199
|
+
return value == static_cast<const TransformOperationBase<TOperation, TValue> &>(other).value;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Rotate operations
|
|
203
|
+
template struct TransformOperationBase<TransformOp::Rotate, CSSAngle>;
|
|
204
|
+
template struct TransformOperationBase<TransformOp::RotateZ, CSSAngle>;
|
|
205
|
+
template struct TransformOperationBase<TransformOp::RotateX, CSSAngle>;
|
|
206
|
+
template struct TransformOperationBase<TransformOp::RotateY, CSSAngle>;
|
|
207
|
+
|
|
208
|
+
// Translate operations
|
|
209
|
+
template struct TransformOperationBase<TransformOp::TranslateX, CSSLength>;
|
|
210
|
+
template struct TransformOperationBase<TransformOp::TranslateY, CSSLength>;
|
|
211
|
+
|
|
212
|
+
// Scale operations
|
|
213
|
+
template struct TransformOperationBase<TransformOp::ScaleX, CSSDouble>;
|
|
214
|
+
template struct TransformOperationBase<TransformOp::ScaleY, CSSDouble>;
|
|
215
|
+
template struct TransformOperationBase<TransformOp::Scale, CSSDouble>;
|
|
216
|
+
|
|
217
|
+
// Skew operations
|
|
218
|
+
template struct TransformOperationBase<TransformOp::SkewX, CSSAngle>;
|
|
219
|
+
template struct TransformOperationBase<TransformOp::SkewY, CSSAngle>;
|
|
220
|
+
|
|
221
|
+
// Perspective operation
|
|
222
|
+
template struct TransformOperationBase<TransformOp::Perspective, CSSDouble>;
|
|
223
|
+
|
|
224
|
+
} // namespace reanimated::css
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <reanimated/CSS/common/transforms/TransformMatrix.h>
|
|
4
|
-
#include <reanimated/CSS/common/transforms/TransformOp.h>
|
|
5
|
-
#include <reanimated/CSS/interpolation/operations/StyleOperation.h>
|
|
6
|
-
|
|
7
|
-
#include <jsi/jsi.h>
|
|
8
|
-
#include <memory>
|
|
9
|
-
#include <string>
|
|
10
|
-
#include <vector>
|
|
11
|
-
|
|
12
|
-
namespace reanimated::css {
|
|
13
|
-
|
|
14
|
-
using namespace facebook;
|
|
15
|
-
|
|
16
|
-
// Base struct for TransformOperation
|
|
17
|
-
struct TransformOperation : public StyleOperation {
|
|
18
|
-
explicit TransformOperation(TransformOp type);
|
|
19
|
-
|
|
20
|
-
// Tells if the transform operations is 3D-only (cannot be represented in 2D)
|
|
21
|
-
virtual bool is3D() const;
|
|
22
|
-
|
|
23
|
-
std::string getOperationName() const override;
|
|
24
|
-
|
|
25
|
-
static std::shared_ptr<TransformOperation> fromJSIValue(jsi::Runtime &rt, const jsi::Value &value);
|
|
26
|
-
static std::shared_ptr<TransformOperation> fromDynamic(const folly::dynamic &value);
|
|
27
|
-
|
|
28
|
-
virtual bool canConvertTo(TransformOp type) const;
|
|
29
|
-
virtual std::vector<std::shared_ptr<TransformOperation>> convertTo(TransformOp type) const;
|
|
30
|
-
void assertCanConvertTo(TransformOp type) const;
|
|
31
|
-
|
|
32
|
-
virtual TransformMatrix::Shared toMatrix(bool force3D) const = 0;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
using TransformOperations = std::vector<std::shared_ptr<TransformOperation>>;
|
|
36
|
-
|
|
37
|
-
// Base implementation for transform operations (except for MatrixOperation)
|
|
38
|
-
template <TransformOp TOperation, typename TValue>
|
|
39
|
-
struct TransformOperationBase : public TransformOperation {
|
|
40
|
-
const TValue value;
|
|
41
|
-
|
|
42
|
-
explicit TransformOperationBase(TValue value);
|
|
43
|
-
TransformMatrix::Shared toMatrix(bool force3D) const override;
|
|
44
|
-
|
|
45
|
-
protected:
|
|
46
|
-
mutable TransformMatrix::Shared cachedMatrix_;
|
|
47
|
-
|
|
48
|
-
folly::dynamic valueToDynamic() const override;
|
|
49
|
-
bool areValuesEqual(const StyleOperation &other) const override;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
} // namespace reanimated::css
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <reanimated/CSS/common/transforms/TransformMatrix.h>
|
|
4
|
+
#include <reanimated/CSS/common/transforms/TransformOp.h>
|
|
5
|
+
#include <reanimated/CSS/interpolation/operations/StyleOperation.h>
|
|
6
|
+
|
|
7
|
+
#include <jsi/jsi.h>
|
|
8
|
+
#include <memory>
|
|
9
|
+
#include <string>
|
|
10
|
+
#include <vector>
|
|
11
|
+
|
|
12
|
+
namespace reanimated::css {
|
|
13
|
+
|
|
14
|
+
using namespace facebook;
|
|
15
|
+
|
|
16
|
+
// Base struct for TransformOperation
|
|
17
|
+
struct TransformOperation : public StyleOperation {
|
|
18
|
+
explicit TransformOperation(TransformOp type);
|
|
19
|
+
|
|
20
|
+
// Tells if the transform operations is 3D-only (cannot be represented in 2D)
|
|
21
|
+
virtual bool is3D() const;
|
|
22
|
+
|
|
23
|
+
std::string getOperationName() const override;
|
|
24
|
+
|
|
25
|
+
static std::shared_ptr<TransformOperation> fromJSIValue(jsi::Runtime &rt, const jsi::Value &value);
|
|
26
|
+
static std::shared_ptr<TransformOperation> fromDynamic(const folly::dynamic &value);
|
|
27
|
+
|
|
28
|
+
virtual bool canConvertTo(TransformOp type) const;
|
|
29
|
+
virtual std::vector<std::shared_ptr<TransformOperation>> convertTo(TransformOp type) const;
|
|
30
|
+
void assertCanConvertTo(TransformOp type) const;
|
|
31
|
+
|
|
32
|
+
virtual TransformMatrix::Shared toMatrix(bool force3D) const = 0;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
using TransformOperations = std::vector<std::shared_ptr<TransformOperation>>;
|
|
36
|
+
|
|
37
|
+
// Base implementation for transform operations (except for MatrixOperation)
|
|
38
|
+
template <TransformOp TOperation, typename TValue>
|
|
39
|
+
struct TransformOperationBase : public TransformOperation {
|
|
40
|
+
const TValue value;
|
|
41
|
+
|
|
42
|
+
explicit TransformOperationBase(TValue value);
|
|
43
|
+
TransformMatrix::Shared toMatrix(bool force3D) const override;
|
|
44
|
+
|
|
45
|
+
protected:
|
|
46
|
+
mutable TransformMatrix::Shared cachedMatrix_;
|
|
47
|
+
|
|
48
|
+
folly::dynamic valueToDynamic() const override;
|
|
49
|
+
bool areValuesEqual(const StyleOperation &other) const override;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
} // namespace reanimated::css
|