@shopify/react-native-skia 0.1.222 → 0.1.223

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 (210) hide show
  1. package/cpp/api/JsiSkApi.h +5 -0
  2. package/cpp/api/JsiSkFontMgrFactory.h +9 -4
  3. package/cpp/api/JsiSkParagraph.h +135 -0
  4. package/cpp/api/JsiSkParagraphBuilder.h +159 -0
  5. package/cpp/api/JsiSkParagraphStyle.h +124 -0
  6. package/cpp/api/JsiSkStrutStyle.h +96 -0
  7. package/cpp/api/JsiSkTextStyle.h +185 -0
  8. package/cpp/jsi/JsiHostObject.h +21 -0
  9. package/cpp/rnskia/dom/JsiDomApi.h +4 -0
  10. package/cpp/rnskia/dom/nodes/JsiParagraphNode.h +62 -0
  11. package/cpp/rnskia/dom/props/ParagraphProp.h +45 -0
  12. package/cpp/skia/modules/skunicode/include/SkUnicode.h +312 -0
  13. package/cpp/skia/src/base/SkTInternalLList.h +304 -0
  14. package/cpp/skia/src/base/SkUTF.h +95 -0
  15. package/cpp/skia/src/core/SkLRUCache.h +130 -0
  16. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +2 -0
  17. package/lib/commonjs/dom/nodes/JsiSkDOM.js +7 -0
  18. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  19. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
  20. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js +41 -0
  21. package/lib/commonjs/dom/nodes/drawings/ParagraphNode.js.map +1 -0
  22. package/lib/commonjs/dom/types/NodeType.d.ts +2 -1
  23. package/lib/commonjs/dom/types/NodeType.js +1 -0
  24. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  25. package/lib/commonjs/dom/types/Paragraph.d.ts +8 -0
  26. package/lib/commonjs/dom/types/Paragraph.js +6 -0
  27. package/lib/commonjs/dom/types/Paragraph.js.map +1 -0
  28. package/lib/commonjs/dom/types/SkDOM.d.ts +2 -0
  29. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  30. package/lib/commonjs/dom/types/index.d.ts +1 -0
  31. package/lib/commonjs/dom/types/index.js +13 -0
  32. package/lib/commonjs/dom/types/index.js.map +1 -1
  33. package/lib/commonjs/renderer/HostComponents.d.ts +3 -1
  34. package/lib/commonjs/renderer/HostComponents.js +4 -0
  35. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  36. package/lib/commonjs/renderer/components/index.d.ts +1 -0
  37. package/lib/commonjs/renderer/components/index.js +13 -0
  38. package/lib/commonjs/renderer/components/index.js.map +1 -1
  39. package/lib/commonjs/renderer/components/paragraph/Paragraph.d.ts +4 -0
  40. package/lib/commonjs/renderer/components/paragraph/Paragraph.js +17 -0
  41. package/lib/commonjs/renderer/components/paragraph/Paragraph.js.map +1 -0
  42. package/lib/commonjs/renderer/components/paragraph/index.d.ts +1 -0
  43. package/lib/commonjs/renderer/components/paragraph/index.js +19 -0
  44. package/lib/commonjs/renderer/components/paragraph/index.js.map +1 -0
  45. package/lib/commonjs/skia/types/Paragraph/Paragraph.d.ts +56 -0
  46. package/lib/commonjs/skia/types/Paragraph/Paragraph.js +6 -0
  47. package/lib/commonjs/skia/types/Paragraph/Paragraph.js.map +1 -0
  48. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
  49. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js +18 -0
  50. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js.map +1 -0
  51. package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
  52. package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.js +36 -0
  53. package/lib/commonjs/skia/types/Paragraph/ParagraphStyle.js.map +1 -0
  54. package/lib/commonjs/skia/types/Paragraph/TextStyle.d.ts +62 -0
  55. package/lib/commonjs/skia/types/Paragraph/TextStyle.js +35 -0
  56. package/lib/commonjs/skia/types/Paragraph/TextStyle.js.map +1 -0
  57. package/lib/commonjs/skia/types/Paragraph/index.d.ts +6 -0
  58. package/lib/commonjs/skia/types/Paragraph/index.js +84 -0
  59. package/lib/commonjs/skia/types/Paragraph/index.js.map +1 -0
  60. package/lib/commonjs/skia/types/Skia.d.ts +2 -0
  61. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  62. package/lib/commonjs/skia/types/index.d.ts +1 -0
  63. package/lib/commonjs/skia/types/index.js +13 -0
  64. package/lib/commonjs/skia/types/index.js.map +1 -1
  65. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +16 -0
  66. package/lib/commonjs/skia/web/JsiSkParagraph.js +91 -0
  67. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -0
  68. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
  69. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +85 -0
  70. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -0
  71. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
  72. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js +34 -0
  73. package/lib/commonjs/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -0
  74. package/lib/commonjs/skia/web/JsiSkParagraphStyle.d.ts +5 -0
  75. package/lib/commonjs/skia/web/JsiSkParagraphStyle.js +59 -0
  76. package/lib/commonjs/skia/web/JsiSkParagraphStyle.js.map +1 -0
  77. package/lib/commonjs/skia/web/JsiSkTextStyle.d.ts +5 -0
  78. package/lib/commonjs/skia/web/JsiSkTextStyle.js +54 -0
  79. package/lib/commonjs/skia/web/JsiSkTextStyle.js.map +1 -0
  80. package/lib/commonjs/skia/web/JsiSkia.js +4 -1
  81. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  82. package/lib/module/dom/nodes/JsiSkDOM.d.ts +2 -0
  83. package/lib/module/dom/nodes/JsiSkDOM.js +6 -0
  84. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  85. package/lib/module/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
  86. package/lib/module/dom/nodes/drawings/ParagraphNode.js +30 -0
  87. package/lib/module/dom/nodes/drawings/ParagraphNode.js.map +1 -0
  88. package/lib/module/dom/types/NodeType.d.ts +2 -1
  89. package/lib/module/dom/types/NodeType.js +1 -0
  90. package/lib/module/dom/types/NodeType.js.map +1 -1
  91. package/lib/module/dom/types/Paragraph.d.ts +8 -0
  92. package/lib/module/dom/types/Paragraph.js +2 -0
  93. package/lib/module/dom/types/Paragraph.js.map +1 -0
  94. package/lib/module/dom/types/SkDOM.d.ts +2 -0
  95. package/lib/module/dom/types/SkDOM.js.map +1 -1
  96. package/lib/module/dom/types/index.d.ts +1 -0
  97. package/lib/module/dom/types/index.js +1 -0
  98. package/lib/module/dom/types/index.js.map +1 -1
  99. package/lib/module/renderer/HostComponents.d.ts +3 -1
  100. package/lib/module/renderer/HostComponents.js +4 -0
  101. package/lib/module/renderer/HostComponents.js.map +1 -1
  102. package/lib/module/renderer/components/index.d.ts +1 -0
  103. package/lib/module/renderer/components/index.js +1 -0
  104. package/lib/module/renderer/components/index.js.map +1 -1
  105. package/lib/module/renderer/components/paragraph/Paragraph.d.ts +4 -0
  106. package/lib/module/renderer/components/paragraph/Paragraph.js +5 -0
  107. package/lib/module/renderer/components/paragraph/Paragraph.js.map +1 -0
  108. package/lib/module/renderer/components/paragraph/index.d.ts +1 -0
  109. package/lib/module/renderer/components/paragraph/index.js +2 -0
  110. package/lib/module/renderer/components/paragraph/index.js.map +1 -0
  111. package/lib/module/skia/types/Paragraph/Paragraph.d.ts +56 -0
  112. package/lib/module/skia/types/Paragraph/Paragraph.js +2 -0
  113. package/lib/module/skia/types/Paragraph/Paragraph.js.map +1 -0
  114. package/lib/module/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
  115. package/lib/module/skia/types/Paragraph/ParagraphBuilder.js +11 -0
  116. package/lib/module/skia/types/Paragraph/ParagraphBuilder.js.map +1 -0
  117. package/lib/module/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
  118. package/lib/module/skia/types/Paragraph/ParagraphStyle.js +27 -0
  119. package/lib/module/skia/types/Paragraph/ParagraphStyle.js.map +1 -0
  120. package/lib/module/skia/types/Paragraph/TextStyle.d.ts +62 -0
  121. package/lib/module/skia/types/Paragraph/TextStyle.js +26 -0
  122. package/lib/module/skia/types/Paragraph/TextStyle.js.map +1 -0
  123. package/lib/module/skia/types/Paragraph/index.d.ts +6 -0
  124. package/lib/module/skia/types/Paragraph/index.js +7 -0
  125. package/lib/module/skia/types/Paragraph/index.js.map +1 -0
  126. package/lib/module/skia/types/Skia.d.ts +2 -0
  127. package/lib/module/skia/types/Skia.js.map +1 -1
  128. package/lib/module/skia/types/index.d.ts +1 -0
  129. package/lib/module/skia/types/index.js +1 -0
  130. package/lib/module/skia/types/index.js.map +1 -1
  131. package/lib/module/skia/web/JsiSkParagraph.d.ts +16 -0
  132. package/lib/module/skia/web/JsiSkParagraph.js +81 -0
  133. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -0
  134. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
  135. package/lib/module/skia/web/JsiSkParagraphBuilder.js +73 -0
  136. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -0
  137. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
  138. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +21 -0
  139. package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -0
  140. package/lib/module/skia/web/JsiSkParagraphStyle.d.ts +5 -0
  141. package/lib/module/skia/web/JsiSkParagraphStyle.js +49 -0
  142. package/lib/module/skia/web/JsiSkParagraphStyle.js.map +1 -0
  143. package/lib/module/skia/web/JsiSkTextStyle.d.ts +5 -0
  144. package/lib/module/skia/web/JsiSkTextStyle.js +45 -0
  145. package/lib/module/skia/web/JsiSkTextStyle.js.map +1 -0
  146. package/lib/module/skia/web/JsiSkia.js +3 -1
  147. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  148. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +2 -0
  149. package/lib/typescript/src/dom/nodes/drawings/ParagraphNode.d.ts +8 -0
  150. package/lib/typescript/src/dom/types/NodeType.d.ts +2 -1
  151. package/lib/typescript/src/dom/types/Paragraph.d.ts +8 -0
  152. package/lib/typescript/src/dom/types/SkDOM.d.ts +2 -0
  153. package/lib/typescript/src/dom/types/index.d.ts +1 -0
  154. package/lib/typescript/src/renderer/HostComponents.d.ts +3 -1
  155. package/lib/typescript/src/renderer/components/index.d.ts +1 -0
  156. package/lib/typescript/src/renderer/components/paragraph/Paragraph.d.ts +4 -0
  157. package/lib/typescript/src/renderer/components/paragraph/index.d.ts +1 -0
  158. package/lib/typescript/src/skia/types/Paragraph/Paragraph.d.ts +56 -0
  159. package/lib/typescript/src/skia/types/Paragraph/ParagraphBuilder.d.ts +60 -0
  160. package/lib/typescript/src/skia/types/Paragraph/ParagraphStyle.d.ts +41 -0
  161. package/lib/typescript/src/skia/types/Paragraph/TextStyle.d.ts +62 -0
  162. package/lib/typescript/src/skia/types/Paragraph/index.d.ts +6 -0
  163. package/lib/typescript/src/skia/types/Skia.d.ts +2 -0
  164. package/lib/typescript/src/skia/types/index.d.ts +1 -0
  165. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +16 -0
  166. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +15 -0
  167. package/lib/typescript/src/skia/web/JsiSkParagraphBuilderFactory.d.ts +8 -0
  168. package/lib/typescript/src/skia/web/JsiSkParagraphStyle.d.ts +5 -0
  169. package/lib/typescript/src/skia/web/JsiSkTextStyle.d.ts +5 -0
  170. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  171. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  172. package/libs/ios/libskottie.xcframework/Info.plist +5 -5
  173. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  174. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  175. package/libs/ios/libskparagraph.xcframework/Info.plist +5 -5
  176. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  177. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  178. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  179. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  180. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  181. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  182. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  183. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  184. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  185. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  186. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  187. package/package.json +1 -1
  188. package/src/dom/nodes/JsiSkDOM.ts +9 -0
  189. package/src/dom/nodes/drawings/ParagraphNode.ts +22 -0
  190. package/src/dom/types/NodeType.ts +3 -0
  191. package/src/dom/types/Paragraph.ts +10 -0
  192. package/src/dom/types/SkDOM.ts +4 -0
  193. package/src/dom/types/index.ts +1 -0
  194. package/src/renderer/HostComponents.ts +10 -0
  195. package/src/renderer/components/index.ts +2 -0
  196. package/src/renderer/components/paragraph/Paragraph.tsx +8 -0
  197. package/src/renderer/components/paragraph/index.ts +1 -0
  198. package/src/skia/types/Paragraph/Paragraph.ts +59 -0
  199. package/src/skia/types/Paragraph/ParagraphBuilder.ts +96 -0
  200. package/src/skia/types/Paragraph/ParagraphStyle.ts +45 -0
  201. package/src/skia/types/Paragraph/TextStyle.ts +70 -0
  202. package/src/skia/types/Paragraph/index.ts +6 -0
  203. package/src/skia/types/Skia.ts +3 -0
  204. package/src/skia/types/index.ts +1 -0
  205. package/src/skia/web/JsiSkParagraph.ts +69 -0
  206. package/src/skia/web/JsiSkParagraphBuilder.ts +99 -0
  207. package/src/skia/web/JsiSkParagraphBuilderFactory.ts +42 -0
  208. package/src/skia/web/JsiSkParagraphStyle.ts +65 -0
  209. package/src/skia/web/JsiSkTextStyle.ts +53 -0
  210. package/src/skia/web/JsiSkia.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"names":["NodeType","exhaustiveCheck","shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","Layer","Group","Paint","Fill","Image","Circle","Path","Drawing","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LerpColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"sources":["HostComponents.ts"],"sourcesContent":["import { NodeType } from \"../dom/types\";\nimport type {\n DeclarationNode,\n FractalNoiseProps,\n RenderNode,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n} from \"../dom/types\";\nimport type { ChildrenProps } from \"../dom/types/Common\";\nimport type {\n BlendProps,\n MorphologyImageFilterProps,\n} from \"../dom/types/ImageFilters\";\nimport type { SkRect, SkRRect } from \"../skia/types\";\nimport type { JsiDrawingNode } from \"../dom/nodes/DrawingNode\";\nimport type { SkiaValue } from \"../values\";\n\nimport type { Container } from \"./Container\";\nimport { exhaustiveCheck } from \"./typeddash\";\nimport type { SkiaProps } from \"./processors\";\nimport type { DependencyManager } from \"./DependencyManager\";\n\n// This flag should only be turned on for debugging/testing\nconst shouldUseJSDomOnNative = false;\nexport const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;\n\ndeclare global {\n var SkiaDomApi: {\n DependencyManager: (\n registerValues: (values: Array<SkiaValue<unknown>>) => () => void\n ) => DependencyManager;\n\n // FIXME: We need a better type for this\n RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;\n RRectNode: (\n props: RoundedRectProps\n ) => JsiDrawingNode<RoundedRectProps, SkRRect>;\n GroupNode: (props: GroupProps) => RenderNode<GroupProps>;\n PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;\n FillNode: (props: PaintProps) => RenderNode<PaintProps>;\n CircleNode: (props: CircleProps) => RenderNode<CircleProps>;\n PathNode: (props: PathProps) => RenderNode<PathProps>;\n CustomDrawingNode: (\n props: CustomDrawingNodeProps\n ) => RenderNode<CustomDrawingNodeProps>;\n LineNode: (props: LineProps) => RenderNode<LineProps>;\n ImageNode: (props: ImageProps) => RenderNode<ImageProps>;\n OvalNode: (props: OvalProps) => RenderNode<OvalProps>;\n PatchNode: (props: PatchProps) => RenderNode<PatchProps>;\n PointsNode: (props: PointsProps) => RenderNode<PointsProps>;\n DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;\n // Mask filters\n BlurMaskFilterNode: (\n props: BlurMaskFilterProps\n ) => DeclarationNode<BlurMaskFilterProps>;\n\n // Path effects\n DashPathEffectNode: (\n props: DashPathEffectProps\n ) => DeclarationNode<DashPathEffectProps>;\n DiscretePathEffectNode: (\n props: DiscretePathEffectProps\n ) => DeclarationNode<DiscretePathEffectProps>;\n CornerPathEffectNode: (\n props: CornerPathEffectProps\n ) => DeclarationNode<CornerPathEffectProps>;\n Path1DPathEffectNode: (\n props: Path1DPathEffectProps\n ) => DeclarationNode<Path1DPathEffectProps>;\n Path2DPathEffectNode: (\n props: Path2DPathEffectProps\n ) => DeclarationNode<Path2DPathEffectProps>;\n Line2DPathEffectNode: (\n props: Line2DPathEffectProps\n ) => DeclarationNode<Line2DPathEffectProps>;\n SumPathEffectNode: () => DeclarationNode<null>;\n\n // Image filters\n BlendImageFilterNode: (\n props: BlendImageFilterProps\n ) => DeclarationNode<BlendImageFilterProps>;\n DropShadowImageFilterNode: (\n props: DropShadowImageFilterProps\n ) => DeclarationNode<DropShadowImageFilterProps>;\n DisplacementMapImageFilterNode: (\n props: DisplacementMapImageFilterProps\n ) => DeclarationNode<DisplacementMapImageFilterProps>;\n BlurImageFilterNode: (\n props: BlurImageFilterProps\n ) => DeclarationNode<BlurImageFilterProps>;\n OffsetImageFilterNode: (\n props: OffsetImageFilterProps\n ) => DeclarationNode<OffsetImageFilterProps>;\n MorphologyImageFilterNode: (\n props: MorphologyImageFilterProps\n ) => DeclarationNode<MorphologyImageFilterProps>;\n RuntimeShaderImageFilterNode: (\n props: RuntimeShaderImageFilterProps\n ) => DeclarationNode<RuntimeShaderImageFilterProps>;\n\n // Color filters\n MatrixColorFilterNode: (\n props: MatrixColorFilterProps\n ) => DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilterNode: (\n props: BlendColorFilterProps\n ) => DeclarationNode<BlendColorFilterProps>;\n LinearToSRGBGammaColorFilterNode: () => DeclarationNode<null>;\n SRGBToLinearGammaColorFilterNode: () => DeclarationNode<null>;\n LumaColorFilterNode: () => DeclarationNode<null>;\n LerpColorFilterNode: (\n props: LerpColorFilterProps\n ) => DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n ShaderNode: (props: ShaderProps) => DeclarationNode<ShaderProps>;\n ImageShaderNode: (\n props: ImageShaderProps\n ) => DeclarationNode<ImageShaderProps>;\n ColorShaderNode: (props: ColorProps) => DeclarationNode<ColorProps>;\n TurbulenceNode: (\n props: TurbulenceProps\n ) => DeclarationNode<TurbulenceProps>;\n FractalNoiseNode: (\n props: FractalNoiseProps\n ) => DeclarationNode<FractalNoiseProps>;\n LinearGradientNode: (\n props: LinearGradientProps\n ) => DeclarationNode<LinearGradientProps>;\n RadialGradientNode: (\n props: RadialGradientProps\n ) => DeclarationNode<RadialGradientProps>;\n SweepGradientNode: (\n props: SweepGradientProps\n ) => DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradientNode: (\n props: TwoPointConicalGradientProps\n ) => DeclarationNode<TwoPointConicalGradientProps>;\n PictureNode: (props: PictureProps) => RenderNode<PictureProps>;\n ImageSVGNode: (props: ImageSVGProps) => RenderNode<ImageSVGProps>;\n VerticesNode: (props: VerticesProps) => RenderNode<VerticesProps>;\n TextNode: (prop: TextProps) => RenderNode<TextProps>;\n TextPathNode: (prop: TextPathProps) => RenderNode<TextPathProps>;\n TextBlobNode: (prop: TextBlobProps) => RenderNode<TextBlobProps>;\n GlyphsNode: (prop: GlyphsProps) => RenderNode<GlyphsProps>;\n BlendNode: (prop: BlendProps) => DeclarationNode<BlendProps>;\n BackdropFilterNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n BoxNode: (prop: BoxProps) => RenderNode<BoxProps>;\n BoxShadowNode: (prop: BoxShadowProps) => DeclarationNode<BoxShadowProps>;\n LayerNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skDrawing: SkiaProps<CustomDrawingNodeProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n }\n }\n}\n\nexport const createNode = (\n container: Container,\n type: NodeType,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any\n) => {\n const { Sk } = container;\n switch (type) {\n case NodeType.Layer:\n return Sk.Layer(props);\n case NodeType.Group:\n return Sk.Group(props);\n case NodeType.Paint:\n return Sk.Paint(props);\n // Drawings\n case NodeType.Fill:\n return Sk.Fill(props);\n case NodeType.Image:\n return Sk.Image(props);\n case NodeType.Circle:\n return Sk.Circle(props);\n case NodeType.Path:\n return Sk.Path(props);\n case NodeType.Drawing:\n return Sk.CustomDrawing(props);\n case NodeType.Line:\n return Sk.Line(props);\n case NodeType.Oval:\n return Sk.Oval(props);\n case NodeType.Patch:\n return Sk.Patch(props);\n case NodeType.Points:\n return Sk.Points(props);\n case NodeType.Rect:\n return Sk.Rect(props);\n case NodeType.RRect:\n return Sk.RRect(props);\n case NodeType.Vertices:\n return Sk.Vertices(props);\n case NodeType.Text:\n return Sk.Text(props);\n case NodeType.TextPath:\n return Sk.TextPath(props);\n case NodeType.TextBlob:\n return Sk.TextBlob(props);\n case NodeType.Glyphs:\n return Sk.Glyphs(props);\n case NodeType.DiffRect:\n return Sk.DiffRect(props);\n case NodeType.Picture:\n return Sk.Picture(props);\n case NodeType.ImageSVG:\n return Sk.ImageSVG(props);\n // Mask Filter\n case NodeType.BlurMaskFilter:\n return Sk.BlurMaskFilter(props);\n // Image Filter\n case NodeType.BlendImageFilter:\n return Sk.BlendImageFilter(props);\n case NodeType.BlurImageFilter:\n return Sk.BlurImageFilter(props);\n case NodeType.OffsetImageFilter:\n return Sk.OffsetImageFilter(props);\n case NodeType.DropShadowImageFilter:\n return Sk.DropShadowImageFilter(props);\n case NodeType.DisplacementMapImageFilter:\n return Sk.DisplacementMapImageFilter(props);\n case NodeType.MorphologyImageFilter:\n return Sk.MorphologyImageFilter(props);\n case NodeType.RuntimeShaderImageFilter:\n return Sk.RuntimeShaderImageFilter(props);\n // Color Filter\n case NodeType.MatrixColorFilter:\n return Sk.MatrixColorFilter(props);\n case NodeType.BlendColorFilter:\n return Sk.BlendColorFilter(props);\n case NodeType.LerpColorFilter:\n return Sk.LerpColorFilter(props);\n case NodeType.LumaColorFilter:\n return Sk.LumaColorFilter();\n case NodeType.LinearToSRGBGammaColorFilter:\n return Sk.LinearToSRGBGammaColorFilter();\n case NodeType.SRGBToLinearGammaColorFilter:\n return Sk.SRGBToLinearGammaColorFilter();\n // Shader\n case NodeType.Shader:\n return Sk.Shader(props);\n case NodeType.ImageShader:\n return Sk.ImageShader(props);\n case NodeType.ColorShader:\n return Sk.ColorShader(props);\n case NodeType.Turbulence:\n return Sk.Turbulence(props);\n case NodeType.FractalNoise:\n return Sk.FractalNoise(props);\n case NodeType.LinearGradient:\n return Sk.LinearGradient(props);\n case NodeType.RadialGradient:\n return Sk.RadialGradient(props);\n case NodeType.SweepGradient:\n return Sk.SweepGradient(props);\n case NodeType.TwoPointConicalGradient:\n return Sk.TwoPointConicalGradient(props);\n // Path Effect\n case NodeType.CornerPathEffect:\n return Sk.CornerPathEffect(props);\n case NodeType.DiscretePathEffect:\n return Sk.DiscretePathEffect(props);\n case NodeType.DashPathEffect:\n return Sk.DashPathEffect(props);\n case NodeType.Path1DPathEffect:\n return Sk.Path1DPathEffect(props);\n case NodeType.Path2DPathEffect:\n return Sk.Path2DPathEffect(props);\n case NodeType.SumPathEffect:\n return Sk.SumPathEffect();\n case NodeType.Line2DPathEffect:\n return Sk.Line2DPathEffect(props);\n // Mixed\n case NodeType.Blend:\n return Sk.Blend(props);\n case NodeType.BackdropFilter:\n return Sk.BackdropFilter(props);\n case NodeType.Box:\n return Sk.Box(props);\n case NodeType.BoxShadow:\n return Sk.BoxShadow(props);\n default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["NodeType","exhaustiveCheck","shouldUseJSDomOnNative","NATIVE_DOM","global","SkiaDomApi","createNode","container","type","props","Sk","Layer","Group","Paint","Fill","Image","Circle","Path","Drawing","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","BlurImageFilter","OffsetImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LerpColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","Shader","ImageShader","ColorShader","Turbulence","FractalNoise","LinearGradient","RadialGradient","SweepGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow","Paragraph"],"sources":["HostComponents.ts"],"sourcesContent":["import { NodeType } from \"../dom/types\";\nimport type {\n DeclarationNode,\n FractalNoiseProps,\n RenderNode,\n CircleProps,\n DrawingNodeProps,\n ImageProps,\n PaintProps,\n PathProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n DiffRectProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n TextProps,\n VerticesProps,\n BlurMaskFilterProps,\n BlendImageFilterProps,\n BlurImageFilterProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n OffsetImageFilterProps,\n RuntimeShaderImageFilterProps,\n MatrixColorFilterProps,\n ShaderProps,\n ImageShaderProps,\n LinearGradientProps,\n GroupProps,\n PatchProps,\n BlendColorFilterProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n CornerPathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n BoxProps,\n BoxShadowProps,\n ParagraphProps,\n} from \"../dom/types\";\nimport type { ChildrenProps } from \"../dom/types/Common\";\nimport type {\n BlendProps,\n MorphologyImageFilterProps,\n} from \"../dom/types/ImageFilters\";\nimport type { SkRect, SkRRect } from \"../skia/types\";\nimport type { JsiDrawingNode } from \"../dom/nodes/DrawingNode\";\nimport type { SkiaValue } from \"../values\";\n\nimport type { Container } from \"./Container\";\nimport { exhaustiveCheck } from \"./typeddash\";\nimport type { SkiaProps } from \"./processors\";\nimport type { DependencyManager } from \"./DependencyManager\";\n\n// This flag should only be turned on for debugging/testing\nconst shouldUseJSDomOnNative = false;\nexport const NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;\n\ndeclare global {\n var SkiaDomApi: {\n DependencyManager: (\n registerValues: (values: Array<SkiaValue<unknown>>) => () => void\n ) => DependencyManager;\n\n // FIXME: We need a better type for this\n RectNode: (props: RectProps) => JsiDrawingNode<RectProps, SkRect>;\n RRectNode: (\n props: RoundedRectProps\n ) => JsiDrawingNode<RoundedRectProps, SkRRect>;\n GroupNode: (props: GroupProps) => RenderNode<GroupProps>;\n PaintNode: (props: PaintProps) => DeclarationNode<PaintProps>;\n FillNode: (props: PaintProps) => RenderNode<PaintProps>;\n CircleNode: (props: CircleProps) => RenderNode<CircleProps>;\n PathNode: (props: PathProps) => RenderNode<PathProps>;\n CustomDrawingNode: (\n props: CustomDrawingNodeProps\n ) => RenderNode<CustomDrawingNodeProps>;\n LineNode: (props: LineProps) => RenderNode<LineProps>;\n ImageNode: (props: ImageProps) => RenderNode<ImageProps>;\n OvalNode: (props: OvalProps) => RenderNode<OvalProps>;\n PatchNode: (props: PatchProps) => RenderNode<PatchProps>;\n PointsNode: (props: PointsProps) => RenderNode<PointsProps>;\n DiffRectNode: (props: DiffRectProps) => RenderNode<DiffRectProps>;\n // Mask filters\n BlurMaskFilterNode: (\n props: BlurMaskFilterProps\n ) => DeclarationNode<BlurMaskFilterProps>;\n\n // Path effects\n DashPathEffectNode: (\n props: DashPathEffectProps\n ) => DeclarationNode<DashPathEffectProps>;\n DiscretePathEffectNode: (\n props: DiscretePathEffectProps\n ) => DeclarationNode<DiscretePathEffectProps>;\n CornerPathEffectNode: (\n props: CornerPathEffectProps\n ) => DeclarationNode<CornerPathEffectProps>;\n Path1DPathEffectNode: (\n props: Path1DPathEffectProps\n ) => DeclarationNode<Path1DPathEffectProps>;\n Path2DPathEffectNode: (\n props: Path2DPathEffectProps\n ) => DeclarationNode<Path2DPathEffectProps>;\n Line2DPathEffectNode: (\n props: Line2DPathEffectProps\n ) => DeclarationNode<Line2DPathEffectProps>;\n SumPathEffectNode: () => DeclarationNode<null>;\n\n // Image filters\n BlendImageFilterNode: (\n props: BlendImageFilterProps\n ) => DeclarationNode<BlendImageFilterProps>;\n DropShadowImageFilterNode: (\n props: DropShadowImageFilterProps\n ) => DeclarationNode<DropShadowImageFilterProps>;\n DisplacementMapImageFilterNode: (\n props: DisplacementMapImageFilterProps\n ) => DeclarationNode<DisplacementMapImageFilterProps>;\n BlurImageFilterNode: (\n props: BlurImageFilterProps\n ) => DeclarationNode<BlurImageFilterProps>;\n OffsetImageFilterNode: (\n props: OffsetImageFilterProps\n ) => DeclarationNode<OffsetImageFilterProps>;\n MorphologyImageFilterNode: (\n props: MorphologyImageFilterProps\n ) => DeclarationNode<MorphologyImageFilterProps>;\n RuntimeShaderImageFilterNode: (\n props: RuntimeShaderImageFilterProps\n ) => DeclarationNode<RuntimeShaderImageFilterProps>;\n\n // Color filters\n MatrixColorFilterNode: (\n props: MatrixColorFilterProps\n ) => DeclarationNode<MatrixColorFilterProps>;\n BlendColorFilterNode: (\n props: BlendColorFilterProps\n ) => DeclarationNode<BlendColorFilterProps>;\n LinearToSRGBGammaColorFilterNode: () => DeclarationNode<null>;\n SRGBToLinearGammaColorFilterNode: () => DeclarationNode<null>;\n LumaColorFilterNode: () => DeclarationNode<null>;\n LerpColorFilterNode: (\n props: LerpColorFilterProps\n ) => DeclarationNode<LerpColorFilterProps>;\n\n // Shaders\n ShaderNode: (props: ShaderProps) => DeclarationNode<ShaderProps>;\n ImageShaderNode: (\n props: ImageShaderProps\n ) => DeclarationNode<ImageShaderProps>;\n ColorShaderNode: (props: ColorProps) => DeclarationNode<ColorProps>;\n TurbulenceNode: (\n props: TurbulenceProps\n ) => DeclarationNode<TurbulenceProps>;\n FractalNoiseNode: (\n props: FractalNoiseProps\n ) => DeclarationNode<FractalNoiseProps>;\n LinearGradientNode: (\n props: LinearGradientProps\n ) => DeclarationNode<LinearGradientProps>;\n RadialGradientNode: (\n props: RadialGradientProps\n ) => DeclarationNode<RadialGradientProps>;\n SweepGradientNode: (\n props: SweepGradientProps\n ) => DeclarationNode<SweepGradientProps>;\n TwoPointConicalGradientNode: (\n props: TwoPointConicalGradientProps\n ) => DeclarationNode<TwoPointConicalGradientProps>;\n PictureNode: (props: PictureProps) => RenderNode<PictureProps>;\n ImageSVGNode: (props: ImageSVGProps) => RenderNode<ImageSVGProps>;\n VerticesNode: (props: VerticesProps) => RenderNode<VerticesProps>;\n TextNode: (prop: TextProps) => RenderNode<TextProps>;\n TextPathNode: (prop: TextPathProps) => RenderNode<TextPathProps>;\n TextBlobNode: (prop: TextBlobProps) => RenderNode<TextBlobProps>;\n GlyphsNode: (prop: GlyphsProps) => RenderNode<GlyphsProps>;\n BlendNode: (prop: BlendProps) => DeclarationNode<BlendProps>;\n BackdropFilterNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n BoxNode: (prop: BoxProps) => RenderNode<BoxProps>;\n BoxShadowNode: (prop: BoxShadowProps) => DeclarationNode<BoxShadowProps>;\n LayerNode: (prop: ChildrenProps) => RenderNode<ChildrenProps>;\n\n // Paragraph\n ParagraphNode: (props: ParagraphProps) => RenderNode<ParagraphProps>;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n skGroup: SkiaProps<GroupProps>;\n skLayer: SkiaProps<ChildrenProps>;\n skPaint: SkiaProps<PaintProps>;\n\n // Drawings\n skFill: SkiaProps<DrawingNodeProps>;\n skImage: SkiaProps<ImageProps>;\n skCircle: SkiaProps<CircleProps>;\n skPath: SkiaProps<PathProps>;\n skDrawing: SkiaProps<CustomDrawingNodeProps>;\n skLine: SkiaProps<LineProps>;\n skOval: SkiaProps<OvalProps>;\n skPatch: SkiaProps<PatchProps>;\n skPoints: SkiaProps<PointsProps>;\n skRect: SkiaProps<RectProps>;\n skRRect: SkiaProps<RoundedRectProps>;\n skVertices: SkiaProps<VerticesProps>;\n skText: SkiaProps<TextProps>;\n skTextPath: SkiaProps<TextPathProps>;\n skTextBlob: SkiaProps<TextBlobProps>;\n skGlyphs: SkiaProps<GlyphsProps>;\n skDiffRect: SkiaProps<DiffRectProps>;\n skPicture: SkiaProps<PictureProps>;\n skImageSVG: SkiaProps<ImageSVGProps>;\n\n // BlurMaskFilters\n skBlurMaskFilter: SkiaProps<BlurMaskFilterProps>;\n\n // ImageFilters\n skBlendImageFilter: SkiaProps<BlendImageFilterProps>;\n skBlurImageFilter: SkiaProps<BlurImageFilterProps>;\n skOffsetImageFilter: SkiaProps<OffsetImageFilterProps>;\n skDropShadowImageFilter: SkiaProps<DropShadowImageFilterProps>;\n skDisplacementMapImageFilter: SkiaProps<DisplacementMapImageFilterProps>;\n skRuntimeShaderImageFilter: SkiaProps<RuntimeShaderImageFilterProps>;\n skMorphologyImageFilter: SkiaProps<MorphologyImageFilterProps>;\n\n // ColorFilters\n skMatrixColorFilter: SkiaProps<MatrixColorFilterProps>;\n skBlendColorFilter: SkiaProps<BlendColorFilterProps>;\n skLinearToSRGBGammaColorFilter: SkiaProps<ChildrenProps>;\n skSRGBToLinearGammaColorFilter: SkiaProps<ChildrenProps>;\n skLumaColorFilter: SkiaProps<ChildrenProps>;\n skLerpColorFilter: SkiaProps<LerpColorFilterProps>;\n\n // Shaders\n skShader: SkiaProps<ShaderProps>;\n skImageShader: SkiaProps<ImageShaderProps>;\n skColorShader: SkiaProps<ColorProps>;\n skTurbulence: SkiaProps<TurbulenceProps>;\n skFractalNoise: SkiaProps<FractalNoiseProps>;\n skLinearGradient: SkiaProps<LinearGradientProps>;\n skRadialGradient: SkiaProps<RadialGradientProps>;\n skSweepGradient: SkiaProps<SweepGradientProps>;\n skTwoPointConicalGradient: SkiaProps<TwoPointConicalGradientProps>;\n\n // Path Effects\n skDiscretePathEffect: SkiaProps<DiscretePathEffectProps>;\n skDashPathEffect: SkiaProps<DashPathEffectProps>;\n skPath1DPathEffect: SkiaProps<Path1DPathEffectProps>;\n skPath2DPathEffect: SkiaProps<Path2DPathEffectProps>;\n skCornerPathEffect: SkiaProps<CornerPathEffectProps>;\n skSumPathEffect: ChildrenProps;\n skLine2DPathEffect: SkiaProps<Line2DPathEffectProps>;\n\n // Mixed declarations/drawings\n skBlend: SkiaProps<BlendProps>;\n skBackdropFilter: SkiaProps<ChildrenProps>;\n skBox: SkiaProps<BoxProps>;\n skBoxShadow: SkiaProps<BoxShadowProps>;\n\n // Paragraph\n skParagraph: SkiaProps<ParagraphProps>;\n }\n }\n}\n\nexport const createNode = (\n container: Container,\n type: NodeType,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: any\n) => {\n const { Sk } = container;\n switch (type) {\n case NodeType.Layer:\n return Sk.Layer(props);\n case NodeType.Group:\n return Sk.Group(props);\n case NodeType.Paint:\n return Sk.Paint(props);\n // Drawings\n case NodeType.Fill:\n return Sk.Fill(props);\n case NodeType.Image:\n return Sk.Image(props);\n case NodeType.Circle:\n return Sk.Circle(props);\n case NodeType.Path:\n return Sk.Path(props);\n case NodeType.Drawing:\n return Sk.CustomDrawing(props);\n case NodeType.Line:\n return Sk.Line(props);\n case NodeType.Oval:\n return Sk.Oval(props);\n case NodeType.Patch:\n return Sk.Patch(props);\n case NodeType.Points:\n return Sk.Points(props);\n case NodeType.Rect:\n return Sk.Rect(props);\n case NodeType.RRect:\n return Sk.RRect(props);\n case NodeType.Vertices:\n return Sk.Vertices(props);\n case NodeType.Text:\n return Sk.Text(props);\n case NodeType.TextPath:\n return Sk.TextPath(props);\n case NodeType.TextBlob:\n return Sk.TextBlob(props);\n case NodeType.Glyphs:\n return Sk.Glyphs(props);\n case NodeType.DiffRect:\n return Sk.DiffRect(props);\n case NodeType.Picture:\n return Sk.Picture(props);\n case NodeType.ImageSVG:\n return Sk.ImageSVG(props);\n // Mask Filter\n case NodeType.BlurMaskFilter:\n return Sk.BlurMaskFilter(props);\n // Image Filter\n case NodeType.BlendImageFilter:\n return Sk.BlendImageFilter(props);\n case NodeType.BlurImageFilter:\n return Sk.BlurImageFilter(props);\n case NodeType.OffsetImageFilter:\n return Sk.OffsetImageFilter(props);\n case NodeType.DropShadowImageFilter:\n return Sk.DropShadowImageFilter(props);\n case NodeType.DisplacementMapImageFilter:\n return Sk.DisplacementMapImageFilter(props);\n case NodeType.MorphologyImageFilter:\n return Sk.MorphologyImageFilter(props);\n case NodeType.RuntimeShaderImageFilter:\n return Sk.RuntimeShaderImageFilter(props);\n // Color Filter\n case NodeType.MatrixColorFilter:\n return Sk.MatrixColorFilter(props);\n case NodeType.BlendColorFilter:\n return Sk.BlendColorFilter(props);\n case NodeType.LerpColorFilter:\n return Sk.LerpColorFilter(props);\n case NodeType.LumaColorFilter:\n return Sk.LumaColorFilter();\n case NodeType.LinearToSRGBGammaColorFilter:\n return Sk.LinearToSRGBGammaColorFilter();\n case NodeType.SRGBToLinearGammaColorFilter:\n return Sk.SRGBToLinearGammaColorFilter();\n // Shader\n case NodeType.Shader:\n return Sk.Shader(props);\n case NodeType.ImageShader:\n return Sk.ImageShader(props);\n case NodeType.ColorShader:\n return Sk.ColorShader(props);\n case NodeType.Turbulence:\n return Sk.Turbulence(props);\n case NodeType.FractalNoise:\n return Sk.FractalNoise(props);\n case NodeType.LinearGradient:\n return Sk.LinearGradient(props);\n case NodeType.RadialGradient:\n return Sk.RadialGradient(props);\n case NodeType.SweepGradient:\n return Sk.SweepGradient(props);\n case NodeType.TwoPointConicalGradient:\n return Sk.TwoPointConicalGradient(props);\n // Path Effect\n case NodeType.CornerPathEffect:\n return Sk.CornerPathEffect(props);\n case NodeType.DiscretePathEffect:\n return Sk.DiscretePathEffect(props);\n case NodeType.DashPathEffect:\n return Sk.DashPathEffect(props);\n case NodeType.Path1DPathEffect:\n return Sk.Path1DPathEffect(props);\n case NodeType.Path2DPathEffect:\n return Sk.Path2DPathEffect(props);\n case NodeType.SumPathEffect:\n return Sk.SumPathEffect();\n case NodeType.Line2DPathEffect:\n return Sk.Line2DPathEffect(props);\n // Mixed\n case NodeType.Blend:\n return Sk.Blend(props);\n case NodeType.BackdropFilter:\n return Sk.BackdropFilter(props);\n case NodeType.Box:\n return Sk.Box(props);\n case NodeType.BoxShadow:\n return Sk.BoxShadow(props);\n // Paragraph\n case NodeType.Paragraph:\n return Sk.Paragraph(props);\n default:\n return exhaustiveCheck(type);\n }\n};\n"],"mappings":"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"}
