@react-native-ohos/react-native-reanimated 4.0.1 → 4.0.2
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 +62 -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 +246 -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 +62 -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,23 +1,23 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
#ifndef HARMONY_REANIMATEDSENSORCONTAINER_H
|
|
6
|
-
#define HARMONY_REANIMATEDSENSORCONTAINER_H
|
|
7
|
-
#include "ReanimatedSensor.h"
|
|
8
|
-
#include <functional>
|
|
9
|
-
namespace rnoh {
|
|
10
|
-
class ReanimatedSensorContainer {
|
|
11
|
-
public:
|
|
12
|
-
ReanimatedSensorContainer();
|
|
13
|
-
~ReanimatedSensorContainer() noexcept = default;
|
|
14
|
-
int registerSensor(int sensorType, int interval, int iosReferenceFrame, std::function<void(double[], int)> setter,
|
|
15
|
-
std::function<void(TaskExecutor::Task &&)> runOnTheMainThread);
|
|
16
|
-
void unregisterSensor(int sensorId);
|
|
17
|
-
|
|
18
|
-
private:
|
|
19
|
-
std::unordered_map<int, std::shared_ptr<ReanimatedSensor>> sensorMap_;
|
|
20
|
-
int nextSensorId{0};
|
|
21
|
-
};
|
|
22
|
-
} // namespace rnoh
|
|
23
|
-
#endif // HARMONY_REANIMATEDSENSORCONTAINER_H
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#ifndef HARMONY_REANIMATEDSENSORCONTAINER_H
|
|
6
|
+
#define HARMONY_REANIMATEDSENSORCONTAINER_H
|
|
7
|
+
#include "ReanimatedSensor.h"
|
|
8
|
+
#include <functional>
|
|
9
|
+
namespace rnoh {
|
|
10
|
+
class ReanimatedSensorContainer {
|
|
11
|
+
public:
|
|
12
|
+
ReanimatedSensorContainer();
|
|
13
|
+
~ReanimatedSensorContainer() noexcept = default;
|
|
14
|
+
int registerSensor(int sensorType, int interval, int iosReferenceFrame, std::function<void(double[], int)> setter,
|
|
15
|
+
std::function<void(TaskExecutor::Task &&)> runOnTheMainThread);
|
|
16
|
+
void unregisterSensor(int sensorId);
|
|
17
|
+
|
|
18
|
+
private:
|
|
19
|
+
std::unordered_map<int, std::shared_ptr<ReanimatedSensor>> sensorMap_;
|
|
20
|
+
int nextSensorId{0};
|
|
21
|
+
};
|
|
22
|
+
} // namespace rnoh
|
|
23
|
+
#endif // HARMONY_REANIMATEDSENSORCONTAINER_H
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
#include "ReanimatedUIScheduler.h"
|
|
6
|
-
|
|
7
|
-
namespace rnoh {
|
|
8
|
-
ReanimatedUIScheduler::ReanimatedUIScheduler(std::shared_ptr<TaskExecutor> taskExecutor) : m_taskExecutor(taskExecutor)
|
|
9
|
-
{}
|
|
10
|
-
void ReanimatedUIScheduler::scheduleOnUI(std::function<void()> job)
|
|
11
|
-
{
|
|
12
|
-
if (m_taskExecutor->isOnTaskThread(TaskThread::MAIN)) {
|
|
13
|
-
job();
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
m_taskExecutor->runTask(TaskThread::MAIN, [weakSelf = weak_from_this(), job = std::move(job)]() {
|
|
18
|
-
if (auto self = weakSelf.lock()) {
|
|
19
|
-
job();
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
} // namespace rnoh
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#include "ReanimatedUIScheduler.h"
|
|
6
|
+
|
|
7
|
+
namespace rnoh {
|
|
8
|
+
ReanimatedUIScheduler::ReanimatedUIScheduler(std::shared_ptr<TaskExecutor> taskExecutor) : m_taskExecutor(taskExecutor)
|
|
9
|
+
{}
|
|
10
|
+
void ReanimatedUIScheduler::scheduleOnUI(std::function<void()> job)
|
|
11
|
+
{
|
|
12
|
+
if (m_taskExecutor->isOnTaskThread(TaskThread::MAIN)) {
|
|
13
|
+
job();
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
m_taskExecutor->runTask(TaskThread::MAIN, [weakSelf = weak_from_this(), job = std::move(job)]() {
|
|
18
|
+
if (auto self = weakSelf.lock()) {
|
|
19
|
+
job();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
} // namespace rnoh
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
#pragma once
|
|
6
|
-
#include <functional>
|
|
7
|
-
//#include <UIScheduler.h>
|
|
8
|
-
#include <memory>
|
|
9
|
-
#include "RNOH/TaskExecutor/TaskExecutor.h"
|
|
10
|
-
|
|
11
|
-
namespace rnoh {
|
|
12
|
-
class ReanimatedUIScheduler : public std::enable_shared_from_this<ReanimatedUIScheduler> { //, public worklets::UIScheduler
|
|
13
|
-
private:
|
|
14
|
-
std::shared_ptr<TaskExecutor> m_taskExecutor;
|
|
15
|
-
|
|
16
|
-
public:
|
|
17
|
-
ReanimatedUIScheduler(std::shared_ptr<TaskExecutor> taskExecutor);
|
|
18
|
-
void scheduleOnUI(std::function<void()> job) ; //override
|
|
19
|
-
};
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
#include <functional>
|
|
7
|
+
//#include <UIScheduler.h>
|
|
8
|
+
#include <memory>
|
|
9
|
+
#include "RNOH/TaskExecutor/TaskExecutor.h"
|
|
10
|
+
|
|
11
|
+
namespace rnoh {
|
|
12
|
+
class ReanimatedUIScheduler : public std::enable_shared_from_this<ReanimatedUIScheduler> { //, public worklets::UIScheduler
|
|
13
|
+
private:
|
|
14
|
+
std::shared_ptr<TaskExecutor> m_taskExecutor;
|
|
15
|
+
|
|
16
|
+
public:
|
|
17
|
+
ReanimatedUIScheduler(std::shared_ptr<TaskExecutor> taskExecutor);
|
|
18
|
+
void scheduleOnUI(std::function<void()> job) ; //override
|
|
19
|
+
};
|
|
20
20
|
} // namespace rnoh
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
#include <folly/dynamic.h>
|
|
6
|
-
#include <react/renderer/graphics/Transform.h>
|
|
7
|
-
#define _USE_MATH_DEFINES
|
|
8
|
-
#include <cmath>
|
|
9
|
-
|
|
10
|
-
namespace rnoh {
|
|
11
|
-
facebook::react::Transform applyTransformOperation(facebook::react::Transform const & transform,
|
|
12
|
-
std::string const & property, double value)
|
|
13
|
-
{
|
|
14
|
-
facebook::react::Transform operation;
|
|
15
|
-
if (property == "translateX") {
|
|
16
|
-
operation = facebook::react::Transform::Translate(value, 0, 0);
|
|
17
|
-
} else if (property == "translateY") {
|
|
18
|
-
operation = facebook::react::Transform::Translate(0, value, 0);
|
|
19
|
-
} else if (property == "scale") {
|
|
20
|
-
operation = facebook::react::Transform::Scale(value, value, 1);
|
|
21
|
-
} else if (property == "scaleX") {
|
|
22
|
-
operation = facebook::react::Transform::Scale(value, 1, 1);
|
|
23
|
-
} else if (property == "scaleY") {
|
|
24
|
-
operation = facebook::react::Transform::Scale(1, value, 1);
|
|
25
|
-
} else if (property == "rotate") {
|
|
26
|
-
operation = facebook::react::Transform::Rotate(0, 0, value);
|
|
27
|
-
} else if (property == "rotateX") {
|
|
28
|
-
operation = facebook::react::Transform::Rotate(value, 0, 0);
|
|
29
|
-
} else if (property == "rotateY") {
|
|
30
|
-
operation = facebook::react::Transform::Rotate(0, value, 0);
|
|
31
|
-
} else if (property == "rotateZ") {
|
|
32
|
-
operation = facebook::react::Transform::Rotate(0, 0, value);
|
|
33
|
-
} else if (property == "perspective") {
|
|
34
|
-
operation = facebook::react::Transform::Perspective(value);
|
|
35
|
-
} else if (property == "skewX") {
|
|
36
|
-
operation = facebook::react::Transform::Skew(value, 0);
|
|
37
|
-
} else if (property == "skewY") {
|
|
38
|
-
operation = facebook::react::Transform::Skew(0, value);
|
|
39
|
-
} else {
|
|
40
|
-
throw std::runtime_error("Unsupported transform property " + property);
|
|
41
|
-
}
|
|
42
|
-
return transform * operation;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
double convertStringAngleValueToRadians(std::string angle)
|
|
46
|
-
{
|
|
47
|
-
auto unit = angle.substr(angle.length() - 3);
|
|
48
|
-
auto value = std::stod(angle.substr(0, angle.length() - 3));
|
|
49
|
-
if (unit == "rad") {
|
|
50
|
-
return value;
|
|
51
|
-
} else if (unit == "deg") {
|
|
52
|
-
return (value * M_PI) / 180;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
throw std::invalid_argument("Angle must be a value in radians or degrees");
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
folly::dynamic parseTransform(folly::dynamic &dynamicTransform)
|
|
59
|
-
{
|
|
60
|
-
facebook::react::Transform resultTransform = facebook::react::Transform::Identity();
|
|
61
|
-
for (auto &singleTransform : dynamicTransform) {
|
|
62
|
-
for (auto &item : singleTransform.items()) {
|
|
63
|
-
auto transformType = item.first.getString();
|
|
64
|
-
if (transformType == "matrix") {
|
|
65
|
-
auto matrixTransform = facebook::react::Transform::Identity();
|
|
66
|
-
if (item.second.size() == 16) {
|
|
67
|
-
for (size_t i = 0; i < 16; ++i) {
|
|
68
|
-
matrixTransform.matrix[i] = item.second[i].getDouble();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
resultTransform = resultTransform * matrixTransform;
|
|
72
|
-
} else {
|
|
73
|
-
double transformValue;
|
|
74
|
-
if (item.second.isString()) {
|
|
75
|
-
try {
|
|
76
|
-
transformValue = convertStringAngleValueToRadians(item.second.getString());
|
|
77
|
-
} catch (std::invalid_argument &e) {
|
|
78
|
-
// ignore incorrect values
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
} else if (item.second.isDouble()) {
|
|
82
|
-
transformValue = item.second.getDouble();
|
|
83
|
-
} else {
|
|
84
|
-
// ignore incorrect values
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
resultTransform = applyTransformOperation(resultTransform, transformType, transformValue);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
auto const & matrix = resultTransform.matrix;
|
|
92
|
-
return folly::dynamic::array(matrix.begin(), matrix.end());
|
|
93
|
-
}
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#include <folly/dynamic.h>
|
|
6
|
+
#include <react/renderer/graphics/Transform.h>
|
|
7
|
+
#define _USE_MATH_DEFINES
|
|
8
|
+
#include <cmath>
|
|
9
|
+
|
|
10
|
+
namespace rnoh {
|
|
11
|
+
facebook::react::Transform applyTransformOperation(facebook::react::Transform const & transform,
|
|
12
|
+
std::string const & property, double value)
|
|
13
|
+
{
|
|
14
|
+
facebook::react::Transform operation;
|
|
15
|
+
if (property == "translateX") {
|
|
16
|
+
operation = facebook::react::Transform::Translate(value, 0, 0);
|
|
17
|
+
} else if (property == "translateY") {
|
|
18
|
+
operation = facebook::react::Transform::Translate(0, value, 0);
|
|
19
|
+
} else if (property == "scale") {
|
|
20
|
+
operation = facebook::react::Transform::Scale(value, value, 1);
|
|
21
|
+
} else if (property == "scaleX") {
|
|
22
|
+
operation = facebook::react::Transform::Scale(value, 1, 1);
|
|
23
|
+
} else if (property == "scaleY") {
|
|
24
|
+
operation = facebook::react::Transform::Scale(1, value, 1);
|
|
25
|
+
} else if (property == "rotate") {
|
|
26
|
+
operation = facebook::react::Transform::Rotate(0, 0, value);
|
|
27
|
+
} else if (property == "rotateX") {
|
|
28
|
+
operation = facebook::react::Transform::Rotate(value, 0, 0);
|
|
29
|
+
} else if (property == "rotateY") {
|
|
30
|
+
operation = facebook::react::Transform::Rotate(0, value, 0);
|
|
31
|
+
} else if (property == "rotateZ") {
|
|
32
|
+
operation = facebook::react::Transform::Rotate(0, 0, value);
|
|
33
|
+
} else if (property == "perspective") {
|
|
34
|
+
operation = facebook::react::Transform::Perspective(value);
|
|
35
|
+
} else if (property == "skewX") {
|
|
36
|
+
operation = facebook::react::Transform::Skew(value, 0);
|
|
37
|
+
} else if (property == "skewY") {
|
|
38
|
+
operation = facebook::react::Transform::Skew(0, value);
|
|
39
|
+
} else {
|
|
40
|
+
throw std::runtime_error("Unsupported transform property " + property);
|
|
41
|
+
}
|
|
42
|
+
return transform * operation;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
double convertStringAngleValueToRadians(std::string angle)
|
|
46
|
+
{
|
|
47
|
+
auto unit = angle.substr(angle.length() - 3);
|
|
48
|
+
auto value = std::stod(angle.substr(0, angle.length() - 3));
|
|
49
|
+
if (unit == "rad") {
|
|
50
|
+
return value;
|
|
51
|
+
} else if (unit == "deg") {
|
|
52
|
+
return (value * M_PI) / 180;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
throw std::invalid_argument("Angle must be a value in radians or degrees");
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
folly::dynamic parseTransform(folly::dynamic &dynamicTransform)
|
|
59
|
+
{
|
|
60
|
+
facebook::react::Transform resultTransform = facebook::react::Transform::Identity();
|
|
61
|
+
for (auto &singleTransform : dynamicTransform) {
|
|
62
|
+
for (auto &item : singleTransform.items()) {
|
|
63
|
+
auto transformType = item.first.getString();
|
|
64
|
+
if (transformType == "matrix") {
|
|
65
|
+
auto matrixTransform = facebook::react::Transform::Identity();
|
|
66
|
+
if (item.second.size() == 16) {
|
|
67
|
+
for (size_t i = 0; i < 16; ++i) {
|
|
68
|
+
matrixTransform.matrix[i] = item.second[i].getDouble();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
resultTransform = resultTransform * matrixTransform;
|
|
72
|
+
} else {
|
|
73
|
+
double transformValue;
|
|
74
|
+
if (item.second.isString()) {
|
|
75
|
+
try {
|
|
76
|
+
transformValue = convertStringAngleValueToRadians(item.second.getString());
|
|
77
|
+
} catch (std::invalid_argument &e) {
|
|
78
|
+
// ignore incorrect values
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
} else if (item.second.isDouble()) {
|
|
82
|
+
transformValue = item.second.getDouble();
|
|
83
|
+
} else {
|
|
84
|
+
// ignore incorrect values
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
resultTransform = applyTransformOperation(resultTransform, transformType, transformValue);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
auto const & matrix = resultTransform.matrix;
|
|
92
|
+
return folly::dynamic::array(matrix.begin(), matrix.end());
|
|
93
|
+
}
|
|
94
94
|
}
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
export class AnimationManager {
|
|
6
|
-
private updateValue: number = 0;
|
|
7
|
-
private animationId: number = 0;
|
|
8
|
-
private duration: number = 200;
|
|
9
|
-
private initialValue: number = 0;
|
|
10
|
-
private targetValue: number = 1;
|
|
11
|
-
private updateCallback?: (value: number, status: KeyboardState) => void;
|
|
12
|
-
private status: KeyboardState = KeyboardState.UNKNOWN;
|
|
13
|
-
|
|
14
|
-
setUpdateCallback(callback: (value: number, status: KeyboardState) => void): void {
|
|
15
|
-
this.updateCallback = callback;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
startAnimation(startValue: number, endValue: number, duration: number): void {
|
|
19
|
-
if (this.animationId) {
|
|
20
|
-
this.stopAnimation();
|
|
21
|
-
}
|
|
22
|
-
this.initialValue = startValue;
|
|
23
|
-
this.targetValue = endValue;
|
|
24
|
-
this.duration = duration;
|
|
25
|
-
let startTime = Date.now();
|
|
26
|
-
this.status = endValue > startValue ? KeyboardState.OPENING : KeyboardState.CLOSING;
|
|
27
|
-
|
|
28
|
-
this.animationId = setInterval(() => {
|
|
29
|
-
const elapsedTime = Date.now() - startTime;
|
|
30
|
-
const progress = Math.min(elapsedTime / this.duration, 1);
|
|
31
|
-
|
|
32
|
-
this.updateValue = this.initialValue + progress * (this.targetValue - this.initialValue);
|
|
33
|
-
if (progress >= 1) {
|
|
34
|
-
this.status = endValue > startValue ? KeyboardState.OPEN : KeyboardState.CLOSED;
|
|
35
|
-
}
|
|
36
|
-
if (this.updateCallback) {
|
|
37
|
-
this.updateCallback(this.updateValue, this.status);
|
|
38
|
-
}
|
|
39
|
-
if (progress >= 1) {
|
|
40
|
-
this.stopAnimation();
|
|
41
|
-
}
|
|
42
|
-
}, 8);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// 停止动画
|
|
46
|
-
stopAnimation(): void {
|
|
47
|
-
if (this.animationId) {
|
|
48
|
-
clearInterval(this.animationId);
|
|
49
|
-
this.animationId = 0;
|
|
50
|
-
}
|
|
51
|
-
this.status = KeyboardState.UNKNOWN;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export enum KeyboardState {
|
|
56
|
-
UNKNOWN = 0,
|
|
57
|
-
OPENING = 1,
|
|
58
|
-
OPEN = 2,
|
|
59
|
-
CLOSING = 3,
|
|
60
|
-
CLOSED = 4,
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
export class AnimationManager {
|
|
6
|
+
private updateValue: number = 0;
|
|
7
|
+
private animationId: number = 0;
|
|
8
|
+
private duration: number = 200;
|
|
9
|
+
private initialValue: number = 0;
|
|
10
|
+
private targetValue: number = 1;
|
|
11
|
+
private updateCallback?: (value: number, status: KeyboardState) => void;
|
|
12
|
+
private status: KeyboardState = KeyboardState.UNKNOWN;
|
|
13
|
+
|
|
14
|
+
setUpdateCallback(callback: (value: number, status: KeyboardState) => void): void {
|
|
15
|
+
this.updateCallback = callback;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
startAnimation(startValue: number, endValue: number, duration: number): void {
|
|
19
|
+
if (this.animationId) {
|
|
20
|
+
this.stopAnimation();
|
|
21
|
+
}
|
|
22
|
+
this.initialValue = startValue;
|
|
23
|
+
this.targetValue = endValue;
|
|
24
|
+
this.duration = duration;
|
|
25
|
+
let startTime = Date.now();
|
|
26
|
+
this.status = endValue > startValue ? KeyboardState.OPENING : KeyboardState.CLOSING;
|
|
27
|
+
|
|
28
|
+
this.animationId = setInterval(() => {
|
|
29
|
+
const elapsedTime = Date.now() - startTime;
|
|
30
|
+
const progress = Math.min(elapsedTime / this.duration, 1);
|
|
31
|
+
|
|
32
|
+
this.updateValue = this.initialValue + progress * (this.targetValue - this.initialValue);
|
|
33
|
+
if (progress >= 1) {
|
|
34
|
+
this.status = endValue > startValue ? KeyboardState.OPEN : KeyboardState.CLOSED;
|
|
35
|
+
}
|
|
36
|
+
if (this.updateCallback) {
|
|
37
|
+
this.updateCallback(this.updateValue, this.status);
|
|
38
|
+
}
|
|
39
|
+
if (progress >= 1) {
|
|
40
|
+
this.stopAnimation();
|
|
41
|
+
}
|
|
42
|
+
}, 8);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// 停止动画
|
|
46
|
+
stopAnimation(): void {
|
|
47
|
+
if (this.animationId) {
|
|
48
|
+
clearInterval(this.animationId);
|
|
49
|
+
this.animationId = 0;
|
|
50
|
+
}
|
|
51
|
+
this.status = KeyboardState.UNKNOWN;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export enum KeyboardState {
|
|
56
|
+
UNKNOWN = 0,
|
|
57
|
+
OPENING = 1,
|
|
58
|
+
OPEN = 2,
|
|
59
|
+
CLOSING = 3,
|
|
60
|
+
CLOSED = 4,
|
|
61
61
|
}
|
|
@@ -1,52 +1,63 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import { RNOHLogger, Tag, UITurboModule, UITurboModuleContext } from "@rnoh/react-native-openharmony/ts";
|
|
6
|
-
import { window } from '@kit.ArkUI';
|
|
7
|
-
import { AnimationManager } from './AnimationManager'
|
|
8
|
-
import
|
|
9
|
-
import { } from
|
|
10
|
-
|
|
11
|
-
export class ReanimatedModule extends UITurboModule {
|
|
12
|
-
static NAME = "ReanimatedModule"
|
|
13
|
-
private logger: RNOHLogger
|
|
14
|
-
private keyBordHeight = 0;
|
|
15
|
-
|
|
16
|
-
constructor(ctx: UITurboModuleContext) {
|
|
17
|
-
super(ctx);
|
|
18
|
-
this.logger = ctx.logger.clone("Reanimated");
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public setViewProps(tag: Tag, props: Object) {
|
|
22
|
-
this.ctx.descriptorRegistry.setAnimatedRawProps(tag, props);
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public async subscribeKeyBordListeners() {
|
|
27
|
-
const windowInstance = await window.getLastWindow(this.ctx.uiAbilityContext);
|
|
28
|
-
windowInstance.on('keyboardHeightChange', async (height) => {
|
|
29
|
-
let keyBordHeight = this.ctx.getUIContext().px2vp(height);
|
|
30
|
-
const animationManager = new AnimationManager();
|
|
31
|
-
animationManager.setUpdateCallback((value, status) => {
|
|
32
|
-
this.ctx.rnInstance.postMessageToCpp("REANIMATED_KEY_BOARD_CHANGE",
|
|
33
|
-
{ keyboardHeight: value, status: status.valueOf() });
|
|
34
|
-
});
|
|
35
|
-
animationManager.startAnimation(this.keyBordHeight, keyBordHeight, 200);
|
|
36
|
-
this.keyBordHeight = keyBordHeight;
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
public async unsubscribeKeyBordListeners() {
|
|
41
|
-
const windowInstance = await window.getLastWindow(this.ctx.uiAbilityContext);
|
|
42
|
-
windowInstance.off('keyboardHeightChange', (v) => {
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
public setGestureHandlerState(handlerTag: Tag, newState: number) {
|
|
47
|
-
const module = this.ctx.rnInstance.getTurboModule("RNGestureHandlerModule") as any;
|
|
48
|
-
if (module && module.setGestureHandlerState) {
|
|
49
|
-
module.setGestureHandlerState(handlerTag, newState);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import { RNOHLogger, Tag, UITurboModule, UITurboModuleContext } from "@rnoh/react-native-openharmony/ts";
|
|
6
|
+
import { window } from '@kit.ArkUI';
|
|
7
|
+
import { AnimationManager } from './AnimationManager'
|
|
8
|
+
import deviceInfo from '@ohos.deviceInfo';
|
|
9
|
+
import { accessibility } from '@kit.AccessibilityKit';
|
|
10
|
+
|
|
11
|
+
export class ReanimatedModule extends UITurboModule {
|
|
12
|
+
static NAME = "ReanimatedModule"
|
|
13
|
+
private logger: RNOHLogger
|
|
14
|
+
private keyBordHeight = 0;
|
|
15
|
+
|
|
16
|
+
constructor(ctx: UITurboModuleContext) {
|
|
17
|
+
super(ctx);
|
|
18
|
+
this.logger = ctx.logger.clone("Reanimated");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public setViewProps(tag: Tag, props: Object) {
|
|
22
|
+
this.ctx.descriptorRegistry.setAnimatedRawProps(tag, props);
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public async subscribeKeyBordListeners() {
|
|
27
|
+
const windowInstance = await window.getLastWindow(this.ctx.uiAbilityContext);
|
|
28
|
+
windowInstance.on('keyboardHeightChange', async (height) => {
|
|
29
|
+
let keyBordHeight = this.ctx.getUIContext().px2vp(height);
|
|
30
|
+
const animationManager = new AnimationManager();
|
|
31
|
+
animationManager.setUpdateCallback((value, status) => {
|
|
32
|
+
this.ctx.rnInstance.postMessageToCpp("REANIMATED_KEY_BOARD_CHANGE",
|
|
33
|
+
{ keyboardHeight: value, status: status.valueOf() });
|
|
34
|
+
});
|
|
35
|
+
animationManager.startAnimation(this.keyBordHeight, keyBordHeight, 200);
|
|
36
|
+
this.keyBordHeight = keyBordHeight;
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public async unsubscribeKeyBordListeners() {
|
|
41
|
+
const windowInstance = await window.getLastWindow(this.ctx.uiAbilityContext);
|
|
42
|
+
windowInstance.off('keyboardHeightChange', (v) => {
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public setGestureHandlerState(handlerTag: Tag, newState: number) {
|
|
47
|
+
const module = this.ctx.rnInstance.getTurboModule("RNGestureHandlerModule") as any;
|
|
48
|
+
if (module && module.setGestureHandlerState) {
|
|
49
|
+
module.setGestureHandlerState(handlerTag, newState);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public isReducedMotionEnabled(): boolean {
|
|
54
|
+
try {
|
|
55
|
+
if (deviceInfo.sdkApiVersion >= 23) {
|
|
56
|
+
return (accessibility as ESObject).isAnimationReduceEnabledSync();
|
|
57
|
+
}
|
|
58
|
+
} catch (e) {
|
|
59
|
+
this.logger.warn(`isReducedMotionEnabled failed: ${JSON.stringify(e)}`);
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
52
63
|
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
-
// Use of this source code is governed by a MIT license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import { RNPackage, UITurboModuleContext, TurboModulesFactory } from "@rnoh/react-native-openharmony/ts";
|
|
6
|
-
import type { UITurboModule } from "@rnoh/react-native-openharmony/ts";
|
|
7
|
-
import { ReanimatedModule } from './ReanimatedModule';
|
|
8
|
-
|
|
9
|
-
class ReanimatedTurboModulesFactory extends TurboModulesFactory {
|
|
10
|
-
createTurboModule(name: string): UITurboModule | null {
|
|
11
|
-
if (name === ReanimatedModule.NAME) {
|
|
12
|
-
return new ReanimatedModule(this.ctx);
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
hasTurboModule(name: string): boolean {
|
|
18
|
-
return name === 'ReanimatedModule';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export class ReanimatedPackage extends RNPackage {
|
|
23
|
-
createTurboModulesFactory(ctx: UITurboModuleContext): TurboModulesFactory {
|
|
24
|
-
return new ReanimatedTurboModulesFactory(ctx);
|
|
25
|
-
}
|
|
1
|
+
// Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
|
|
2
|
+
// Use of this source code is governed by a MIT license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import { RNPackage, UITurboModuleContext, TurboModulesFactory } from "@rnoh/react-native-openharmony/ts";
|
|
6
|
+
import type { UITurboModule } from "@rnoh/react-native-openharmony/ts";
|
|
7
|
+
import { ReanimatedModule } from './ReanimatedModule';
|
|
8
|
+
|
|
9
|
+
class ReanimatedTurboModulesFactory extends TurboModulesFactory {
|
|
10
|
+
createTurboModule(name: string): UITurboModule | null {
|
|
11
|
+
if (name === ReanimatedModule.NAME) {
|
|
12
|
+
return new ReanimatedModule(this.ctx);
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
hasTurboModule(name: string): boolean {
|
|
18
|
+
return name === 'ReanimatedModule';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class ReanimatedPackage extends RNPackage {
|
|
23
|
+
createTurboModulesFactory(ctx: UITurboModuleContext): TurboModulesFactory {
|
|
24
|
+
return new ReanimatedTurboModulesFactory(ctx);
|
|
25
|
+
}
|
|
26
26
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"module": {
|
|
3
|
-
"name": "reanimated",
|
|
4
|
-
"type": "har",
|
|
5
|
-
"description": "$string:module_desc",
|
|
6
|
-
"mainElement": "ReanimatedAbility",
|
|
7
|
-
"deviceTypes": [
|
|
8
|
-
"phone",
|
|
9
|
-
"tablet",
|
|
10
|
-
"2in1"
|
|
11
|
-
],
|
|
12
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"module": {
|
|
3
|
+
"name": "reanimated",
|
|
4
|
+
"type": "har",
|
|
5
|
+
"description": "$string:module_desc",
|
|
6
|
+
"mainElement": "ReanimatedAbility",
|
|
7
|
+
"deviceTypes": [
|
|
8
|
+
"phone",
|
|
9
|
+
"tablet",
|
|
10
|
+
"2in1"
|
|
11
|
+
],
|
|
12
|
+
}
|
|
13
13
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"color": [
|
|
3
|
-
{
|
|
4
|
-
"name": "start_window_background",
|
|
5
|
-
"value": "#FFFFFF"
|
|
6
|
-
}
|
|
7
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"color": [
|
|
3
|
+
{
|
|
4
|
+
"name": "start_window_background",
|
|
5
|
+
"value": "#FFFFFF"
|
|
6
|
+
}
|
|
7
|
+
]
|
|
8
8
|
}
|