@shopify/react-native-skia 2.5.5 → 2.6.1

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 (286) hide show
  1. package/android/CMakeLists.txt +0 -1
  2. package/android/cpp/jni/JniWebGPUView.cpp +3 -3
  3. package/android/cpp/rnskia-android/OpenGLContext.h +4 -5
  4. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +1 -1
  5. package/apple/MetalContext.h +5 -6
  6. package/apple/MetalWindowContext.mm +3 -4
  7. package/apple/RNSkApplePlatformContext.h +1 -1
  8. package/apple/RNSkApplePlatformContext.mm +4 -3
  9. package/apple/SkiaCVPixelBufferUtils.h +1 -1
  10. package/apple/SkiaCVPixelBufferUtils.mm +31 -30
  11. package/apple/SkiaPlatformContext.mm +2 -2
  12. package/apple/SkiaUIView.mm +1 -1
  13. package/apple/SkiaWebGPUView.mm +8 -4
  14. package/apple/WebGPUMetalView.h +1 -1
  15. package/apple/WebGPUMetalView.mm +1 -1
  16. package/cpp/api/CustomBlendModes.h +1 -0
  17. package/cpp/api/JsiSkApi.h +4 -0
  18. package/cpp/api/JsiSkCanvas.h +2 -2
  19. package/cpp/api/JsiSkColor.h +8 -4
  20. package/cpp/api/JsiSkContourMeasure.h +4 -3
  21. package/cpp/api/JsiSkContourMeasureIter.h +1 -1
  22. package/cpp/api/JsiSkImage.h +17 -9
  23. package/cpp/api/JsiSkParagraphBuilder.h +14 -1
  24. package/cpp/api/JsiSkPath.h +475 -357
  25. package/cpp/api/JsiSkPathBuilder.h +415 -0
  26. package/cpp/api/JsiSkPathBuilderFactory.h +53 -0
  27. package/cpp/api/JsiSkPathEffectFactory.h +3 -2
  28. package/cpp/api/JsiSkPathFactory.h +287 -20
  29. package/cpp/api/JsiSkShader.h +1 -1
  30. package/cpp/api/JsiSkShaderFactory.h +50 -26
  31. package/cpp/api/JsiSkSurfaceFactory.h +2 -1
  32. package/cpp/api/recorder/DataTypes.h +1 -1
  33. package/cpp/api/recorder/Drawings.h +11 -9
  34. package/cpp/api/recorder/Shaders.h +77 -22
  35. package/cpp/jsi2/JSIConverter.h +1 -1
  36. package/cpp/rnskia/RNDawnContext.h +29 -9
  37. package/cpp/rnskia/RNDawnUtils.h +112 -113
  38. package/cpp/rnskia/RNDawnWindowContext.h +1 -1
  39. package/cpp/rnskia/RNSkManager.cpp +5 -4
  40. package/cpp/rnskia/RNSkPlatformContext.h +2 -2
  41. package/cpp/rnwgpu/api/GPU.cpp +21 -0
  42. package/cpp/rnwgpu/api/GPUCanvasContext.cpp +1 -1
  43. package/cpp/rnwgpu/api/GPUCanvasContext.h +2 -2
  44. package/cpp/rnwgpu/api/GPUFeatures.h +0 -9
  45. package/cpp/rnwgpu/api/GPUTexture.h +14 -2
  46. package/cpp/rnwgpu/api/GPUUncapturedErrorEvent.h +3 -4
  47. package/cpp/rnwgpu/api/RNWebGPU.h +1 -1
  48. package/cpp/rnwgpu/api/descriptors/Unions.h +0 -15
  49. package/cpp/skia/include/android/SkImageAndroid.h +7 -2
  50. package/cpp/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +31 -0
  51. package/cpp/skia/include/codec/SkCodec.h +42 -15
  52. package/cpp/skia/include/config/SkUserConfig.h +8 -0
  53. package/cpp/skia/include/core/SkBitmap.h +0 -5
  54. package/cpp/skia/include/core/SkCanvas.h +2 -39
  55. package/cpp/skia/include/core/SkColor.h +12 -0
  56. package/cpp/skia/include/core/SkColorSpace.h +9 -0
  57. package/cpp/skia/include/core/SkContourMeasure.h +1 -5
  58. package/cpp/skia/include/core/SkData.h +8 -0
  59. package/cpp/skia/include/core/SkFont.h +1 -55
  60. package/cpp/skia/include/core/SkFontArguments.h +15 -0
  61. package/cpp/skia/include/core/SkGraphics.h +0 -5
  62. package/cpp/skia/include/core/SkImage.h +0 -4
  63. package/cpp/skia/include/core/SkImageGenerator.h +1 -4
  64. package/cpp/skia/include/core/SkMatrix.h +0 -37
  65. package/cpp/skia/include/core/SkMilestone.h +1 -1
  66. package/cpp/skia/include/core/SkPath.h +11 -911
  67. package/cpp/skia/include/core/SkPathBuilder.h +42 -32
  68. package/cpp/skia/include/core/SkPathEffect.h +0 -9
  69. package/cpp/skia/include/core/SkPathMeasure.h +1 -4
  70. package/cpp/skia/include/core/SkPathUtils.h +0 -10
  71. package/cpp/skia/include/core/SkRect.h +0 -12
  72. package/cpp/skia/include/core/SkRegion.h +1 -6
  73. package/cpp/skia/include/core/SkSerialProcs.h +4 -5
  74. package/cpp/skia/include/core/SkSurfaceProps.h +6 -0
  75. package/cpp/skia/include/core/SkTextBlob.h +0 -22
  76. package/cpp/skia/include/core/SkTypeface.h +14 -32
  77. package/cpp/skia/include/core/SkTypes.h +0 -8
  78. package/cpp/skia/include/docs/SkPDFDocument.h +19 -17
  79. package/cpp/skia/include/effects/SkDashPathEffect.h +0 -6
  80. package/cpp/skia/include/effects/SkGradient.h +206 -0
  81. package/cpp/skia/include/effects/SkHighContrastFilter.h +2 -2
  82. package/cpp/skia/include/gpu/GpuTypes.h +2 -0
  83. package/cpp/skia/include/gpu/ganesh/GrBackendSemaphore.h +5 -35
  84. package/cpp/skia/include/gpu/ganesh/GrBackendSurface.h +7 -106
  85. package/cpp/skia/include/gpu/ganesh/GrContextOptions.h +0 -11
  86. package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +0 -9
  87. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +20 -0
  88. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +59 -0
  89. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +28 -0
  90. package/cpp/skia/include/gpu/ganesh/gl/GrGLFunctions.h +4 -1
  91. package/cpp/skia/include/gpu/graphite/ContextOptions.h +4 -20
  92. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +32 -46
  93. package/cpp/skia/include/gpu/graphite/Recorder.h +1 -1
  94. package/cpp/skia/include/gpu/graphite/Surface.h +31 -0
  95. package/cpp/skia/include/gpu/graphite/TextureInfo.h +3 -10
  96. package/cpp/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +3 -3
  97. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -1
  98. package/cpp/skia/include/gpu/graphite/precompile/PrecompileShader.h +6 -6
  99. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +5 -3
  100. package/cpp/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h +1 -1
  101. package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +1 -1
  102. package/cpp/skia/include/gpu/vk/VulkanPreferredFeatures.h +8 -0
  103. package/cpp/skia/include/private/SkEncodedInfo.h +43 -105
  104. package/cpp/skia/include/private/SkHdrMetadata.h +165 -2
  105. package/cpp/skia/include/private/SkPathRef.h +0 -457
  106. package/cpp/skia/include/private/base/SkFeatures.h +4 -0
  107. package/cpp/skia/include/private/base/SkFloatingPoint.h +1 -2
  108. package/cpp/skia/include/private/base/SkLoadUserConfig.h +2 -1
  109. package/cpp/skia/include/private/base/SkLog.h +68 -0
  110. package/cpp/skia/include/private/base/SkLogPriority.h +35 -0
  111. package/cpp/skia/include/private/base/SkMacros.h +9 -0
  112. package/cpp/skia/include/private/base/SkTArray.h +1 -1
  113. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +10 -24
  114. package/cpp/skia/include/utils/SkEventTracer.h +5 -7
  115. package/cpp/skia/modules/skottie/include/TextShaper.h +0 -7
  116. package/cpp/skia/modules/skparagraph/include/FontCollection.h +6 -20
  117. package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +0 -6
  118. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +4 -19
  119. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +2 -3
  120. package/cpp/skia/modules/skunicode/include/SkUnicode_icu.h +18 -0
  121. package/cpp/skia/modules/skunicode/include/SkUnicode_libgrapheme.h +19 -0
  122. package/cpp/skia/src/base/SkMathPriv.h +27 -132
  123. package/lib/commonjs/animation/functions/interpolatePaths.d.ts +1 -1
  124. package/lib/commonjs/animation/functions/interpolatePaths.js +5 -4
  125. package/lib/commonjs/animation/functions/interpolatePaths.js.map +1 -1
  126. package/lib/commonjs/external/reanimated/interpolators.d.ts +11 -2
  127. package/lib/commonjs/external/reanimated/interpolators.js +21 -4
  128. package/lib/commonjs/external/reanimated/interpolators.js.map +1 -1
  129. package/lib/commonjs/skia/types/Path/PathBuilder.d.ts +201 -0
  130. package/lib/commonjs/skia/types/Path/PathBuilder.js +6 -0
  131. package/lib/commonjs/skia/types/Path/PathBuilder.js.map +1 -0
  132. package/lib/commonjs/skia/types/Path/PathBuilderFactory.d.ts +13 -0
  133. package/lib/commonjs/skia/types/Path/PathBuilderFactory.js +6 -0
  134. package/lib/commonjs/skia/types/Path/PathBuilderFactory.js.map +1 -0
  135. package/lib/commonjs/skia/types/Path/PathFactory.d.ts +87 -1
  136. package/lib/commonjs/skia/types/Path/PathFactory.js.map +1 -1
  137. package/lib/commonjs/skia/types/Path/index.d.ts +2 -0
  138. package/lib/commonjs/skia/types/Path/index.js +22 -0
  139. package/lib/commonjs/skia/types/Path/index.js.map +1 -1
  140. package/lib/commonjs/skia/types/Skia.d.ts +2 -1
  141. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  142. package/lib/commonjs/skia/web/Host.js +1 -3
  143. package/lib/commonjs/skia/web/Host.js.map +1 -1
  144. package/lib/commonjs/skia/web/JsiSkCanvas.js +6 -2
  145. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  146. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +4 -1
  147. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  148. package/lib/commonjs/skia/web/JsiSkPath.d.ts +42 -30
  149. package/lib/commonjs/skia/web/JsiSkPath.js +302 -111
  150. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  151. package/lib/commonjs/skia/web/JsiSkPathBuilder.d.ts +45 -0
  152. package/lib/commonjs/skia/web/JsiSkPathBuilder.js +192 -0
  153. package/lib/commonjs/skia/web/JsiSkPathBuilder.js.map +1 -0
  154. package/lib/commonjs/skia/web/JsiSkPathBuilderFactory.d.ts +9 -0
  155. package/lib/commonjs/skia/web/JsiSkPathBuilderFactory.js +26 -0
  156. package/lib/commonjs/skia/web/JsiSkPathBuilderFactory.js.map +1 -0
  157. package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js +6 -2
  158. package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js.map +1 -1
  159. package/lib/commonjs/skia/web/JsiSkPathFactory.d.ts +13 -1
  160. package/lib/commonjs/skia/web/JsiSkPathFactory.js +140 -5
  161. package/lib/commonjs/skia/web/JsiSkPathFactory.js.map +1 -1
  162. package/lib/commonjs/skia/web/JsiSkia.js +8 -1
  163. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  164. package/lib/commonjs/sksg/Recorder/commands/Drawing.js +18 -6
  165. package/lib/commonjs/sksg/Recorder/commands/Drawing.js.map +1 -1
  166. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.d.ts +2 -2
  167. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js +2 -3
  168. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js.map +1 -1
  169. package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +2 -2
  170. package/lib/commonjs/specs/WebGPUViewNativeComponent.js +2 -3
  171. package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +1 -1
  172. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +2 -0
  173. package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +1 -1
  174. package/lib/module/animation/functions/interpolatePaths.d.ts +1 -1
  175. package/lib/module/animation/functions/interpolatePaths.js +5 -4
  176. package/lib/module/animation/functions/interpolatePaths.js.map +1 -1
  177. package/lib/module/external/reanimated/interpolators.d.ts +11 -2
  178. package/lib/module/external/reanimated/interpolators.js +21 -4
  179. package/lib/module/external/reanimated/interpolators.js.map +1 -1
  180. package/lib/module/skia/types/Path/PathBuilder.d.ts +201 -0
  181. package/lib/module/skia/types/Path/PathBuilder.js +2 -0
  182. package/lib/module/skia/types/Path/PathBuilder.js.map +1 -0
  183. package/lib/module/skia/types/Path/PathBuilderFactory.d.ts +13 -0
  184. package/lib/module/skia/types/Path/PathBuilderFactory.js +2 -0
  185. package/lib/module/skia/types/Path/PathBuilderFactory.js.map +1 -0
  186. package/lib/module/skia/types/Path/PathFactory.d.ts +87 -1
  187. package/lib/module/skia/types/Path/PathFactory.js.map +1 -1
  188. package/lib/module/skia/types/Path/index.d.ts +2 -0
  189. package/lib/module/skia/types/Path/index.js +2 -0
  190. package/lib/module/skia/types/Path/index.js.map +1 -1
  191. package/lib/module/skia/types/Skia.d.ts +2 -1
  192. package/lib/module/skia/types/Skia.js.map +1 -1
  193. package/lib/module/skia/web/Host.js +1 -3
  194. package/lib/module/skia/web/Host.js.map +1 -1
  195. package/lib/module/skia/web/JsiSkCanvas.js +6 -2
  196. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  197. package/lib/module/skia/web/JsiSkContourMeasure.js +4 -1
  198. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  199. package/lib/module/skia/web/JsiSkPath.d.ts +42 -30
  200. package/lib/module/skia/web/JsiSkPath.js +300 -110
  201. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  202. package/lib/module/skia/web/JsiSkPathBuilder.d.ts +45 -0
  203. package/lib/module/skia/web/JsiSkPathBuilder.js +186 -0
  204. package/lib/module/skia/web/JsiSkPathBuilder.js.map +1 -0
  205. package/lib/module/skia/web/JsiSkPathBuilderFactory.d.ts +9 -0
  206. package/lib/module/skia/web/JsiSkPathBuilderFactory.js +19 -0
  207. package/lib/module/skia/web/JsiSkPathBuilderFactory.js.map +1 -0
  208. package/lib/module/skia/web/JsiSkPathEffectFactory.js +6 -2
  209. package/lib/module/skia/web/JsiSkPathEffectFactory.js.map +1 -1
  210. package/lib/module/skia/web/JsiSkPathFactory.d.ts +13 -1
  211. package/lib/module/skia/web/JsiSkPathFactory.js +141 -6
  212. package/lib/module/skia/web/JsiSkPathFactory.js.map +1 -1
  213. package/lib/module/skia/web/JsiSkia.js +8 -1
  214. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  215. package/lib/module/sksg/Recorder/commands/Drawing.js +18 -6
  216. package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
  217. package/lib/module/specs/SkiaPictureViewNativeComponent.d.ts +2 -2
  218. package/lib/module/specs/SkiaPictureViewNativeComponent.js +1 -1
  219. package/lib/module/specs/SkiaPictureViewNativeComponent.js.map +1 -1
  220. package/lib/module/specs/WebGPUViewNativeComponent.d.ts +2 -2
  221. package/lib/module/specs/WebGPUViewNativeComponent.js +1 -1
  222. package/lib/module/specs/WebGPUViewNativeComponent.js.map +1 -1
  223. package/lib/module/specs/WebGPUViewNativeComponent.web.js +2 -0
  224. package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +1 -1
  225. package/lib/typescript/lib/commonjs/animation/functions/interpolatePaths.d.ts +1 -1
  226. package/lib/typescript/lib/commonjs/external/reanimated/interpolators.d.ts +1 -1
  227. package/lib/typescript/lib/commonjs/skia/types/Path/PathBuilder.d.ts +1 -0
  228. package/lib/typescript/lib/commonjs/skia/types/Path/PathBuilderFactory.d.ts +1 -0
  229. package/lib/typescript/lib/commonjs/skia/web/JsiSkPath.d.ts +33 -25
  230. package/lib/typescript/lib/commonjs/skia/web/JsiSkPathBuilder.d.ts +46 -0
  231. package/lib/typescript/lib/commonjs/skia/web/JsiSkPathBuilderFactory.d.ts +7 -0
  232. package/lib/typescript/lib/commonjs/skia/web/JsiSkPathFactory.d.ts +12 -0
  233. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +2 -0
  234. package/lib/typescript/lib/commonjs/specs/SkiaPictureViewNativeComponent.d.ts +2 -1
  235. package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +2 -1
  236. package/lib/typescript/lib/module/animation/functions/interpolatePaths.d.ts +1 -1
  237. package/lib/typescript/lib/module/external/reanimated/interpolators.d.ts +1 -1
  238. package/lib/typescript/lib/module/mock/index.d.ts +1 -1
  239. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -0
  240. package/lib/typescript/lib/module/skia/types/Path/PathBuilder.d.ts +1 -0
  241. package/lib/typescript/lib/module/skia/types/Path/PathBuilderFactory.d.ts +1 -0
  242. package/lib/typescript/lib/module/skia/types/Path/index.d.ts +2 -0
  243. package/lib/typescript/lib/module/skia/web/JsiSkPath.d.ts +38 -25
  244. package/lib/typescript/lib/module/skia/web/JsiSkPathBuilder.d.ts +45 -0
  245. package/lib/typescript/lib/module/skia/web/JsiSkPathBuilderFactory.d.ts +6 -0
  246. package/lib/typescript/lib/module/skia/web/JsiSkPathFactory.d.ts +12 -0
  247. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +2 -0
  248. package/lib/typescript/lib/module/specs/SkiaPictureViewNativeComponent.d.ts +1 -1
  249. package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +1 -1
  250. package/lib/typescript/src/animation/functions/interpolatePaths.d.ts +1 -1
  251. package/lib/typescript/src/external/reanimated/interpolators.d.ts +11 -2
  252. package/lib/typescript/src/skia/types/Path/PathBuilder.d.ts +201 -0
  253. package/lib/typescript/src/skia/types/Path/PathBuilderFactory.d.ts +13 -0
  254. package/lib/typescript/src/skia/types/Path/PathFactory.d.ts +87 -1
  255. package/lib/typescript/src/skia/types/Path/index.d.ts +2 -0
  256. package/lib/typescript/src/skia/types/Skia.d.ts +2 -1
  257. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +42 -30
  258. package/lib/typescript/src/skia/web/JsiSkPathBuilder.d.ts +45 -0
  259. package/lib/typescript/src/skia/web/JsiSkPathBuilderFactory.d.ts +9 -0
  260. package/lib/typescript/src/skia/web/JsiSkPathFactory.d.ts +13 -1
  261. package/lib/typescript/src/specs/SkiaPictureViewNativeComponent.d.ts +2 -2
  262. package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +2 -2
  263. package/package.json +7 -6
  264. package/scripts/install-libs.js +16 -6
  265. package/src/animation/functions/interpolatePaths.ts +5 -6
  266. package/src/external/reanimated/interpolators.ts +25 -5
  267. package/src/skia/types/Path/PathBuilder.ts +303 -0
  268. package/src/skia/types/Path/PathBuilderFactory.ts +15 -0
  269. package/src/skia/types/Path/PathFactory.ts +108 -1
  270. package/src/skia/types/Path/index.ts +2 -0
  271. package/src/skia/types/Skia.ts +2 -1
  272. package/src/skia/web/Host.ts +7 -1
  273. package/src/skia/web/JsiSkCanvas.ts +6 -6
  274. package/src/skia/web/JsiSkContourMeasure.ts +4 -4
  275. package/src/skia/web/JsiSkPath.ts +451 -168
  276. package/src/skia/web/JsiSkPathBuilder.ts +293 -0
  277. package/src/skia/web/JsiSkPathBuilderFactory.ts +32 -0
  278. package/src/skia/web/JsiSkPathEffectFactory.ts +6 -2
  279. package/src/skia/web/JsiSkPathFactory.ts +231 -8
  280. package/src/skia/web/JsiSkia.ts +11 -8
  281. package/src/sksg/Recorder/commands/Drawing.ts +20 -7
  282. package/src/specs/SkiaPictureViewNativeComponent.ts +1 -2
  283. package/src/specs/WebGPUViewNativeComponent.ts +2 -2
  284. package/src/specs/WebGPUViewNativeComponent.web.ts +2 -0
  285. package/cpp/skia/include/effects/SkGradientShader.h +0 -359
  286. package/cpp/skia/include/gpu/graphite/LogPriority.h +0 -36
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_Host","_JsiSkPoint","_JsiSkRect","_JsiSkRRect","_JsiSkMatrix","CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","pinT","t","Math","min","max","JsiSkPath","HostObject","constructor","CanvasKit","ref","addPath","src","matrix","extend","args","fromValue","JsiSkMatrix","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","JsiSkPoint","flat","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","getEnum","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","optEnum","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","JsiSkRRect","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","start","stop","isComplement","startT","stopT","transform","m","length","Error","interpolate","end","output","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current","exports"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Matrix3x3, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n InputRRect,\n StrokeOpts,\n InputMatrix,\n} from \"../types\";\n\nimport { getEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst pinT = (t: number) => Math.min(Math.max(t, 0), 1);\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n const args = [\n JsiSkPath.fromValue(src),\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(getEnum(this.CanvasKit, \"FillType\", fill));\n return this;\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n return this;\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(this.CanvasKit, \"StrokeJoin\", opts.join),\n cap: optEnum(this.CanvasKit, \"StrokeCap\", opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n return this;\n }\n\n reset() {\n this.ref.reset();\n return this;\n }\n\n rewind() {\n this.ref.rewind();\n return this;\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(JsiSkPath.fromValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n return this;\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n return this;\n }\n\n addRRect(rrect: InputRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(\n JsiSkPath.fromValue(path),\n getEnum(this.CanvasKit, \"PathOp\", op)\n );\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(start: number, stop: number, isComplement: boolean) {\n const startT = pinT(start);\n const stopT = pinT(stop);\n if (startT === 0 && stopT === 1) {\n return this;\n }\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m: InputMatrix) {\n let matrix =\n m instanceof JsiSkMatrix\n ? Array.from(JsiSkMatrix.fromValue<Matrix3x3>(m))\n : (m as Exclude<InputMatrix, SkMatrix>);\n if (matrix.length === 16) {\n matrix = [\n matrix[0],\n matrix[1],\n matrix[3],\n matrix[4],\n matrix[5],\n matrix[7],\n matrix[12],\n matrix[13],\n matrix[15],\n ];\n } else if (matrix.length !== 9) {\n throw new Error(`Invalid matrix length: ${matrix.length}`);\n }\n this.ref.transform(matrix);\n return this;\n }\n\n interpolate(end: SkPath, t: number, output?: SkPath) {\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(\n this.ref,\n JsiSkPath.fromValue(end),\n t\n );\n if (path === null) {\n return null;\n }\n if (output) {\n (output as JsiSkPath).ref = path;\n return output;\n } else {\n return new JsiSkPath(this.CanvasKit, path);\n }\n }\n\n isInterpolatable(path2: SkPath): boolean {\n return this.CanvasKit.Path.CanInterpolate(\n this.ref,\n JsiSkPath.fromValue(path2)\n );\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_Host","_JsiSkPoint","_JsiSkRect","_JsiSkRRect","_JsiSkMatrix","CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","shownDeprecationWarnings","Set","warnDeprecatedPathMethod","methodName","suggestion","has","add","console","warn","toMatrix3x3","m","matrix","JsiSkMatrix","Array","from","fromValue","length","Error","exports","JsiSkPath","HostObject","constructor","CanvasKit","ref","asPath","snapshot","pathFromValue","value","addPath","src","extend","srcBuilder","srcPath","args","delete","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","addOval","isCCW","startIndex","addPoly","points","close","addPolygon","map","p","JsiSkPoint","flat","addRect","rect","addRRect","rrect","JsiSkRRect","addCircle","x","y","r","moveTo","rMoveTo","lineTo","rLineTo","quadTo","x1","y1","x2","y2","rQuadTo","conicTo","w","rConicTo","cubicTo","cpx1","cpy1","cpx2","cpy2","rCubicTo","reset","newBuilder","PathBuilder","rewind","arcToOval","forceMoveTo","arcToRotated","rx","ry","xAxisRotateInDegrees","useSmallArc","rArcTo","dx","dy","arcToTangent","radius","setFillType","fill","getEnum","setIsVolatile","_volatile","offset","transform","makeAsWinding","path","result","old","simplify","makeSimplified","op","self","other","makeCombined","dash","on","off","phase","makeDashed","stroke","opts","makeStroked","undefined","width","miter_limit","precision","join","optEnum","cap","trim","start","stop","isComplement","startT","Math","min","max","stopT","makeTrimmed","countPoints","computeTightBounds","contains","copy","equals","p1","p2","getBounds","getFillType","getPoint","index","isEmpty","isVolatile","getLastPt","count","pt","toSVGString","isInterpolatable","path2","Path","CanInterpolate","interpolate","end","weight","output","MakeFromPathInterpolation","outRef","toCmds","cmds","reduce","acc","cmd","i","push","current"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, PathBuilder as CKPathBuilder } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n InputRRect,\n StrokeOpts,\n InputMatrix,\n} from \"../types\";\n\nimport { getEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\n// Track which deprecation warnings have been shown to avoid spam\nconst shownDeprecationWarnings = new Set<string>();\n\nconst warnDeprecatedPathMethod = (\n methodName: string,\n suggestion: string\n): void => {\n if (shownDeprecationWarnings.has(methodName)) {\n return;\n }\n shownDeprecationWarnings.add(methodName);\n console.warn(\n `[react-native-skia] SkPath.${methodName}() is deprecated and will be removed in a future release. ${suggestion} See migration guide: https://shopify.github.io/react-native-skia/docs/shapes/path-migration`\n );\n};\n\nexport const toMatrix3x3 = (m: InputMatrix): number[] => {\n let matrix =\n m instanceof JsiSkMatrix\n ? Array.from(JsiSkMatrix.fromValue<Float32Array>(m))\n : (m as Exclude<InputMatrix, SkMatrix>);\n if (matrix.length === 16) {\n matrix = [\n matrix[0],\n matrix[1],\n matrix[3],\n matrix[4],\n matrix[5],\n matrix[7],\n matrix[12],\n matrix[13],\n matrix[15],\n ];\n } else if (matrix.length !== 9) {\n throw new Error(`Invalid matrix length: ${matrix.length}`);\n }\n return matrix as number[];\n};\n\n/**\n * SkPath wraps a CK PathBuilder internally, providing both mutable building\n * methods and immutable query methods. Use snapshot() internally to get\n * an immutable CK Path for read-only operations.\n */\nexport class JsiSkPath\n extends HostObject<CKPathBuilder, \"Path\">\n implements SkPath\n{\n constructor(CanvasKit: CanvasKit, ref: CKPathBuilder) {\n super(CanvasKit, ref, \"Path\");\n }\n\n /** Returns an immutable CK Path snapshot for read-only operations. */\n private asPath() {\n return this.ref.snapshot();\n }\n\n /** Extract an immutable CK Path from a JsiSkPath value (for CK interop). */\n static pathFromValue(value: SkPath) {\n return JsiSkPath.fromValue<CKPathBuilder>(value).snapshot();\n }\n\n // ---- Mutable building methods (deprecated) ----\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n warnDeprecatedPathMethod(\n \"addPath\",\n \"Use Skia.PathBuilder.Make().addPath() instead.\"\n );\n const srcBuilder = JsiSkPath.fromValue<CKPathBuilder>(src);\n const srcPath = srcBuilder.snapshot();\n const args = [\n srcPath,\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n srcPath.delete();\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n warnDeprecatedPathMethod(\n \"addArc\",\n \"Use Skia.PathBuilder.Make().addArc() instead.\"\n );\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n warnDeprecatedPathMethod(\n \"addOval\",\n \"Use Skia.Path.Oval() or Skia.PathBuilder.Make().addOval() instead.\"\n );\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n warnDeprecatedPathMethod(\n \"addPoly\",\n \"Use Skia.Path.Polygon() or Skia.PathBuilder.Make().addPoly() instead.\"\n );\n this.ref.addPolygon(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return this;\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n warnDeprecatedPathMethod(\n \"addRect\",\n \"Use Skia.Path.Rect() or Skia.PathBuilder.Make().addRect() instead.\"\n );\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n return this;\n }\n\n addRRect(rrect: InputRRect, isCCW?: boolean) {\n warnDeprecatedPathMethod(\n \"addRRect\",\n \"Use Skia.Path.RRect() or Skia.PathBuilder.Make().addRRect() instead.\"\n );\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n addCircle(x: number, y: number, r: number) {\n warnDeprecatedPathMethod(\n \"addCircle\",\n \"Use Skia.Path.Circle() or Skia.PathBuilder.Make().addCircle() instead.\"\n );\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n moveTo(x: number, y: number) {\n warnDeprecatedPathMethod(\n \"moveTo\",\n \"Use Skia.PathBuilder.Make().moveTo() instead.\"\n );\n this.ref.moveTo(x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n warnDeprecatedPathMethod(\n \"rMoveTo\",\n \"Use Skia.PathBuilder.Make().rMoveTo() instead.\"\n );\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n warnDeprecatedPathMethod(\n \"lineTo\",\n \"Use Skia.PathBuilder.Make().lineTo() instead.\"\n );\n this.ref.lineTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n warnDeprecatedPathMethod(\n \"rLineTo\",\n \"Use Skia.PathBuilder.Make().rLineTo() instead.\"\n );\n this.ref.rLineTo(x, y);\n return this;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n warnDeprecatedPathMethod(\n \"quadTo\",\n \"Use Skia.PathBuilder.Make().quadTo() instead.\"\n );\n this.ref.quadTo(x1, y1, x2, y2);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n warnDeprecatedPathMethod(\n \"rQuadTo\",\n \"Use Skia.PathBuilder.Make().rQuadTo() instead.\"\n );\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n warnDeprecatedPathMethod(\n \"conicTo\",\n \"Use Skia.PathBuilder.Make().conicTo() instead.\"\n );\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n rConicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n warnDeprecatedPathMethod(\n \"rConicTo\",\n \"Use Skia.PathBuilder.Make().rConicTo() instead.\"\n );\n this.ref.rConicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n warnDeprecatedPathMethod(\n \"cubicTo\",\n \"Use Skia.PathBuilder.Make().cubicTo() instead.\"\n );\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n warnDeprecatedPathMethod(\n \"rCubicTo\",\n \"Use Skia.PathBuilder.Make().rCubicTo() instead.\"\n );\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n close() {\n warnDeprecatedPathMethod(\n \"close\",\n \"Use Skia.PathBuilder.Make().close() instead.\"\n );\n this.ref.close();\n return this;\n }\n\n reset() {\n warnDeprecatedPathMethod(\n \"reset\",\n \"Use Skia.PathBuilder.Make().reset() instead.\"\n );\n // CK PathBuilder has no reset — recreate\n const newBuilder = new this.CanvasKit.PathBuilder();\n if (\n this.ref !== null &&\n typeof this.ref === \"object\" &&\n \"delete\" in this.ref &&\n typeof this.ref.delete === \"function\"\n ) {\n this.ref.delete();\n }\n this.ref = newBuilder;\n return this;\n }\n\n rewind() {\n warnDeprecatedPathMethod(\n \"rewind\",\n \"Use Skia.PathBuilder.Make().reset() instead.\"\n );\n return this.reset();\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n warnDeprecatedPathMethod(\n \"arcToOval\",\n \"Use Skia.PathBuilder.Make().arcToOval() instead.\"\n );\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n warnDeprecatedPathMethod(\n \"arcToRotated\",\n \"Use Skia.PathBuilder.Make().arcToRotated() instead.\"\n );\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n warnDeprecatedPathMethod(\n \"rArcTo\",\n \"Use Skia.PathBuilder.Make().rArcTo() instead.\"\n );\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n warnDeprecatedPathMethod(\n \"arcToTangent\",\n \"Use Skia.PathBuilder.Make().arcToTangent() instead.\"\n );\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n setFillType(fill: FillType) {\n warnDeprecatedPathMethod(\n \"setFillType\",\n \"Use Skia.PathBuilder.Make().setFillType() instead.\"\n );\n this.ref.setFillType(getEnum(this.CanvasKit, \"FillType\", fill));\n return this;\n }\n\n setIsVolatile(_volatile: boolean) {\n warnDeprecatedPathMethod(\n \"setIsVolatile\",\n \"Use Skia.PathBuilder.Make().setIsVolatile() instead.\"\n );\n // Not supported in CK PathBuilder — no-op\n return this;\n }\n\n // ---- Mutable path operations (deprecated) ----\n\n offset(dx: number, dy: number) {\n warnDeprecatedPathMethod(\n \"offset\",\n \"Use Skia.PathBuilder.Make().offset() instead.\"\n );\n this.ref.offset(dx, dy);\n return this;\n }\n\n transform(m: InputMatrix) {\n warnDeprecatedPathMethod(\n \"transform\",\n \"Use Skia.PathBuilder.Make().transform() instead.\"\n );\n const matrix = toMatrix3x3(m);\n this.ref.transform(matrix);\n return this;\n }\n\n makeAsWinding() {\n warnDeprecatedPathMethod(\n \"makeAsWinding\",\n \"Use Skia.Path.AsWinding(path) instead.\"\n );\n const path = this.asPath();\n const result = path.makeAsWinding();\n path.delete();\n if (result === null) {\n return null;\n }\n const old = this.ref;\n this.ref = new this.CanvasKit.PathBuilder(result);\n result.delete();\n old.delete();\n return this;\n }\n\n simplify() {\n warnDeprecatedPathMethod(\"simplify\", \"Use Skia.Path.Simplify(path) instead.\");\n const path = this.asPath();\n const result = path.makeSimplified();\n path.delete();\n if (result === null) {\n return false;\n }\n const old = this.ref;\n this.ref = new this.CanvasKit.PathBuilder(result);\n result.delete();\n old.delete();\n return true;\n }\n\n op(path: SkPath, op: PathOp) {\n warnDeprecatedPathMethod(\"op\", \"Use Skia.Path.MakeFromOp() instead.\");\n const self = this.asPath();\n const other = JsiSkPath.fromValue<CKPathBuilder>(path).snapshot();\n const result = self.makeCombined(\n other,\n getEnum(this.CanvasKit, \"PathOp\", op)\n );\n self.delete();\n other.delete();\n if (result === null) {\n return false;\n }\n const old = this.ref;\n this.ref = new this.CanvasKit.PathBuilder(result);\n result.delete();\n old.delete();\n return true;\n }\n\n dash(on: number, off: number, phase: number) {\n warnDeprecatedPathMethod(\n \"dash\",\n \"Use Skia.Path.Dash(path, on, off, phase) instead.\"\n );\n const path = this.asPath();\n const result = path.makeDashed(on, off, phase);\n path.delete();\n if (result === null) {\n return false;\n }\n const old = this.ref;\n this.ref = new this.CanvasKit.PathBuilder(result);\n result.delete();\n old.delete();\n return true;\n }\n\n stroke(opts?: StrokeOpts) {\n warnDeprecatedPathMethod(\"stroke\", \"Use Skia.Path.Stroke(path, opts) instead.\");\n const path = this.asPath();\n const result = path.makeStroked(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.miter_limit,\n precision: opts.precision,\n join: optEnum(this.CanvasKit, \"StrokeJoin\", opts.join),\n cap: optEnum(this.CanvasKit, \"StrokeCap\", opts.cap),\n }\n );\n path.delete();\n if (result === null) {\n return null;\n }\n const old = this.ref;\n this.ref = new this.CanvasKit.PathBuilder(result);\n result.delete();\n old.delete();\n return this;\n }\n\n trim(start: number, stop: number, isComplement: boolean) {\n warnDeprecatedPathMethod(\n \"trim\",\n \"Use Skia.Path.Trim(path, start, end, isComplement) instead.\"\n );\n const startT = Math.min(Math.max(start, 0), 1);\n const stopT = Math.min(Math.max(stop, 0), 1);\n if (startT === 0 && stopT === 1 && !isComplement) {\n return this;\n }\n const path = this.asPath();\n const result = path.makeTrimmed(startT, stopT, isComplement);\n path.delete();\n if (result === null) {\n return null;\n }\n const old = this.ref;\n this.ref = new this.CanvasKit.PathBuilder(result);\n result.delete();\n old.delete();\n return this;\n }\n\n // ---- Query methods (use snapshot for read-only) ----\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n computeTightBounds(): SkRect {\n const path = this.asPath();\n const result = new JsiSkRect(this.CanvasKit, path.computeTightBounds());\n path.delete();\n return result;\n }\n\n contains(x: number, y: number) {\n const path = this.asPath();\n const result = path.contains(x, y);\n path.delete();\n return result;\n }\n\n copy() {\n const path = this.asPath();\n const result = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return result;\n }\n\n equals(other: SkPath) {\n const p1 = this.asPath();\n const p2 = JsiSkPath.fromValue<CKPathBuilder>(other).snapshot();\n const result = p1.equals(p2);\n p1.delete();\n p2.delete();\n return result;\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType(): FillType {\n const path = this.asPath();\n const result = path.getFillType().value;\n path.delete();\n return result;\n }\n\n getPoint(index: number): SkPoint {\n const path = this.asPath();\n const result = new JsiSkPoint(this.CanvasKit, path.getPoint(index));\n path.delete();\n return result;\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return false;\n }\n\n getLastPt() {\n const count = this.ref.countPoints();\n if (count === 0) {\n return { x: 0, y: 0 };\n }\n const path = this.asPath();\n const pt = path.getPoint(count - 1);\n path.delete();\n return { x: pt[0], y: pt[1] };\n }\n\n toSVGString() {\n const path = this.asPath();\n const result = path.toSVGString();\n path.delete();\n return result;\n }\n\n isInterpolatable(path2: SkPath): boolean {\n const p1 = this.asPath();\n const p2 = JsiSkPath.fromValue<CKPathBuilder>(path2).snapshot();\n const result = this.CanvasKit.Path.CanInterpolate(p1, p2);\n p1.delete();\n p2.delete();\n return result;\n }\n\n interpolate(end: SkPath, weight: number, output?: SkPath): SkPath | null {\n const p1 = this.asPath();\n const p2 = JsiSkPath.fromValue<CKPathBuilder>(end).snapshot();\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(p1, p2, weight);\n p1.delete();\n p2.delete();\n if (path === null) {\n return null;\n }\n if (output) {\n const outRef = output as JsiSkPath;\n const old = outRef.ref;\n outRef.ref = new this.CanvasKit.PathBuilder(path);\n path.delete();\n old.delete();\n return output;\n }\n const result = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return result;\n }\n\n toCmds() {\n const path = this.asPath();\n const cmds = path.toCmds();\n path.delete();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ import type { CanvasKit, PathBuilder as CKPathBuilder } from "canvaskit-wasm";
2
+ import type { FillType, InputMatrix, InputRRect, SkMatrix, SkPath, SkPathBuilder, SkPoint, SkRect } from "../types";
3
+ import { HostObject } from "./Host";
4
+ /**
5
+ * Web implementation of SkPathBuilder using CanvasKit's native PathBuilder.
6
+ */
7
+ export declare class JsiSkPathBuilder extends HostObject<CKPathBuilder, "PathBuilder"> implements SkPathBuilder {
8
+ constructor(CanvasKit: CanvasKit, ref: CKPathBuilder);
9
+ moveTo(x: number, y: number): this;
10
+ rMoveTo(x: number, y: number): this;
11
+ lineTo(x: number, y: number): this;
12
+ rLineTo(x: number, y: number): this;
13
+ quadTo(x1: number, y1: number, x2: number, y2: number): this;
14
+ rQuadTo(x1: number, y1: number, x2: number, y2: number): this;
15
+ conicTo(x1: number, y1: number, x2: number, y2: number, w: number): this;
16
+ rConicTo(x1: number, y1: number, x2: number, y2: number, w: number): this;
17
+ cubicTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): this;
18
+ rCubicTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): this;
19
+ close(): this;
20
+ arcToOval(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number, forceMoveTo: boolean): this;
21
+ arcToRotated(rx: number, ry: number, xAxisRotateInDegrees: number, useSmallArc: boolean, isCCW: boolean, x: number, y: number): this;
22
+ rArcTo(rx: number, ry: number, xAxisRotateInDegrees: number, useSmallArc: boolean, isCCW: boolean, dx: number, dy: number): this;
23
+ arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number): this;
24
+ addRect(rect: SkRect, isCCW?: boolean): this;
25
+ addOval(oval: SkRect, isCCW?: boolean, startIndex?: number): this;
26
+ addArc(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number): this;
27
+ addRRect(rrect: InputRRect, isCCW?: boolean): this;
28
+ addCircle(x: number, y: number, r: number, _isCCW?: boolean): this;
29
+ addPoly(points: SkPoint[], close: boolean): this;
30
+ addPath(src: SkPath, matrix?: SkMatrix, extend?: boolean): this;
31
+ setFillType(fill: FillType): this;
32
+ setIsVolatile(_isVolatile: boolean): this;
33
+ reset(): this;
34
+ offset(dx: number, dy: number): this;
35
+ transform(m: InputMatrix): this;
36
+ computeBounds(): SkRect;
37
+ isEmpty(): boolean;
38
+ getLastPt(): {
39
+ x: number;
40
+ y: number;
41
+ };
42
+ countPoints(): number;
43
+ build(): SkPath;
44
+ detach(): SkPath;
45
+ }
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.JsiSkPathBuilder = void 0;
7
+ var _Host = require("./Host");
8
+ var _JsiSkPath = require("./JsiSkPath");
9
+ var _JsiSkMatrix = require("./JsiSkMatrix");
10
+ var _JsiSkPoint = require("./JsiSkPoint");
11
+ var _JsiSkRect = require("./JsiSkRect");
12
+ var _JsiSkRRect = require("./JsiSkRRect");
13
+ /**
14
+ * Web implementation of SkPathBuilder using CanvasKit's native PathBuilder.
15
+ */
16
+ class JsiSkPathBuilder extends _Host.HostObject {
17
+ constructor(CanvasKit, ref) {
18
+ super(CanvasKit, ref, "PathBuilder");
19
+ }
20
+
21
+ // Movement methods
22
+ moveTo(x, y) {
23
+ this.ref.moveTo(x, y);
24
+ return this;
25
+ }
26
+ rMoveTo(x, y) {
27
+ this.ref.rMoveTo(x, y);
28
+ return this;
29
+ }
30
+ lineTo(x, y) {
31
+ this.ref.lineTo(x, y);
32
+ return this;
33
+ }
34
+ rLineTo(x, y) {
35
+ this.ref.rLineTo(x, y);
36
+ return this;
37
+ }
38
+
39
+ // Curve methods
40
+ quadTo(x1, y1, x2, y2) {
41
+ this.ref.quadTo(x1, y1, x2, y2);
42
+ return this;
43
+ }
44
+ rQuadTo(x1, y1, x2, y2) {
45
+ this.ref.rQuadTo(x1, y1, x2, y2);
46
+ return this;
47
+ }
48
+ conicTo(x1, y1, x2, y2, w) {
49
+ this.ref.conicTo(x1, y1, x2, y2, w);
50
+ return this;
51
+ }
52
+ rConicTo(x1, y1, x2, y2, w) {
53
+ this.ref.rConicTo(x1, y1, x2, y2, w);
54
+ return this;
55
+ }
56
+ cubicTo(x1, y1, x2, y2, x3, y3) {
57
+ this.ref.cubicTo(x1, y1, x2, y2, x3, y3);
58
+ return this;
59
+ }
60
+ rCubicTo(x1, y1, x2, y2, x3, y3) {
61
+ this.ref.rCubicTo(x1, y1, x2, y2, x3, y3);
62
+ return this;
63
+ }
64
+ close() {
65
+ this.ref.close();
66
+ return this;
67
+ }
68
+
69
+ // Arc methods
70
+ arcToOval(oval, startAngleInDegrees, sweepAngleInDegrees, forceMoveTo) {
71
+ this.ref.arcToOval(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, oval), startAngleInDegrees, sweepAngleInDegrees, forceMoveTo);
72
+ return this;
73
+ }
74
+ arcToRotated(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, x, y) {
75
+ this.ref.arcToRotated(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, x, y);
76
+ return this;
77
+ }
78
+ rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy) {
79
+ this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);
80
+ return this;
81
+ }
82
+ arcToTangent(x1, y1, x2, y2, radius) {
83
+ this.ref.arcToTangent(x1, y1, x2, y2, radius);
84
+ return this;
85
+ }
86
+
87
+ // Shape methods
88
+ addRect(rect, isCCW) {
89
+ this.ref.addRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);
90
+ return this;
91
+ }
92
+ addOval(oval, isCCW, startIndex) {
93
+ this.ref.addOval(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, oval), isCCW, startIndex);
94
+ return this;
95
+ }
96
+ addArc(oval, startAngleInDegrees, sweepAngleInDegrees) {
97
+ this.ref.addArc(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, oval), startAngleInDegrees, sweepAngleInDegrees);
98
+ return this;
99
+ }
100
+ addRRect(rrect, isCCW) {
101
+ this.ref.addRRect(_JsiSkRRect.JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);
102
+ return this;
103
+ }
104
+ addCircle(x, y, r, _isCCW) {
105
+ this.ref.addCircle(x, y, r);
106
+ return this;
107
+ }
108
+ addPoly(points, close) {
109
+ this.ref.addPolygon(points.map(p => Array.from(_JsiSkPoint.JsiSkPoint.fromValue(p))).flat(), close);
110
+ return this;
111
+ }
112
+ addPath(src, matrix, extend = false) {
113
+ const srcPath = _JsiSkPath.JsiSkPath.pathFromValue(src);
114
+ const args = [srcPath, ...(matrix ? _JsiSkMatrix.JsiSkMatrix.fromValue(matrix) : []), extend];
115
+ this.ref.addPath(...args);
116
+ srcPath.delete();
117
+ return this;
118
+ }
119
+
120
+ // Configuration methods
121
+ setFillType(fill) {
122
+ this.ref.setFillType((0, _Host.getEnum)(this.CanvasKit, "FillType", fill));
123
+ return this;
124
+ }
125
+ setIsVolatile(_isVolatile) {
126
+ // Not supported in CanvasKit PathBuilder - no-op
127
+ return this;
128
+ }
129
+ reset() {
130
+ // CanvasKit PathBuilder doesn't have reset - recreate
131
+ const newBuilder = new this.CanvasKit.PathBuilder();
132
+ // Swap the ref - delete old one
133
+ if (this.ref !== null && typeof this.ref === "object" && "delete" in this.ref && typeof this.ref.delete === "function") {
134
+ this.ref.delete();
135
+ }
136
+ this.ref = newBuilder;
137
+ return this;
138
+ }
139
+ offset(dx, dy) {
140
+ this.ref.offset(dx, dy);
141
+ return this;
142
+ }
143
+ transform(m) {
144
+ const matrix = (0, _JsiSkPath.toMatrix3x3)(m);
145
+ this.ref.transform(matrix);
146
+ return this;
147
+ }
148
+
149
+ // Query methods
150
+ computeBounds() {
151
+ return new _JsiSkRect.JsiSkRect(this.CanvasKit, this.ref.getBounds());
152
+ }
153
+ isEmpty() {
154
+ return this.ref.isEmpty();
155
+ }
156
+ getLastPt() {
157
+ const count = this.ref.countPoints();
158
+ if (count === 0) {
159
+ return {
160
+ x: 0,
161
+ y: 0
162
+ };
163
+ }
164
+ // PathBuilder doesn't have getPoint - snapshot to get it
165
+ const path = this.ref.snapshot();
166
+ const pt = path.getPoint(count - 1);
167
+ path.delete();
168
+ return {
169
+ x: pt[0],
170
+ y: pt[1]
171
+ };
172
+ }
173
+ countPoints() {
174
+ return this.ref.countPoints();
175
+ }
176
+
177
+ // Build methods
178
+ build() {
179
+ const path = this.ref.snapshot();
180
+ const builder = new this.CanvasKit.PathBuilder(path);
181
+ path.delete();
182
+ return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
183
+ }
184
+ detach() {
185
+ const path = this.ref.detach();
186
+ const builder = new this.CanvasKit.PathBuilder(path);
187
+ path.delete();
188
+ return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
189
+ }
190
+ }
191
+ exports.JsiSkPathBuilder = JsiSkPathBuilder;
192
+ //# sourceMappingURL=JsiSkPathBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Host","require","_JsiSkPath","_JsiSkMatrix","_JsiSkPoint","_JsiSkRect","_JsiSkRRect","JsiSkPathBuilder","HostObject","constructor","CanvasKit","ref","moveTo","x","y","rMoveTo","lineTo","rLineTo","quadTo","x1","y1","x2","y2","rQuadTo","conicTo","w","rConicTo","cubicTo","x3","y3","rCubicTo","close","arcToOval","oval","startAngleInDegrees","sweepAngleInDegrees","forceMoveTo","JsiSkRect","fromValue","arcToRotated","rx","ry","xAxisRotateInDegrees","useSmallArc","isCCW","rArcTo","dx","dy","arcToTangent","radius","addRect","rect","addOval","startIndex","addArc","addRRect","rrect","JsiSkRRect","addCircle","r","_isCCW","addPoly","points","addPolygon","map","p","Array","from","JsiSkPoint","flat","addPath","src","matrix","extend","srcPath","JsiSkPath","pathFromValue","args","JsiSkMatrix","delete","setFillType","fill","getEnum","setIsVolatile","_isVolatile","reset","newBuilder","PathBuilder","offset","transform","m","toMatrix3x3","computeBounds","getBounds","isEmpty","getLastPt","count","countPoints","path","snapshot","pt","getPoint","build","builder","detach","exports"],"sources":["JsiSkPathBuilder.ts"],"sourcesContent":["import type { CanvasKit, PathBuilder as CKPathBuilder } from \"canvaskit-wasm\";\n\nimport type {\n FillType,\n InputMatrix,\n InputRRect,\n SkMatrix,\n SkPath,\n SkPathBuilder,\n SkPoint,\n SkRect,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPath, toMatrix3x3 } from \"./JsiSkPath\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\n/**\n * Web implementation of SkPathBuilder using CanvasKit's native PathBuilder.\n */\nexport class JsiSkPathBuilder\n extends HostObject<CKPathBuilder, \"PathBuilder\">\n implements SkPathBuilder\n{\n constructor(CanvasKit: CanvasKit, ref: CKPathBuilder) {\n super(CanvasKit, ref, \"PathBuilder\");\n }\n\n // Movement methods\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n // Curve methods\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n rConicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.rConicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n cubicTo(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number\n ) {\n this.ref.cubicTo(x1, y1, x2, y2, x3, y3);\n return this;\n }\n\n rCubicTo(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n x3: number,\n y3: number\n ) {\n this.ref.rCubicTo(x1, y1, x2, y2, x3, y3);\n return this;\n }\n\n close() {\n this.ref.close();\n return this;\n }\n\n // Arc methods\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n // Shape methods\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addRRect(rrect: InputRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n addCircle(x: number, y: number, r: number, _isCCW?: boolean) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPolygon(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return this;\n }\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n const srcPath = JsiSkPath.pathFromValue(src);\n const args = [\n srcPath,\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n srcPath.delete();\n return this;\n }\n\n // Configuration methods\n setFillType(fill: FillType) {\n this.ref.setFillType(getEnum(this.CanvasKit, \"FillType\", fill));\n return this;\n }\n\n setIsVolatile(_isVolatile: boolean) {\n // Not supported in CanvasKit PathBuilder - no-op\n return this;\n }\n\n reset() {\n // CanvasKit PathBuilder doesn't have reset - recreate\n const newBuilder = new this.CanvasKit.PathBuilder();\n // Swap the ref - delete old one\n if (\n this.ref !== null &&\n typeof this.ref === \"object\" &&\n \"delete\" in this.ref &&\n typeof this.ref.delete === \"function\"\n ) {\n this.ref.delete();\n }\n this.ref = newBuilder;\n return this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n transform(m: InputMatrix) {\n const matrix = toMatrix3x3(m);\n this.ref.transform(matrix);\n return this;\n }\n\n // Query methods\n computeBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n isEmpty(): boolean {\n return this.ref.isEmpty();\n }\n\n getLastPt(): { x: number; y: number } {\n const count = this.ref.countPoints();\n if (count === 0) {\n return { x: 0, y: 0 };\n }\n // PathBuilder doesn't have getPoint - snapshot to get it\n const path = this.ref.snapshot();\n const pt = path.getPoint(count - 1);\n path.delete();\n return { x: pt[0], y: pt[1] };\n }\n\n countPoints(): number {\n return this.ref.countPoints();\n }\n\n // Build methods\n build(): SkPath {\n const path = this.ref.snapshot();\n const builder = new this.CanvasKit.PathBuilder(path);\n path.delete();\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n detach(): SkPath {\n const path = this.ref.detach();\n const builder = new this.CanvasKit.PathBuilder(path);\n path.delete();\n return new JsiSkPath(this.CanvasKit, builder);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { CanvasKit } from "canvaskit-wasm";
2
+ import type { PathBuilderFactory, SkPath } from "../types";
3
+ import { Host } from "./Host";
4
+ import { JsiSkPathBuilder } from "./JsiSkPathBuilder";
5
+ export declare class JsiSkPathBuilderFactory extends Host implements PathBuilderFactory {
6
+ constructor(CanvasKit: CanvasKit);
7
+ Make(): JsiSkPathBuilder;
8
+ MakeFromPath(path: SkPath): JsiSkPathBuilder;
9
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.JsiSkPathBuilderFactory = void 0;
7
+ var _Host = require("./Host");
8
+ var _JsiSkPath = require("./JsiSkPath");
9
+ var _JsiSkPathBuilder = require("./JsiSkPathBuilder");
10
+ class JsiSkPathBuilderFactory extends _Host.Host {
11
+ constructor(CanvasKit) {
12
+ super(CanvasKit);
13
+ }
14
+ Make() {
15
+ return new _JsiSkPathBuilder.JsiSkPathBuilder(this.CanvasKit, new this.CanvasKit.PathBuilder());
16
+ }
17
+ MakeFromPath(path) {
18
+ const srcBuilder = _JsiSkPath.JsiSkPath.fromValue(path);
19
+ const srcPath = srcBuilder.snapshot();
20
+ const builder = new this.CanvasKit.PathBuilder(srcPath);
21
+ srcPath.delete();
22
+ return new _JsiSkPathBuilder.JsiSkPathBuilder(this.CanvasKit, builder);
23
+ }
24
+ }
25
+ exports.JsiSkPathBuilderFactory = JsiSkPathBuilderFactory;
26
+ //# sourceMappingURL=JsiSkPathBuilderFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Host","require","_JsiSkPath","_JsiSkPathBuilder","JsiSkPathBuilderFactory","Host","constructor","CanvasKit","Make","JsiSkPathBuilder","PathBuilder","MakeFromPath","path","srcBuilder","JsiSkPath","fromValue","srcPath","snapshot","builder","delete","exports"],"sources":["JsiSkPathBuilderFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { PathBuilderFactory, SkPath } from \"../types\";\n\nimport { Host } from \"./Host\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPathBuilder } from \"./JsiSkPathBuilder\";\n\nexport class JsiSkPathBuilderFactory\n extends Host\n implements PathBuilderFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n Make() {\n return new JsiSkPathBuilder(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder()\n );\n }\n\n MakeFromPath(path: SkPath) {\n const srcBuilder =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(path);\n const srcPath = srcBuilder.snapshot();\n const builder = new this.CanvasKit.PathBuilder(srcPath);\n srcPath.delete();\n return new JsiSkPathBuilder(this.CanvasKit, builder);\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEO,MAAMG,uBAAuB,SAC1BC,UAAI,CAEd;EACEC,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAACA,SAAS,CAAC;EAClB;EAEAC,IAAIA,CAAA,EAAG;IACL,OAAO,IAAIC,kCAAgB,CACzB,IAAI,CAACF,SAAS,EACd,IAAI,IAAI,CAACA,SAAS,CAACG,WAAW,CAAC,CACjC,CAAC;EACH;EAEAC,YAAYA,CAACC,IAAY,EAAE;IACzB,MAAMC,UAAU,GACdC,oBAAS,CAACC,SAAS,CAAwCH,IAAI,CAAC;IAClE,MAAMI,OAAO,GAAGH,UAAU,CAACI,QAAQ,CAAC,CAAC;IACrC,MAAMC,OAAO,GAAG,IAAI,IAAI,CAACX,SAAS,CAACG,WAAW,CAACM,OAAO,CAAC;IACvDA,OAAO,CAACG,MAAM,CAAC,CAAC;IAChB,OAAO,IAAIV,kCAAgB,CAAC,IAAI,CAACF,SAAS,EAAEW,OAAO,CAAC;EACtD;AACF;AAACE,OAAA,CAAAhB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -41,14 +41,18 @@ class JsiSkPathEffectFactory extends _Host.Host {
41
41
  return new _JsiSkPathEffect.JsiSkPathEffect(this.CanvasKit, pe);
42
42
  }