@@ -14,3 +14,4 @@ export * from "./Mask";
14
14
  export * from "./Paint";
15
15
  export * from "./Blend";
16
16
  export * from "./Drawing";
17
+ export * from "./paragraph";
@@ -14,4 +14,5 @@ export * from "./Mask";
14
14
  export * from "./Paint";
15
15
  export * from "./Blend";
16
16
  export * from "./Drawing";
17
+ export * from "./paragraph";
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./shapes\";\nexport * from \"./backdrop\";\nexport * from \"./image\";\nexport * from \"./shaders\";\nexport * from \"./text\";\nexport * from \"./colorFilters\";\nexport * from \"./maskFilters\";\nexport * from \"./imageFilters\";\nexport * from \"./pathEffects\";\nexport * from \"../processors\";\nexport * from \"./Picture\";\n\nexport * from \"./Group\";\nexport * from \"./Mask\";\nexport * from \"./Paint\";\nexport * from \"./Blend\";\nexport * from \"./Drawing\";\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AAEA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./shapes\";\nexport * from \"./backdrop\";\nexport * from \"./image\";\nexport * from \"./shaders\";\nexport * from \"./text\";\nexport * from \"./colorFilters\";\nexport * from \"./maskFilters\";\nexport * from \"./imageFilters\";\nexport * from \"./pathEffects\";\nexport * from \"../processors\";\nexport * from \"./Picture\";\n\nexport * from \"./Group\";\nexport * from \"./Mask\";\nexport * from \"./Paint\";\nexport * from \"./Blend\";\nexport * from \"./Drawing\";\n\nexport * from \"./paragraph\";\n"],"mappings":"AAAA,cAAc,UAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,gBAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,WAAd;AAEA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AAEA,cAAc,aAAd"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { ParagraphProps } from "../../../dom/types/Paragraph";
3
+ import type { SkiaProps } from "../../processors";
4
+ export declare const Paragraph: (props: SkiaProps<ParagraphProps>) => React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export const Paragraph = props => {
3
+ return /*#__PURE__*/React.createElement("skParagraph", props);
4
+ };
5
+ //# sourceMappingURL=Paragraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Paragraph","props"],"sources":["Paragraph.tsx"],"sourcesContent":["import React from \"react\";\n\nimport type { ParagraphProps } from \"../../../dom/types/Paragraph\";\nimport type { SkiaProps } from \"../../processors\";\n\nexport const Paragraph = (props: SkiaProps<ParagraphProps>) => {\n return <skParagraph {...props} />;\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAKA,OAAO,MAAMC,SAAS,GAAIC,KAAD,IAAsC;EAC7D,oBAAO,mCAAiBA,KAAjB,CAAP;AACD,CAFM"}
@@ -0,0 +1 @@
1
+ export * from "./Paragraph";
@@ -0,0 +1,2 @@
1
+ export * from "./Paragraph";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Paragraph\";\n"],"mappings":"AAAA,cAAc,aAAd"}
@@ -0,0 +1,56 @@
1
+ import type { SkCanvas } from "../Canvas";
2
+ import type { SkJSIInstance } from "../JsiInstance";
3
+ import type { SkRect } from "../Rect";
4
+ import type { SkTextDirection } from "./ParagraphStyle";
5
+ export interface SkRectWithDirection {
6
+ rect: SkRect;
7
+ direction: SkTextDirection;
8
+ }
9
+ export interface SkParagraph extends SkJSIInstance<"Paragraph"> {
10
+ /**
11
+ * Calculates the position of the the glyphs in the paragraph
12
+ * @param width Max width of the paragraph
13
+ */
14
+ layout(width: number): void;
15
+ /**
16
+ * Paints the paragraph to the provded canvas
17
+ * @param canvas Canvas to paint into
18
+ * @param x X coordinate to paint at
19
+ * @param y Y coordinate to paint at
20
+ */
21
+ paint(canvas: SkCanvas, x: number, y: number): void;
22
+ /**
23
+ * Returns the height of the paragraph. This method requires the layout
24
+ * method to have been called first.
25
+ */
26
+ getHeight(): number;
27
+ /**
28
+ * Returns the max width of the paragraph. This method requires the layout
29
+ * method to have been called first.
30
+ */
31
+ getMaxWidth(): number;
32
+ /**
33
+ * Returns the index of the glyph at the given position. This method requires
34
+ * the layout method to have been called first.
35
+ * @param x X coordinate of the position
36
+ * @param y Y coordinate of the position
37
+ */
38
+ getGlyphPositionAtCoordinate(x: number, y: number): number;
39
+ /**
40
+ * Returns the bounding boxes of the glyphs in the given range. This method
41
+ * requires the layout method to have been called first.
42
+ * @param start Start index of the range
43
+ * @param end End index of the range
44
+ */
45
+ getRectsForRange(start: number, end: number): SkRect[];
46
+ /**
47
+ * Returns the bounding boxes for all lines in the paragraph. This method
48
+ * requires the layout method to have been called first.
49
+ */
50
+ getLineMetrics(): Array<SkRect>;
51
+ /**
52
+ * Returns a list of rects with direction info for the placeholders added
53
+ * to the paragraph.
54
+ */
55
+ getRectsForPlaceholders(): SkRectWithDirection[];
56
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Paragraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["Paragraph.ts"],"sourcesContent":["import type { SkCanvas } from \"../Canvas\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkRect } from \"../Rect\";\n\nimport type { SkTextDirection } from \"./ParagraphStyle\";\n\nexport interface SkRectWithDirection {\n rect: SkRect;\n direction: SkTextDirection;\n}\n\nexport interface SkParagraph extends SkJSIInstance<\"Paragraph\"> {\n /**\n * Calculates the position of the the glyphs in the paragraph\n * @param width Max width of the paragraph\n */\n layout(width: number): void;\n /**\n * Paints the paragraph to the provded canvas\n * @param canvas Canvas to paint into\n * @param x X coordinate to paint at\n * @param y Y coordinate to paint at\n */\n paint(canvas: SkCanvas, x: number, y: number): void;\n /**\n * Returns the height of the paragraph. This method requires the layout\n * method to have been called first.\n */\n getHeight(): number;\n /**\n * Returns the max width of the paragraph. This method requires the layout\n * method to have been called first.\n */\n getMaxWidth(): number;\n /**\n * Returns the index of the glyph at the given position. This method requires\n * the layout method to have been called first.\n * @param x X coordinate of the position\n * @param y Y coordinate of the position\n */\n getGlyphPositionAtCoordinate(x: number, y: number): number;\n /**\n * Returns the bounding boxes of the glyphs in the given range. This method\n * requires the layout method to have been called first.\n * @param start Start index of the range\n * @param end End index of the range\n */\n getRectsForRange(start: number, end: number): SkRect[];\n /**\n * Returns the bounding boxes for all lines in the paragraph. This method\n * requires the layout method to have been called first.\n */\n getLineMetrics(): Array<SkRect>;\n /**\n * Returns a list of rects with direction info for the placeholders added\n * to the paragraph.\n */\n getRectsForPlaceholders(): SkRectWithDirection[];\n}\n"],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import type { SkJSIInstance } from "../JsiInstance";
2
+ import type { SkPaint } from "../Paint";
3
+ import type { SkParagraph } from "./Paragraph";
4
+ import type { SkParagraphStyle } from "./ParagraphStyle";
5
+ import type { SkTextStyle, TextBaseline } from "./TextStyle";
6
+ import type { SkTypefaceFontProvider } from "./TypefaceFontProvider";
7
+ export interface ParagraphBuilderFactory {
8
+ /**
9
+ * Creates a new ParagraphBuilder object from custom fonts.
10
+ * @param paragraphStyle Initial paragraph style
11
+ * @param typefaceProvider Typeface provider
12
+ */
13
+ Make(paragraphStyle?: SkParagraphStyle, typefaceProvider?: SkTypefaceFontProvider): SkParagraphBuilder;
14
+ }
15
+ export declare enum PlaceholderAlignment {
16
+ Baseline = 0,
17
+ AboveBaseline = 1,
18
+ BelowBaseline = 2,
19
+ Top = 3,
20
+ Bottom = 4,
21
+ Middle = 5
22
+ }
23
+ export interface SkParagraphBuilder extends SkJSIInstance<"ParagraphBuilder"> {
24
+ /**
25
+ * Creates a Paragraph object from the builder and the inputs given to the builder.
26
+ */
27
+ build(): SkParagraph;
28
+ /**
29
+ * Restores the builder to its initial empty state.
30
+ */
31
+ reset(): void;
32
+ /**
33
+ * Pushes a text-style to the builder
34
+ * @param style Style to push
35
+ * @param foregroundPaint Foreground paint object
36
+ * @param backgroundPaint Background paint object
37
+ * @returns The builder
38
+ */
39
+ pushStyle: (style: SkTextStyle, foregroundPaint?: SkPaint | undefined, backgroundPaint?: SkPaint | undefined) => SkParagraphBuilder;
40
+ /**
41
+ * Pops the current text style from the builder
42
+ * @returns The builder
43
+ */
44
+ pop: () => SkParagraphBuilder;
45
+ /**
46
+ * Adds text to the builder
47
+ * @param text
48
+ * @returns The builder
49
+ */
50
+ addText: (text: string) => SkParagraphBuilder;
51
+ /**
52
+ * Pushes the information required to leave an open space.
53
+ * @param width
54
+ * @param height
55
+ * @param alignment
56
+ * @param baseline
57
+ * @param offset
58
+ */
59
+ addPlaceholder(width?: number, height?: number, alignment?: PlaceholderAlignment, baseline?: TextBaseline, offset?: number): SkParagraphBuilder;
60
+ }
@@ -0,0 +1,11 @@
1
+ export let PlaceholderAlignment;
2
+
3
+ (function (PlaceholderAlignment) {
4
+ PlaceholderAlignment[PlaceholderAlignment["Baseline"] = 0] = "Baseline";
5
+ PlaceholderAlignment[PlaceholderAlignment["AboveBaseline"] = 1] = "AboveBaseline";
6
+ PlaceholderAlignment[PlaceholderAlignment["BelowBaseline"] = 2] = "BelowBaseline";
7
+ PlaceholderAlignment[PlaceholderAlignment["Top"] = 3] = "Top";
8
+ PlaceholderAlignment[PlaceholderAlignment["Bottom"] = 4] = "Bottom";
9
+ PlaceholderAlignment[PlaceholderAlignment["Middle"] = 5] = "Middle";
10
+ })(PlaceholderAlignment || (PlaceholderAlignment = {}));
11
+ //# sourceMappingURL=ParagraphBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PlaceholderAlignment"],"sources":["ParagraphBuilder.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkPaint } from \"../Paint\";\n\nimport type { SkParagraph } from \"./Paragraph\";\nimport type { SkParagraphStyle } from \"./ParagraphStyle\";\nimport type { SkTextStyle, TextBaseline } from \"./TextStyle\";\nimport type { SkTypefaceFontProvider } from \"./TypefaceFontProvider\";\n\nexport interface ParagraphBuilderFactory {\n /**\n * Creates a new ParagraphBuilder object from custom fonts.\n * @param paragraphStyle Initial paragraph style\n * @param typefaceProvider Typeface provider\n */\n Make(\n paragraphStyle?: SkParagraphStyle,\n typefaceProvider?: SkTypefaceFontProvider\n ): SkParagraphBuilder;\n}\n\nexport enum PlaceholderAlignment {\n /// Match the baseline of the placeholder with the baseline.\n Baseline = 0,\n\n /// Align the bottom edge of the placeholder with the baseline such that the\n /// placeholder sits on top of the baseline.\n AboveBaseline,\n\n /// Align the top edge of the placeholder with the baseline specified in\n /// such that the placeholder hangs below the baseline.\n BelowBaseline,\n\n /// Align the top edge of the placeholder with the top edge of the font.\n /// When the placeholder is very tall, the extra space will hang from\n /// the top and extend through the bottom of the line.\n Top,\n\n /// Align the bottom edge of the placeholder with the top edge of the font.\n /// When the placeholder is very tall, the extra space will rise from\n /// the bottom and extend through the top of the line.\n Bottom,\n\n /// Align the middle of the placeholder with the middle of the text. When the\n /// placeholder is very tall, the extra space will grow equally from\n /// the top and bottom of the line.\n Middle,\n}\n\nexport interface SkParagraphBuilder extends SkJSIInstance<\"ParagraphBuilder\"> {\n /**\n * Creates a Paragraph object from the builder and the inputs given to the builder.\n */\n build(): SkParagraph;\n /**\n * Restores the builder to its initial empty state.\n */\n reset(): void;\n /**\n * Pushes a text-style to the builder\n * @param style Style to push\n * @param foregroundPaint Foreground paint object\n * @param backgroundPaint Background paint object\n * @returns The builder\n */\n pushStyle: (\n style: SkTextStyle,\n foregroundPaint?: SkPaint | undefined,\n backgroundPaint?: SkPaint | undefined\n ) => SkParagraphBuilder;\n /**\n * Pops the current text style from the builder\n * @returns The builder\n */\n pop: () => SkParagraphBuilder;\n /**\n * Adds text to the builder\n * @param text\n * @returns The builder\n */\n addText: (text: string) => SkParagraphBuilder;\n /**\n * Pushes the information required to leave an open space.\n * @param width\n * @param height\n * @param alignment\n * @param baseline\n * @param offset\n */\n addPlaceholder(\n width?: number,\n height?: number,\n alignment?: PlaceholderAlignment,\n baseline?: TextBaseline,\n offset?: number\n ): SkParagraphBuilder;\n}\n"],"mappings":"AAoBA,WAAYA,oBAAZ;;WAAYA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;GAAAA,oB,KAAAA,oB"}
@@ -0,0 +1,41 @@
1
+ import type { SkTextFontStyle, SkTextStyle } from "./TextStyle";
2
+ export declare enum SkTextDirection {
3
+ RTL = 0,
4
+ LTR = 1
5
+ }
6
+ export declare enum SkTextAlign {
7
+ Left = 0,
8
+ Right = 1,
9
+ Center = 2,
10
+ Justify = 3,
11
+ Start = 4,
12
+ End = 5
13
+ }
14
+ export interface SkStrutStyle {
15
+ strutEnabled?: boolean;
16
+ fontFamilies?: string[];
17
+ fontStyle?: SkTextFontStyle;
18
+ fontSize?: number;
19
+ heightMultiplier?: number;
20
+ halfLeading?: boolean;
21
+ leading?: number;
22
+ forceStrutHeight?: boolean;
23
+ }
24
+ export declare enum SkTextHeightBehavior {
25
+ All = 0,
26
+ DisableFirstAscent = 1,
27
+ DisableLastDescent = 2,
28
+ DisableAll = 3
29
+ }
30
+ export interface SkParagraphStyle {
31
+ disableHinting?: boolean;
32
+ ellipsis?: string;
33
+ heightMultiplier?: number;
34
+ maxLines?: number;
35
+ replaceTabCharacters?: boolean;
36
+ strutStyle?: SkStrutStyle;
37
+ textAlign?: SkTextAlign;
38
+ textDirection?: SkTextDirection;
39
+ textHeightBehavior?: SkTextHeightBehavior;
40
+ textStyle?: SkTextStyle;
41
+ }
@@ -0,0 +1,27 @@
1
+ export let SkTextDirection;
2
+
3
+ (function (SkTextDirection) {
4
+ SkTextDirection[SkTextDirection["RTL"] = 0] = "RTL";
5
+ SkTextDirection[SkTextDirection["LTR"] = 1] = "LTR";
6
+ })(SkTextDirection || (SkTextDirection = {}));
7
+
8
+ export let SkTextAlign;
9
+
10
+ (function (SkTextAlign) {
11
+ SkTextAlign[SkTextAlign["Left"] = 0] = "Left";
12
+ SkTextAlign[SkTextAlign["Right"] = 1] = "Right";
13
+ SkTextAlign[SkTextAlign["Center"] = 2] = "Center";
14
+ SkTextAlign[SkTextAlign["Justify"] = 3] = "Justify";
15
+ SkTextAlign[SkTextAlign["Start"] = 4] = "Start";
16
+ SkTextAlign[SkTextAlign["End"] = 5] = "End";
17
+ })(SkTextAlign || (SkTextAlign = {}));
18
+
19
+ export let SkTextHeightBehavior;
20
+
21
+ (function (SkTextHeightBehavior) {
22
+ SkTextHeightBehavior[SkTextHeightBehavior["All"] = 0] = "All";
23
+ SkTextHeightBehavior[SkTextHeightBehavior["DisableFirstAscent"] = 1] = "DisableFirstAscent";
24
+ SkTextHeightBehavior[SkTextHeightBehavior["DisableLastDescent"] = 2] = "DisableLastDescent";
25
+ SkTextHeightBehavior[SkTextHeightBehavior["DisableAll"] = 3] = "DisableAll";
26
+ })(SkTextHeightBehavior || (SkTextHeightBehavior = {}));
27
+ //# sourceMappingURL=ParagraphStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SkTextDirection","SkTextAlign","SkTextHeightBehavior"],"sources":["ParagraphStyle.ts"],"sourcesContent":["import type { SkTextFontStyle, SkTextStyle } from \"./TextStyle\";\n\nexport enum SkTextDirection {\n RTL = 0,\n LTR = 1,\n}\nexport enum SkTextAlign {\n Left = 0,\n Right,\n Center,\n Justify,\n Start,\n End,\n}\n\nexport interface SkStrutStyle {\n strutEnabled?: boolean;\n fontFamilies?: string[];\n fontStyle?: SkTextFontStyle;\n fontSize?: number;\n heightMultiplier?: number;\n halfLeading?: boolean;\n leading?: number;\n forceStrutHeight?: boolean;\n}\n\nexport enum SkTextHeightBehavior {\n All = 0x0,\n DisableFirstAscent = 0x1,\n DisableLastDescent = 0x2,\n DisableAll = 0x1 | 0x2,\n}\n\nexport interface SkParagraphStyle {\n disableHinting?: boolean;\n ellipsis?: string;\n heightMultiplier?: number;\n maxLines?: number;\n replaceTabCharacters?: boolean;\n strutStyle?: SkStrutStyle;\n textAlign?: SkTextAlign;\n textDirection?: SkTextDirection;\n textHeightBehavior?: SkTextHeightBehavior;\n textStyle?: SkTextStyle;\n}\n"],"mappings":"AAEA,WAAYA,eAAZ;;WAAYA,e;EAAAA,e,CAAAA,e;EAAAA,e,CAAAA,e;GAAAA,e,KAAAA,e;;AAIZ,WAAYC,WAAZ;;WAAYA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;EAAAA,W,CAAAA,W;GAAAA,W,KAAAA,W;;AAoBZ,WAAYC,oBAAZ;;WAAYA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;EAAAA,oB,CAAAA,oB;GAAAA,oB,KAAAA,oB"}
@@ -0,0 +1,62 @@
1
+ import type { SkColor } from "../Color";
2
+ import type { FontSlant, FontWeight, FontWidth } from "../Font";
3
+ import type { SkPoint } from "../Point";
4
+ export declare enum TextDecoration {
5
+ NoDecoration = 0,
6
+ Underline = 1,
7
+ Overline = 2,
8
+ LineThrough = 4
9
+ }
10
+ export declare enum TextDecorationStyle {
11
+ Solid = 0,
12
+ Double = 1,
13
+ Dotted = 2,
14
+ Dashed = 3,
15
+ Wavy = 4
16
+ }
17
+ export interface SkTextShadow {
18
+ color?: SkColor;
19
+ /**
20
+ * 2d array for x and y offset. Defaults to [0, 0]
21
+ */
22
+ offset?: SkPoint;
23
+ blurRadius?: number;
24
+ }
25
+ export interface SkTextFontFeatures {
26
+ name: string;
27
+ value: number;
28
+ }
29
+ export interface SkTextFontStyle {
30
+ weight?: FontWeight;
31
+ width?: FontWidth;
32
+ slant?: FontSlant;
33
+ }
34
+ export interface SkTextFontVariations {
35
+ axis: string;
36
+ value: number;
37
+ }
38
+ export declare enum TextBaseline {
39
+ Alphabetic = 0,
40
+ Ideographic = 1
41
+ }
42
+ export interface SkTextStyle {
43
+ backgroundColor?: SkColor;
44
+ color?: SkColor;
45
+ decoration?: number;
46
+ decorationColor?: SkColor;
47
+ decorationThickness?: number;
48
+ decorationStyle?: TextDecoration;
49
+ fontFamilies?: string[];
50
+ fontFeatures?: SkTextFontFeatures[];
51
+ fontSize?: number;
52
+ fontStyle?: SkTextFontStyle;
53
+ fontVariations?: SkTextFontVariations[];
54
+ foregroundColor?: SkColor;
55
+ heightMultiplier?: number;
56
+ halfLeading?: boolean;
57
+ letterSpacing?: number;
58
+ locale?: string;
59
+ shadows?: SkTextShadow[];
60
+ textBaseline?: TextBaseline;
61
+ wordSpacing?: number;
62
+ }
@@ -0,0 +1,26 @@
1
+ export let TextDecoration;
2
+
3
+ (function (TextDecoration) {
4
+ TextDecoration[TextDecoration["NoDecoration"] = 0] = "NoDecoration";
5
+ TextDecoration[TextDecoration["Underline"] = 1] = "Underline";
6
+ TextDecoration[TextDecoration["Overline"] = 2] = "Overline";
7
+ TextDecoration[TextDecoration["LineThrough"] = 4] = "LineThrough";
8
+ })(TextDecoration || (TextDecoration = {}));
9
+
10
+ export let TextDecorationStyle;
11
+
12
+ (function (TextDecorationStyle) {
13
+ TextDecorationStyle[TextDecorationStyle["Solid"] = 0] = "Solid";
14
+ TextDecorationStyle[TextDecorationStyle["Double"] = 1] = "Double";
15
+ TextDecorationStyle[TextDecorationStyle["Dotted"] = 2] = "Dotted";
16
+ TextDecorationStyle[TextDecorationStyle["Dashed"] = 3] = "Dashed";
17
+ TextDecorationStyle[TextDecorationStyle["Wavy"] = 4] = "Wavy";
18
+ })(TextDecorationStyle || (TextDecorationStyle = {}));
19
+
20
+ export let TextBaseline;
21
+
22
+ (function (TextBaseline) {
23
+ TextBaseline[TextBaseline["Alphabetic"] = 0] = "Alphabetic";
24
+ TextBaseline[TextBaseline["Ideographic"] = 1] = "Ideographic";
25
+ })(TextBaseline || (TextBaseline = {}));
26
+ //# sourceMappingURL=TextStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextDecoration","TextDecorationStyle","TextBaseline"],"sources":["TextStyle.ts"],"sourcesContent":["import type { SkColor } from \"../Color\";\nimport type { FontSlant, FontWeight, FontWidth } from \"../Font\";\nimport type { SkPoint } from \"../Point\";\n\nexport enum TextDecoration {\n NoDecoration = 0x0,\n Underline = 0x1,\n Overline = 0x2,\n LineThrough = 0x4,\n}\n\nexport enum TextDecorationStyle {\n Solid = 0,\n Double,\n Dotted,\n Dashed,\n Wavy,\n}\n\nexport interface SkTextShadow {\n color?: SkColor;\n /**\n * 2d array for x and y offset. Defaults to [0, 0]\n */\n offset?: SkPoint;\n blurRadius?: number;\n}\n\nexport interface SkTextFontFeatures {\n name: string;\n value: number;\n}\n\nexport interface SkTextFontStyle {\n weight?: FontWeight;\n width?: FontWidth;\n slant?: FontSlant;\n}\n\nexport interface SkTextFontVariations {\n axis: string;\n value: number;\n}\n\nexport enum TextBaseline {\n Alphabetic = 0,\n Ideographic,\n}\n\nexport interface SkTextStyle {\n backgroundColor?: SkColor;\n color?: SkColor;\n decoration?: number;\n decorationColor?: SkColor;\n decorationThickness?: number;\n decorationStyle?: TextDecoration;\n fontFamilies?: string[];\n fontFeatures?: SkTextFontFeatures[];\n fontSize?: number;\n fontStyle?: SkTextFontStyle;\n fontVariations?: SkTextFontVariations[];\n foregroundColor?: SkColor;\n heightMultiplier?: number;\n halfLeading?: boolean;\n letterSpacing?: number;\n locale?: string;\n shadows?: SkTextShadow[];\n textBaseline?: TextBaseline;\n wordSpacing?: number;\n}\n"],"mappings":"AAIA,WAAYA,cAAZ;;WAAYA,c;EAAAA,c,CAAAA,c;EAAAA,c,CAAAA,c;EAAAA,c,CAAAA,c;EAAAA,c,CAAAA,c;GAAAA,c,KAAAA,c;;AAOZ,WAAYC,mBAAZ;;WAAYA,mB;EAAAA,mB,CAAAA,mB;EAAAA,mB,CAAAA,mB;EAAAA,mB,CAAAA,mB;EAAAA,mB,CAAAA,mB;EAAAA,mB,CAAAA,mB;GAAAA,mB,KAAAA,mB;;AAiCZ,WAAYC,YAAZ;;WAAYA,Y;EAAAA,Y,CAAAA,Y;EAAAA,Y,CAAAA,Y;GAAAA,Y,KAAAA,Y"}
@@ -0,0 +1,6 @@
1
+ export * from "./TypefaceFontProvider";
2
+ export * from "./TypefaceFontProviderFactory";
3
+ export * from "./Paragraph";
4
+ export * from "./ParagraphBuilder";
5
+ export * from "./ParagraphStyle";
6
+ export * from "./TextStyle";
@@ -0,0 +1,7 @@
1
+ export * from "./TypefaceFontProvider";
2
+ export * from "./TypefaceFontProviderFactory";
3
+ export * from "./Paragraph";
4
+ export * from "./ParagraphBuilder";
5
+ export * from "./ParagraphStyle";
6
+ export * from "./TextStyle";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./TypefaceFontProvider\";\nexport * from \"./TypefaceFontProviderFactory\";\nexport * from \"./Paragraph\";\nexport * from \"./ParagraphBuilder\";\nexport * from \"./ParagraphStyle\";\nexport * from \"./TextStyle\";\n"],"mappings":"AAAA,cAAc,wBAAd;AACA,cAAc,+BAAd;AACA,cAAc,aAAd;AACA,cAAc,oBAAd;AACA,cAAc,kBAAd;AACA,cAAc,aAAd"}
@@ -25,6 +25,7 @@ import type { PictureFactory, SkPictureRecorder } from "./Picture";
25
25
  import type { Color, SkColor } from "./Color";
