@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,501 +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
-
7
- #include <native_drawing/drawing_font_collection.h>
8
- #include <native_drawing/drawing_matrix.h>
9
- #include <native_drawing/drawing_text_blob.h>
10
- #include <vector>
11
- #include "SvgTSpan.h"
12
- #include "SvgFilter.h"
13
- #include "drawing/TextStyle.h"
14
- #include "drawing/Typography.h"
15
- #include "drawing/Matrix.h"
16
- #include "utils/TextPathHelper.h"
17
-
18
- namespace rnoh {
19
- namespace svg {
20
-
21
- constexpr double MATHEMATICAL_BASELINE_SHIFT_FACTOR = 0.5;
22
- constexpr double HANGING_BASELINE_SHIFT_FACTOR = 0.8;
23
- constexpr double ALIGN_START = 0.0;
24
- constexpr double ALIGN_MIDDLE = -0.5;
25
- constexpr double ALIGN_END = -1.0;
26
-
27
- void SvgTSpan::OnDraw(OH_Drawing_Canvas *canvas) {
28
- if (!glyphCtx_) {
29
- InitGlyph(canvas, scale_);
30
- }
31
- if (!font_) {
32
- InitFont(scale_);
33
- }
34
- if (content_.empty()) {
35
- for (const auto &child : children_) {
36
- if (auto tSpan = std::dynamic_pointer_cast<SvgTSpan>(child); tSpan) {
37
- tSpan->SetGlyphContext(glyphCtx_);
38
- UpdateChildTextProps(tSpan);
39
- }
40
- }
41
- return;
42
- }
43
-
44
- glyphCtx_->pushContext(false, shared_from_this(), x_, y_, dx_, dy_, rotate_);
45
- if (!textPath_) {
46
- DrawText(canvas);
47
- } else {
48
- DrawTextPath(canvas);
49
- }
50
- glyphCtx_->popContext();
51
- }
52
-
53
- void SvgTSpan::DrawText(OH_Drawing_Canvas *canvas) {
54
- drawing::TextStyle textStyle;
55
- textStyle.Update(font_);
56
- drawing::TypographyStyle ts;
57
- ts.Update(font_);
58
-
59
- // create a typography to measure metrics for linear gradient
60
- auto *fontCollection = OH_Drawing_CreateFontCollection();
61
- auto *typographyHandler = OH_Drawing_CreateTypographyHandler(ts.typographyStyle_.get(), fontCollection);
62
- OH_Drawing_TypographyHandlerPushTextStyle(typographyHandler, textStyle.textStyle_.get());
63
- OH_Drawing_TypographyHandlerAddText(typographyHandler, content_.c_str());
64
- auto *typographyForMetrics = OH_Drawing_CreateTypography(typographyHandler);
65
- double maxWidth =
66
- inlineSize_.value_or(Infinity<Dimension>()).RelativeConvertToPx(OH_Drawing_CanvasGetWidth(canvas), scale_);
67
- OH_Drawing_TypographyLayout(typographyForMetrics, maxWidth);
68
- double actualWidth = OH_Drawing_TypographyGetLongestLine(typographyForMetrics);
69
-
70
- double scaleSpacingAndGlyphs = 1.0;
71
- if (AdjustSpacing(canvas, actualWidth, scaleSpacingAndGlyphs)) {
72
- OH_Drawing_SetTextStyleLetterSpacing(textStyle.textStyle_.get(), font_->letterSpacing);
73
- }
74
-
75
- OH_Drawing_Font_Metrics fm;
76
- OH_Drawing_TextStyleGetFontMetrics(typographyForMetrics, textStyle.textStyle_.get(), &fm);
77
- // Ceil the actual width to avoid small floating-point errors and ensure proper alignment
78
- // when calculating the position of the next glyph and adjusting for the text anchor.
79
- double dx = glyphCtx_->nextX(actualWidth) - std::ceil(actualWidth) + glyphCtx_->nextDeltaX() +
80
- getTextAnchorOffset(font_->textAnchor, actualWidth);
81
- // the position of typography is on the left-top
82
- double dy = glyphCtx_->nextY() + glyphCtx_->nextDeltaY() +
83
- CalcBaselineShift(typographyHandler, ts.textStyle_.get(), fm) -
84
- OH_Drawing_TypographyGetAlphabeticBaseline(typographyForMetrics);
85
- DLOG(INFO) << "TEXT GLYPH next X = " << dx << " next dy = " << dy;
86
-
87
- boundsWidth_ = actualWidth;
88
- boundsHeight_ = fm.capHeight;
89
- boundsX_ = dx;
90
- boundsY_ = dy + (OH_Drawing_TypographyGetIdeographicBaseline(typographyForMetrics) - fm.descent - fm.capHeight);
91
-
92
- // draw the border of the area for debug
93
- bool drawBounds = false;
94
- if (drawBounds) {
95
- OH_Drawing_CanvasDrawLine(canvas, boundsX_, boundsY_, boundsX_ + boundsWidth_, boundsY_);
96
- OH_Drawing_CanvasDrawLine(canvas, boundsX_ + boundsWidth_, boundsY_, boundsX_ + boundsWidth_,
97
- boundsY_ + boundsHeight_);
98
- OH_Drawing_CanvasDrawLine(canvas, boundsX_ + boundsWidth_, boundsY_ + boundsHeight_, boundsX_,
99
- boundsY_ + boundsHeight_);
100
- OH_Drawing_CanvasDrawLine(canvas, boundsX_, boundsY_ + boundsHeight_, boundsX_, boundsY_);
101
- }
102
-
103
- UpdateGradient(attributes_.strokeState.GetGradient());
104
- UpdateGradient(attributes_.fillState.GetGradient());
105
- UpdateStrokeStyle();
106
- auto fillOpaque = UpdateFillStyle();
107
- if (!fillOpaque) {
108
- fillBrush_.SetColor(Color::TRANSPARENT.GetValue());
109
- }
110
- textStyle.SetForegroundBrush(fillBrush_.get());
111
- textStyle.SetForegroundPen(strokePen_.get());
112
- ts.SetTextStyle(std::move(textStyle));
113
-
114
- // create the typography for drawing
115
- OH_Drawing_TypographyHandlerPopTextStyle(typographyHandler);
116
- OH_Drawing_TypographyHandlerPushTextStyle(typographyHandler, ts.textStyle_.get());
117
- OH_Drawing_TypographyHandlerAddText(typographyHandler, content_.c_str());
118
- auto *typography = OH_Drawing_CreateTypography(typographyHandler);
119
- OH_Drawing_TypographyLayout(typography, maxWidth);
120
-
121
- double r = glyphCtx_->nextRotation();
122
- drawing::Matrix mat;
123
- mat.PreRotate(r, dx, dy);
124
-
125
- // Apply filter if exists (similar to SvgGraphic::OnGraphicFill)
126
- bool hasCustomFilter = !attributes_.filterId.empty();
127
- if (hasCustomFilter) {
128
- auto svgContext = GetContext();
129
- if (svgContext) {
130
- auto filterNode = svgContext->GetSvgNodeById(attributes_.filterId);
131
- auto svgFilter = std::dynamic_pointer_cast<SvgFilter>(filterNode);
132
- if (svgFilter) {
133
- // Apply filter to the text style
134
- auto tempFillBrush = fillBrush_;
135
- svgFilter->ApplyToBrush(tempFillBrush);
136
-
137
- // Update text style with filtered brush
138
- drawing::TextStyle filteredTextStyle;
139
- filteredTextStyle.SetForegroundBrush(tempFillBrush.get());
140
- filteredTextStyle.SetForegroundPen(strokePen_.get());
141
- filteredTextStyle.Update(font_);
142
-
143
- // Create new typography with filtered style
144
- drawing::TypographyStyle filteredTs;
145
- filteredTs.SetTextStyle(std::move(filteredTextStyle));
146
- filteredTs.Update(font_);
147
-
148
- auto *filteredFontCollection = OH_Drawing_CreateFontCollection();
149
- auto *filteredTypographyHandler = OH_Drawing_CreateTypographyHandler(filteredTs.typographyStyle_.get(), filteredFontCollection);
150
- OH_Drawing_TypographyHandlerPushTextStyle(filteredTypographyHandler, filteredTs.textStyle_.get());
151
- OH_Drawing_TypographyHandlerAddText(filteredTypographyHandler, content_.c_str());
152
- auto *filteredTypography = OH_Drawing_CreateTypography(filteredTypographyHandler);
153
- OH_Drawing_TypographyLayout(filteredTypography, maxWidth);
154
-
155
- OH_Drawing_CanvasSave(canvas);
156
- OH_Drawing_CanvasConcatMatrix(canvas, mat.get());
157
- OH_Drawing_TypographyPaint(filteredTypography, canvas, dx, dy);
158
- OH_Drawing_CanvasRestore(canvas);
159
-
160
- OH_Drawing_DestroyTypography(filteredTypography);
161
- OH_Drawing_DestroyTypographyHandler(filteredTypographyHandler);
162
- OH_Drawing_DestroyFontCollection(filteredFontCollection);
163
- } else {
164
- // No filter found, draw normally
165
- OH_Drawing_CanvasSave(canvas);
166
- OH_Drawing_CanvasConcatMatrix(canvas, mat.get());
167
- OH_Drawing_TypographyPaint(typography, canvas, dx, dy);
168
- OH_Drawing_CanvasRestore(canvas);
169
- }
170
- } else {
171
- // No SVG context, draw normally
172
- OH_Drawing_CanvasSave(canvas);
173
- OH_Drawing_CanvasConcatMatrix(canvas, mat.get());
174
- OH_Drawing_TypographyPaint(typography, canvas, dx, dy);
175
- OH_Drawing_CanvasRestore(canvas);
176
- }
177
- } else {
178
- // No filter, draw normally
179
- OH_Drawing_CanvasSave(canvas);
180
- OH_Drawing_CanvasConcatMatrix(canvas, mat.get());
181
- OH_Drawing_TypographyPaint(typography, canvas, dx, dy);
182
- OH_Drawing_CanvasRestore(canvas);
183
- }
184
-
185
- OH_Drawing_DestroyTypography(typographyForMetrics);
186
- OH_Drawing_DestroyTypography(typography);
187
- OH_Drawing_DestroyTypographyHandler(typographyHandler);
188
- OH_Drawing_DestroyFontCollection(fontCollection);
189
- }
190
-
191
- double SvgTSpan::getTextAnchorOffset(TextAnchor textAnchor, const double &textMeasure) {
192
- switch (textAnchor) {
193
- default:
194
- case TextAnchor::start:
195
- return ALIGN_START;
196
-
197
- case TextAnchor::middle:
198
- return ALIGN_MIDDLE * textMeasure;
199
-
200
- case TextAnchor::end:
201
- return ALIGN_END * textMeasure;
202
- }
203
- }
204
-
205
- drawing::TypographyStyle SvgTSpan::PrepareTypoStyle() {
206
- UpdateStrokeStyle();
207
- auto fillOpaque = UpdateFillStyle();
208
- if (!fillOpaque) {
209
- fillBrush_.SetColor(Color::TRANSPARENT.GetValue());
210
- }
211
-
212
- drawing::TextStyle textStyle;
213
- textStyle.SetForegroundBrush(fillBrush_.get());
214
- textStyle.SetForegroundPen(strokePen_.get());
215
- textStyle.Update(font_);
216
- drawing::TypographyStyle ts;
217
- ts.SetTextStyle(std::move(textStyle));
218
- ts.Update(font_);
219
- return std::move(ts);
220
- }
221
-
222
- bool SvgTSpan::AdjustSpacing(OH_Drawing_Canvas *canvas, double textMeasure, double &scaleSpacingAndGlyphs) {
223
- if (textLength_) {
224
- double author = textLength_->RelativeConvertToPx(OH_Drawing_CanvasGetWidth(canvas), scale_);
225
- switch (lengthAdjust_) {
226
- default:
227
- case TextLengthAdjust::spacing:
228
- font_->letterSpacing += (author - textMeasure) / (content_.size() - 1);
229
- return true;
230
- case TextLengthAdjust::spacingAndGlyphs:
231
- scaleSpacingAndGlyphs = author / textMeasure;
232
- break;
233
- }
234
- }
235
- return false;
236
- }
237
-
238
- void SvgTSpan::DrawTextPath(OH_Drawing_Canvas *canvas) {
239
- if (content_.empty()) {
240
- return;
241
- }
242
-
243
- TextPathHelper ph(textPath_, font_->textAnchor);
244
- if (!ph.Valid()) {
245
- return;
246
- }
247
-
248
- drawing::TypographyStyle ts = PrepareTypoStyle();
249
- auto *fontCollection = OH_Drawing_CreateFontCollection();
250
- auto *typographyHandler = OH_Drawing_CreateTypographyHandler(ts.typographyStyle_.get(), fontCollection);
251
-
252
- OH_Drawing_TypographyHandlerAddText(typographyHandler, content_.c_str());
253
- auto *typography = OH_Drawing_CreateTypography(typographyHandler);
254
- OH_Drawing_TypographyLayout(typography, 1e9);
255
- double textMeasure = OH_Drawing_TypographyGetLineWidth(typography, 0);
256
- double offset = getTextAnchorOffset(font_->textAnchor, textMeasure);
257
-
258
- offset += ph.GetStartOffset();
259
-
260
- double scaleSpacingAndGlyphs = 1.0;
261
- if (AdjustSpacing(canvas, textMeasure, scaleSpacingAndGlyphs)) {
262
- DLOG(INFO) << "adjust spacing to " << font_->letterSpacing;
263
- OH_Drawing_SetTextStyleLetterSpacing(ts.textStyle_.get(), font_->letterSpacing);
264
- }
265
- ph.SetScaleSpacingAndGlyphs(scaleSpacingAndGlyphs);
266
-
267
- std::vector<bool> ligature(content_.size(), false);
268
-
269
- OH_Drawing_Font_Metrics fm;
270
- OH_Drawing_TextStyleGetFontMetrics(typography, ts.textStyle_.get(), &fm);
271
- double baselineShift = CalcBaselineShift(typographyHandler, ts.textStyle_.get(), fm);
272
-
273
- for (int i = 0; i < content_.size(); i++) {
274
- std::string current = content_.substr(i, 1);
275
-
276
- auto *fontCollection = OH_Drawing_CreateFontCollection();
277
- auto *typographyHandler = OH_Drawing_CreateTypographyHandler(ts.typographyStyle_.get(), fontCollection);
278
- OH_Drawing_TypographyHandlerAddText(typographyHandler, current.c_str());
279
- drawing::Typography typography(typographyHandler);
280
- OH_Drawing_TypographyLayout(&typography, 1e9);
281
- double charWidth = OH_Drawing_TypographyGetLineWidth(&typography, 0);
282
-
283
- bool alreadyRenderedGraphemeCluster = false;
284
- bool hasLigature = false;
285
-
286
- if (alreadyRenderedGraphemeCluster) {
287
- current = "";
288
- } else {
289
- int nextIndex = i;
290
- while (++nextIndex < content_.size()) {
291
- float nextWidth = charWidth;
292
- if (nextWidth > 0) {
293
- break;
294
- }
295
- std::string nextLigature = current + current[nextIndex];
296
- ligature[nextIndex] = true;
297
- current = nextLigature;
298
- hasLigature = true;
299
- }
300
- }
301
- bool autoKerning = !font_->manualKerning;
302
- double kerning = font_->kerning;
303
- if (autoKerning) {
304
- double kerned = charWidth * scaleSpacingAndGlyphs;
305
- kerning = kerned - charWidth;
306
- }
307
-
308
- bool isWordSeparator = current[0] == ' ';
309
- double wordSpace = isWordSeparator ? font_->wordSpacing : 0;
310
- double spacing = wordSpace + font_->letterSpacing;
311
- double advance = charWidth + spacing;
312
-
313
- double x = glyphCtx_->nextX(alreadyRenderedGraphemeCluster ? 0 : kerning + advance);
314
- double y = glyphCtx_->nextY();
315
- double dx = glyphCtx_->nextDeltaX();
316
- double dy = glyphCtx_->nextDeltaY();
317
- double r = glyphCtx_->nextRotation();
318
-
319
- if (alreadyRenderedGraphemeCluster || isWordSeparator) {
320
- // Skip rendering other grapheme clusters of ligatures (already rendered),
321
- // But, make sure to increment index positions by making gc.next() calls.
322
- OH_Drawing_DestroyFontCollection(fontCollection);
323
- OH_Drawing_DestroyTypographyHandler(typographyHandler);
324
- continue;
325
- }
326
- int side = ph.GetSide();
327
- advance *= side;
328
- charWidth *= side;
329
- double cursor = offset + (x + dx) * side;
330
- double startPoint = cursor - advance;
331
-
332
- drawing::Matrix mid;
333
- if (!ph.GetMatrixOnPath({charWidth, startPoint, y, dy + baselineShift}, mid)) {
334
- OH_Drawing_DestroyFontCollection(fontCollection);
335
- OH_Drawing_DestroyTypographyHandler(typographyHandler);
336
- continue;
337
- }
338
- mid.PreRotate(r, 0, 0);
339
-
340
- // Apply filter if exists (similar to SvgGraphic::OnGraphicFill)
341
- bool hasCustomFilter = !attributes_.filterId.empty();
342
- if (hasCustomFilter) {
343
- auto svgContext = GetContext();
344
- if (svgContext) {
345
- auto filterNode = svgContext->GetSvgNodeById(attributes_.filterId);
346
- auto svgFilter = std::dynamic_pointer_cast<SvgFilter>(filterNode);
347
- if (svgFilter) {
348
- // Apply filter to the text style
349
- auto tempFillBrush = fillBrush_;
350
- svgFilter->ApplyToBrush(tempFillBrush);
351
-
352
- // Update text style with filtered brush
353
- drawing::TextStyle filteredTextStyle;
354
- filteredTextStyle.SetForegroundBrush(tempFillBrush.get());
355
- filteredTextStyle.SetForegroundPen(strokePen_.get());
356
- filteredTextStyle.Update(font_);
357
-
358
- // Create new typography with filtered style
359
- drawing::TypographyStyle filteredTs;
360
- filteredTs.SetTextStyle(std::move(filteredTextStyle));
361
- filteredTs.Update(font_);
362
-
363
- auto *filteredFontCollection = OH_Drawing_CreateFontCollection();
364
- auto *filteredTypographyHandler = OH_Drawing_CreateTypographyHandler(filteredTs.typographyStyle_.get(), filteredFontCollection);
365
- OH_Drawing_TypographyHandlerPushTextStyle(filteredTypographyHandler, filteredTs.textStyle_.get());
366
- OH_Drawing_TypographyHandlerAddText(filteredTypographyHandler, current.c_str());
367
- drawing::Typography filteredTypography(filteredTypographyHandler);
368
- OH_Drawing_TypographyLayout(&filteredTypography, 1e9);
369
-
370
- OH_Drawing_CanvasSave(canvas);
371
- OH_Drawing_CanvasConcatMatrix(canvas, mid.get());
372
- OH_Drawing_TypographyPaint(&filteredTypography, canvas, 0, 0);
373
- OH_Drawing_CanvasRestore(canvas);
374
-
375
- OH_Drawing_DestroyTypographyHandler(filteredTypographyHandler);
376
- OH_Drawing_DestroyFontCollection(filteredFontCollection);
377
- } else {
378
- // No filter found, draw normally
379
- OH_Drawing_CanvasSave(canvas);
380
- OH_Drawing_CanvasConcatMatrix(canvas, mid.get());
381
- OH_Drawing_TypographyPaint(&typography, canvas, 0, 0);
382
- OH_Drawing_CanvasRestore(canvas);
383
- }
384
- } else {
385
- // No SVG context, draw normally
386
- OH_Drawing_CanvasSave(canvas);
387
- OH_Drawing_CanvasConcatMatrix(canvas, mid.get());
388
- OH_Drawing_TypographyPaint(&typography, canvas, 0, 0);
389
- OH_Drawing_CanvasRestore(canvas);
390
- }
391
- } else {
392
- // No filter, draw normally
393
- OH_Drawing_CanvasSave(canvas);
394
- OH_Drawing_CanvasConcatMatrix(canvas, mid.get());
395
- OH_Drawing_TypographyPaint(&typography, canvas, 0, 0);
396
- OH_Drawing_CanvasRestore(canvas);
397
- }
398
-
399
- OH_Drawing_DestroyFontCollection(fontCollection);
400
- OH_Drawing_DestroyTypographyHandler(typographyHandler);
401
- }
402
- OH_Drawing_DestroyFontCollection(fontCollection);
403
- OH_Drawing_DestroyTypographyHandler(typographyHandler);
404
- }
405
-
406
- double SvgTSpan::CalcBaselineShift(OH_Drawing_TypographyCreate *handler, OH_Drawing_TextStyle *style,
407
- const OH_Drawing_Font_Metrics &fm) {
408
- const double descenderDepth = fm.descent;
409
- const double bottom = descenderDepth + fm.leading;
410
- const double ascenderHeight = -fm.ascent + fm.leading;
411
- const double top = -fm.top;
412
- const double totalHeight = top + bottom;
413
- double baselineShift = 0.0;
414
- switch (align_) {
415
- // https://wiki.apache.org/xmlgraphics-fop/LineLayout/AlignmentHandling
416
- default:
417
- case AlignmentBaseline::baseline:
418
- // Use the dominant baseline choice of the parent.
419
- // Match the box’s corresponding baseline to that of its parent.
420
- baselineShift = 0;
421
- break;
422
-
423
- case AlignmentBaseline::textBottom:
424
- case AlignmentBaseline::afterEdge:
425
- case AlignmentBaseline::textAfterEdge:
426
- // Match the bottom of the box to the bottom of the parent’s content area.
427
- // text-after-edge = text-bottom
428
- // text-after-edge = descender depth
429
- baselineShift = -descenderDepth;
430
- break;
431
-
432
- case AlignmentBaseline::alphabetic:
433
- // Match the box’s alphabetic baseline to that of its parent.
434
- // alphabetic = 0
435
- baselineShift = 0;
436
- break;
437
-
438
- case AlignmentBaseline::ideographic:
439
- baselineShift = -descenderDepth;
440
- break;
441
-
442
- case AlignmentBaseline::middle: {
443
- baselineShift = fm.xHeight / 2.0;
444
- break;
445
- }
446
- case AlignmentBaseline::central:
447
- baselineShift = (ascenderHeight - descenderDepth) / 2;
448
- break;
449
-
450
- case AlignmentBaseline::mathematical:
451
- baselineShift = MATHEMATICAL_BASELINE_SHIFT_FACTOR * ascenderHeight;
452
- break;
453
-
454
- case AlignmentBaseline::hanging:
455
- baselineShift = HANGING_BASELINE_SHIFT_FACTOR * ascenderHeight;
456
- break;
457
-
458
- case AlignmentBaseline::textTop:
459
- case AlignmentBaseline::beforeEdge:
460
- case AlignmentBaseline::textBeforeEdge:
461
- baselineShift = ascenderHeight;
462
- break;
463
-
464
- case AlignmentBaseline::bottom:
465
- baselineShift = bottom;
466
- break;
467
-
468
- case AlignmentBaseline::center:
469
- baselineShift = totalHeight / 2;
470
- break;
471
-
472
- case AlignmentBaseline::top:
473
- baselineShift = top;
474
- break;
475
- }
476
-
477
- if (!baselineShift_.empty()) {
478
- switch (align_) {
479
- case AlignmentBaseline::top:
480
- case AlignmentBaseline::bottom:
481
- break;
482
-
483
- default: {
484
- if (baselineShift_ == "sub") {
485
- } else if (baselineShift_ == "super") {
486
- } else if (baselineShift_ == "baseline") {
487
- } else {
488
- baselineShift -=
489
- StringUtils::FromString(baselineShift_).RelativeConvertToPx(scale_ * font_->fontSize, scale_);
490
- }
491
- break;
492
- }
493
- }
494
- }
495
- return baselineShift;
496
- }
497
-
498
- Rect SvgTSpan::AsBounds() { return Rect(boundsX_, boundsY_, boundsWidth_, boundsHeight_); }
499
-
500
- } // namespace svg
501
- } // namespace rnoh
@@ -1,101 +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
-
7
- #pragma once
8
-
9
- #include <cmath>
10
- #include "SvgGraphic.h"
11
- #include "SvgText.h"
12
- #include <native_drawing/drawing_text_typography.h>
13
- #include "SvgTextPath.h"
14
- #include "utils/GlyphContext.h"
15
- #include "drawing/TypographyStyle.h"
16
- #include "TextBase.h"
17
- #include "FontHolderBase.h"
18
-
19
- namespace rnoh {
20
- namespace svg {
21
-
22
- class SvgTSpan : public SvgGraphic, public TextBase, public FontHolderBase {
23
- public:
24
- SvgTSpan() {
25
- hrefFill_ = true;
26
- hrefRender_ = true;
27
- passStyle_ = true;
28
- inheritStyle_ = true;
29
- drawTraversed_ = true;
30
- }
31
- ~SvgTSpan() override = default;
32
-
33
- void OnDraw(OH_Drawing_Canvas *canvas) override;
34
-
35
- void SetTextPathRef(std::shared_ptr<SvgTextPath> textPath) { textPath_ = textPath; }
36
-
37
- double getTextAnchorOffset(TextAnchor textAnchor, const double &textMeasure);
38
-
39
- std::string content_;
40
-
41
- Rect AsBounds() override;
42
-
43
- /**
44
- * @brief TSpan also supports the scenario with child nodes. Updates the font properties of the child node,
45
- * inheriting from the parent node if the properties are empty.
46
- */
47
- void OnInitStyle() override {
48
- if (!font_) {
49
- InitFont(GetScale());
50
- }
51
- for (auto &child : children_) {
52
- if (auto childG = std::dynamic_pointer_cast<FontHolderBase>(child)) {
53
- childG->InheritFont(font_, child->GetScale());
54
- }
55
- }
56
- };
57
-
58
- private:
59
- /**
60
- * @brief TSpan also supports the scenario with child nodes. Updates the text properties of the child node,
61
- * inheriting from the parent node if the properties are empty.
62
- * @param child Represents the child node object.
63
- */
64
- void UpdateChildTextProps(std::shared_ptr<SvgTSpan> child) {
65
- UpdateIfEmpty(child->y_, y_);
66
- UpdateIfEmpty(child->x_, x_);
67
- UpdateIfEmpty(child->dy_, dy_);
68
- UpdateIfEmpty(child->dx_, dx_);
69
- UpdateIfEmpty(child->rotate_, rotate_);
70
- }
71
-
72
- void UpdateIfEmpty(std::vector<Dimension> &childProp, const std::vector<Dimension> &parentProp) {
73
- if (childProp.empty() && !parentProp.empty()) {
74
- childProp = parentProp;
75
- }
76
- }
77
-
78
- void DrawTextPath(OH_Drawing_Canvas *canvas);
79
-
80
- void DrawText(OH_Drawing_Canvas *canvas);
81
-
82
- drawing::TypographyStyle PrepareTypoStyle();
83
-
84
- /**
85
- * @return true if spacing needs to be adjusted.
86
- */
87
- bool AdjustSpacing(OH_Drawing_Canvas *canvas, double textMeasure, double &scaleSpacingAndGlyphs);
88
-
89
- double CalcBaselineShift(OH_Drawing_TypographyCreate *handler, OH_Drawing_TextStyle *style,
90
- const OH_Drawing_Font_Metrics &fm);
91
-
92
- std::shared_ptr<SvgTextPath> textPath_;
93
-
94
- double boundsWidth_ = 0;
95
- double boundsHeight_ = 0;
96
- double boundsX_ = 0;
97
- double boundsY_ = 0;
98
- };
99
-
100
- } // namespace svg
101
- } // namespace rnoh
@@ -1,48 +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
-
7
- #include <memory>
8
- #include "SvgText.h"
9
- #include "drawing/TextStyle.h"
10
- #include "drawing/TypographyStyle.h"
11
- #include "SvgTSpan.h"
12
-
13
- namespace rnoh {
14
- namespace svg {
15
-
16
- void SvgText::GlyphTraversal(OH_Drawing_Canvas *canvas) {
17
- if (!glyphCtx_) {
18
- InitGlyph(canvas, scale_);
19
- }
20
- for (auto const &child : children_) {
21
- if (auto span = std::dynamic_pointer_cast<TextBase>(child)) {
22
- span->SetGlyphContext(glyphCtx_);
23
- if (!span->hasAlignmentBaseline()) {
24
- span->setAlignmentBaseline(align_);
25
- }
26
- if (!span->hasBaselineShift()) {
27
- span->setBaselineShift(baselineShift_);
28
- }
29
- }
30
- }
31
- }
32
-
33
- void SvgText::OnDraw(OH_Drawing_Canvas *canvas) {
34
- GlyphTraversal(canvas);
35
- glyphCtx_->pushContext(true, shared_from_this(), x_, y_, dx_, dy_, rotate_);
36
- }
37
-
38
- drawing::Path SvgText::AsPath() {
39
- drawing::Path resultPath;
40
- for (auto const &child : children_) {
41
- if (auto span = std::dynamic_pointer_cast<SvgTSpan>(child)) {
42
- std::string text = span->content_;
43
- }
44
- }
45
- return resultPath;
46
- }
47
- } // namespace svg
48
- } // namespace rnoh
@@ -1,29 +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
-
7
- #pragma once
8
-
9
- #include "SvgGroup.h"
10
- #include "TextBase.h"
11
-
12
- namespace rnoh {
13
- namespace svg {
14
-
15
- class SvgText : public SvgGroup, public TextBase {
16
- public:
17
- SvgText() = default;
18
- ~SvgText() override = default;
19
-
20
- void OnDraw(OH_Drawing_Canvas *canvas) override;
21
-
22
- drawing::Path AsPath() override;
23
-
24
- private:
25
- void GlyphTraversal(OH_Drawing_Canvas *canvas);
26
- };
27
-
28
- } // namespace svg
29
- } // namespace rnoh