43
43
  MakePath1D(path, advance, phase, style) {
44
- const pe = this.CanvasKit.PathEffect.MakePath1D(_JsiSkPath.JsiSkPath.fromValue(path), advance, phase, (0, _Host.getEnum)(this.CanvasKit, "Path1DEffect", style));
44
+ const p = _JsiSkPath.JsiSkPath.pathFromValue(path);
45
+ const pe = this.CanvasKit.PathEffect.MakePath1D(p, advance, phase, (0, _Host.getEnum)(this.CanvasKit, "Path1DEffect", style));
46
+ p.delete();
45
47
  if (pe === null) {
46
48
  return null;
47
49
  }
48
50
  return new _JsiSkPathEffect.JsiSkPathEffect(this.CanvasKit, pe);
49
51
  }
50
52
  MakePath2D(matrix, path) {
51
- const pe = this.CanvasKit.PathEffect.MakePath2D(_JsiSkMatrix.JsiSkMatrix.fromValue(matrix), _JsiSkPath.JsiSkPath.fromValue(path));
53
+ const p = _JsiSkPath.JsiSkPath.pathFromValue(path);
54
+ const pe = this.CanvasKit.PathEffect.MakePath2D(_JsiSkMatrix.JsiSkMatrix.fromValue(matrix), p);
55
+ p.delete();
52
56
  if (pe === null) {
53
57
  return null;
54
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_Host","require","_JsiSkMatrix","_JsiSkPath","_JsiSkPathEffect","JsiSkPathEffectFactory","Host","constructor","CanvasKit","MakeCorner","radius","pe","PathEffect","JsiSkPathEffect","MakeDash","intervals","phase","MakeDiscrete","segLength","dev","seedAssist","MakeCompose","_outer","_inner","throwNotImplementedOnRNWeb","MakeSum","MakeLine2D","width","matrix","JsiSkMatrix","fromValue","MakePath1D","path","advance","style","JsiSkPath","getEnum","MakePath2D","exports"],"sources":["JsiSkPathEffectFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n Path1DEffectStyle,\n PathEffectFactory,\n SkMatrix,\n SkPath,\n SkPathEffect,\n} from \"../types\";\n\nimport { getEnum, Host, throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPathEffect } from \"./JsiSkPathEffect\";\n\nexport class JsiSkPathEffectFactory extends Host implements PathEffectFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeCorner(radius: number) {\n const pe = this.CanvasKit.PathEffect.MakeCorner(radius);\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeDash(intervals: number[], phase?: number) {\n const pe = this.CanvasKit.PathEffect.MakeDash(intervals, phase);\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeDiscrete(segLength: number, dev: number, seedAssist: number) {\n const pe = this.CanvasKit.PathEffect.MakeDiscrete(\n segLength,\n dev,\n seedAssist\n );\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeCompose(_outer: SkPathEffect, _inner: SkPathEffect) {\n return throwNotImplementedOnRNWeb<SkPathEffect>();\n }\n\n MakeSum(_outer: SkPathEffect, _inner: SkPathEffect) {\n return throwNotImplementedOnRNWeb<SkPathEffect>();\n }\n\n MakeLine2D(width: number, matrix: SkMatrix) {\n const pe = this.CanvasKit.PathEffect.MakeLine2D(\n width,\n JsiSkMatrix.fromValue(matrix)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakePath1D(\n path: SkPath,\n advance: number,\n phase: number,\n style: Path1DEffectStyle\n ) {\n const pe = this.CanvasKit.PathEffect.MakePath1D(\n JsiSkPath.fromValue(path),\n advance,\n phase,\n getEnum(this.CanvasKit, \"Path1DEffect\", style)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakePath2D(matrix: SkMatrix, path: SkPath) {\n const pe = this.CanvasKit.PathEffect.MakePath2D(\n JsiSkMatrix.fromValue(matrix),\n JsiSkPath.fromValue(path)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Host","require","_JsiSkMatrix","_JsiSkPath","_JsiSkPathEffect","JsiSkPathEffectFactory","Host","constructor","CanvasKit","MakeCorner","radius","pe","PathEffect","JsiSkPathEffect","MakeDash","intervals","phase","MakeDiscrete","segLength","dev","seedAssist","MakeCompose","_outer","_inner","throwNotImplementedOnRNWeb","MakeSum","MakeLine2D","width","matrix","JsiSkMatrix","fromValue","MakePath1D","path","advance","style","p","JsiSkPath","pathFromValue","getEnum","delete","MakePath2D","exports"],"sources":["JsiSkPathEffectFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n Path1DEffectStyle,\n PathEffectFactory,\n SkMatrix,\n SkPath,\n SkPathEffect,\n} from \"../types\";\n\nimport { getEnum, Host, throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPathEffect } from \"./JsiSkPathEffect\";\n\nexport class JsiSkPathEffectFactory extends Host implements PathEffectFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeCorner(radius: number) {\n const pe = this.CanvasKit.PathEffect.MakeCorner(radius);\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeDash(intervals: number[], phase?: number) {\n const pe = this.CanvasKit.PathEffect.MakeDash(intervals, phase);\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeDiscrete(segLength: number, dev: number, seedAssist: number) {\n const pe = this.CanvasKit.PathEffect.MakeDiscrete(\n segLength,\n dev,\n seedAssist\n );\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeCompose(_outer: SkPathEffect, _inner: SkPathEffect) {\n return throwNotImplementedOnRNWeb<SkPathEffect>();\n }\n\n MakeSum(_outer: SkPathEffect, _inner: SkPathEffect) {\n return throwNotImplementedOnRNWeb<SkPathEffect>();\n }\n\n MakeLine2D(width: number, matrix: SkMatrix) {\n const pe = this.CanvasKit.PathEffect.MakeLine2D(\n width,\n JsiSkMatrix.fromValue(matrix)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakePath1D(\n path: SkPath,\n advance: number,\n phase: number,\n style: Path1DEffectStyle\n ) {\n const p = JsiSkPath.pathFromValue(path);\n const pe = this.CanvasKit.PathEffect.MakePath1D(\n p,\n advance,\n phase,\n getEnum(this.CanvasKit, \"Path1DEffect\", style)\n );\n p.delete();\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakePath2D(matrix: SkMatrix, path: SkPath) {\n const p = JsiSkPath.pathFromValue(path);\n const pe = this.CanvasKit.PathEffect.MakePath2D(\n JsiSkMatrix.fromValue(matrix),\n p\n );\n p.delete();\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { CanvasKit } from "canvaskit-wasm";
2
- import type { PathCommand, PathOp, SkFont, SkPath } from "../types";
2
+ import type { InputRRect, PathCommand, PathOp, SkFont, SkPath, SkPoint, SkRect, StrokeOpts } from "../types";
3
3
  import type { PathFactory } from "../types/Path/PathFactory";
4
4
  import { Host } from "./Host";
5
5
  import { JsiSkPath } from "./JsiSkPath";
@@ -10,4 +10,16 @@ export declare class JsiSkPathFactory extends Host implements PathFactory {
10
10
  MakeFromOp(one: SkPath, two: SkPath, op: PathOp): JsiSkPath | null;
11
11
  MakeFromCmds(cmds: PathCommand[]): JsiSkPath | null;
12
12
  MakeFromText(_text: string, _x: number, _y: number, _font: SkFont): SkPath;
13
+ Rect(rect: SkRect, isCCW?: boolean): JsiSkPath;
14
+ Oval(rect: SkRect, isCCW?: boolean, startIndex?: number): JsiSkPath;
15
+ Circle(x: number, y: number, r: number): JsiSkPath;
16
+ RRect(rrect: InputRRect, isCCW?: boolean): JsiSkPath;
17
+ Line(p1: SkPoint, p2: SkPoint): JsiSkPath;
18
+ Polygon(points: SkPoint[], close: boolean): JsiSkPath;
19
+ Stroke(srcPath: SkPath, opts?: StrokeOpts): JsiSkPath | null;
20
+ Trim(srcPath: SkPath, start: number, end: number, isComplement: boolean): JsiSkPath | null;
21
+ Simplify(srcPath: SkPath): JsiSkPath | null;
22
+ Dash(srcPath: SkPath, on: number, off: number, phase: number): JsiSkPath | null;
23
+ AsWinding(srcPath: SkPath): JsiSkPath | null;
24
+ Interpolate(start: SkPath, end: SkPath, weight: number): JsiSkPath | null;
13
25
  }