26
26
  import type { TypefaceFontProviderFactory } from "./Paragraph/TypefaceFontProviderFactory";
27
27
  import type { AnimatedImageFactory } from "./AnimatedImage";
28
+ import type { ParagraphBuilderFactory } from "./Paragraph/ParagraphBuilder";
28
29
  /**
29
30
  * Declares the interface for the native Skia API
30
31
  */
@@ -68,4 +69,5 @@ export interface Skia {
68
69
  SVG: SVGFactory;
69
70
  TextBlob: TextBlobFactory;
70
71
  Surface: SurfaceFactory;
72
+ ParagraphBuilder: ParagraphBuilderFactory;
71
73
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Skia.ts"],"sourcesContent":["import type { ImageFilterFactory } from \"./ImageFilter\";\nimport type { PathFactory } from \"./Path\";\nimport type { ColorFilterFactory } from \"./ColorFilter\";\nimport type { SkFont, FontMgrFactory } from \"./Font\";\nimport type { SkTypeface, TypefaceFactory } from \"./Typeface\";\nimport type { ImageFactory } from \"./Image\";\nimport type { MaskFilterFactory } from \"./MaskFilter\";\nimport type { SkPaint } from \"./Paint\";\nimport type { SkRect } from \"./Rect\";\nimport type { SkRRect } from \"./RRect\";\nimport type {\n RuntimeEffectFactory,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n} from \"./RuntimeEffect\";\nimport type { ShaderFactory } from \"./Shader\";\nimport type { SkMatrix } from \"./Matrix\";\nimport type { PathEffectFactory } from \"./PathEffect\";\nimport type { SkPoint } from \"./Point\";\nimport type { SkVertices, VertexMode } from \"./Vertices/Vertices\";\nimport type { DataFactory } from \"./Data\";\nimport type { SVGFactory } from \"./SVG\";\nimport type { TextBlobFactory } from \"./TextBlob\";\nimport type { SurfaceFactory } from \"./Surface\";\nimport type { SkRSXform } from \"./RSXform\";\nimport type { SkPath } from \"./Path/Path\";\nimport type { SkContourMeasureIter } from \"./ContourMeasure\";\nimport type { PictureFactory, SkPictureRecorder } from \"./Picture\";\nimport type { Color, SkColor } from \"./Color\";\nimport type { TypefaceFontProviderFactory } from \"./Paragraph/TypefaceFontProviderFactory\";\nimport type { AnimatedImageFactory } from \"./AnimatedImage\";\n\n/**\n * Declares the interface for the native Skia API\n */\nexport interface Skia {\n Point: (x: number, y: number) => SkPoint;\n XYWHRect: (x: number, y: number, width: number, height: number) => SkRect;\n RuntimeShaderBuilder: (rt: SkRuntimeEffect) => SkRuntimeShaderBuilder;\n RRectXY: (rect: SkRect, rx: number, ry: number) => SkRRect;\n RSXform: (scos: number, ssin: number, tx: number, ty: number) => SkRSXform;\n Color: (color: Color) => SkColor;\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ) => SkContourMeasureIter;\n Paint: () => SkPaint;\n PictureRecorder: () => SkPictureRecorder;\n Picture: PictureFactory;\n Path: PathFactory;\n Matrix: (matrix?: readonly number[]) => SkMatrix;\n ColorFilter: ColorFilterFactory;\n Font: (typeface?: SkTypeface, size?: number) => SkFont;\n Typeface: TypefaceFactory;\n TypefaceFontProvider: TypefaceFontProviderFactory;\n FontMgr: FontMgrFactory;\n MaskFilter: MaskFilterFactory;\n RuntimeEffect: RuntimeEffectFactory;\n ImageFilter: ImageFilterFactory;\n Shader: ShaderFactory;\n PathEffect: PathEffectFactory;\n /**\n * Returns an Vertices based on the given positions and optional parameters.\n * See SkVertices.h (especially the Builder) for more details.\n * @param mode\n * @param positions\n * @param textureCoordinates\n * @param colors - either a list of int colors or a flattened color array.\n * @param indices\n * @param isVolatile\n */\n MakeVertices(\n mode: VertexMode,\n positions: SkPoint[],\n textureCoordinates?: SkPoint[] | null,\n colors?: SkColor[],\n indices?: number[] | null,\n isVolatile?: boolean\n ): SkVertices;\n Data: DataFactory;\n Image: ImageFactory;\n AnimatedImage: AnimatedImageFactory;\n SVG: SVGFactory;\n TextBlob: TextBlobFactory;\n Surface: SurfaceFactory;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["Skia.ts"],"sourcesContent":["import type { ImageFilterFactory } from \"./ImageFilter\";\nimport type { PathFactory } from \"./Path\";\nimport type { ColorFilterFactory } from \"./ColorFilter\";\nimport type { SkFont, FontMgrFactory } from \"./Font\";\nimport type { SkTypeface, TypefaceFactory } from \"./Typeface\";\nimport type { ImageFactory } from \"./Image\";\nimport type { MaskFilterFactory } from \"./MaskFilter\";\nimport type { SkPaint } from \"./Paint\";\nimport type { SkRect } from \"./Rect\";\nimport type { SkRRect } from \"./RRect\";\nimport type {\n RuntimeEffectFactory,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n} from \"./RuntimeEffect\";\nimport type { ShaderFactory } from \"./Shader\";\nimport type { SkMatrix } from \"./Matrix\";\nimport type { PathEffectFactory } from \"./PathEffect\";\nimport type { SkPoint } from \"./Point\";\nimport type { SkVertices, VertexMode } from \"./Vertices/Vertices\";\nimport type { DataFactory } from \"./Data\";\nimport type { SVGFactory } from \"./SVG\";\nimport type { TextBlobFactory } from \"./TextBlob\";\nimport type { SurfaceFactory } from \"./Surface\";\nimport type { SkRSXform } from \"./RSXform\";\nimport type { SkPath } from \"./Path/Path\";\nimport type { SkContourMeasureIter } from \"./ContourMeasure\";\nimport type { PictureFactory, SkPictureRecorder } from \"./Picture\";\nimport type { Color, SkColor } from \"./Color\";\nimport type { TypefaceFontProviderFactory } from \"./Paragraph/TypefaceFontProviderFactory\";\nimport type { AnimatedImageFactory } from \"./AnimatedImage\";\nimport type { ParagraphBuilderFactory } from \"./Paragraph/ParagraphBuilder\";\n\n/**\n * Declares the interface for the native Skia API\n */\nexport interface Skia {\n Point: (x: number, y: number) => SkPoint;\n XYWHRect: (x: number, y: number, width: number, height: number) => SkRect;\n RuntimeShaderBuilder: (rt: SkRuntimeEffect) => SkRuntimeShaderBuilder;\n RRectXY: (rect: SkRect, rx: number, ry: number) => SkRRect;\n RSXform: (scos: number, ssin: number, tx: number, ty: number) => SkRSXform;\n Color: (color: Color) => SkColor;\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ) => SkContourMeasureIter;\n Paint: () => SkPaint;\n PictureRecorder: () => SkPictureRecorder;\n Picture: PictureFactory;\n Path: PathFactory;\n Matrix: (matrix?: readonly number[]) => SkMatrix;\n ColorFilter: ColorFilterFactory;\n Font: (typeface?: SkTypeface, size?: number) => SkFont;\n Typeface: TypefaceFactory;\n TypefaceFontProvider: TypefaceFontProviderFactory;\n FontMgr: FontMgrFactory;\n MaskFilter: MaskFilterFactory;\n RuntimeEffect: RuntimeEffectFactory;\n ImageFilter: ImageFilterFactory;\n Shader: ShaderFactory;\n PathEffect: PathEffectFactory;\n /**\n * Returns an Vertices based on the given positions and optional parameters.\n * See SkVertices.h (especially the Builder) for more details.\n * @param mode\n * @param positions\n * @param textureCoordinates\n * @param colors - either a list of int colors or a flattened color array.\n * @param indices\n * @param isVolatile\n */\n MakeVertices(\n mode: VertexMode,\n positions: SkPoint[],\n textureCoordinates?: SkPoint[] | null,\n colors?: SkColor[],\n indices?: number[] | null,\n isVolatile?: boolean\n ): SkVertices;\n Data: DataFactory;\n Image: ImageFactory;\n AnimatedImage: AnimatedImageFactory;\n SVG: SVGFactory;\n TextBlob: TextBlobFactory;\n Surface: SurfaceFactory;\n // Paragraph\n ParagraphBuilder: ParagraphBuilderFactory;\n}\n"],"mappings":""}
@@ -27,3 +27,4 @@ export * from "./JsiInstance";
27
27
  export * from "./Skia";
