@react-native-ohos/react-native-svg 15.12.1-rc.10 → 15.12.1-rc.12

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 (283) hide show
  1. package/harmony/svg/BuildProfile.ets +16 -16
  2. package/harmony/svg/oh-package.json5 +1 -1
  3. package/harmony/svg/src/main/cpp/CMakeLists.txt +5 -0
  4. package/harmony/svg/src/main/cpp/SVGPackage.h +10 -0
  5. package/harmony/svg/src/main/cpp/SvgViewManager.cpp +3 -0
  6. package/harmony/svg/src/main/cpp/SvgViewManager.h +2 -0
  7. package/harmony/svg/src/main/cpp/downloadUtils/ImageSourceResolver.cpp +4 -3
  8. package/harmony/svg/src/main/ets/SvgPackage.ts +0 -19
  9. package/harmony/svg.har +0 -0
  10. package/package.json +3 -3
  11. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/.ts_checker_cache +0 -3052
  12. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/.tsbuildinfo +0 -1
  13. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/.tsbuildinfo.linter +0 -1
  14. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/compileInfo.json +0 -1
  15. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/modules/RNSVGImageModule.ts-7c464e69f4a700eeeaae44cf66ca5fd3b3e84299010d5c3a5643612ba1a48d70.msgpack +0 -0
  16. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/modules/RNSVGRenderableModule.ts-c2df5206c2aa9e868b7f24f706a131fff1236faaff78688ffdeec3ce25bf5d91.msgpack +0 -0
  17. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/modules/RNSVGSvgViewModule.ts-b9a699770b693eeaa2eb98307323dc9087e44afc9c01b08d222555636b3fac0d.msgpack +0 -0
  18. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/modules/SvgPackage.ts-08ac57d81b1742792af8813eac27abe5eca1a5714b1a5b76f97436b13abe48e4.msgpack +0 -0
  19. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/modules/index.ets-0e520bf323178f6f973ec12f44622042dcdd19e5032efd9bd02ac5606fb58275.msgpack +0 -0
  20. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/modules/ts.ts-1d50b47087f159616212dd3c5ecd04a204a5be09940b7dbba77a59e3a66499c2.msgpack +0 -0
  21. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/other/pkgName2SourceRoots.msgpack +0 -1
  22. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/compiler.cache/plugins/plugins.msgpack +0 -0
  23. package/harmony/svg/build/default/cache/default/default@HarCompileArkTS/esmodule/debug/dep_info.json +0 -1
  24. package/harmony/svg/build/default/cache/default/default@PackageHar/BuildProfile.ets +0 -17
  25. package/harmony/svg/build/default/cache/default/default@PackageHar/ResourceTable.txt +0 -1
  26. package/harmony/svg/build/default/cache/default/default@PackageHar/build-profile.json5 +0 -9
  27. package/harmony/svg/build/default/cache/default/default@PackageHar/hvigorfile.ts +0 -2
  28. package/harmony/svg/build/default/cache/default/default@PackageHar/index.ets +0 -7
  29. package/harmony/svg/build/default/cache/default/default@PackageHar/oh-package-lock.json5 +0 -19
  30. package/harmony/svg/build/default/cache/default/default@PackageHar/oh-package.json5 +0 -1
  31. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/Attribute.h +0 -52
  32. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/CMakeLists.txt +0 -32
  33. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/FallbackProps.h +0 -0
  34. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/FontHolderBase.cpp +0 -22
  35. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/FontHolderBase.h +0 -54
  36. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SVGPackage.cpp +0 -135
  37. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SVGPackage.h +0 -157
  38. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgArkUINode.cpp +0 -78
  39. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgArkUINode.h +0 -51
  40. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgBaseAttribute.h +0 -83
  41. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgCircle.cpp +0 -29
  42. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgCircle.h +0 -29
  43. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgClipPath.h +0 -22
  44. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgContext.cpp +0 -56
  45. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgContext.h +0 -71
  46. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgDefs.h +0 -46
  47. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgEllipse.cpp +0 -32
  48. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgEllipse.h +0 -34
  49. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgFilter.cpp +0 -505
  50. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgFilter.h +0 -112
  51. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgForeignObjectNode.cpp +0 -86
  52. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgForeignObjectNode.h +0 -81
  53. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgForeignObjectNodeDelegate.h +0 -30
  54. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgForeignProps.h +0 -39
  55. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgGradient.cpp +0 -117
  56. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgGradient.h +0 -49
  57. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgGraphic.cpp +0 -553
  58. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgGraphic.h +0 -77
  59. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgGroup.cpp +0 -93
  60. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgGroup.h +0 -41
  61. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgHost.cpp +0 -27
  62. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgHost.h +0 -38
  63. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgImage.cpp +0 -168
  64. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgImage.h +0 -52
  65. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgLine.cpp +0 -28
  66. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgLine.h +0 -32
  67. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgMarker.cpp +0 -61
  68. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgMarker.h +0 -86
  69. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgMask.cpp +0 -72
  70. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgMask.h +0 -68
  71. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgNode.cpp +0 -395
  72. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgNode.h +0 -377
  73. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgPath.cpp +0 -42
  74. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgPath.h +0 -29
  75. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgPattern.cpp +0 -77
  76. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgPattern.h +0 -64
  77. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgQuote.h +0 -87
  78. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgRect.cpp +0 -58
  79. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgRect.h +0 -33
  80. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgSvg.cpp +0 -83
  81. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgSvg.h +0 -52
  82. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgSymbol.cpp +0 -25
  83. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgSymbol.h +0 -37
  84. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgTSpan.cpp +0 -501
  85. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgTSpan.h +0 -101
  86. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgText.cpp +0 -48
  87. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgText.h +0 -29
  88. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgTextPath.cpp +0 -35
  89. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgTextPath.h +0 -51
  90. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgUse.cpp +0 -65
  91. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgUse.h +0 -46
  92. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgViewManager.cpp +0 -36
  93. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/SvgViewManager.h +0 -37
  94. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/TextBase.cpp +0 -20
  95. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/TextBase.h +0 -114
  96. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGBaseComponentInstance.h +0 -212
  97. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGCircleComponentInstance.cpp +0 -31
  98. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGCircleComponentInstance.h +0 -27
  99. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGClipPathComponentInstance.cpp +0 -23
  100. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGClipPathComponentInstance.h +0 -27
  101. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGDefsComponentInstance.cpp +0 -23
  102. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGDefsComponentInstance.h +0 -28
  103. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGEllipseComponentInstance.cpp +0 -27
  104. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGEllipseComponentInstance.h +0 -27
  105. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeBlendComponentInstance.cpp +0 -40
  106. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeBlendComponentInstance.h +0 -48
  107. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeColorMatrixComponentInstance.cpp +0 -33
  108. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeColorMatrixComponentInstance.h +0 -48
  109. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeCompositeComponentInstance.cpp +0 -39
  110. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeCompositeComponentInstance.h +0 -55
  111. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeFloodComponentInstance.cpp +0 -33
  112. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeFloodComponentInstance.h +0 -49
  113. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeGaussianBlurComponentInstance.cpp +0 -34
  114. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeGaussianBlurComponentInstance.h +0 -48
  115. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeOffsetComponentInstance.cpp +0 -35
  116. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFeOffsetComponentInstance.h +0 -46
  117. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFilterComponentInstance.cpp +0 -199
  118. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGFilterComponentInstance.h +0 -48
  119. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGForeignObjectComponentInstance.cpp +0 -93
  120. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGForeignObjectComponentInstance.h +0 -55
  121. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGGroupComponentInstance.cpp +0 -32
  122. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGGroupComponentInstance.h +0 -31
  123. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGImageComponentInstance.cpp +0 -103
  124. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGImageComponentInstance.h +0 -43
  125. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGLineComponentInstance.cpp +0 -27
  126. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGLineComponentInstance.h +0 -27
  127. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGLinearGradientComponentInstance.cpp +0 -30
  128. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGLinearGradientComponentInstance.h +0 -28
  129. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGMarkerComponentInstance.cpp +0 -35
  130. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGMarkerComponentInstance.h +0 -27
  131. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGMaskComponentInstance.cpp +0 -30
  132. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGMaskComponentInstance.h +0 -27
  133. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGPathComponentInstance.cpp +0 -33
  134. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGPathComponentInstance.h +0 -29
  135. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGPatternComponentInstance.cpp +0 -40
  136. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGPatternComponentInstance.h +0 -27
  137. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGRadialGradientComponentInstance.cpp +0 -32
  138. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGRadialGradientComponentInstance.h +0 -28
  139. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGRectComponentInstance.cpp +0 -36
  140. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGRectComponentInstance.h +0 -27
  141. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGSvgViewComponentInstance.cpp +0 -124
  142. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGSvgViewComponentInstance.h +0 -56
  143. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGSymbolComponentInstance.cpp +0 -30
  144. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGSymbolComponentInstance.h +0 -27
  145. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGTSpanComponentInstance.cpp +0 -27
  146. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGTSpanComponentInstance.h +0 -27
  147. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGTextComponentInstance.cpp +0 -25
  148. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGTextComponentInstance.h +0 -27
  149. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGTextPathComponentInstance.cpp +0 -32
  150. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGTextPathComponentInstance.h +0 -27
  151. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGUseComponentInstance.cpp +0 -32
  152. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/componentInstances/RNSVGUseComponentInstance.h +0 -32
  153. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/downloadUtils/HttpTaskProcessor.cpp +0 -266
  154. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/downloadUtils/HttpTaskProcessor.h +0 -88
  155. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/downloadUtils/ImageSourceResolver.cpp +0 -134
  156. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/downloadUtils/ImageSourceResolver.h +0 -93
  157. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/downloadUtils/LRUCache.h +0 -98
  158. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Brush.cpp +0 -50
  159. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Brush.h +0 -52
  160. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/GlyPathBag.cpp +0 -20
  161. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/GlyPathBag.h +0 -31
  162. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Matrix.cpp +0 -100
  163. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Matrix.h +0 -68
  164. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Path.cpp +0 -173
  165. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Path.h +0 -127
  166. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Pen.cpp +0 -57
  167. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Pen.h +0 -59
  168. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Rect.cpp +0 -47
  169. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Rect.h +0 -56
  170. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/RoundRect.cpp +0 -24
  171. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/RoundRect.h +0 -39
  172. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/ShaderEffect.cpp +0 -37
  173. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/ShaderEffect.h +0 -51
  174. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/TextStyle.cpp +0 -49
  175. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/TextStyle.h +0 -41
  176. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Typography.cpp +0 -9
  177. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/Typography.h +0 -25
  178. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/TypographyStyle.cpp +0 -31
  179. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/drawing/TypographyStyle.h +0 -41
  180. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGCircleJSIBinder.h +0 -54
  181. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGClipPathJSIBinder.h +0 -54
  182. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGDefsJSIBinder.h +0 -38
  183. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGEllipseJSIBinder.h +0 -55
  184. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFeBlendJSIBinder.h +0 -26
  185. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFeColorMatrixJSIBinder.h +0 -26
  186. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFeCompositeJSIBinder.h +0 -30
  187. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFeFloodJSIBinder.h +0 -26
  188. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFeGaussianBlurJSIBinder.h +0 -27
  189. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFeOffsetJSIBinder.h +0 -26
  190. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGFilterJSIBinder.h +0 -44
  191. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGForeignObjectJSIBinder.h +0 -57
  192. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGGroupJSIBinder.h +0 -54
  193. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGImageJSIBinder.h +0 -58
  194. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGLineJSIBinder.h +0 -55
  195. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGLinearGradientJSIBinder.h +0 -45
  196. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGMarkerJSIBinder.h +0 -66
  197. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGMaskJSIBinder.h +0 -60
  198. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGPathJSIBinder.h +0 -52
  199. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGPatternJSIBinder.h +0 -67
  200. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGRadialGradientJSIBinder.h +0 -47
  201. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGRectJSIBinder.h +0 -57
  202. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGSvgViewAndroidJSIBinder.h +0 -67
  203. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGSvgViewJSIBinder.h +0 -36
  204. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGSymbolJSIBinder.h +0 -60
  205. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGTSpanJSIBinder.h +0 -66
  206. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGTextJSIBinder.h +0 -65
  207. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGTextPathJSIBinder.h +0 -71
  208. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/RNOH/generated/components/RNSVGUseJSIBinder.h +0 -56
  209. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/ComponentDescriptors.h +0 -48
  210. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/EventEmitters.cpp +0 -20
  211. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/EventEmitters.h +0 -253
  212. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/Props.cpp +0 -977
  213. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/Props.h +0 -1280
  214. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/ShadowNodes.cpp +0 -45
  215. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/ShadowNodes.h +0 -331
  216. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/States.cpp +0 -18
  217. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/generated/react/renderer/components/react_native_svg/States.h +0 -441
  218. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Color.cpp +0 -458
  219. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Color.h +0 -144
  220. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Decoration.cpp +0 -41
  221. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Decoration.h +0 -483
  222. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Dimension.cpp +0 -64
  223. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Dimension.h +0 -257
  224. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Font.cpp +0 -166
  225. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Font.h +0 -163
  226. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Offset.h +0 -119
  227. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/PaintState.h +0 -240
  228. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Rect.h +0 -423
  229. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/Size.h +0 -246
  230. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/SvgPaintState.h +0 -452
  231. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/TextProperties.cpp +0 -91
  232. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/TextProperties.h +0 -56
  233. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/properties/ViewBox.h +0 -108
  234. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/svgImage/RNSVGImageComponentDescriptor.h +0 -41
  235. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/svgImage/RNSVGImageShadowNode.cpp +0 -62
  236. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/svgImage/RNSVGImageShadowNode.h +0 -63
  237. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/svgImage/RNSVGImageState.cpp +0 -17
  238. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/svgImage/RNSVGImageState.h +0 -58
  239. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/turboModules/RNSVGImageModule.cpp +0 -83
  240. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/turboModules/RNSVGImageModule.h +0 -32
  241. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/turboModules/RNSVGRenderableModule.cpp +0 -101
  242. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/turboModules/RNSVGRenderableModule.h +0 -32
  243. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/turboModules/RNSVGSvgViewModule.cpp +0 -71
  244. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/turboModules/RNSVGSvgViewModule.h +0 -32
  245. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/DynamicUtils.h +0 -55
  246. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/FilterManager.h +0 -190
  247. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/GlyphContext.cpp +0 -221
  248. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/GlyphContext.h +0 -106
  249. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/LinearMap.h +0 -69
  250. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/PathParserUtils.cpp +0 -591
  251. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/PathParserUtils.h +0 -93
  252. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/StringUtils.cpp +0 -134
  253. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/StringUtils.h +0 -644
  254. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/SvgAttributesParser.cpp +0 -239
  255. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/SvgAttributesParser.h +0 -277
  256. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/SvgMarkerPositionUtils.h +0 -200
  257. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/SvgUtils.h +0 -176
  258. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/TextPathHelper.cpp +0 -94
  259. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/cpp/utils/TextPathHelper.h +0 -61
  260. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/ets/RNSVGImageModule.ts +0 -21
  261. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/ets/RNSVGRenderableModule.ts +0 -16
  262. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/ets/RNSVGSvgViewModule.ts +0 -18
  263. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/ets/SvgPackage.ts +0 -58
  264. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/module.json +0 -30
  265. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/resources/base/element/string.json +0 -8
  266. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/resources/en_US/element/string.json +0 -8
  267. package/harmony/svg/build/default/cache/default/default@PackageHar/src/main/resources/zh_CN/element/string.json +0 -8
  268. package/harmony/svg/build/default/cache/default/default@PackageHar/ts.ts +0 -8
  269. package/harmony/svg/build/default/generated/pm/default/oh-package.json5 +0 -1
  270. package/harmony/svg/build/default/generated/r/default/ResourceTable.h +0 -24
  271. package/harmony/svg/build/default/intermediates/loader/default/loader.json +0 -26
  272. package/harmony/svg/build/default/intermediates/merge_profile/default/module.json +0 -27
  273. package/harmony/svg/build/default/intermediates/patch/default/base_native_libs.json +0 -1
  274. package/harmony/svg/build/default/intermediates/process_profile/default/module.json +0 -30
  275. package/harmony/svg/build/default/intermediates/res/default/ResourceTable.txt +0 -1
  276. package/harmony/svg/build/default/intermediates/res/default/ark_module.json +0 -1
  277. package/harmony/svg/build/default/intermediates/res/default/ids_map/id_defined.json +0 -7
  278. package/harmony/svg/build/default/intermediates/res/default/module.json +0 -28
  279. package/harmony/svg/build/default/intermediates/res/default/opt-compression.json +0 -1
  280. package/harmony/svg/build/default/intermediates/res/default/resConfig.json +0 -1
  281. package/harmony/svg/build/default/intermediates/res/default/resources/rawfile/rnoh.profdata +0 -0
  282. package/harmony/svg/build/default/intermediates/res/default/resources.index +0 -0
  283. package/harmony/svg/build/default/outputs/default/svg.har +0 -0
