@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
@@ -84,7 +84,9 @@ export class JsiSkCanvas extends HostObject {
84
84
  this.ref.drawOval(JsiSkRect.fromValue(this.CanvasKit, oval), JsiSkPaint.fromValue(paint));
85
85
  }
86
86
  drawPath(path, paint) {
87
- this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));
87
+ const p = JsiSkPath.pathFromValue(path);
88
+ this.ref.drawPath(p, JsiSkPaint.fromValue(paint));
89
+ p.delete();
88
90
  }
89
91
  drawText(str, x, y, paint, font) {
90
92
  this.ref.drawText(str, x, y, JsiSkPaint.fromValue(paint), JsiSkFont.fromValue(font));
@@ -127,7 +129,9 @@ export class JsiSkCanvas extends HostObject {
127
129
  this.ref.clear(color);
128
130
  }
129
131
  clipPath(path, op, doAntiAlias) {
130
- this.ref.clipPath(JsiSkPath.fromValue(path), getEnum(this.CanvasKit, "PathOp", op), doAntiAlias);
132
+ const p = JsiSkPath.pathFromValue(path);
133
+ this.ref.clipPath(p, getEnum(this.CanvasKit, "PathOp", op), doAntiAlias);
134
+ p.delete();
131
135
  }
132
136
  clipRect(rect, op, doAntiAlias) {
133
137
  this.ref.clipRect(JsiSkRect.fromValue(this.CanvasKit, rect), getEnum(this.CanvasKit, "PathOp", op), doAntiAlias);
@@ -1 +1 @@
1
- {"version":3,"names":["isCubicSampling","getEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkRSXform","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","undefined","restoreToCount","saveCount","getTotalMatrix","Float32Array","of","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","isArray","drawPicture","skp","drawAtlas","atlas","srcs","dsts","sampling","s","dst","cls","Uint32Array","length","i","r","g","b","a","ColorAsInt","ckSampling","FilterMode","Linear","mipmap","MipmapMode","None","BlendMode","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","colorType"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type {\n Canvas,\n CanvasKit,\n CubicResampler as CKCubicResampler,\n FilterOptions as CKFilterOptions,\n} from \"canvaskit-wasm\";\n\nimport {\n type BlendMode,\n type ClipOp,\n type FilterMode,\n type MipmapMode,\n type PointMode,\n type SaveLayerFlag,\n type ImageInfo,\n type SkCanvas,\n type SkColor,\n type SkFont,\n type SkImage,\n type SkImageFilter,\n type SkMatrix,\n type SkPaint,\n type SkPath,\n type SkPicture,\n type SkPoint,\n type SkRect,\n type InputRRect,\n type SkSVG,\n type SkTextBlob,\n type SkVertices,\n type SkRSXform,\n type CubicResampler,\n type FilterOptions,\n isCubicSampling,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport type { JsiSkSVG } from \"./JsiSkSVG\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n JsiSkImage.fromValue(img),\n left,\n top,\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", filter),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n getEnum(this.CanvasKit, \"BlendMode\", mode),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode ? getEnum(this.CanvasKit, \"BlendMode\", mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n getTotalMatrix(): SkMatrix {\n return new JsiSkMatrix(\n this.CanvasKit,\n Float32Array.of(...this.ref.getTotalMatrix())\n );\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n getEnum(this.CanvasKit, \"PointMode\", mode),\n points.map(({ x, y }) => [x, y]).flat(),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngle,\n sweepAngle,\n useCenter,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawRRect(rrect: InputRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: InputRRect, inner: InputRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(svg: SkSVG, _width?: number, _height?: number) {\n const image = this.CanvasKit.MakeImageFromCanvasImageSource(\n (svg as JsiSkSVG).ref\n );\n this.ref.drawImage(image, 0, 0);\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n paint ? JsiSkPaint.fromValue(paint) : undefined,\n bounds ? JsiSkRect.fromValue(this.CanvasKit, bounds) : bounds,\n backdrop ? JsiSkImageFilter.fromValue(backdrop) : backdrop,\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(\n color,\n blendMode ? getEnum(this.CanvasKit, \"BlendMode\", blendMode) : undefined\n );\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(\n JsiSkPath.fromValue(path),\n getEnum(this.CanvasKit, \"PathOp\", op),\n doAntiAlias\n );\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n getEnum(this.CanvasKit, \"PathOp\", op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: InputRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n getEnum(this.CanvasKit, \"PathOp\", op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix | number[]) {\n this.ref.concat(Array.isArray(m) ? m : JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n\n drawAtlas(\n atlas: SkImage,\n srcs: SkRect[],\n dsts: SkRSXform[],\n paint: SkPaint,\n blendMode?: BlendMode,\n colors?: SkColor[],\n sampling?: CubicResampler | FilterOptions\n ) {\n const src = srcs.flatMap((s) =>\n Array.from(JsiSkRect.fromValue(this.CanvasKit, s))\n );\n const dst = dsts.flatMap((s) => Array.from(JsiSkRSXform.fromValue(s)));\n let cls: Uint32Array | undefined;\n if (colors) {\n cls = new Uint32Array(colors.length);\n for (let i = 0; i < colors.length; i++) {\n const [r, g, b, a] = colors[i];\n cls[i] = this.CanvasKit.ColorAsInt(r * 255, g * 255, b * 255, a * 255);\n }\n }\n let ckSampling: CKCubicResampler | CKFilterOptions = {\n filter: this.CanvasKit.FilterMode.Linear,\n mipmap: this.CanvasKit.MipmapMode.None,\n };\n if (sampling && isCubicSampling(sampling)) {\n ckSampling = sampling;\n } else if (sampling) {\n ckSampling = {\n filter: getEnum(this.CanvasKit, \"FilterMode\", sampling.filter),\n mipmap: sampling.mipmap\n ? getEnum(this.CanvasKit, \"MipmapMode\", sampling.mipmap)\n : this.CanvasKit.MipmapMode.None,\n };\n }\n this.ref.drawAtlas(\n JsiSkImage.fromValue(atlas),\n src,\n dst,\n JsiSkPaint.fromValue(paint),\n blendMode\n ? getEnum(this.CanvasKit, \"BlendMode\", blendMode)\n : this.CanvasKit.BlendMode.DstOver,\n cls,\n ckSampling\n );\n }\n\n readPixels(srcX: number, srcY: number, imageInfo: ImageInfo) {\n const pxInfo = {\n width: imageInfo.width,\n height: imageInfo.height,\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n alphaType: getEnum(this.CanvasKit, \"AlphaType\", imageInfo.alphaType),\n colorType: getEnum(this.CanvasKit, \"ColorType\", imageInfo.colorType),\n };\n return this.ref.readPixels(srcX, srcY, pxInfo);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isCubicSampling","getEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkRSXform","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","undefined","restoreToCount","saveCount","getTotalMatrix","Float32Array","of","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","pathFromValue","delete","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","isArray","drawPicture","skp","drawAtlas","atlas","srcs","dsts","sampling","s","dst","cls","Uint32Array","length","i","r","g","b","a","ColorAsInt","ckSampling","FilterMode","Linear","mipmap","MipmapMode","None","BlendMode","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","colorType"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type {\n Canvas,\n CanvasKit,\n CubicResampler as CKCubicResampler,\n FilterOptions as CKFilterOptions,\n} from \"canvaskit-wasm\";\n\nimport {\n type BlendMode,\n type ClipOp,\n type FilterMode,\n type MipmapMode,\n type PointMode,\n type SaveLayerFlag,\n type ImageInfo,\n type SkCanvas,\n type SkColor,\n type SkFont,\n type SkImage,\n type SkImageFilter,\n type SkMatrix,\n type SkPaint,\n type SkPath,\n type SkPicture,\n type SkPoint,\n type SkRect,\n type InputRRect,\n type SkSVG,\n type SkTextBlob,\n type SkVertices,\n type SkRSXform,\n type CubicResampler,\n type FilterOptions,\n isCubicSampling,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport type { JsiSkSVG } from \"./JsiSkSVG\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n JsiSkImage.fromValue(img),\n left,\n top,\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", filter),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n getEnum(this.CanvasKit, \"BlendMode\", mode),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode ? getEnum(this.CanvasKit, \"BlendMode\", mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n getTotalMatrix(): SkMatrix {\n return new JsiSkMatrix(\n this.CanvasKit,\n Float32Array.of(...this.ref.getTotalMatrix())\n );\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n getEnum(this.CanvasKit, \"PointMode\", mode),\n points.map(({ x, y }) => [x, y]).flat(),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngle,\n sweepAngle,\n useCenter,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawRRect(rrect: InputRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: InputRRect, inner: InputRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n const p = JsiSkPath.pathFromValue(path);\n this.ref.drawPath(p, JsiSkPaint.fromValue(paint));\n p.delete();\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(svg: SkSVG, _width?: number, _height?: number) {\n const image = this.CanvasKit.MakeImageFromCanvasImageSource(\n (svg as JsiSkSVG).ref\n );\n this.ref.drawImage(image, 0, 0);\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n paint ? JsiSkPaint.fromValue(paint) : undefined,\n bounds ? JsiSkRect.fromValue(this.CanvasKit, bounds) : bounds,\n backdrop ? JsiSkImageFilter.fromValue(backdrop) : backdrop,\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(\n color,\n blendMode ? getEnum(this.CanvasKit, \"BlendMode\", blendMode) : undefined\n );\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n const p = JsiSkPath.pathFromValue(path);\n this.ref.clipPath(p, getEnum(this.CanvasKit, \"PathOp\", op), doAntiAlias);\n p.delete();\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n getEnum(this.CanvasKit, \"PathOp\", op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: InputRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n getEnum(this.CanvasKit, \"PathOp\", op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix | number[]) {\n this.ref.concat(Array.isArray(m) ? m : JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n\n drawAtlas(\n atlas: SkImage,\n srcs: SkRect[],\n dsts: SkRSXform[],\n paint: SkPaint,\n blendMode?: BlendMode,\n colors?: SkColor[],\n sampling?: CubicResampler | FilterOptions\n ) {\n const src = srcs.flatMap((s) =>\n Array.from(JsiSkRect.fromValue(this.CanvasKit, s))\n );\n const dst = dsts.flatMap((s) => Array.from(JsiSkRSXform.fromValue(s)));\n let cls: Uint32Array | undefined;\n if (colors) {\n cls = new Uint32Array(colors.length);\n for (let i = 0; i < colors.length; i++) {\n const [r, g, b, a] = colors[i];\n cls[i] = this.CanvasKit.ColorAsInt(r * 255, g * 255, b * 255, a * 255);\n }\n }\n let ckSampling: CKCubicResampler | CKFilterOptions = {\n filter: this.CanvasKit.FilterMode.Linear,\n mipmap: this.CanvasKit.MipmapMode.None,\n };\n if (sampling && isCubicSampling(sampling)) {\n ckSampling = sampling;\n } else if (sampling) {\n ckSampling = {\n filter: getEnum(this.CanvasKit, \"FilterMode\", sampling.filter),\n mipmap: sampling.mipmap\n ? getEnum(this.CanvasKit, \"MipmapMode\", sampling.mipmap)\n : this.CanvasKit.MipmapMode.None,\n };\n }\n this.ref.drawAtlas(\n JsiSkImage.fromValue(atlas),\n src,\n dst,\n JsiSkPaint.fromValue(paint),\n blendMode\n ? getEnum(this.CanvasKit, \"BlendMode\", blendMode)\n : this.CanvasKit.BlendMode.DstOver,\n cls,\n ckSampling\n );\n }\n\n readPixels(srcX: number, srcY: number, imageInfo: ImageInfo) {\n const pxInfo = {\n width: imageInfo.width,\n height: imageInfo.height,\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n alphaType: getEnum(this.CanvasKit, \"AlphaType\", imageInfo.alphaType),\n colorType: getEnum(this.CanvasKit, \"ColorType\", imageInfo.colorType),\n };\n return this.ref.readPixels(srcX, srcY, pxInfo);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,10 @@ export class JsiSkContourMeasure extends HostObject {
10
10
  return [new JsiSkPoint(this.CanvasKit, posTan.slice(0, 2)), new JsiSkPoint(this.CanvasKit, posTan.slice(2))];
11
11
  }
12
12
  getSegment(startD, stopD, startWithMoveTo) {
13
- return new JsiSkPath(this.CanvasKit, this.ref.getSegment(startD, stopD, startWithMoveTo));
13
+ const segment = this.ref.getSegment(startD, stopD, startWithMoveTo);
14
+ const builder = new this.CanvasKit.PathBuilder(segment);
15
+ segment.delete();
16
+ return new JsiSkPath(this.CanvasKit, builder);
14
17
  }
15
18
  isClosed() {
16
19
  return this.ref.isClosed();
@@ -1 +1 @@
1
- {"version":3,"names":["HostObject","JsiSkPath","JsiSkPoint","JsiSkContourMeasure","constructor","CanvasKit","ref","getPosTan","distance","posTan","slice","getSegment","startD","stopD","startWithMoveTo","isClosed","length"],"sources":["JsiSkContourMeasure.ts"],"sourcesContent":["import type { CanvasKit, ContourMeasure } from \"canvaskit-wasm\";\n\nimport type { SkContourMeasure } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\n\nexport class JsiSkContourMeasure\n extends HostObject<ContourMeasure, \"ContourMeasure\">\n implements SkContourMeasure\n{\n constructor(CanvasKit: CanvasKit, ref: ContourMeasure) {\n super(CanvasKit, ref, \"ContourMeasure\");\n }\n\n getPosTan(distance: number): [position: JsiSkPoint, tangent: JsiSkPoint] {\n const posTan = this.ref.getPosTan(distance);\n return [\n new JsiSkPoint(this.CanvasKit, posTan.slice(0, 2)),\n new JsiSkPoint(this.CanvasKit, posTan.slice(2)),\n ];\n }\n\n getSegment(startD: number, stopD: number, startWithMoveTo: boolean) {\n return new JsiSkPath(\n this.CanvasKit,\n this.ref.getSegment(startD, stopD, startWithMoveTo)\n );\n }\n\n isClosed() {\n return this.ref.isClosed();\n }\n\n length() {\n return this.ref.length();\n }\n}\n"],"mappings":"AAIA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,mBAAmB,SACtBH,UAAU,CAEpB;EACEI,WAAWA,CAACC,SAAoB,EAAEC,GAAmB,EAAE;IACrD,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,gBAAgB,CAAC;EACzC;EAEAC,SAASA,CAACC,QAAgB,EAA+C;IACvE,MAAMC,MAAM,GAAG,IAAI,CAACH,GAAG,CAACC,SAAS,CAACC,QAAQ,CAAC;IAC3C,OAAO,CACL,IAAIN,UAAU,CAAC,IAAI,CAACG,SAAS,EAAEI,MAAM,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAClD,IAAIR,UAAU,CAAC,IAAI,CAACG,SAAS,EAAEI,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAChD;EACH;EAEAC,UAAUA,CAACC,MAAc,EAAEC,KAAa,EAAEC,eAAwB,EAAE;IAClE,OAAO,IAAIb,SAAS,CAClB,IAAI,CAACI,SAAS,EACd,IAAI,CAACC,GAAG,CAACK,UAAU,CAACC,MAAM,EAAEC,KAAK,EAAEC,eAAe,CACpD,CAAC;EACH;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACT,GAAG,CAACS,QAAQ,CAAC,CAAC;EAC5B;EAEAC,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACV,GAAG,CAACU,MAAM,CAAC,CAAC;EAC1B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["HostObject","JsiSkPath","JsiSkPoint","JsiSkContourMeasure","constructor","CanvasKit","ref","getPosTan","distance","posTan","slice","getSegment","startD","stopD","startWithMoveTo","segment","builder","PathBuilder","delete","isClosed","length"],"sources":["JsiSkContourMeasure.ts"],"sourcesContent":["import type { CanvasKit, ContourMeasure } from \"canvaskit-wasm\";\n\nimport type { SkContourMeasure } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\n\nexport class JsiSkContourMeasure\n extends HostObject<ContourMeasure, \"ContourMeasure\">\n implements SkContourMeasure\n{\n constructor(CanvasKit: CanvasKit, ref: ContourMeasure) {\n super(CanvasKit, ref, \"ContourMeasure\");\n }\n\n getPosTan(distance: number): [position: JsiSkPoint, tangent: JsiSkPoint] {\n const posTan = this.ref.getPosTan(distance);\n return [\n new JsiSkPoint(this.CanvasKit, posTan.slice(0, 2)),\n new JsiSkPoint(this.CanvasKit, posTan.slice(2)),\n ];\n }\n\n getSegment(startD: number, stopD: number, startWithMoveTo: boolean) {\n const segment = this.ref.getSegment(startD, stopD, startWithMoveTo);\n const builder = new this.CanvasKit.PathBuilder(segment);\n segment.delete();\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n isClosed() {\n return this.ref.isClosed();\n }\n\n length() {\n return this.ref.length();\n }\n}\n"],"mappings":"AAIA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,mBAAmB,SACtBH,UAAU,CAEpB;EACEI,WAAWA,CAACC,SAAoB,EAAEC,GAAmB,EAAE;IACrD,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,gBAAgB,CAAC;EACzC;EAEAC,SAASA,CAACC,QAAgB,EAA+C;IACvE,MAAMC,MAAM,GAAG,IAAI,CAACH,GAAG,CAACC,SAAS,CAACC,QAAQ,CAAC;IAC3C,OAAO,CACL,IAAIN,UAAU,CAAC,IAAI,CAACG,SAAS,EAAEI,MAAM,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAClD,IAAIR,UAAU,CAAC,IAAI,CAACG,SAAS,EAAEI,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAChD;EACH;EAEAC,UAAUA,CAACC,MAAc,EAAEC,KAAa,EAAEC,eAAwB,EAAE;IAClE,MAAMC,OAAO,GAAG,IAAI,CAACT,GAAG,CAACK,UAAU,CAACC,MAAM,EAAEC,KAAK,EAAEC,eAAe,CAAC;IACnE,MAAME,OAAO,GAAG,IAAI,IAAI,CAACX,SAAS,CAACY,WAAW,CAACF,OAAO,CAAC;IACvDA,OAAO,CAACG,MAAM,CAAC,CAAC;IAChB,OAAO,IAAIjB,SAAS,CAAC,IAAI,CAACI,SAAS,EAAEW,OAAO,CAAC;EAC/C;EAEAG,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACb,GAAG,CAACa,QAAQ,CAAC,CAAC;EAC5B;EAEAC,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACd,GAAG,CAACc,MAAM,CAAC,CAAC;EAC1B;AACF","ignoreList":[]}
@@ -1,57 +1,69 @@
1
- import type { CanvasKit, Path } from "canvaskit-wasm";
1
+ import type { CanvasKit, PathBuilder as CKPathBuilder } from "canvaskit-wasm";
2
2
  import type { FillType, PathCommand, PathOp, SkMatrix, SkPath, SkPoint, SkRect, InputRRect, StrokeOpts, InputMatrix } from "../types";
3
3
  import { HostObject } from "./Host";
4
- import { JsiSkPoint } from "./JsiSkPoint";
5
4
  import { JsiSkRect } from "./JsiSkRect";
6
- export declare class JsiSkPath extends HostObject<Path, "Path"> implements SkPath {
7
- constructor(CanvasKit: CanvasKit, ref: Path);
5
+ export declare const toMatrix3x3: (m: InputMatrix) => number[];
6
+ /**
7
+ * SkPath wraps a CK PathBuilder internally, providing both mutable building
8
+ * methods and immutable query methods. Use snapshot() internally to get
9
+ * an immutable CK Path for read-only operations.
10
+ */
11
+ export declare class JsiSkPath extends HostObject<CKPathBuilder, "Path"> implements SkPath {
12
+ constructor(CanvasKit: CanvasKit, ref: CKPathBuilder);
13
+ /** Returns an immutable CK Path snapshot for read-only operations. */
14
+ private asPath;
15
+ /** Extract an immutable CK Path from a JsiSkPath value (for CK interop). */
16
+ static pathFromValue(value: SkPath): import("canvaskit-wasm").Path;
8
17
  addPath(src: SkPath, matrix?: SkMatrix, extend?: boolean): this;
9
18
  addArc(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number): this;
10
19
  addOval(oval: SkRect, isCCW?: boolean, startIndex?: number): this;
11
- countPoints(): number;
12
20
  addPoly(points: SkPoint[], close: boolean): this;
21
+ addRect(rect: SkRect, isCCW?: boolean): this;
22
+ addRRect(rrect: InputRRect, isCCW?: boolean): this;
23
+ addCircle(x: number, y: number, r: number): this;
13
24
  moveTo(x: number, y: number): this;
14
- lineTo(x: number, y: number): this;
15
- makeAsWinding(): this | null;
16
- offset(dx: number, dy: number): this;
17
- rArcTo(rx: number, ry: number, xAxisRotateInDegrees: number, useSmallArc: boolean, isCCW: boolean, dx: number, dy: number): this;
18
- rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number): this;
19
- rCubicTo(cpx1: number, cpy1: number, cpx2: number, cpy2: number, x: number, y: number): this;
20
25
  rMoveTo(x: number, y: number): this;
26
+ lineTo(x: number, y: number): this;
21
27
  rLineTo(x: number, y: number): this;
28
+ quadTo(x1: number, y1: number, x2: number, y2: number): this;
22
29
  rQuadTo(x1: number, y1: number, x2: number, y2: number): this;
23
- setFillType(fill: FillType): this;
24
- setIsVolatile(volatile: boolean): this;
25
- stroke(opts?: StrokeOpts): this | null;
30
+ conicTo(x1: number, y1: number, x2: number, y2: number, w: number): this;
31
+ rConicTo(x1: number, y1: number, x2: number, y2: number, w: number): this;
32
+ cubicTo(cpx1: number, cpy1: number, cpx2: number, cpy2: number, x: number, y: number): this;
33
+ rCubicTo(cpx1: number, cpy1: number, cpx2: number, cpy2: number, x: number, y: number): this;
26
34
  close(): this;
27
35
  reset(): this;
28
36
  rewind(): this;
29
- computeTightBounds(): SkRect;
30
37
  arcToOval(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number, forceMoveTo: boolean): this;
31
38
  arcToRotated(rx: number, ry: number, xAxisRotateInDegrees: number, useSmallArc: boolean, isCCW: boolean, x: number, y: number): this;
39
+ rArcTo(rx: number, ry: number, xAxisRotateInDegrees: number, useSmallArc: boolean, isCCW: boolean, dx: number, dy: number): this;
32
40
  arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number): this;
33
- conicTo(x1: number, y1: number, x2: number, y2: number, w: number): this;
41
+ setFillType(fill: FillType): this;
42
+ setIsVolatile(_volatile: boolean): this;
43
+ offset(dx: number, dy: number): this;
44
+ transform(m: InputMatrix): this;
45
+ makeAsWinding(): this | null;
46
+ simplify(): boolean;
47
+ op(path: SkPath, op: PathOp): boolean;
48
+ dash(on: number, off: number, phase: number): boolean;
49
+ stroke(opts?: StrokeOpts): this | null;
50
+ trim(start: number, stop: number, isComplement: boolean): this | null;
51
+ countPoints(): number;
52
+ computeTightBounds(): SkRect;
34
53
  contains(x: number, y: number): boolean;
35
54
  copy(): JsiSkPath;
36
- cubicTo(cpx1: number, cpy1: number, cpx2: number, cpy2: number, x: number, y: number): this;
37
- dash(on: number, off: number, phase: number): boolean;
38
55
  equals(other: SkPath): boolean;
39
56
  getBounds(): JsiSkRect;
40
- getFillType(): number;
41
- quadTo(x1: number, y1: number, x2: number, y2: number): this;
42
- addRect(rect: SkRect, isCCW?: boolean): this;
43
- addRRect(rrect: InputRRect, isCCW?: boolean): this;
44
- getPoint(index: number): JsiSkPoint;
57
+ getFillType(): FillType;
58
+ getPoint(index: number): SkPoint;
45
59
  isEmpty(): boolean;
46
60
  isVolatile(): boolean;
47
- addCircle(x: number, y: number, r: number): this;
48
- getLastPt(): JsiSkPoint;
49
- op(path: SkPath, op: PathOp): boolean;
50
- simplify(): boolean;
61
+ getLastPt(): {
62
+ x: number;
63
+ y: number;
64
+ };
51
65
  toSVGString(): string;
52
- trim(start: number, stop: number, isComplement: boolean): this | null;
53
- transform(m: InputMatrix): this;
54
- interpolate(end: SkPath, t: number, output?: SkPath): SkPath | JsiSkPath | null;
55
66
  isInterpolatable(path2: SkPath): boolean;
67
+ interpolate(end: SkPath, weight: number, output?: SkPath): SkPath | null;
56
68
  toCmds(): PathCommand[];
57
69
  }