@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.
Files changed (235) hide show
  1. package/compatibility.json +161 -161
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +18 -18
  4. package/harmony/reanimated/hvigorfile.ts +4 -4
  5. package/harmony/reanimated/index.ets +4 -4
  6. package/harmony/reanimated/oh-package-lock.json5 +39 -0
  7. package/harmony/reanimated/oh-package.json5 +12 -12
  8. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +62 -62
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -94
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -45
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -111
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1380
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -230
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
  200. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
  201. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
  202. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
  203. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +246 -233
  204. package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
  205. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
  206. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
  207. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
  208. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
  209. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
  210. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
  211. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
  212. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
  213. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
  214. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
  215. package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
  216. package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
  217. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +62 -51
  218. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
  219. package/harmony/reanimated/src/main/module.json5 +12 -12
  220. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  221. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  222. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  223. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  224. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  225. package/harmony/reanimated/ts.ts +6 -6
  226. package/harmony/reanimated.har +0 -0
  227. package/package.json +70 -69
  228. package/scripts/deploy.js +191 -191
  229. package/scripts/set-reanimated-version.js +37 -37
  230. package/scripts/update-version.js +119 -119
  231. package/scripts/validate-react-native-version.js +46 -46
  232. package/scripts/validate-worklets-build.js +17 -17
  233. package/scripts/validate-worklets-version.js +84 -84
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,208 +1,208 @@
1
- #include <reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h>
2
- #include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
3
-
4
- #include <deque>
5
- #include <memory>
6
- #include <utility>
7
-
8
- namespace reanimated::css {
9
-
10
- TransformMatrix3D matrixFromOperations3D(TransformOperations &operations) {
11
- TransformMatrix3D result;
12
- for (int i = static_cast<int>(operations.size()) - 1; i >= 0; i--) {
13
- result *= static_cast<const TransformMatrix3D &>(*operations[i]->toMatrix(true));
14
- }
15
- return result;
16
- }
17
-
18
- TransformMatrix2D matrixFromOperations2D(TransformOperations &operations) {
19
- TransformMatrix2D result;
20
- for (int i = static_cast<int>(operations.size()) - 1; i >= 0; i--) {
21
- result *= static_cast<const TransformMatrix2D &>(*operations[i]->toMatrix(false));
22
- }
23
- return result;
24
- }
25
-
26
- std::pair<TransformOperations, bool> flattenOperations(const TransformOperations &operations) {
27
- std::deque<std::shared_ptr<TransformOperation>> unprocessedQueue(operations.begin(), operations.end());
28
- TransformOperations result;
29
- bool is3D = false;
30
-
31
- while (!unprocessedQueue.empty()) {
32
- const auto operation = unprocessedQueue.front();
33
- unprocessedQueue.pop_front();
34
-
35
- if (operation->type == static_cast<uint8_t>(TransformOp::Matrix)) {
36
- const auto matrixOperation = std::static_pointer_cast<MatrixOperation>(operation);
37
- if (std::holds_alternative<TransformOperations>(matrixOperation->value)) {
38
- // If the current operation is a matrix created from other operations,
39
- // add all of these operations at the beginning of the queue
40
- const auto &nestedOps = std::get<TransformOperations>(matrixOperation->value);
41
- unprocessedQueue.insert(unprocessedQueue.begin(), nestedOps.begin(), nestedOps.end());
42
- continue;
43
- }
44
- }
45
-
46
- if (operation->is3D()) {
47
- is3D = true;
48
- }
49
-
50
- result.emplace_back(operation);
51
- }
52
-
53
- return {std::move(result), is3D};
54
- }
55
-
56
- /**
57
- * Simplifies the vector of operations by converting to matrices and multiplying
58
- * transformations that can be converted. This reduces the number of operations
59
- * in the resulting operations vector or returns a single matrix if all
60
- * operations can be converted to a matrix.
61
- */
62
- std::pair<MatrixOperationValue, bool> simplifyOperations(const TransformOperations &operations) {
63
- const auto [flattenedOperations, is3D] = flattenOperations(operations);
64
-
65
- TransformOperations result;
66
- TransformOperations toSimplify;
67
- result.reserve(operations.size());
68
- toSimplify.reserve(operations.size());
69
-
70
- // const auto simplify = [&]() {
71
- // return is3D ? std::make_shared<MatrixOperation>(matrixFromOperations3D(toSimplify))
72
- // : std::make_shared<MatrixOperation>(matrixFromOperations2D(toSimplify));
73
- // };
74
- //TODO
75
- const auto simplify = [](TransformOperations &toSimplify,bool is3DValue) {
76
- return is3DValue ? std::make_shared<MatrixOperation>(matrixFromOperations3D(toSimplify))
77
- : std::make_shared<MatrixOperation>(matrixFromOperations2D(toSimplify));
78
- };
79
- for (const auto &operation : flattenedOperations) {
80
- if (operation->shouldResolve()) {
81
- if (toSimplify.size() > 0) {
82
- result.emplace_back(simplify(toSimplify,is3D));
83
- toSimplify.clear();
84
- }
85
-
86
- // Keep operations that need to be resolved unchanged in the transform
87
- // operations vector
88
- result.emplace_back(operation);
89
- } else {
90
- toSimplify.emplace_back(operation);
91
- }
92
- }
93
-
94
- // Result is empty only if there was not a single operation that needed to be
95
- // resolved (all operations were added to the toSimplify vector)
96
- if (result.empty()) {
97
- return {simplify(toSimplify,is3D)->toMatrix(is3D), is3D};
98
- }
99
-
100
- result.emplace_back(simplify(toSimplify,is3D));
101
-
102
- return {std::move(result), is3D};
103
- }
104
-
105
- MatrixOperation::MatrixOperation(MatrixOperationValue value)
106
- : TransformOperation(TransformOp::Matrix), value(std::move(value)) {
107
- // Initialize is3D_ based on the variant content
108
- if (std::holds_alternative<TransformMatrix::Shared>(this->value)) {
109
- const auto &matrix = std::get<TransformMatrix::Shared>(this->value);
110
- is3D_ = matrix->getDimension() == MATRIX_3D_DIMENSION;
111
- } else {
112
- // If it contains TransformOperations, check if any operation is 3D
113
- const auto &operations = std::get<TransformOperations>(this->value);
114
- is3D_ = false;
115
- for (const auto &operation : operations) {
116
- if (operation->is3D()) {
117
- is3D_ = true;
118
- break;
119
- }
120
- }
121
- }
122
- }
123
-
124
- MatrixOperation::MatrixOperation(jsi::Runtime &rt, const jsi::Value &value)
125
- : MatrixOperation([&]() -> TransformMatrix::Shared {
126
- // Try 2D first, then 3D (will throw if neither works)
127
- if (TransformMatrix2D::canConstruct(rt, value)) {
128
- is3D_ = false;
129
- return std::make_shared<const TransformMatrix2D>(rt, value);
130
- }
131
- is3D_ = true;
132
- return std::make_shared<const TransformMatrix3D>(rt, value);
133
- }()) {}
134
-
135
- MatrixOperation::MatrixOperation(const folly::dynamic &value)
136
- : MatrixOperation([&]() -> TransformMatrix::Shared {
137
- // Try 2D first, then 3D (will throw if neither works)
138
- if (TransformMatrix2D::canConstruct(value)) {
139
- is3D_ = false;
140
- return std::make_shared<const TransformMatrix2D>(value);
141
- }
142
- is3D_ = true;
143
- return std::make_shared<const TransformMatrix3D>(value);
144
- }()) {}
145
-
146
- MatrixOperation::MatrixOperation(TransformMatrix2D matrix)
147
- : TransformOperation(TransformOp::Matrix),
148
- value(std::make_shared<const TransformMatrix2D>(std::move(matrix))),
149
- is3D_(false) {}
150
-
151
- MatrixOperation::MatrixOperation(TransformMatrix3D matrix)
152
- : TransformOperation(TransformOp::Matrix),
153
- value(std::make_shared<const TransformMatrix3D>(std::move(matrix))),
154
- is3D_(true) {}
155
-
156
- MatrixOperation::MatrixOperation(TransformOperations operations)
157
- // Simplify operations to reduce the number of matrix
158
- // multiplications during matrix keyframe interpolation
159
- : TransformOperation(TransformOp::Matrix), value([&]() {
160
- const auto &[value, is3D] = simplifyOperations(operations);
161
- is3D_ = is3D;
162
- return value;
163
- }()) {}
164
-
165
- bool MatrixOperation::is3D() const {
166
- return is3D_;
167
- }
168
-
169
- folly::dynamic MatrixOperation::valueToDynamic() const {
170
- return getMatrixFromVariant()->toDynamic();
171
- }
172
-
173
- TransformMatrix::Shared MatrixOperation::toMatrix(const bool force3D) const {
174
- const auto &storedMatrix = getMatrixFromVariant();
175
-
176
- if (force3D && storedMatrix->getDimension() == MATRIX_2D_DIMENSION) {
177
- return std::make_shared<const TransformMatrix3D>(
178
- TransformMatrix3D::from2D(static_cast<const TransformMatrix2D &>(*storedMatrix)));
179
- }
180
-
181
- return storedMatrix;
182
- }
183
-
184
- const TransformMatrix::Shared &MatrixOperation::getMatrixFromVariant() const {
185
- if (!std::holds_alternative<TransformMatrix::Shared>(value)) {
186
- throw std::runtime_error("[Reanimated] Cannot convert unprocessed transform operations to the matrix.");
187
- }
188
- return std::get<TransformMatrix::Shared>(value);
189
- }
190
-
191
- bool MatrixOperation::areValuesEqual(const StyleOperation &other) const {
192
- const auto &otherOperation = static_cast<const MatrixOperation &>(other);
193
-
194
- // Quick check: if variants have different types, they're not equal
195
- if (value.index() != otherOperation.value.index()) {
196
- return false;
197
- }
198
-
199
- // Both hold TransformOperations
200
- if (std::holds_alternative<TransformOperations>(value)) {
201
- return std::get<TransformOperations>(value) == std::get<TransformOperations>(otherOperation.value);
202
- }
203
-
204
- // Both hold matrices
205
- return *std::get<TransformMatrix::Shared>(value) == *std::get<TransformMatrix::Shared>(otherOperation.value);
206
- }
207
-
208
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h>
2
+ #include <reanimated/CSS/interpolation/transforms/operations/matrix.h>
3
+
4
+ #include <deque>
5
+ #include <memory>
6
+ #include <utility>
7
+
8
+ namespace reanimated::css {
9
+
10
+ TransformMatrix3D matrixFromOperations3D(TransformOperations &operations) {
11
+ TransformMatrix3D result;
12
+ for (int i = static_cast<int>(operations.size()) - 1; i >= 0; i--) {
13
+ result *= static_cast<const TransformMatrix3D &>(*operations[i]->toMatrix(true));
14
+ }
15
+ return result;
16
+ }
17
+
18
+ TransformMatrix2D matrixFromOperations2D(TransformOperations &operations) {
19
+ TransformMatrix2D result;
20
+ for (int i = static_cast<int>(operations.size()) - 1; i >= 0; i--) {
21
+ result *= static_cast<const TransformMatrix2D &>(*operations[i]->toMatrix(false));
22
+ }
23
+ return result;
24
+ }
25
+
26
+ std::pair<TransformOperations, bool> flattenOperations(const TransformOperations &operations) {
27
+ std::deque<std::shared_ptr<TransformOperation>> unprocessedQueue(operations.begin(), operations.end());
28
+ TransformOperations result;
29
+ bool is3D = false;
30
+
31
+ while (!unprocessedQueue.empty()) {
32
+ const auto operation = unprocessedQueue.front();
33
+ unprocessedQueue.pop_front();
34
+
35
+ if (operation->type == static_cast<uint8_t>(TransformOp::Matrix)) {
36
+ const auto matrixOperation = std::static_pointer_cast<MatrixOperation>(operation);
37
+ if (std::holds_alternative<TransformOperations>(matrixOperation->value)) {
38
+ // If the current operation is a matrix created from other operations,
39
+ // add all of these operations at the beginning of the queue
40
+ const auto &nestedOps = std::get<TransformOperations>(matrixOperation->value);
41
+ unprocessedQueue.insert(unprocessedQueue.begin(), nestedOps.begin(), nestedOps.end());
42
+ continue;
43
+ }
44
+ }
45
+
46
+ if (operation->is3D()) {
47
+ is3D = true;
48
+ }
49
+
50
+ result.emplace_back(operation);
51
+ }
52
+
53
+ return {std::move(result), is3D};
54
+ }
55
+
56
+ /**
57
+ * Simplifies the vector of operations by converting to matrices and multiplying
58
+ * transformations that can be converted. This reduces the number of operations
59
+ * in the resulting operations vector or returns a single matrix if all
60
+ * operations can be converted to a matrix.
61
+ */
62
+ std::pair<MatrixOperationValue, bool> simplifyOperations(const TransformOperations &operations) {
63
+ const auto [flattenedOperations, is3D] = flattenOperations(operations);
64
+
65
+ TransformOperations result;
66
+ TransformOperations toSimplify;
67
+ result.reserve(operations.size());
68
+ toSimplify.reserve(operations.size());
69
+
70
+ // const auto simplify = [&]() {
71
+ // return is3D ? std::make_shared<MatrixOperation>(matrixFromOperations3D(toSimplify))
72
+ // : std::make_shared<MatrixOperation>(matrixFromOperations2D(toSimplify));
73
+ // };
74
+ //TODO
75
+ const auto simplify = [](TransformOperations &toSimplify,bool is3DValue) {
76
+ return is3DValue ? std::make_shared<MatrixOperation>(matrixFromOperations3D(toSimplify))
77
+ : std::make_shared<MatrixOperation>(matrixFromOperations2D(toSimplify));
78
+ };
79
+ for (const auto &operation : flattenedOperations) {
80
+ if (operation->shouldResolve()) {
81
+ if (toSimplify.size() > 0) {
82
+ result.emplace_back(simplify(toSimplify,is3D));
83
+ toSimplify.clear();
84
+ }
85
+
86
+ // Keep operations that need to be resolved unchanged in the transform
87
+ // operations vector
88
+ result.emplace_back(operation);
89
+ } else {
90
+ toSimplify.emplace_back(operation);
91
+ }
92
+ }
93
+
94
+ // Result is empty only if there was not a single operation that needed to be
95
+ // resolved (all operations were added to the toSimplify vector)
96
+ if (result.empty()) {
97
+ return {simplify(toSimplify,is3D)->toMatrix(is3D), is3D};
98
+ }
99
+
100
+ result.emplace_back(simplify(toSimplify,is3D));
101
+
102
+ return {std::move(result), is3D};
103
+ }
104
+
105
+ MatrixOperation::MatrixOperation(MatrixOperationValue value)
106
+ : TransformOperation(TransformOp::Matrix), value(std::move(value)) {
107
+ // Initialize is3D_ based on the variant content
108
+ if (std::holds_alternative<TransformMatrix::Shared>(this->value)) {
109
+ const auto &matrix = std::get<TransformMatrix::Shared>(this->value);
110
+ is3D_ = matrix->getDimension() == MATRIX_3D_DIMENSION;
111
+ } else {
112
+ // If it contains TransformOperations, check if any operation is 3D
113
+ const auto &operations = std::get<TransformOperations>(this->value);
114
+ is3D_ = false;
115
+ for (const auto &operation : operations) {
116
+ if (operation->is3D()) {
117
+ is3D_ = true;
118
+ break;
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ MatrixOperation::MatrixOperation(jsi::Runtime &rt, const jsi::Value &value)
125
+ : MatrixOperation([&]() -> TransformMatrix::Shared {
126
+ // Try 2D first, then 3D (will throw if neither works)
127
+ if (TransformMatrix2D::canConstruct(rt, value)) {
128
+ is3D_ = false;
129
+ return std::make_shared<const TransformMatrix2D>(rt, value);
130
+ }
131
+ is3D_ = true;
132
+ return std::make_shared<const TransformMatrix3D>(rt, value);
133
+ }()) {}
134
+
135
+ MatrixOperation::MatrixOperation(const folly::dynamic &value)
136
+ : MatrixOperation([&]() -> TransformMatrix::Shared {
137
+ // Try 2D first, then 3D (will throw if neither works)
138
+ if (TransformMatrix2D::canConstruct(value)) {
139
+ is3D_ = false;
140
+ return std::make_shared<const TransformMatrix2D>(value);
141
+ }
142
+ is3D_ = true;
143
+ return std::make_shared<const TransformMatrix3D>(value);
144
+ }()) {}
145
+
146
+ MatrixOperation::MatrixOperation(TransformMatrix2D matrix)
147
+ : TransformOperation(TransformOp::Matrix),
148
+ value(std::make_shared<const TransformMatrix2D>(std::move(matrix))),
149
+ is3D_(false) {}
150
+
151
+ MatrixOperation::MatrixOperation(TransformMatrix3D matrix)
152
+ : TransformOperation(TransformOp::Matrix),
153
+ value(std::make_shared<const TransformMatrix3D>(std::move(matrix))),
154
+ is3D_(true) {}
155
+
156
+ MatrixOperation::MatrixOperation(TransformOperations operations)
157
+ // Simplify operations to reduce the number of matrix
158
+ // multiplications during matrix keyframe interpolation
159
+ : TransformOperation(TransformOp::Matrix), value([&]() {
160
+ const auto &[value, is3D] = simplifyOperations(operations);
161
+ is3D_ = is3D;
162
+ return value;
163
+ }()) {}
164
+
165
+ bool MatrixOperation::is3D() const {
166
+ return is3D_;
167
+ }
168
+
169
+ folly::dynamic MatrixOperation::valueToDynamic() const {
170
+ return getMatrixFromVariant()->toDynamic();
171
+ }
172
+
173
+ TransformMatrix::Shared MatrixOperation::toMatrix(const bool force3D) const {
174
+ const auto &storedMatrix = getMatrixFromVariant();
175
+
176
+ if (force3D && storedMatrix->getDimension() == MATRIX_2D_DIMENSION) {
177
+ return std::make_shared<const TransformMatrix3D>(
178
+ TransformMatrix3D::from2D(static_cast<const TransformMatrix2D &>(*storedMatrix)));
179
+ }
180
+
181
+ return storedMatrix;
182
+ }
183
+
184
+ const TransformMatrix::Shared &MatrixOperation::getMatrixFromVariant() const {
185
+ if (!std::holds_alternative<TransformMatrix::Shared>(value)) {
186
+ throw std::runtime_error("[Reanimated] Cannot convert unprocessed transform operations to the matrix.");
187
+ }
188
+ return std::get<TransformMatrix::Shared>(value);
189
+ }
190
+
191
+ bool MatrixOperation::areValuesEqual(const StyleOperation &other) const {
192
+ const auto &otherOperation = static_cast<const MatrixOperation &>(other);
193
+
194
+ // Quick check: if variants have different types, they're not equal
195
+ if (value.index() != otherOperation.value.index()) {
196
+ return false;
197
+ }
198
+
199
+ // Both hold TransformOperations
200
+ if (std::holds_alternative<TransformOperations>(value)) {
201
+ return std::get<TransformOperations>(value) == std::get<TransformOperations>(otherOperation.value);
202
+ }
203
+
204
+ // Both hold matrices
205
+ return *std::get<TransformMatrix::Shared>(value) == *std::get<TransformMatrix::Shared>(otherOperation.value);
206
+ }
207
+
208
+ } // namespace reanimated::css
@@ -1,56 +1,56 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
4
- #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
5
- #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
6
-
7
- #include <utility>
8
- #include <variant>
9
-
10
- namespace reanimated::css {
11
-
12
- // MatrixOperationValue type for matrix operations
13
- using MatrixOperationValue = std::variant<TransformMatrix::Shared, TransformOperations>;
14
-
15
- /**
16
- * Multiplies all operations in the vector to a single 3D matrix
17
- * @param operations - the vector of operations that can be represented in 3D
18
- */
19
- TransformMatrix3D matrixFromOperations3D(TransformOperations &operations);
20
-
21
- /**
22
- * Multiplies all operations in the vector to a single 2D matrix
23
- * @param operations - the vector of operations that can be represented in 2D
24
- */
25
- TransformMatrix2D matrixFromOperations2D(TransformOperations &operations);
26
-
27
- /**
28
- * MatrixOperation does not inherit from TransformOperationBase because its value type
29
- * is different from the other transform operations which use a CSSValue-derived type.
30
- * Instead, it uses a variant of TransformMatrix::Shared and TransformOperations that
31
- * doesn't have a value field.
32
- */
33
- struct MatrixOperation final : public TransformOperation {
34
- const MatrixOperationValue value;
35
-
36
- explicit MatrixOperation(MatrixOperationValue value);
37
- explicit MatrixOperation(jsi::Runtime &rt, const jsi::Value &value);
38
- explicit MatrixOperation(const folly::dynamic &value);
39
- explicit MatrixOperation(TransformMatrix2D matrix);
40
- explicit MatrixOperation(TransformMatrix3D matrix);
41
- explicit MatrixOperation(TransformOperations operations);
42
-
43
- bool is3D() const override;
44
- folly::dynamic valueToDynamic() const override;
45
- TransformMatrix::Shared toMatrix(bool force3D) const override;
46
-
47
- protected:
48
- bool areValuesEqual(const StyleOperation &other) const override;
49
-
50
- private:
51
- bool is3D_;
52
-
53
- const TransformMatrix::Shared &getMatrixFromVariant() const;
54
- };
55
-
56
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
4
+ #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
5
+ #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
6
+
7
+ #include <utility>
8
+ #include <variant>
9
+
10
+ namespace reanimated::css {
11
+
12
+ // MatrixOperationValue type for matrix operations
13
+ using MatrixOperationValue = std::variant<TransformMatrix::Shared, TransformOperations>;
14
+
15
+ /**
16
+ * Multiplies all operations in the vector to a single 3D matrix
17
+ * @param operations - the vector of operations that can be represented in 3D
18
+ */
19
+ TransformMatrix3D matrixFromOperations3D(TransformOperations &operations);
20
+
21
+ /**
22
+ * Multiplies all operations in the vector to a single 2D matrix
23
+ * @param operations - the vector of operations that can be represented in 2D
24
+ */
25
+ TransformMatrix2D matrixFromOperations2D(TransformOperations &operations);
26
+
27
+ /**
28
+ * MatrixOperation does not inherit from TransformOperationBase because its value type
29
+ * is different from the other transform operations which use a CSSValue-derived type.
30
+ * Instead, it uses a variant of TransformMatrix::Shared and TransformOperations that
31
+ * doesn't have a value field.
32
+ */
33
+ struct MatrixOperation final : public TransformOperation {
34
+ const MatrixOperationValue value;
35
+
36
+ explicit MatrixOperation(MatrixOperationValue value);
37
+ explicit MatrixOperation(jsi::Runtime &rt, const jsi::Value &value);
38
+ explicit MatrixOperation(const folly::dynamic &value);
39
+ explicit MatrixOperation(TransformMatrix2D matrix);
40
+ explicit MatrixOperation(TransformMatrix3D matrix);
41
+ explicit MatrixOperation(TransformOperations operations);
42
+
43
+ bool is3D() const override;
44
+ folly::dynamic valueToDynamic() const override;
45
+ TransformMatrix::Shared toMatrix(bool force3D) const override;
46
+
47
+ protected:
48
+ bool areValuesEqual(const StyleOperation &other) const override;
49
+
50
+ private:
51
+ bool is3D_;
52
+
53
+ const TransformMatrix::Shared &getMatrixFromVariant() const;
54
+ };
55
+
56
+ } // namespace reanimated::css
@@ -1,42 +1,42 @@
1
- #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
2
- #include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
3
-
4
- #include <algorithm>
5
- #include <cmath>
6
- #include <memory>
7
-
8
- namespace reanimated::css {
9
-
10
- double sanitizePerspectiveValue(double value) {
11
- if (value < 0) {
12
- // Round value between -1 and 0 to -1
13
- return std::min(value, -1.0);
14
- }
15
- // Round value between 0 and 1 to 1
16
- return std::max(value, 1.0);
17
- }
18
-
19
- PerspectiveOperation::PerspectiveOperation(const double value)
20
- : TransformOperationBase<TransformOp::Perspective, CSSDouble>(CSSDouble(sanitizePerspectiveValue(value))) {}
21
-
22
- bool PerspectiveOperation::is3D() const {
23
- return true;
24
- }
25
-
26
- folly::dynamic PerspectiveOperation::valueToDynamic() const {
27
- if (std::isinf(value.value)) {
28
- return folly::dynamic();
29
- }
30
- return value.toDynamic();
31
- }
32
-
33
- TransformMatrix::Shared PerspectiveOperation::toMatrix(bool /* force3D */) const {
34
- if (!cachedMatrix_) {
35
- // Perspective is a 3D operation
36
- cachedMatrix_ =
37
- std::make_shared<const TransformMatrix3D>(TransformMatrix3D::create<TransformOp::Perspective>(value.value));
38
- }
39
- return cachedMatrix_;
40
- }
41
-
42
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
2
+ #include <reanimated/CSS/interpolation/transforms/operations/perspective.h>
3
+
4
+ #include <algorithm>
5
+ #include <cmath>
6
+ #include <memory>
7
+
8
+ namespace reanimated::css {
9
+
10
+ double sanitizePerspectiveValue(double value) {
11
+ if (value < 0) {
12
+ // Round value between -1 and 0 to -1
13
+ return std::min(value, -1.0);
14
+ }
15
+ // Round value between 0 and 1 to 1
16
+ return std::max(value, 1.0);
17
+ }
18
+
19
+ PerspectiveOperation::PerspectiveOperation(const double value)
20
+ : TransformOperationBase<TransformOp::Perspective, CSSDouble>(CSSDouble(sanitizePerspectiveValue(value))) {}
21
+
22
+ bool PerspectiveOperation::is3D() const {
23
+ return true;
24
+ }
25
+
26
+ folly::dynamic PerspectiveOperation::valueToDynamic() const {
27
+ if (std::isinf(value.value)) {
28
+ return folly::dynamic();
29
+ }
30
+ return value.toDynamic();
31
+ }
32
+
33
+ TransformMatrix::Shared PerspectiveOperation::toMatrix(bool /* force3D */) const {
34
+ if (!cachedMatrix_) {
35
+ // Perspective is a 3D operation
36
+ cachedMatrix_ =
37
+ std::make_shared<const TransformMatrix3D>(TransformMatrix3D::create<TransformOp::Perspective>(value.value));
38
+ }
39
+ return cachedMatrix_;
40
+ }
41
+
42
+ } // namespace reanimated::css
@@ -1,20 +1,20 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/values/CSSNumber.h>
4
- #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
5
-
6
- #include <memory>
7
-
8
- namespace reanimated::css {
9
-
10
- struct PerspectiveOperation final : public TransformOperationBase<TransformOp::Perspective, CSSDouble> {
11
- using TransformOperationBase<TransformOp::Perspective, CSSDouble>::TransformOperationBase;
12
-
13
- explicit PerspectiveOperation(double value);
14
-
15
- bool is3D() const override;
16
- folly::dynamic valueToDynamic() const override;
17
- TransformMatrix::Shared toMatrix(bool /* force3D */) const override;
18
- };
19
-
20
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/values/CSSNumber.h>
4
+ #include <reanimated/CSS/interpolation/transforms/TransformOperation.h>
5
+
6
+ #include <memory>
7
+
8
+ namespace reanimated::css {
9
+
10
+ struct PerspectiveOperation final : public TransformOperationBase<TransformOp::Perspective, CSSDouble> {
11
+ using TransformOperationBase<TransformOp::Perspective, CSSDouble>::TransformOperationBase;
12
+
13
+ explicit PerspectiveOperation(double value);
14
+
15
+ bool is3D() const override;
16
+ folly::dynamic valueToDynamic() const override;
17
+ TransformMatrix::Shared toMatrix(bool /* force3D */) const override;
18
+ };
19
+
20
+ } // namespace reanimated::css