@@ -1,553 +0,0 @@
1
- /*
2
- * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
3
- * Use of this source code is governed by a MIT license that can be
4
- * found in the LICENSE file.
5
- *
6
- * This file incorporates from the OpenHarmony project, licensed under
7
- * the Apache License, Version 2.0. Specifically:
8
- * - [OpenHarmony/arkui_ace_engine] (https://gitee.com/openharmony/arkui_ace_engine)
9
- *
10
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
11
- * use this file except in compliance with the License. You may obtain a copy
12
- * of the License at:
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations
19
- * under the License.
20
- */
21
-
22
- #include "utils/SvgMarkerPositionUtils.h"
23
- #include "SvgMarker.h"
24
- #include "SvgFilter.h"
25
- #include "properties/ViewBox.h"
26
- #include "drawing/Rect.h"
27
- #include "SvgGraphic.h"
28
- #include <native_drawing/drawing_bitmap.h>
29
- #include <native_drawing/drawing_filter.h>
30
- #include <native_drawing/drawing_image.h>
31
- #include <native_drawing/drawing_mask_filter.h>
32
- #include <native_drawing/drawing_path_effect.h>
33
- #include <native_drawing/drawing_sampling_options.h>
34
- #include <native_drawing/drawing_shader_effect.h>
35
- #include <native_drawing/drawing_point.h>
36
- #include <native_drawing/drawing_matrix.h>
37
- #include <native_drawing/drawing_types.h>
38
-
39
- namespace rnoh {
40
- namespace svg {
41
-
42
- constexpr int TRANSFORM_SCALE_X_INDEX = 0;
43
- constexpr int TRANSFORM_SKEW_Y_INDEX = 1;
44
- constexpr int TRANSFORM_SKEW_X_INDEX = 2;
45
- constexpr int TRANSFORM_SCALE_Y_INDEX = 3;
46
- constexpr int TRANSFORM_TRANSLATE_X_INDEX = 4;
47
- constexpr int TRANSFORM_TRANSLATE_Y_INDEX = 5;
48
- constexpr double MATRIX_Z_VALUE = 1.0;
49
- constexpr int MIN_TRANSFORM_SIZE = 6;
50
- constexpr int MAX_TRANSFORM_SIZE = 9;
51
-
52
- void SvgGraphic::OnDraw(OH_Drawing_Canvas *canvas) {
53
-
54
- fillBrush_.Reset();
55
- strokePen_.Reset();
56
- path_.Reset();
57
- path_ = AsPath();
58
- UpdateGradient(attributes_.fillState.GetGradient());
59
- UpdateGradient(attributes_.strokeState.GetGradient());
60
-
61
- if (UpdateFillStyle()) {
62
- OnGraphicFill(canvas);
63
- }
64
-
65
- if (UpdateStrokeStyle()) {
66
- OnGraphicStroke(canvas);
67
- }
68
-
69
- if (!attributes_.markerStart.empty() || !attributes_.markerMid.empty() || !attributes_.markerEnd.empty()) {
70
- DrawMarker(canvas);
71
- }
72
- }
73
-
74
- void SvgGraphic::OnGraphicFill(OH_Drawing_Canvas *canvas) {
75
- auto smoothEdge = GetSmoothEdge();
76
- bool hasCustomFilter = !attributes_.filterId.empty();
77
-
78
- if (GreatNotEqual(smoothEdge, 0.0f) || hasCustomFilter) {
79
- auto tmpFillBrush = fillBrush_;
80
-
81
- // Apply smooth edge filter
82
- if (GreatNotEqual(smoothEdge, 0.0f)) {
83
- auto *filter = OH_Drawing_FilterCreate();
84
- auto *maskFilter =
85
- OH_Drawing_MaskFilterCreateBlur(OH_Drawing_BlurType::NORMAL, static_cast<double>(smoothEdge), false);
86
- OH_Drawing_FilterSetMaskFilter(filter, maskFilter);
87
- OH_Drawing_BrushSetFilter(tmpFillBrush.get(), filter);
88
- OH_Drawing_FilterDestroy(filter);
89
- OH_Drawing_MaskFilterDestroy(maskFilter);
90
- }
91
-
92
- // Apply custom SVG filter
93
- if (hasCustomFilter) {
94
- auto svgContext = GetContext();
95
- if (svgContext) {
96
- auto filterNode = svgContext->GetSvgNodeById(attributes_.filterId);
97
- auto svgFilter = std::dynamic_pointer_cast<SvgFilter>(filterNode);
98
- if (svgFilter) {
99
- svgFilter->ApplyToBrush(tmpFillBrush);
100
- }
101
- }
102
- }
103
- OH_Drawing_CanvasAttachBrush(canvas, tmpFillBrush.get());
104
- OH_Drawing_CanvasDrawPath(canvas, path_.get());
105
- OH_Drawing_CanvasDetachBrush(canvas);
106
- } else {
107
- OH_Drawing_CanvasAttachBrush(canvas, fillBrush_.get());
108
- OH_Drawing_CanvasDrawPath(canvas, path_.get());
109
- OH_Drawing_CanvasDetachBrush(canvas);
110
- }
111
- }
112
-
113
- // Use Pen to draw stroke
114
- void SvgGraphic::OnGraphicStroke(OH_Drawing_Canvas *canvas) {
115
- auto smoothEdge = GetSmoothEdge();
116
- bool hasCustomFilter = !attributes_.filterId.empty();
117
-
118
- if (GreatNotEqual(smoothEdge, 0.0f) || hasCustomFilter) {
119
- auto tmpStrokePen = strokePen_;
120
-
121
- // Apply smooth edge filter
122
- if (GreatNotEqual(smoothEdge, 0.0f)) {
123
- auto *filter = OH_Drawing_FilterCreate();
124
- auto *maskFilter =
125
- OH_Drawing_MaskFilterCreateBlur(OH_Drawing_BlurType::NORMAL, static_cast<double>(smoothEdge), false);
126
- OH_Drawing_FilterSetMaskFilter(filter, maskFilter);
127
- OH_Drawing_PenSetFilter(tmpStrokePen.get(), filter);
128
- OH_Drawing_FilterDestroy(filter);
129
- OH_Drawing_MaskFilterDestroy(maskFilter);
130
- }
131
-
132
- // Apply custom SVG filter
133
- if (hasCustomFilter) {
134
- auto svgContext = GetContext();
135
- if (svgContext) {
136
- auto filterNode = svgContext->GetSvgNodeById(attributes_.filterId);
137
- auto svgFilter = std::dynamic_pointer_cast<SvgFilter>(filterNode);
138
- if (svgFilter) {
139
- svgFilter->ApplyToPen(tmpStrokePen);
140
- }
141
- }
142
- }
143
-
144
- OH_Drawing_CanvasAttachPen(canvas, tmpStrokePen.get());
145
- OH_Drawing_CanvasDrawPath(canvas, path_.get());
146
- OH_Drawing_CanvasDetachPen(canvas);
147
- } else {
148
- const auto &transform = attributes_.transform;
149
- if (attributes_.strokeState.GetVectorEffect() && transform.size() >= MIN_TRANSFORM_SIZE) {
150
- auto matrix = drawing::Matrix();
151
- matrix.SetMatrix(transform[TRANSFORM_SCALE_X_INDEX], transform[TRANSFORM_SKEW_X_INDEX],
152
- transform[TRANSFORM_TRANSLATE_X_INDEX] * scale_, transform[TRANSFORM_SKEW_Y_INDEX],
153
- transform[TRANSFORM_SCALE_Y_INDEX], transform[TRANSFORM_TRANSLATE_Y_INDEX] * scale_, 0, 0,
154
- MATRIX_Z_VALUE);
155
- path_.Transform(matrix);
156
- }
157
- OH_Drawing_CanvasAttachPen(canvas, strokePen_.get());
158
- OH_Drawing_CanvasDrawPath(canvas, path_.get());
159
- OH_Drawing_CanvasDetachPen(canvas);
160
- }
161
- }
162
-
163
- void SvgGraphic::UpdateGradient(std::optional<Gradient> &gradient) {
164
- CHECK_NULL_VOID(gradient);
165
- auto nodeBounds = (gradient->GetGradientUnits() == Unit::objectBoundingBox)
166
- ? AsBounds()
167
- : Rect(0, 0, context_->GetSvgSize().Width(), context_->GetSvgSize().Height());
168
- if (gradient->GetType() == GradientType::LINEAR) {
169
- const auto &linearGradient = gradient->GetLinearGradient();
170
- auto gradientInfo = LinearGradientInfo();
171
- if (linearGradient.x1.value().Unit() == DimensionUnit::PERCENT) {
172
- gradientInfo.x1 = nodeBounds.Left() + linearGradient.x1->RelativeConvertToPx(nodeBounds.Width(), scale_);
173
- } else {
174
- gradientInfo.x1 = linearGradient.x1->RelativeConvertToPx(nodeBounds.Width(), scale_);
175
- }
176
- if (linearGradient.y1.value().Unit() == DimensionUnit::PERCENT) {
177
- gradientInfo.y1 = nodeBounds.Top() + linearGradient.y1->RelativeConvertToPx(nodeBounds.Height(), scale_);
178
- } else {
179
- gradientInfo.y1 = linearGradient.y1->RelativeConvertToPx(nodeBounds.Height(), scale_);
180
- }
181
- if (linearGradient.x2.value().Unit() == DimensionUnit::PERCENT) {
182
- gradientInfo.x2 = nodeBounds.Left() + linearGradient.x2->RelativeConvertToPx(nodeBounds.Width(), scale_);
183
- } else {
184
- gradientInfo.x2 = linearGradient.x2->RelativeConvertToPx(nodeBounds.Width(), scale_);
185
- }
186
- if (linearGradient.y2.value().Unit() == DimensionUnit::PERCENT) {
187
- gradientInfo.y2 = nodeBounds.Top() + linearGradient.y2->RelativeConvertToPx(nodeBounds.Height(), scale_);
188
- } else {
189
- gradientInfo.y2 = linearGradient.y2->RelativeConvertToPx(nodeBounds.Height(), scale_);
190
- }
191
- gradient->SetLinearGradientInfo(gradientInfo);
192
- }
193
- if (gradient->GetType() == GradientType::RADIAL) {
194
- const auto &radialGradient = gradient->GetRadialGradient();
195
- auto gradientInfo = RadialGradientInfo();
196
- if (radialGradient.radialCenterX.value().Unit() == DimensionUnit::PERCENT) {
197
- gradientInfo.cx =
198
- nodeBounds.Left() + radialGradient.radialCenterX->RelativeConvertToPx(nodeBounds.Width(), scale_);
199
- } else {
200
- gradientInfo.cx = radialGradient.radialCenterX->RelativeConvertToPx(nodeBounds.Width(), scale_);
201
- }
202
- if (radialGradient.radialCenterY.value().Unit() == DimensionUnit::PERCENT) {
203
- gradientInfo.cy =
204
- nodeBounds.Top() + radialGradient.radialCenterY->RelativeConvertToPx(nodeBounds.Height(), scale_);
205
- } else {
206
- gradientInfo.cy = radialGradient.radialCenterY->RelativeConvertToPx(nodeBounds.Height(), scale_);
207
- }
208
- if (radialGradient.fRadialCenterX.value().Unit() == DimensionUnit::PERCENT) {
209
- gradientInfo.fx =
210
- nodeBounds.Left() + radialGradient.fRadialCenterX->RelativeConvertToPx(nodeBounds.Width(), scale_);
211
- } else {
212
- gradientInfo.fx = radialGradient.fRadialCenterX->RelativeConvertToPx(nodeBounds.Width(), scale_);
213
- }
214
- if (radialGradient.fRadialCenterY.value().Unit() == DimensionUnit::PERCENT) {
215
- gradientInfo.fy =
216
- nodeBounds.Top() + radialGradient.fRadialCenterY->RelativeConvertToPx(nodeBounds.Height(), scale_);
217
- } else {
218
- gradientInfo.fy = radialGradient.fRadialCenterY->RelativeConvertToPx(nodeBounds.Height(), scale_);
219
- }
220
- gradientInfo.rx = radialGradient.radialHorizontalSize->RelativeConvertToPx(nodeBounds.Width(), scale_);
221
- gradientInfo.ry = radialGradient.radialVerticalSize->RelativeConvertToPx(nodeBounds.Height(), scale_);
222
- gradient->SetRadialGradientInfo(gradientInfo);
223
- }
224
- }
225
-
226
- bool SvgGraphic::UpdateFillStyle(bool antiAlias) {
227
- const auto &fillState_ = attributes_.fillState;
228
- if (fillState_.GetColor() == Color::TRANSPARENT && !fillState_.GetGradient() && !fillState_.GetPatternAttr()) {
229
- return false;
230
- }
231
- double curOpacity = fillState_.GetOpacity() * attributes_.opacity;
232
- fillBrush_.SetAntiAlias(antiAlias);
233
- if (fillState_.GetGradient().has_value()) {
234
- SetFillGradientStyle(curOpacity);
235
- } else if (fillState_.GetPatternAttr()) {
236
- return SetPatternStyle();
237
- } else {
238
- fillBrush_.SetColor(fillState_.GetColor().BlendOpacity(curOpacity).GetValue());
239
- }
240
- path_.SetFillType(fillState_.GetFillRuleForDraw());
241
- return true;
242
- }
243
- void SvgGraphic::SetFillGradientStyle(double opacity) {
244
- const auto &fillState_ = attributes_.fillState;
245
- auto gradient = fillState_.GetGradient();
246
- CHECK_NULL_VOID(gradient);
247
- auto gradientColors = gradient->GetColors();
248
- if (gradientColors.empty()) {
249
- return;
250
- }
251
- std::vector<float> pos;
252
- std::vector<uint32_t> colors;
253
- for (const auto &gradientColor : gradientColors) {
254
- pos.push_back(static_cast<float>(gradientColor.GetDimension().Value()));
255
- colors.push_back(
256
- gradientColor.GetColor().BlendOpacity(gradientColor.GetOpacity()).BlendOpacity(opacity).GetValue());
257
- }
258
- drawing::Matrix transMatrix;
259
- if (gradient->GetGradientTransform().size() == 9) {
260
- transMatrix.SetMatrix(gradient->GetGradientTransform()[0], gradient->GetGradientTransform()[1],
261
- gradient->GetGradientTransform()[2], gradient->GetGradientTransform()[3],
262
- gradient->GetGradientTransform()[4], gradient->GetGradientTransform()[5],
263
- gradient->GetGradientTransform()[6], gradient->GetGradientTransform()[7],
264
- gradient->GetGradientTransform()[8]);
265
- }
266
- if (gradient->GetType() == GradientType::LINEAR && gradient->IsValid()) {
267
- auto info = gradient->GetLinearGradientInfo();
268
- OH_Drawing_Point2D ptsPoint2D[2] = {
269
- {static_cast<float>(info.x1), static_cast<float>(info.y1)},
270
- {static_cast<float>(info.x2), static_cast<float>(info.y2)},
271
- };
272
- fillBrush_.SetLinearShaderEffect(&ptsPoint2D[0], &ptsPoint2D[1], colors.data(), pos.data(), colors.size(),
273
- static_cast<OH_Drawing_TileMode>(gradient->GetSpreadMethod()),
274
- transMatrix.get());
275
- }
276
- if (gradient->GetType() == GradientType::RADIAL && gradient->IsValid()) {
277
- auto info = gradient->GetRadialGradientInfo();
278
- drawing::Matrix scaleMatrix;
279
- if (info.ry < info.rx) {
280
- scaleMatrix = drawing::Matrix::CreateScale(1, info.ry / info.rx, info.cx, info.cy);
281
- } else {
282
- scaleMatrix = drawing::Matrix::CreateScale(info.rx / info.ry, 1, info.cx, info.cy);
283
- }
284
- OH_Drawing_Point2D focal = {static_cast<float>(info.fx), static_cast<float>(info.fy)};
285
- OH_Drawing_Point2D center = {static_cast<float>(info.cx), static_cast<float>(info.cy)};
286
- drawing::Matrix concatMatrix;
287
- concatMatrix = scaleMatrix.Concat(transMatrix);
288
- fillBrush_.SetRadialShaderEffect(
289
- &focal, 0, &center, info.rx > info.ry ? info.rx : info.ry, colors.data(), pos.data(), colors.size(),
290
- static_cast<OH_Drawing_TileMode>(gradient->GetSpreadMethod()), concatMatrix.get());
291
- }
292
- }
293
-
294
- void SvgGraphic::SetStrokeGradientStyle(double opacity) {
295
- const auto &strokeState_ = attributes_.strokeState;
296
- auto gradient = strokeState_.GetGradient();
297
- CHECK_NULL_VOID(gradient);
298
- auto gradientColors = gradient->GetColors();
299
- if (gradientColors.empty()) {
300
- return;
301
- }
302
- std::vector<float> pos;
303
- std::vector<uint32_t> colors;
304
- for (const auto &gradientColor : gradientColors) {
305
- pos.push_back(static_cast<float>(gradientColor.GetDimension().Value()));
306
- colors.push_back(
307
- gradientColor.GetColor().BlendOpacity(gradientColor.GetOpacity()).BlendOpacity(opacity).GetValue());
308
- }
309
- drawing::Matrix transMatrix;
310
- if (gradient->GetGradientTransform().size() == 9) {
311
- transMatrix.SetMatrix(gradient->GetGradientTransform()[0], gradient->GetGradientTransform()[1],
312
- gradient->GetGradientTransform()[2], gradient->GetGradientTransform()[3],
313
- gradient->GetGradientTransform()[4], gradient->GetGradientTransform()[5],
314
- gradient->GetGradientTransform()[6], gradient->GetGradientTransform()[7],
315
- gradient->GetGradientTransform()[8]);
316
- }
317
- if (gradient->GetType() == GradientType::LINEAR && gradient->IsValid()) {
318
- auto info = gradient->GetLinearGradientInfo();
319
- OH_Drawing_Point2D ptsPoint2D[2] = {
320
- {static_cast<float>(info.x1), static_cast<float>(info.y1)},
321
- {static_cast<float>(info.x2), static_cast<float>(info.y2)},
322
- };
323
- strokePen_.SetLinearShaderEffect(&ptsPoint2D[0], &ptsPoint2D[1], colors.data(), pos.data(), colors.size(),
324
- static_cast<OH_Drawing_TileMode>(gradient->GetSpreadMethod()),
325
- transMatrix.get());
326
- }
327
- if (gradient->GetType() == GradientType::RADIAL && gradient->IsValid()) {
328
- auto info = gradient->GetRadialGradientInfo();
329
- drawing::Matrix scaleMatrix;
330
- if (info.ry < info.rx) {
331
- scaleMatrix = drawing::Matrix::CreateScale(1, info.ry / info.rx, info.cx, info.cy);
332
- } else {
333
- scaleMatrix = drawing::Matrix::CreateScale(info.rx / info.ry, 1, info.cx, info.cy);
334
- }
335
- OH_Drawing_Point2D focal = {static_cast<float>(info.fx), static_cast<float>(info.fy)};
336
- OH_Drawing_Point2D center = {static_cast<float>(info.cx), static_cast<float>(info.cy)};
337
- drawing::Matrix concatMatrix;
338
- concatMatrix = scaleMatrix.Concat(transMatrix);
339
- strokePen_.SetRadialShaderEffect(
340
- &focal, 0, &center, info.rx > info.ry ? info.rx : info.ry, colors.data(), pos.data(), colors.size(),
341
- static_cast<OH_Drawing_TileMode>(gradient->GetSpreadMethod()), concatMatrix.get());
342
- }
343
- }
344
-
345
- bool SvgGraphic::SetPatternStyle() {
346
- const auto &fillState_ = attributes_.fillState;
347
- auto pattern = fillState_.GetPatternAttr();
348
- if (pattern == nullptr) {
349
- return false;
350
- }
351
- Unit patternUnits = pattern->getPatternUnits();
352
- Unit patternContentUnits = pattern->getPatternContentUnits();
353
-
354
- OH_Drawing_Canvas *canvas = OH_Drawing_CanvasCreate();
355
-
356
- Dimension x_ = pattern->getX();
357
- Dimension y_ = pattern->getY();
358
- Dimension width_ = pattern->getWidth();
359
- Dimension height_ = pattern->getHeight();
360
- float mMinX = pattern->getmMinX();
361
- float mMinY = pattern->getmMinY();
362
- float mVbWidth = pattern->getmVbWidth();
363
- float mVbHeight = pattern->getmVbHeight();
364
- std::string mAlign = pattern->getmAlign();
365
- int mMeetOrSlice = pattern->getmMeetOrSlice();
366
-
367
- Rect nodeBounds;
368
- float left = 0;
369
- float top = 0;
370
- float width;
371
- float height;
372
- if (patternUnits == Unit::objectBoundingBox) {
373
- nodeBounds = AsBounds();
374
- left = nodeBounds.Left();
375
- top = nodeBounds.Top();
376
- } else {
377
- nodeBounds = GetRootViewBox();
378
- }
379
-
380
- width = nodeBounds.Width();
381
- height = nodeBounds.Height();
382
-
383
-
384
- drawing::Rect Bounds_(left, top, width + left, height + top);
385
-
386
- float offsetwidth = Bounds_.GetWidth();
387
- float offsetheight = Bounds_.GetHeight();
388
-
389
- bool isObjectBox = patternUnits == Unit::objectBoundingBox;
390
- double x = x_.FromRelative(isObjectBox, offsetwidth, scale_);
391
- double y = y_.FromRelative(isObjectBox, offsetheight, scale_);
392
- double w = width_.FromRelative(isObjectBox, offsetwidth, scale_);
393
- double h = height_.FromRelative(isObjectBox, offsetheight, scale_);
394
- if (!(w > 1 && h > 1)) {
395
- return false;
396
- }
397
-
398
- OH_Drawing_Bitmap *bitmap = OH_Drawing_BitmapCreate();
399
- OH_Drawing_BitmapFormat format = {COLOR_FORMAT_RGBA_8888, ALPHA_FORMAT_OPAQUE};
400
-
401
- OH_Drawing_BitmapBuild(bitmap, int(w), int(h), &format);
402
- if (OH_Drawing_BitmapGetPixels(bitmap) == nullptr) {
403
- OH_Drawing_CanvasDestroy(canvas);
404
- OH_Drawing_BitmapDestroy(bitmap);
405
- return false;
406
- }
407
- OH_Drawing_CanvasBind(canvas, bitmap);
408
-
409
- // set background color to white
410
- drawing::Brush brush;
411
- brush.SetColor(0xffffffff);
412
- OH_Drawing_CanvasDrawBackground(canvas, brush.get());
413
-
414
- Rect vbRect(mMinX * scale_, mMinY * scale_, (mMinX + mVbWidth) * scale_, (mMinY + mVbHeight) * scale_);
415
- Rect eRect = Rect(x, y, w, h);
416
- if (vbRect.IsValid()) {
417
- drawing::Matrix viewBoxMatrix = ViewBox::getTransform(vbRect, eRect, mAlign, mMeetOrSlice);
418
- OH_Drawing_CanvasConcatMatrix(canvas, viewBoxMatrix.get());
419
- }
420
-
421
- if (patternContentUnits == Unit::objectBoundingBox) {
422
- OH_Drawing_CanvasScale(canvas, offsetwidth / scale_, offsetheight / scale_);
423
- }
424
-
425
- // draw child node
426
- if (!fillState_.GetHref().empty()) {
427
- auto svgContext = GetContext();
428
- auto refSvgNode = svgContext->GetSvgNodeById(fillState_.GetHref());
429
- if (refSvgNode == nullptr) {
430
- OH_Drawing_CanvasDestroy(canvas);
431
- OH_Drawing_BitmapDestroy(bitmap);
432
- return false;
433
- }
434
- refSvgNode->Draw(canvas);
435
- }
436
-
437
- drawing::Matrix matrix;
438
- if (pattern->GetPatternTransform().size() == 9) {
439
- OH_Drawing_MatrixSetMatrix(matrix.get(), pattern->GetPatternTransform()[0], pattern->GetPatternTransform()[1],
440
- pattern->GetPatternTransform()[2], pattern->GetPatternTransform()[3],
441
- pattern->GetPatternTransform()[4], pattern->GetPatternTransform()[5],
442
- pattern->GetPatternTransform()[6], pattern->GetPatternTransform()[7],
443
- pattern->GetPatternTransform()[8]);
444
- }
445
-
446
- // set repeat shader
447
- OH_Drawing_Image *image = OH_Drawing_ImageCreate();
448
- OH_Drawing_ImageBuildFromBitmap(image, bitmap);
449
-
450
- OH_Drawing_SamplingOptions *opt = OH_Drawing_SamplingOptionsCreate(OH_Drawing_FilterMode::FILTER_MODE_LINEAR,
451
- OH_Drawing_MipmapMode::MIPMAP_MODE_NONE);
452
- OH_Drawing_BrushReset(fillBrush_.get());
453
- fillBrush_.SetImageShaderEffect(image, OH_Drawing_TileMode::REPEAT, OH_Drawing_TileMode::REPEAT, opt, matrix.get());
454
-
455
- OH_Drawing_CanvasDestroy(canvas);
456
- OH_Drawing_BitmapDestroy(bitmap);
457
- OH_Drawing_ImageDestroy(image);
458
- OH_Drawing_SamplingOptionsDestroy(opt);
459
-
460
- return true;
461
- }
462
-
463
- bool SvgGraphic::UpdateStrokeStyle(bool antiAlias) {
464
- const auto &strokeState = attributes_.strokeState;
465
- if (!GreatNotEqual(strokeState.GetLineWidth(), 0.0)) {
466
- return false;
467
- }
468
-
469
- double curOpacity = strokeState.GetOpacity() * attributes_.opacity;
470
- if (strokeState.GetGradient()) {
471
- SetStrokeGradientStyle(curOpacity);
472
- } else {
473
- strokePen_.SetColor(strokeState.GetColor().BlendOpacity(curOpacity).GetValue());
474
- }
475
- DLOG(INFO) << "[svg] strokeState.GetLineCap(): " << static_cast<int>(strokeState.GetLineCap());
476
- if (strokeState.GetLineCap() == LineCapStyle::ROUND) {
477
- strokePen_.SetLineCap(LINE_ROUND_CAP);
478
- } else if (strokeState.GetLineCap() == LineCapStyle::SQUARE) {
479
- strokePen_.SetLineCap(LINE_SQUARE_CAP);
480
- } else {
481
- strokePen_.SetLineCap(LINE_FLAT_CAP);
482
- }
483
- DLOG(INFO) << "[svg] strokeState.GetLineJoin(): " << static_cast<int>(strokeState.GetLineJoin());
484
- if (strokeState.GetLineJoin() == LineJoinStyle::ROUND) {
485
- strokePen_.SetLineJoin(LINE_ROUND_JOIN);
486
- } else if (strokeState.GetLineJoin() == LineJoinStyle::BEVEL) {
487
- strokePen_.SetLineJoin(LINE_BEVEL_JOIN);
488
- } else {
489
- strokePen_.SetLineJoin(LINE_MITER_JOIN);
490
- }
491
- DLOG(INFO) << "[SvgRect] OH_Drawing_PenSetWidth: " << strokeState.GetLineWidth();
492
- strokePen_.SetWidth(strokeState.GetLineWidth());
493
- strokePen_.SetMiterLimit(strokeState.GetMiterLimit());
494
- strokePen_.SetAntiAlias(antiAlias);
495
- UpdateLineDash();
496
- return true;
497
- }
498
- void SvgGraphic::UpdateLineDash() {
499
- const auto &strokeState = attributes_.strokeState;
500
- if (!strokeState.GetStrokeDashArray().empty()) {
501
- auto lineDashState = strokeState.GetStrokeDashArray();
502
- float intervals[lineDashState.size()];
503
- for (size_t i = 0; i < lineDashState.size(); ++i) {
504
- intervals[i] = static_cast<float>(lineDashState[i]);
505
- }
506
- float phase = static_cast<float>(strokeState.GetStrokeDashOffset());
507
- auto *DashPathEffect = OH_Drawing_CreateDashPathEffect(intervals, lineDashState.size(), phase);
508
- OH_Drawing_PenSetPathEffect(strokePen_.get(), DashPathEffect);
509
- }
510
- }
511
-
512
- void SvgGraphic::DrawMarker(OH_Drawing_Canvas *canvas) {
513
- auto markerStart = std::dynamic_pointer_cast<SvgMarker>(context_->GetSvgNodeById(attributes_.markerStart));
514
- auto markerMid = std::dynamic_pointer_cast<SvgMarker>(context_->GetSvgNodeById(attributes_.markerMid));
515
- auto markerEnd = std::dynamic_pointer_cast<SvgMarker>(context_->GetSvgNodeById(attributes_.markerEnd));
516
- if (!markerStart && !markerMid && !markerEnd) {
517
- DLOG(WARNING) << "NO MARKER";
518
- return;
519
- }
520
- if (elements_.empty()) {
521
- DLOG(WARNING) << "NO path";
522
- return;
523
- }
524
- std::vector<SvgMarkerPosition> positions = SvgMarkerPositionUtils::fromPath(elements_);
525
- for (const auto &position : positions) {
526
- RNSVGMarkerType type = position.type;
527
- std::shared_ptr<SvgMarker> marker;
528
- switch (type) {
529
- case RNSVGMarkerType::kStartMarker:
530
- marker = markerStart;
531
- break;
532
-
533
- case RNSVGMarkerType::kMidMarker:
534
- marker = markerMid;
535
- break;
536
-
537
- case RNSVGMarkerType::kEndMarker:
538
- marker = markerEnd;
539
- break;
540
- default:
541
- break;
542
- }
543
- if (!marker) {
544
- continue;
545
- }
546
- DLOG(INFO) << "DRAW MARKER at " << position.origin.x << " " << position.origin.y
547
- << "] type: " << static_cast<int>(type);
548
- marker->renderMarker(canvas, position, attributes_.strokeState.GetLineWidth());
549
- }
550
- }
551
-
552
- } // namespace svg
553
- } // namespace rnoh
@@ -1,77 +0,0 @@
1
- /*
2
- * Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
3
- * Use of this source code is governed by a MIT license that can be
4
- * found in the LICENSE file.
5
- *
6
- * This file incorporates from the OpenHarmony project, licensed under
7
- * the Apache License, Version 2.0. Specifically:
8
- * - [OpenHarmony/arkui_ace_engine] (https://gitee.com/openharmony/arkui_ace_engine)
9
- *
10
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
11
- * use this file except in compliance with the License. You may obtain a copy
12
- * of the License at:
13
- * http://www.apache.org/licenses/LICENSE-2.0
14
- *
15
- * Unless required by applicable law or agreed to in writing, software
16
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18
- * License for the specific language governing permissions and limitations
19
- * under the License.
20
- */
21
-
22
- // from ArkUI "frameworks/core/components_ng/svg/parse/svg_graphic.h"
23
- #pragma once
24
-
25
- #include "SvgNode.h"
26
- #include "utils/StringUtils.h"
27
- #include "utils/SvgMarkerPositionUtils.h"
28
- #include "drawing/Brush.h"
29
- #include "drawing/Path.h"
30
- #include "drawing/Pen.h"
31
- #include <native_drawing/drawing_brush.h>
32
- #include <native_drawing/drawing_path_effect.h>
33
- #include <native_drawing/drawing_pen.h>
34
-
35
-
36
- namespace rnoh {
37
- namespace svg {
38
-
39
- using rnoh::drawing::Brush;
40
- using rnoh::drawing::Pen;
41
- using rnoh::drawing::Path;
42
-
43
- class SvgGraphic : virtual public SvgNode {
44
- public:
45
- SvgGraphic() : SvgNode() {}
46
- ~SvgGraphic() noexcept override = default;
47
-
48
-
49
- void OnDraw(OH_Drawing_Canvas *canvas) override;
50
- protected:
51
- Path path_ {};
52
- Brush fillBrush_ {};
53
- Pen strokePen_ {};
54
-
55
- // Use Brush to draw fill
56
- void OnGraphicFill(OH_Drawing_Canvas *canvas);
57
- // Use Pen to draw stroke
58
- void OnGraphicStroke(OH_Drawing_Canvas *canvas);
59
-
60
- bool UpdateFillStyle(bool antiAlias = true);
61
- bool UpdateStrokeStyle(bool antiAlias = true);
62
- void UpdateGradient(std::optional<Gradient> &gradient);
63
- void SetFillGradientStyle(double opacity);
64
- void SetStrokeGradientStyle(double opacity);
65
- bool SetPatternStyle();
66
- void UpdateLineDash();
67
-
68
-
69
- std::vector<PathElement> elements_;
70
-
71
- private:
72
- void DrawMarker(OH_Drawing_Canvas *canvas);
73
- // to be done? Color Filter;
74
- };
75
-
76
- } // namespace svg
77
- } // namespace rnoh