@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,166 +1,166 @@
1
- #include <reanimated/CSS/common/transforms/TransformMatrix.h>
2
-
3
- #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
4
- #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
5
-
6
- #include <algorithm>
7
- #include <string>
8
- #include <utility>
9
-
10
- namespace reanimated::css {
11
-
12
- // TransformMatrixBase template implementations
13
- template <typename TDerived, size_t TDimension>
14
- TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase() : TransformMatrix(), matrix_{} {
15
- // Create an identity matrix
16
- for (size_t i = 0; i < TDimension; ++i) {
17
- matrix_[i * (TDimension + 1)] = 1;
18
- }
19
- }
20
-
21
- template <typename TDerived, size_t TDimension>
22
- TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase(MatrixArray matrix)
23
- : TransformMatrix(), matrix_(std::move(matrix)) {}
24
-
25
- template <typename TDerived, size_t TDimension>
26
- TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase(const TransformMatrixBase &other)
27
- : TransformMatrix(), matrix_(other.matrix_) {}
28
-
29
- template <typename TDerived, size_t TDimension>
30
- TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase(TransformMatrixBase &&other) noexcept
31
- : TransformMatrix(), matrix_(std::move(other.matrix_)) {}
32
-
33
- template <typename TDerived, size_t TDimension>
34
- bool TransformMatrixBase<TDerived, TDimension>::operator==(const TDerived &other) const {
35
- return matrix_ == other.matrix_;
36
- }
37
-
38
- template <typename TDerived, size_t TDimension>
39
- bool TransformMatrixBase<TDerived, TDimension>::operator==(const TransformMatrix &other) const {
40
- return TDimension == other.getDimension() && matrix_ == static_cast<const TDerived &>(other).matrix_;
41
- }
42
-
43
- template <typename TDerived, size_t TDimension>
44
- double &TransformMatrixBase<TDerived, TDimension>::operator[](size_t index) {
45
- return matrix_[index];
46
- }
47
-
48
- template <typename TDerived, size_t TDimension>
49
- const double &TransformMatrixBase<TDerived, TDimension>::operator[](size_t index) const {
50
- return matrix_[index];
51
- }
52
-
53
- template <typename TDerived, size_t TDimension>
54
- size_t TransformMatrixBase<TDerived, TDimension>::getDimension() const {
55
- return TDimension;
56
- }
57
-
58
- template <typename TDerived, size_t TDimension>
59
- size_t TransformMatrixBase<TDerived, TDimension>::getSize() const {
60
- return SIZE;
61
- }
62
-
63
- template <typename TDerived, size_t TDimension>
64
- bool TransformMatrixBase<TDerived, TDimension>::isSingular() const {
65
- return determinant() == 0;
66
- }
67
-
68
- template <typename TDerived, size_t TDimension>
69
- bool TransformMatrixBase<TDerived, TDimension>::normalize() {
70
- const auto last = matrix_[SIZE - 1];
71
- if (last == 0) {
72
- return false;
73
- }
74
- if (last == 1) {
75
- return true;
76
- }
77
-
78
- for (size_t i = 0; i < SIZE; ++i) {
79
- matrix_[i] /= last;
80
- }
81
- return true;
82
- }
83
-
84
- template <typename TDerived, size_t TDimension>
85
- void TransformMatrixBase<TDerived, TDimension>::transpose() {
86
- for (size_t i = 0; i < TDimension; ++i) {
87
- for (size_t j = i + 1; j < TDimension; ++j) {
88
- std::swap(matrix_[i * TDimension + j], matrix_[j * TDimension + i]);
89
- }
90
- }
91
- }
92
-
93
- template <typename TDerived, size_t TDimension>
94
- std::string TransformMatrixBase<TDerived, TDimension>::toString() const {
95
- std::string result = "[";
96
- for (size_t i = 0; i < SIZE; ++i) {
97
- result += std::to_string(matrix_[i]);
98
- if (i < SIZE - 1) {
99
- result += ", ";
100
- }
101
- }
102
- result += "]";
103
- return result;
104
- }
105
-
106
- template <typename TDerived, size_t TDimension>
107
- folly::dynamic TransformMatrixBase<TDerived, TDimension>::toDynamic() const {
108
- folly::dynamic result = folly::dynamic::array;
109
- for (size_t i = 0; i < SIZE; ++i) {
110
- result.push_back(matrix_[i]);
111
- }
112
- return result;
113
- }
114
-
115
- template <typename TDerived, size_t TDimension>
116
- TDerived TransformMatrixBase<TDerived, TDimension>::operator*(const TDerived &rhs) const {
117
- return TDerived(multiply(rhs));
118
- }
119
-
120
- template <typename TDerived, size_t TDimension>
121
- TDerived &TransformMatrixBase<TDerived, TDimension>::operator*=(const TDerived &rhs) {
122
- matrix_ = multiply(rhs);
123
- return static_cast<TDerived &>(*this);
124
- }
125
-
126
- template <typename TDerived, size_t TDimension>
127
- TransformMatrixBase<TDerived, TDimension> &TransformMatrixBase<TDerived, TDimension>::operator=(
128
- const TransformMatrixBase &other) {
129
- if (this != &other) {
130
- // Note: dimension_ is const, so we can't reassign it
131
- // But since all instances have the same dimension, this is fine
132
- matrix_ = other.matrix_;
133
- }
134
- return *this;
135
- }
136
-
137
- template <typename TDerived, size_t TDimension>
138
- TransformMatrixBase<TDerived, TDimension> &TransformMatrixBase<TDerived, TDimension>::operator=(
139
- TransformMatrixBase &&other) noexcept {
140
- if (this != &other) {
141
- matrix_ = std::move(other.matrix_);
142
- }
143
- return *this;
144
- }
145
-
146
- template <typename TDerived, size_t TDimension>
147
- typename TransformMatrixBase<TDerived, TDimension>::MatrixArray TransformMatrixBase<TDerived, TDimension>::multiply(
148
- const TDerived &rhs) const {
149
- MatrixArray result{};
150
-
151
- for (size_t i = 0; i < TDimension; ++i) {
152
- for (size_t k = 0; k < TDimension; ++k) {
153
- double temp = matrix_[i * TDimension + k];
154
- for (size_t j = 0; j < TDimension; ++j) {
155
- result[i * TDimension + j] += temp * rhs[k * TDimension + j];
156
- }
157
- }
158
- }
159
-
160
- return result;
161
- }
162
-
163
- template class TransformMatrixBase<TransformMatrix2D, MATRIX_2D_DIMENSION>;
164
- template class TransformMatrixBase<TransformMatrix3D, MATRIX_3D_DIMENSION>;
165
-
166
- } // namespace reanimated::css
1
+ #include <reanimated/CSS/common/transforms/TransformMatrix.h>
2
+
3
+ #include <reanimated/CSS/common/transforms/TransformMatrix2D.h>
4
+ #include <reanimated/CSS/common/transforms/TransformMatrix3D.h>
5
+
6
+ #include <algorithm>
7
+ #include <string>
8
+ #include <utility>
9
+
10
+ namespace reanimated::css {
11
+
12
+ // TransformMatrixBase template implementations
13
+ template <typename TDerived, size_t TDimension>
14
+ TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase() : TransformMatrix(), matrix_{} {
15
+ // Create an identity matrix
16
+ for (size_t i = 0; i < TDimension; ++i) {
17
+ matrix_[i * (TDimension + 1)] = 1;
18
+ }
19
+ }
20
+
21
+ template <typename TDerived, size_t TDimension>
22
+ TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase(MatrixArray matrix)
23
+ : TransformMatrix(), matrix_(std::move(matrix)) {}
24
+
25
+ template <typename TDerived, size_t TDimension>
26
+ TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase(const TransformMatrixBase &other)
27
+ : TransformMatrix(), matrix_(other.matrix_) {}
28
+
29
+ template <typename TDerived, size_t TDimension>
30
+ TransformMatrixBase<TDerived, TDimension>::TransformMatrixBase(TransformMatrixBase &&other) noexcept
31
+ : TransformMatrix(), matrix_(std::move(other.matrix_)) {}
32
+
33
+ template <typename TDerived, size_t TDimension>
34
+ bool TransformMatrixBase<TDerived, TDimension>::operator==(const TDerived &other) const {
35
+ return matrix_ == other.matrix_;
36
+ }
37
+
38
+ template <typename TDerived, size_t TDimension>
39
+ bool TransformMatrixBase<TDerived, TDimension>::operator==(const TransformMatrix &other) const {
40
+ return TDimension == other.getDimension() && matrix_ == static_cast<const TDerived &>(other).matrix_;
41
+ }
42
+
43
+ template <typename TDerived, size_t TDimension>
44
+ double &TransformMatrixBase<TDerived, TDimension>::operator[](size_t index) {
45
+ return matrix_[index];
46
+ }
47
+
48
+ template <typename TDerived, size_t TDimension>
49
+ const double &TransformMatrixBase<TDerived, TDimension>::operator[](size_t index) const {
50
+ return matrix_[index];
51
+ }
52
+
53
+ template <typename TDerived, size_t TDimension>
54
+ size_t TransformMatrixBase<TDerived, TDimension>::getDimension() const {
55
+ return TDimension;
56
+ }
57
+
58
+ template <typename TDerived, size_t TDimension>
59
+ size_t TransformMatrixBase<TDerived, TDimension>::getSize() const {
60
+ return SIZE;
61
+ }
62
+
63
+ template <typename TDerived, size_t TDimension>
64
+ bool TransformMatrixBase<TDerived, TDimension>::isSingular() const {
65
+ return determinant() == 0;
66
+ }
67
+
68
+ template <typename TDerived, size_t TDimension>
69
+ bool TransformMatrixBase<TDerived, TDimension>::normalize() {
70
+ const auto last = matrix_[SIZE - 1];
71
+ if (last == 0) {
72
+ return false;
73
+ }
74
+ if (last == 1) {
75
+ return true;
76
+ }
77
+
78
+ for (size_t i = 0; i < SIZE; ++i) {
79
+ matrix_[i] /= last;
80
+ }
81
+ return true;
82
+ }
83
+
84
+ template <typename TDerived, size_t TDimension>
85
+ void TransformMatrixBase<TDerived, TDimension>::transpose() {
86
+ for (size_t i = 0; i < TDimension; ++i) {
87
+ for (size_t j = i + 1; j < TDimension; ++j) {
88
+ std::swap(matrix_[i * TDimension + j], matrix_[j * TDimension + i]);
89
+ }
90
+ }
91
+ }
92
+
93
+ template <typename TDerived, size_t TDimension>
94
+ std::string TransformMatrixBase<TDerived, TDimension>::toString() const {
95
+ std::string result = "[";
96
+ for (size_t i = 0; i < SIZE; ++i) {
97
+ result += std::to_string(matrix_[i]);
98
+ if (i < SIZE - 1) {
99
+ result += ", ";
100
+ }
101
+ }
102
+ result += "]";
103
+ return result;
104
+ }
105
+
106
+ template <typename TDerived, size_t TDimension>
107
+ folly::dynamic TransformMatrixBase<TDerived, TDimension>::toDynamic() const {
108
+ folly::dynamic result = folly::dynamic::array;
109
+ for (size_t i = 0; i < SIZE; ++i) {
110
+ result.push_back(matrix_[i]);
111
+ }
112
+ return result;
113
+ }
114
+
115
+ template <typename TDerived, size_t TDimension>
116
+ TDerived TransformMatrixBase<TDerived, TDimension>::operator*(const TDerived &rhs) const {
117
+ return TDerived(multiply(rhs));
118
+ }
119
+
120
+ template <typename TDerived, size_t TDimension>
121
+ TDerived &TransformMatrixBase<TDerived, TDimension>::operator*=(const TDerived &rhs) {
122
+ matrix_ = multiply(rhs);
123
+ return static_cast<TDerived &>(*this);
124
+ }
125
+
126
+ template <typename TDerived, size_t TDimension>
127
+ TransformMatrixBase<TDerived, TDimension> &TransformMatrixBase<TDerived, TDimension>::operator=(
128
+ const TransformMatrixBase &other) {
129
+ if (this != &other) {
130
+ // Note: dimension_ is const, so we can't reassign it
131
+ // But since all instances have the same dimension, this is fine
132
+ matrix_ = other.matrix_;
133
+ }
134
+ return *this;
135
+ }
136
+
137
+ template <typename TDerived, size_t TDimension>
138
+ TransformMatrixBase<TDerived, TDimension> &TransformMatrixBase<TDerived, TDimension>::operator=(
139
+ TransformMatrixBase &&other) noexcept {
140
+ if (this != &other) {
141
+ matrix_ = std::move(other.matrix_);
142
+ }
143
+ return *this;
144
+ }
145
+
146
+ template <typename TDerived, size_t TDimension>
147
+ typename TransformMatrixBase<TDerived, TDimension>::MatrixArray TransformMatrixBase<TDerived, TDimension>::multiply(
148
+ const TDerived &rhs) const {
149
+ MatrixArray result{};
150
+
151
+ for (size_t i = 0; i < TDimension; ++i) {
152
+ for (size_t k = 0; k < TDimension; ++k) {
153
+ double temp = matrix_[i * TDimension + k];
154
+ for (size_t j = 0; j < TDimension; ++j) {
155
+ result[i * TDimension + j] += temp * rhs[k * TDimension + j];
156
+ }
157
+ }
158
+ }
159
+
160
+ return result;
161
+ }
162
+
163
+ template class TransformMatrixBase<TransformMatrix2D, MATRIX_2D_DIMENSION>;
164
+ template class TransformMatrixBase<TransformMatrix3D, MATRIX_3D_DIMENSION>;
165
+
166
+ } // namespace reanimated::css
@@ -1,71 +1,71 @@
1
- #pragma once
2
-
3
- #include <reanimated/CSS/common/definitions.h>
4
-
5
- #include <folly/dynamic.h>
6
- #include <memory>
7
- #include <string>
8
- #include <utility>
9
-
10
- namespace reanimated::css {
11
-
12
- class TransformMatrix {
13
- public:
14
- using Shared = std::shared_ptr<const TransformMatrix>;
15
-
16
- TransformMatrix() = default;
17
- virtual ~TransformMatrix() = default;
18
-
19
- virtual size_t getDimension() const = 0;
20
- virtual size_t getSize() const = 0;
21
-
22
- virtual bool isSingular() const = 0;
23
- virtual bool normalize() = 0;
24
- virtual void transpose() = 0;
25
- virtual double determinant() const = 0;
26
-
27
- virtual std::string toString() const = 0;
28
- virtual folly::dynamic toDynamic() const = 0;
29
-
30
- virtual double &operator[](size_t index) = 0;
31
- virtual const double &operator[](size_t index) const = 0;
32
- virtual bool operator==(const TransformMatrix &other) const = 0;
33
- };
34
-
35
- template <typename TDerived, size_t TDimension>
36
- class TransformMatrixBase : public TransformMatrix {
37
- public:
38
- static constexpr size_t SIZE = TDimension * TDimension;
39
- using MatrixArray = std::array<double, SIZE>;
40
-
41
- TransformMatrixBase();
42
- explicit TransformMatrixBase(MatrixArray matrix);
43
- TransformMatrixBase(const TransformMatrixBase &other);
44
- TransformMatrixBase(TransformMatrixBase &&other) noexcept;
45
-
46
- bool operator==(const TDerived &other) const;
47
- bool operator==(const TransformMatrix &other) const override;
48
- double &operator[](size_t index) override;
49
- const double &operator[](size_t index) const override;
50
-
51
- size_t getDimension() const override;
52
- size_t getSize() const override;
53
- bool isSingular() const override;
54
- bool normalize() override;
55
- void transpose() override;
56
- std::string toString() const override;
57
- folly::dynamic toDynamic() const override;
58
-
59
- TDerived operator*(const TDerived &rhs) const;
60
- TDerived &operator*=(const TDerived &rhs);
61
-
62
- TransformMatrixBase &operator=(const TransformMatrixBase &other);
63
- TransformMatrixBase &operator=(TransformMatrixBase &&other) noexcept;
64
-
65
- protected:
66
- std::array<double, SIZE> matrix_;
67
-
68
- MatrixArray multiply(const TDerived &rhs) const;
69
- };
70
-
71
- } // namespace reanimated::css
1
+ #pragma once
2
+
3
+ #include <reanimated/CSS/common/definitions.h>
4
+
5
+ #include <folly/dynamic.h>
6
+ #include <memory>
7
+ #include <string>
8
+ #include <utility>
9
+
10
+ namespace reanimated::css {
11
+
12
+ class TransformMatrix {
13
+ public:
14
+ using Shared = std::shared_ptr<const TransformMatrix>;
15
+
16
+ TransformMatrix() = default;
17
+ virtual ~TransformMatrix() = default;
18
+
19
+ virtual size_t getDimension() const = 0;
20
+ virtual size_t getSize() const = 0;
21
+
22
+ virtual bool isSingular() const = 0;
23
+ virtual bool normalize() = 0;
24
+ virtual void transpose() = 0;
25
+ virtual double determinant() const = 0;
26
+
27
+ virtual std::string toString() const = 0;
28
+ virtual folly::dynamic toDynamic() const = 0;
29
+
30
+ virtual double &operator[](size_t index) = 0;
31
+ virtual const double &operator[](size_t index) const = 0;
32
+ virtual bool operator==(const TransformMatrix &other) const = 0;
33
+ };
34
+
35
+ template <typename TDerived, size_t TDimension>
36
+ class TransformMatrixBase : public TransformMatrix {
37
+ public:
38
+ static constexpr size_t SIZE = TDimension * TDimension;
39
+ using MatrixArray = std::array<double, SIZE>;
40
+
41
+ TransformMatrixBase();
42
+ explicit TransformMatrixBase(MatrixArray matrix);
43
+ TransformMatrixBase(const TransformMatrixBase &other);
44
+ TransformMatrixBase(TransformMatrixBase &&other) noexcept;
45
+
46
+ bool operator==(const TDerived &other) const;
47
+ bool operator==(const TransformMatrix &other) const override;
48
+ double &operator[](size_t index) override;
49
+ const double &operator[](size_t index) const override;
50
+
51
+ size_t getDimension() const override;
52
+ size_t getSize() const override;
53
+ bool isSingular() const override;
54
+ bool normalize() override;
55
+ void transpose() override;
56
+ std::string toString() const override;
57
+ folly::dynamic toDynamic() const override;
58
+
59
+ TDerived operator*(const TDerived &rhs) const;
60
+ TDerived &operator*=(const TDerived &rhs);
61
+
62
+ TransformMatrixBase &operator=(const TransformMatrixBase &other);
63
+ TransformMatrixBase &operator=(TransformMatrixBase &&other) noexcept;
64
+
65
+ protected:
66
+ std::array<double, SIZE> matrix_;
67
+
68
+ MatrixArray multiply(const TDerived &rhs) const;
69
+ };
70
+
71
+ } // namespace reanimated::css