@react-native-ohos/react-native-reanimated 4.0.0-rc.1 → 4.0.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compatibility.json +161 -161
- package/harmony/reanimated/BuildProfile.ets +16 -16
- package/harmony/reanimated/build-profile.json5 +18 -18
- package/harmony/reanimated/hvigorfile.ts +4 -4
- package/harmony/reanimated/index.ets +4 -4
- package/harmony/reanimated/oh-package-lock.json5 +39 -0
- package/harmony/reanimated/oh-package.json5 +12 -12
- package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -110
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1376
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -228
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
- package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -230
- package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
- package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
- package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
- package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
- package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
- package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
- package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
- package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
- package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
- package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
- package/harmony/reanimated/src/main/module.json5 +12 -12
- package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
- package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
- package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
- package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
- package/harmony/reanimated/ts.ts +6 -6
- package/harmony/reanimated.har +0 -0
- package/package.json +70 -68
- package/scripts/deploy.js +191 -191
- package/scripts/set-reanimated-version.js +37 -37
- package/scripts/update-version.js +119 -119
- package/scripts/validate-react-native-version.js +46 -46
- package/scripts/validate-worklets-build.js +17 -17
- package/scripts/validate-worklets-version.js +84 -79
- package/scripts/worklets-version.json +4 -4
- package/src/index.ts +9 -9
package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp
CHANGED
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
#include <reanimated/CSS/common/values/CSSColor.h>
|
|
2
|
-
#include <reanimated/CSS/svg/values/SVGBrush.h>
|
|
3
|
-
|
|
4
|
-
#include <utility>
|
|
5
|
-
|
|
6
|
-
#include <string>
|
|
7
|
-
|
|
8
|
-
namespace reanimated::css {
|
|
9
|
-
|
|
10
|
-
// CSSColorBase template implementations
|
|
11
|
-
|
|
12
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
13
|
-
CSSColorBase<TColorType, TDerived>::CSSColorBase() : channels{0, 0, 0, 0}, colorType(TColorType::Transparent) {}
|
|
14
|
-
|
|
15
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
16
|
-
CSSColorBase<TColorType, TDerived>::CSSColorBase(TColorType colorType) : channels{0, 0, 0, 0}, colorType(colorType) {}
|
|
17
|
-
|
|
18
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
19
|
-
CSSColorBase<TColorType, TDerived>::CSSColorBase(int64_t numberValue)
|
|
20
|
-
: channels{0, 0, 0, 0}, colorType(TColorType::Rgba) {
|
|
21
|
-
uint32_t color;
|
|
22
|
-
// On Android, colors are represented as signed 32-bit integers. In JS, we use
|
|
23
|
-
// a bitwise operation (normalizedColor = normalizedColor | 0x0) to ensure the
|
|
24
|
-
// value is treated as a signed int, causing numbers above 2^31 to become
|
|
25
|
-
// negative. To correctly interpret these in C++, we cast negative values to
|
|
26
|
-
// int32_t to preserve their bit pattern, then assign to uint32_t. This wraps
|
|
27
|
-
// the bits (modulo 2^32), effectively reversing the JS-side bit shift.
|
|
28
|
-
if (numberValue < 0) {
|
|
29
|
-
color = static_cast<int32_t>(numberValue);
|
|
30
|
-
} else {
|
|
31
|
-
color = static_cast<uint32_t>(numberValue);
|
|
32
|
-
}
|
|
33
|
-
channels[0] = (color >> 16) & 0xFF; // Red
|
|
34
|
-
channels[1] = (color >> 8) & 0xFF; // Green
|
|
35
|
-
channels[2] = color & 0xFF; // Blue
|
|
36
|
-
channels[3] = (color >> 24) & 0xFF; // Alpha
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
40
|
-
CSSColorBase<TColorType, TDerived>::CSSColorBase(bool value)
|
|
41
|
-
: channels{0, 0, 0, 0}, colorType(TColorType::Transparent) {}
|
|
42
|
-
|
|
43
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
44
|
-
CSSColorBase<TColorType, TDerived>::CSSColorBase(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a)
|
|
45
|
-
: channels{r, g, b, a}, colorType(TColorType::Rgba) {}
|
|
46
|
-
|
|
47
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
48
|
-
CSSColorBase<TColorType, TDerived>::CSSColorBase(ColorChannels colorChannels)
|
|
49
|
-
: channels{colorChannels}, colorType(TColorType::Rgba) {}
|
|
50
|
-
|
|
51
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
52
|
-
TDerived CSSColorBase<TColorType, TDerived>::interpolate(double progress, const TDerived &to) const {
|
|
53
|
-
ColorChannels fromChannels = channels;
|
|
54
|
-
ColorChannels toChannels = to.channels;
|
|
55
|
-
|
|
56
|
-
if (colorType == TColorType::Transparent) {
|
|
57
|
-
fromChannels = {toChannels[0], toChannels[1], toChannels[2], 0};
|
|
58
|
-
} else if (to.colorType == TColorType::Transparent) {
|
|
59
|
-
toChannels = {fromChannels[0], fromChannels[1], fromChannels[2], 0};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
ColorChannels resultChannels;
|
|
63
|
-
for (size_t i = 0; i < 4; ++i) {
|
|
64
|
-
const auto &fromValue = fromChannels[i];
|
|
65
|
-
const auto &toValue = toChannels[i];
|
|
66
|
-
// Cast one of operands to double to avoid unsigned int subtraction overflow
|
|
67
|
-
// (when from > to)
|
|
68
|
-
const double interpolated = (static_cast<double>(toValue) - fromValue) * progress + fromValue;
|
|
69
|
-
resultChannels[i] = static_cast<uint8_t>(std::round(std::clamp(interpolated, 0.0, 255.0)));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return TDerived(resultChannels);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
76
|
-
bool CSSColorBase<TColorType, TDerived>::operator==(const TDerived &other) const {
|
|
77
|
-
return colorType == other.colorType && channels == other.channels;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// CSSColor implementations
|
|
81
|
-
|
|
82
|
-
CSSColor::CSSColor(jsi::Runtime &rt, const jsi::Value &jsiValue)
|
|
83
|
-
: CSSColorBase<CSSColorType, CSSColor>(CSSColorType::Transparent) {
|
|
84
|
-
if (jsiValue.isBool()) {
|
|
85
|
-
*this = CSSColor(jsiValue.getBool());
|
|
86
|
-
} else if (jsiValue.isNumber()) {
|
|
87
|
-
*this = CSSColor(static_cast<int64_t>(jsiValue.getNumber()));
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
CSSColor::CSSColor(const folly::dynamic &value) : CSSColorBase<CSSColorType, CSSColor>(CSSColorType::Transparent) {
|
|
92
|
-
if (value.isBool()) {
|
|
93
|
-
*this = CSSColor(value.getBool());
|
|
94
|
-
} else if (value.isNumber()) {
|
|
95
|
-
*this = CSSColor(value.asInt());
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
bool CSSColor::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
100
|
-
return jsiValue.isNumber() || jsiValue.isBool();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
bool CSSColor::canConstruct(const folly::dynamic &value) {
|
|
104
|
-
return value.isNumber() || value.isBool();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
folly::dynamic CSSColor::toDynamic() const {
|
|
108
|
-
if (colorType == CSSColorType::Rgba) {
|
|
109
|
-
return (channels[3] << 24) | (channels[0] << 16) | (channels[1] << 8) | channels[2];
|
|
110
|
-
}
|
|
111
|
-
return 0;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
std::string CSSColor::toString() const {
|
|
115
|
-
if (colorType == CSSColorType::Rgba) {
|
|
116
|
-
return "rgba(" + std::to_string(channels[0]) + "," + std::to_string(channels[1]) + "," +
|
|
117
|
-
std::to_string(channels[2]) + "," + std::to_string(channels[3]) + ")";
|
|
118
|
-
}
|
|
119
|
-
return "transparent";
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
#ifndef NDEBUG
|
|
123
|
-
|
|
124
|
-
std::ostream &operator<<(std::ostream &os, const CSSColor &colorValue) {
|
|
125
|
-
os << "CSSColor(" << colorValue.toString() << ")";
|
|
126
|
-
return os;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
#endif // NDEBUG
|
|
130
|
-
|
|
131
|
-
// Explicit template instantiation
|
|
132
|
-
template struct CSSColorBase<CSSColorType, CSSColor>;
|
|
133
|
-
template struct CSSColorBase<SVGBrushType, SVGBrush>;
|
|
134
|
-
|
|
135
|
-
} // namespace reanimated::css
|
|
1
|
+
#include <reanimated/CSS/common/values/CSSColor.h>
|
|
2
|
+
#include <reanimated/CSS/svg/values/SVGBrush.h>
|
|
3
|
+
|
|
4
|
+
#include <utility>
|
|
5
|
+
|
|
6
|
+
#include <string>
|
|
7
|
+
|
|
8
|
+
namespace reanimated::css {
|
|
9
|
+
|
|
10
|
+
// CSSColorBase template implementations
|
|
11
|
+
|
|
12
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
13
|
+
CSSColorBase<TColorType, TDerived>::CSSColorBase() : channels{0, 0, 0, 0}, colorType(TColorType::Transparent) {}
|
|
14
|
+
|
|
15
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
16
|
+
CSSColorBase<TColorType, TDerived>::CSSColorBase(TColorType colorType) : channels{0, 0, 0, 0}, colorType(colorType) {}
|
|
17
|
+
|
|
18
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
19
|
+
CSSColorBase<TColorType, TDerived>::CSSColorBase(int64_t numberValue)
|
|
20
|
+
: channels{0, 0, 0, 0}, colorType(TColorType::Rgba) {
|
|
21
|
+
uint32_t color;
|
|
22
|
+
// On Android, colors are represented as signed 32-bit integers. In JS, we use
|
|
23
|
+
// a bitwise operation (normalizedColor = normalizedColor | 0x0) to ensure the
|
|
24
|
+
// value is treated as a signed int, causing numbers above 2^31 to become
|
|
25
|
+
// negative. To correctly interpret these in C++, we cast negative values to
|
|
26
|
+
// int32_t to preserve their bit pattern, then assign to uint32_t. This wraps
|
|
27
|
+
// the bits (modulo 2^32), effectively reversing the JS-side bit shift.
|
|
28
|
+
if (numberValue < 0) {
|
|
29
|
+
color = static_cast<int32_t>(numberValue);
|
|
30
|
+
} else {
|
|
31
|
+
color = static_cast<uint32_t>(numberValue);
|
|
32
|
+
}
|
|
33
|
+
channels[0] = (color >> 16) & 0xFF; // Red
|
|
34
|
+
channels[1] = (color >> 8) & 0xFF; // Green
|
|
35
|
+
channels[2] = color & 0xFF; // Blue
|
|
36
|
+
channels[3] = (color >> 24) & 0xFF; // Alpha
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
40
|
+
CSSColorBase<TColorType, TDerived>::CSSColorBase(bool value)
|
|
41
|
+
: channels{0, 0, 0, 0}, colorType(TColorType::Transparent) {}
|
|
42
|
+
|
|
43
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
44
|
+
CSSColorBase<TColorType, TDerived>::CSSColorBase(const uint8_t r, const uint8_t g, const uint8_t b, const uint8_t a)
|
|
45
|
+
: channels{r, g, b, a}, colorType(TColorType::Rgba) {}
|
|
46
|
+
|
|
47
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
48
|
+
CSSColorBase<TColorType, TDerived>::CSSColorBase(ColorChannels colorChannels)
|
|
49
|
+
: channels{colorChannels}, colorType(TColorType::Rgba) {}
|
|
50
|
+
|
|
51
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
52
|
+
TDerived CSSColorBase<TColorType, TDerived>::interpolate(double progress, const TDerived &to) const {
|
|
53
|
+
ColorChannels fromChannels = channels;
|
|
54
|
+
ColorChannels toChannels = to.channels;
|
|
55
|
+
|
|
56
|
+
if (colorType == TColorType::Transparent) {
|
|
57
|
+
fromChannels = {toChannels[0], toChannels[1], toChannels[2], 0};
|
|
58
|
+
} else if (to.colorType == TColorType::Transparent) {
|
|
59
|
+
toChannels = {fromChannels[0], fromChannels[1], fromChannels[2], 0};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
ColorChannels resultChannels;
|
|
63
|
+
for (size_t i = 0; i < 4; ++i) {
|
|
64
|
+
const auto &fromValue = fromChannels[i];
|
|
65
|
+
const auto &toValue = toChannels[i];
|
|
66
|
+
// Cast one of operands to double to avoid unsigned int subtraction overflow
|
|
67
|
+
// (when from > to)
|
|
68
|
+
const double interpolated = (static_cast<double>(toValue) - fromValue) * progress + fromValue;
|
|
69
|
+
resultChannels[i] = static_cast<uint8_t>(std::round(std::clamp(interpolated, 0.0, 255.0)));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return TDerived(resultChannels);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
76
|
+
bool CSSColorBase<TColorType, TDerived>::operator==(const TDerived &other) const {
|
|
77
|
+
return colorType == other.colorType && channels == other.channels;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// CSSColor implementations
|
|
81
|
+
|
|
82
|
+
CSSColor::CSSColor(jsi::Runtime &rt, const jsi::Value &jsiValue)
|
|
83
|
+
: CSSColorBase<CSSColorType, CSSColor>(CSSColorType::Transparent) {
|
|
84
|
+
if (jsiValue.isBool()) {
|
|
85
|
+
*this = CSSColor(jsiValue.getBool());
|
|
86
|
+
} else if (jsiValue.isNumber()) {
|
|
87
|
+
*this = CSSColor(static_cast<int64_t>(jsiValue.getNumber()));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
CSSColor::CSSColor(const folly::dynamic &value) : CSSColorBase<CSSColorType, CSSColor>(CSSColorType::Transparent) {
|
|
92
|
+
if (value.isBool()) {
|
|
93
|
+
*this = CSSColor(value.getBool());
|
|
94
|
+
} else if (value.isNumber()) {
|
|
95
|
+
*this = CSSColor(value.asInt());
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
bool CSSColor::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
100
|
+
return jsiValue.isNumber() || jsiValue.isBool();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
bool CSSColor::canConstruct(const folly::dynamic &value) {
|
|
104
|
+
return value.isNumber() || value.isBool();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
folly::dynamic CSSColor::toDynamic() const {
|
|
108
|
+
if (colorType == CSSColorType::Rgba) {
|
|
109
|
+
return (channels[3] << 24) | (channels[0] << 16) | (channels[1] << 8) | channels[2];
|
|
110
|
+
}
|
|
111
|
+
return 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
std::string CSSColor::toString() const {
|
|
115
|
+
if (colorType == CSSColorType::Rgba) {
|
|
116
|
+
return "rgba(" + std::to_string(channels[0]) + "," + std::to_string(channels[1]) + "," +
|
|
117
|
+
std::to_string(channels[2]) + "," + std::to_string(channels[3]) + ")";
|
|
118
|
+
}
|
|
119
|
+
return "transparent";
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
#ifndef NDEBUG
|
|
123
|
+
|
|
124
|
+
std::ostream &operator<<(std::ostream &os, const CSSColor &colorValue) {
|
|
125
|
+
os << "CSSColor(" << colorValue.toString() << ")";
|
|
126
|
+
return os;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
#endif // NDEBUG
|
|
130
|
+
|
|
131
|
+
// Explicit template instantiation
|
|
132
|
+
template struct CSSColorBase<CSSColorType, CSSColor>;
|
|
133
|
+
template struct CSSColorBase<SVGBrushType, SVGBrush>;
|
|
134
|
+
|
|
135
|
+
} // namespace reanimated::css
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
#pragma once
|
|
2
|
-
|
|
3
|
-
#include <reanimated/CSS/common/definitions.h>
|
|
4
|
-
#include <reanimated/CSS/common/values/CSSValue.h>
|
|
5
|
-
|
|
6
|
-
#include <string>
|
|
7
|
-
|
|
8
|
-
namespace reanimated::css {
|
|
9
|
-
|
|
10
|
-
// Base class with common color value functionality
|
|
11
|
-
|
|
12
|
-
template <typename T>
|
|
13
|
-
concept ColorTypeEnum = std::is_enum_v<T> && requires {
|
|
14
|
-
T::Rgba;
|
|
15
|
-
T::Transparent;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
template <ColorTypeEnum TColorType, typename TDerived>
|
|
19
|
-
struct CSSColorBase : public CSSSimpleValue<TDerived> {
|
|
20
|
-
ColorChannels channels;
|
|
21
|
-
TColorType colorType;
|
|
22
|
-
|
|
23
|
-
CSSColorBase();
|
|
24
|
-
explicit CSSColorBase(TColorType colorType);
|
|
25
|
-
explicit CSSColorBase(int64_t numberValue);
|
|
26
|
-
explicit CSSColorBase(bool value);
|
|
27
|
-
|
|
28
|
-
explicit CSSColorBase(uint8_t r, uint8_t g, uint8_t b, uint8_t a);
|
|
29
|
-
explicit CSSColorBase(ColorChannels colorChannels);
|
|
30
|
-
|
|
31
|
-
TDerived interpolate(double progress, const TDerived &to) const override;
|
|
32
|
-
|
|
33
|
-
bool operator==(const TDerived &other) const;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// Enum class for color type
|
|
37
|
-
|
|
38
|
-
enum class CSSColorType : std::uint8_t {
|
|
39
|
-
Rgba,
|
|
40
|
-
Transparent,
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
struct CSSColor : public CSSColorBase<CSSColorType, CSSColor> {
|
|
44
|
-
using CSSColorBase<CSSColorType, CSSColor>::CSSColorBase;
|
|
45
|
-
using CSSColorBase<CSSColorType, CSSColor>::operator==;
|
|
46
|
-
|
|
47
|
-
explicit CSSColor(jsi::Runtime &rt, const jsi::Value &jsiValue);
|
|
48
|
-
explicit CSSColor(const folly::dynamic &value);
|
|
49
|
-
|
|
50
|
-
static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
|
|
51
|
-
static bool canConstruct(const folly::dynamic &value);
|
|
52
|
-
|
|
53
|
-
folly::dynamic toDynamic() const override;
|
|
54
|
-
std::string toString() const override;
|
|
55
|
-
|
|
56
|
-
#ifndef NDEBUG
|
|
57
|
-
friend std::ostream &operator<<(std::ostream &os, const CSSColor &colorValue);
|
|
58
|
-
#endif // NDEBUG
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
} // namespace reanimated::css
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <reanimated/CSS/common/definitions.h>
|
|
4
|
+
#include <reanimated/CSS/common/values/CSSValue.h>
|
|
5
|
+
|
|
6
|
+
#include <string>
|
|
7
|
+
|
|
8
|
+
namespace reanimated::css {
|
|
9
|
+
|
|
10
|
+
// Base class with common color value functionality
|
|
11
|
+
|
|
12
|
+
template <typename T>
|
|
13
|
+
concept ColorTypeEnum = std::is_enum_v<T> && requires {
|
|
14
|
+
T::Rgba;
|
|
15
|
+
T::Transparent;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
template <ColorTypeEnum TColorType, typename TDerived>
|
|
19
|
+
struct CSSColorBase : public CSSSimpleValue<TDerived> {
|
|
20
|
+
ColorChannels channels;
|
|
21
|
+
TColorType colorType;
|
|
22
|
+
|
|
23
|
+
CSSColorBase();
|
|
24
|
+
explicit CSSColorBase(TColorType colorType);
|
|
25
|
+
explicit CSSColorBase(int64_t numberValue);
|
|
26
|
+
explicit CSSColorBase(bool value);
|
|
27
|
+
|
|
28
|
+
explicit CSSColorBase(uint8_t r, uint8_t g, uint8_t b, uint8_t a);
|
|
29
|
+
explicit CSSColorBase(ColorChannels colorChannels);
|
|
30
|
+
|
|
31
|
+
TDerived interpolate(double progress, const TDerived &to) const override;
|
|
32
|
+
|
|
33
|
+
bool operator==(const TDerived &other) const;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// Enum class for color type
|
|
37
|
+
|
|
38
|
+
enum class CSSColorType : std::uint8_t {
|
|
39
|
+
Rgba,
|
|
40
|
+
Transparent,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
struct CSSColor : public CSSColorBase<CSSColorType, CSSColor> {
|
|
44
|
+
using CSSColorBase<CSSColorType, CSSColor>::CSSColorBase;
|
|
45
|
+
using CSSColorBase<CSSColorType, CSSColor>::operator==;
|
|
46
|
+
|
|
47
|
+
explicit CSSColor(jsi::Runtime &rt, const jsi::Value &jsiValue);
|
|
48
|
+
explicit CSSColor(const folly::dynamic &value);
|
|
49
|
+
|
|
50
|
+
static bool canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue);
|
|
51
|
+
static bool canConstruct(const folly::dynamic &value);
|
|
52
|
+
|
|
53
|
+
folly::dynamic toDynamic() const override;
|
|
54
|
+
std::string toString() const override;
|
|
55
|
+
|
|
56
|
+
#ifndef NDEBUG
|
|
57
|
+
friend std::ostream &operator<<(std::ostream &os, const CSSColor &colorValue);
|
|
58
|
+
#endif // NDEBUG
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
} // namespace reanimated::css
|
package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp
CHANGED
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
#include <reanimated/CSS/common/values/CSSDiscreteArray.h>
|
|
2
|
-
|
|
3
|
-
#include <string>
|
|
4
|
-
#include <vector>
|
|
5
|
-
|
|
6
|
-
namespace reanimated::css {
|
|
7
|
-
|
|
8
|
-
template <typename TValue>
|
|
9
|
-
CSSDiscreteArray<TValue>::CSSDiscreteArray() : values() {}
|
|
10
|
-
|
|
11
|
-
template <typename TValue>
|
|
12
|
-
CSSDiscreteArray<TValue>::CSSDiscreteArray(const std::vector<TValue> &values) : values(values) {}
|
|
13
|
-
|
|
14
|
-
template <typename TValue>
|
|
15
|
-
CSSDiscreteArray<TValue>::CSSDiscreteArray(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
16
|
-
const auto &array = jsiValue.asObject(rt).asArray(rt);
|
|
17
|
-
values.reserve(array.size(rt));
|
|
18
|
-
|
|
19
|
-
for (size_t i = 0; i < array.size(rt); i++) {
|
|
20
|
-
values.emplace_back(rt, array.getValueAtIndex(rt, i));
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
template <typename TValue>
|
|
25
|
-
CSSDiscreteArray<TValue>::CSSDiscreteArray(const folly::dynamic &array) {
|
|
26
|
-
values.reserve(array.size());
|
|
27
|
-
|
|
28
|
-
for (size_t i = 0; i < array.size(); i++) {
|
|
29
|
-
values.emplace_back(array[i]);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
template <typename TValue>
|
|
34
|
-
bool CSSDiscreteArray<TValue>::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
35
|
-
// TODO - maybe add better validation
|
|
36
|
-
return jsiValue.isObject() && jsiValue.asObject(rt).isArray(rt);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
template <typename TValue>
|
|
40
|
-
bool CSSDiscreteArray<TValue>::canConstruct(const folly::dynamic &value) {
|
|
41
|
-
return value.isArray();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
template <typename TValue>
|
|
45
|
-
folly::dynamic CSSDiscreteArray<TValue>::toDynamic() const {
|
|
46
|
-
folly::dynamic array = folly::dynamic::array;
|
|
47
|
-
for (const auto &value : values) {
|
|
48
|
-
array.push_back(value.toDynamic());
|
|
49
|
-
}
|
|
50
|
-
return array;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
template <typename TValue>
|
|
54
|
-
std::string CSSDiscreteArray<TValue>::toString() const {
|
|
55
|
-
std::stringstream ss;
|
|
56
|
-
|
|
57
|
-
ss << "{";
|
|
58
|
-
for (size_t i = 0; i < values.size(); i++) {
|
|
59
|
-
ss << values[i].toString();
|
|
60
|
-
if (i < values.size() - 1) {
|
|
61
|
-
ss << ", ";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
ss << "}";
|
|
65
|
-
|
|
66
|
-
return ss.str();
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
template <typename TValue>
|
|
70
|
-
CSSDiscreteArray<TValue> CSSDiscreteArray<TValue>::interpolate(double progress, const CSSDiscreteArray<TValue> &other)
|
|
71
|
-
const {
|
|
72
|
-
return CSSDiscreteArray<TValue>(progress < 0.5 ? values : other.values);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
template <typename TValue>
|
|
76
|
-
bool CSSDiscreteArray<TValue>::operator==(const CSSDiscreteArray<TValue> &other) const {
|
|
77
|
-
if (values.size() != other.values.size()) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
for (size_t i = 0; i < values.size(); i++) {
|
|
81
|
-
if (values[i] != other.values[i]) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
#ifndef NDEBUG
|
|
89
|
-
|
|
90
|
-
template <typename TValue>
|
|
91
|
-
std::ostream &operator<<(std::ostream &os, const CSSDiscreteArray<TValue> &arrayValue) {
|
|
92
|
-
os << "CSSDiscreteArray(" << arrayValue.toString() << ")";
|
|
93
|
-
return os;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
#endif // NDEBUG
|
|
97
|
-
|
|
98
|
-
template struct CSSDiscreteArray<CSSKeyword>;
|
|
99
|
-
|
|
100
|
-
} // namespace reanimated::css
|
|
1
|
+
#include <reanimated/CSS/common/values/CSSDiscreteArray.h>
|
|
2
|
+
|
|
3
|
+
#include <string>
|
|
4
|
+
#include <vector>
|
|
5
|
+
|
|
6
|
+
namespace reanimated::css {
|
|
7
|
+
|
|
8
|
+
template <typename TValue>
|
|
9
|
+
CSSDiscreteArray<TValue>::CSSDiscreteArray() : values() {}
|
|
10
|
+
|
|
11
|
+
template <typename TValue>
|
|
12
|
+
CSSDiscreteArray<TValue>::CSSDiscreteArray(const std::vector<TValue> &values) : values(values) {}
|
|
13
|
+
|
|
14
|
+
template <typename TValue>
|
|
15
|
+
CSSDiscreteArray<TValue>::CSSDiscreteArray(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
16
|
+
const auto &array = jsiValue.asObject(rt).asArray(rt);
|
|
17
|
+
values.reserve(array.size(rt));
|
|
18
|
+
|
|
19
|
+
for (size_t i = 0; i < array.size(rt); i++) {
|
|
20
|
+
values.emplace_back(rt, array.getValueAtIndex(rt, i));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
template <typename TValue>
|
|
25
|
+
CSSDiscreteArray<TValue>::CSSDiscreteArray(const folly::dynamic &array) {
|
|
26
|
+
values.reserve(array.size());
|
|
27
|
+
|
|
28
|
+
for (size_t i = 0; i < array.size(); i++) {
|
|
29
|
+
values.emplace_back(array[i]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
template <typename TValue>
|
|
34
|
+
bool CSSDiscreteArray<TValue>::canConstruct(jsi::Runtime &rt, const jsi::Value &jsiValue) {
|
|
35
|
+
// TODO - maybe add better validation
|
|
36
|
+
return jsiValue.isObject() && jsiValue.asObject(rt).isArray(rt);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
template <typename TValue>
|
|
40
|
+
bool CSSDiscreteArray<TValue>::canConstruct(const folly::dynamic &value) {
|
|
41
|
+
return value.isArray();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
template <typename TValue>
|
|
45
|
+
folly::dynamic CSSDiscreteArray<TValue>::toDynamic() const {
|
|
46
|
+
folly::dynamic array = folly::dynamic::array;
|
|
47
|
+
for (const auto &value : values) {
|
|
48
|
+
array.push_back(value.toDynamic());
|
|
49
|
+
}
|
|
50
|
+
return array;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
template <typename TValue>
|
|
54
|
+
std::string CSSDiscreteArray<TValue>::toString() const {
|
|
55
|
+
std::stringstream ss;
|
|
56
|
+
|
|
57
|
+
ss << "{";
|
|
58
|
+
for (size_t i = 0; i < values.size(); i++) {
|
|
59
|
+
ss << values[i].toString();
|
|
60
|
+
if (i < values.size() - 1) {
|
|
61
|
+
ss << ", ";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
ss << "}";
|
|
65
|
+
|
|
66
|
+
return ss.str();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
template <typename TValue>
|
|
70
|
+
CSSDiscreteArray<TValue> CSSDiscreteArray<TValue>::interpolate(double progress, const CSSDiscreteArray<TValue> &other)
|
|
71
|
+
const {
|
|
72
|
+
return CSSDiscreteArray<TValue>(progress < 0.5 ? values : other.values);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
template <typename TValue>
|
|
76
|
+
bool CSSDiscreteArray<TValue>::operator==(const CSSDiscreteArray<TValue> &other) const {
|
|
77
|
+
if (values.size() != other.values.size()) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
for (size_t i = 0; i < values.size(); i++) {
|
|
81
|
+
if (values[i] != other.values[i]) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
#ifndef NDEBUG
|
|
89
|
+
|
|
90
|
+
template <typename TValue>
|
|
91
|
+
std::ostream &operator<<(std::ostream &os, const CSSDiscreteArray<TValue> &arrayValue) {
|
|
92
|
+
os << "CSSDiscreteArray(" << arrayValue.toString() << ")";
|
|
93
|
+
return os;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
#endif // NDEBUG
|
|
97
|
+
|
|
98
|
+
template struct CSSDiscreteArray<CSSKeyword>;
|
|
99
|
+
|
|
100
|
+
} // namespace reanimated::css
|