28
28
  export * from "./TextBlob";
29
29
  export * from "./Size";
30
+ export * from "./Paragraph";
@@ -27,4 +27,5 @@ export * from "./JsiInstance";
27
27
  export * from "./Skia";
28
28
  export * from "./TextBlob";
29
29
  export * from "./Size";
30
+ export * from "./Paragraph";
30
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Picture\";\nexport * from \"./Data\";\nexport * from \"./SVG\";\nexport * from \"./Surface\";\nexport * from \"./Vertices\";\nexport * from \"./RuntimeEffect\";\nexport * from \"./Shader\";\nexport * from \"./Image\";\nexport * from \"./AnimatedImage\";\nexport * from \"./ColorFilter\";\nexport * from \"./ImageFilter\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Paint\";\nexport * from \"./Path\";\nexport * from \"./Color\";\nexport * from \"./Canvas\";\nexport * from \"./ContourMeasure\";\nexport * from \"./MaskFilter\";\nexport * from \"./Matrix\";\nexport * from \"./PathEffect\";\nexport * from \"./Point\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./RSXform\";\nexport * from \"./JsiInstance\";\nexport * from \"./Skia\";\nexport * from \"./TextBlob\";\nexport * from \"./Size\";\n"],"mappings":"AAAA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,OAAd;AACA,cAAc,WAAd;AACA,cAAc,YAAd;AACA,cAAc,iBAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,iBAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,kBAAd;AACA,cAAc,cAAd;AACA,cAAc,UAAd;AACA,cAAc,cAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,QAAd"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Picture\";\nexport * from \"./Data\";\nexport * from \"./SVG\";\nexport * from \"./Surface\";\nexport * from \"./Vertices\";\nexport * from \"./RuntimeEffect\";\nexport * from \"./Shader\";\nexport * from \"./Image\";\nexport * from \"./AnimatedImage\";\nexport * from \"./ColorFilter\";\nexport * from \"./ImageFilter\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Paint\";\nexport * from \"./Path\";\nexport * from \"./Color\";\nexport * from \"./Canvas\";\nexport * from \"./ContourMeasure\";\nexport * from \"./MaskFilter\";\nexport * from \"./Matrix\";\nexport * from \"./PathEffect\";\nexport * from \"./Point\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./RSXform\";\nexport * from \"./JsiInstance\";\nexport * from \"./Skia\";\nexport * from \"./TextBlob\";\nexport * from \"./Size\";\nexport * from \"./Paragraph\";\n"],"mappings":"AAAA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,OAAd;AACA,cAAc,WAAd;AACA,cAAc,YAAd;AACA,cAAc,iBAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,iBAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,kBAAd;AACA,cAAc,cAAd;AACA,cAAc,UAAd;AACA,cAAc,cAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,QAAd;AACA,cAAc,aAAd"}
@@ -0,0 +1,16 @@
1
+ import type { CanvasKit, Paragraph } from "canvaskit-wasm";
2
+ import type { SkRect, SkRectWithDirection, SkParagraph } from "../types";
3
+ import { HostObject } from "./Host";
4
+ import type { JsiSkCanvas } from "./JsiSkCanvas";
5
+ export declare class JsiSkParagraph extends HostObject<Paragraph, "Paragraph"> implements SkParagraph {
6
+ constructor(CanvasKit: CanvasKit, ref: Paragraph);
7
+ layout(width: number): void;
8
+ paint(canvas: JsiSkCanvas, x: number, y: number): void;
9
+ getHeight(): number;
10
+ getMaxWidth(): number;
11
+ getGlyphPositionAtCoordinate(x: number, y: number): number;
12
+ getRectsForPlaceholders(): SkRectWithDirection[];
13
+ getRectsForRange(start: number, end: number): SkRect[];
14
+ getLineMetrics(): SkRect[];
15
+ dispose(): void;
16
+ }