@shopify/react-native-skia 2.12.0-next.1 → 2.12.0

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 (202) hide show
  1. package/Package.swift +117 -0
  2. package/android/CMakeLists.txt +1 -2
  3. package/android/cpp/rnskia-android/RNSkAndroidPlatformContext.h +0 -10
  4. package/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +9 -12
  5. package/apple/RNSkApplePlatformContext.h +0 -3
  6. package/apple/RNSkApplePlatformContext.mm +0 -11
  7. package/cpp/api/JsiSkApi.h +0 -6
  8. package/cpp/api/JsiSkFont.h +5 -10
  9. package/cpp/api/JsiSkMatrix.h +4 -2
  10. package/cpp/api/JsiSkSVGFactory.h +4 -0
  11. package/cpp/api/recorder/Convertor.h +5 -2
  12. package/cpp/api/recorder/Drawings.h +13 -3
  13. package/cpp/api/recorder/ImageFilters.h +15 -1
  14. package/cpp/api/recorder/Paint.h +8 -1
  15. package/cpp/jsi/JSICache.cpp +99 -0
  16. package/cpp/jsi/JSICache.h +90 -0
  17. package/cpp/jsi/NativeObject.h +38 -87
  18. package/cpp/jsi/ViewProperty.h +0 -24
  19. package/cpp/rnskia/RNDawnContext.h +2 -1
  20. package/cpp/rnskia/RNDawnWindowContext.h +22 -0
  21. package/cpp/rnskia/RNSkManager.cpp +0 -6
  22. package/cpp/rnskia/RNSkPlatformContext.h +0 -3
  23. package/cpp/skia/include/core/RasterContext.h +25 -0
  24. package/cpp/skia/include/core/SkCanvas.h +0 -1
  25. package/cpp/skia/include/core/SkContext.h +62 -0
  26. package/cpp/skia/include/core/SkContextOptions.h +15 -0
  27. package/cpp/skia/include/core/SkMilestone.h +1 -1
  28. package/cpp/skia/include/core/SkPicture.h +36 -18
  29. package/cpp/skia/include/core/SkRecorder.h +8 -0
  30. package/cpp/skia/include/core/SkSerialProcs.h +2 -6
  31. package/cpp/skia/include/effects/SkImageFilters.h +15 -2
  32. package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +73 -47
  33. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +7 -4
  34. package/cpp/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +12 -0
  35. package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +11 -0
  36. package/cpp/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +11 -0
  37. package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +13 -0
  38. package/cpp/skia/include/gpu/graphite/ContextOptions.h +6 -0
  39. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +5 -4
  40. package/cpp/skia/include/gpu/graphite/PrecompileContext.h +9 -1
  41. package/cpp/skia/include/gpu/graphite/Recorder.h +0 -2
  42. package/cpp/skia/include/gpu/graphite/Recording.h +3 -0
  43. package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +8 -0
  44. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +11 -0
  45. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +11 -0
  46. package/cpp/skia/include/private/SkLog.h +1 -19
  47. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +2 -1
  48. package/cpp/skia/include/utils/SkLogHandler.h +53 -0
  49. package/cpp/skia/include/utils/SkNWayCanvas.h +1 -0
  50. package/cpp/skia/modules/skcms/src/Transform_inl.h +9 -10
  51. package/cpp/skia/modules/skcms/src/skcms_internals.h +8 -3
  52. package/cpp/skia/modules/skottie/include/SkottieProperty.h +2 -0
  53. package/cpp/skia/modules/skottie/include/TextShaper.h +1 -0
  54. package/cpp/skia/modules/skshaper/include/SkShaper.h +23 -1
  55. package/include/ReactNativeSkia.h +6 -0
  56. package/lib/commonjs/dom/nodes/datatypes/Rect.js +5 -1
  57. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
  58. package/lib/commonjs/external/reanimated/useVideo.js +8 -2
  59. package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
  60. package/lib/commonjs/renderer/components/Mask.js +3 -9
  61. package/lib/commonjs/renderer/components/Mask.js.map +1 -1
  62. package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -0
  63. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  64. package/lib/commonjs/skia/types/Matrix4.js +7 -2
  65. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  66. package/lib/commonjs/skia/types/Skia.d.ts +1 -6
  67. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  68. package/lib/commonjs/skia/web/JsiSkCanvas.js +4 -4
  69. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  70. package/lib/commonjs/skia/web/JsiSkImage.js +6 -3
  71. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  72. package/lib/commonjs/skia/web/JsiSkPathBuilder.d.ts +1 -1
  73. package/lib/commonjs/skia/web/JsiSkPathBuilder.js +2 -2
  74. package/lib/commonjs/skia/web/JsiSkPathBuilder.js.map +1 -1
  75. package/lib/commonjs/skia/web/JsiSkTextStyle.js +5 -5
  76. package/lib/commonjs/skia/web/JsiSkTextStyle.js.map +1 -1
  77. package/lib/commonjs/skia/web/JsiSkia.js +0 -3
  78. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  79. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +8 -8
  80. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
  81. package/lib/commonjs/sksg/Recorder/DrawingContext.d.ts +1 -0
  82. package/lib/commonjs/sksg/Recorder/DrawingContext.js +15 -0
  83. package/lib/commonjs/sksg/Recorder/DrawingContext.js.map +1 -1
  84. package/lib/commonjs/sksg/Recorder/Player.js +1 -1
  85. package/lib/commonjs/sksg/Recorder/Player.js.map +1 -1
  86. package/lib/commonjs/sksg/Recorder/Visitor.js +6 -1
  87. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  88. package/lib/commonjs/sksg/Recorder/commands/Drawing.js +12 -9
  89. package/lib/commonjs/sksg/Recorder/commands/Drawing.js.map +1 -1
  90. package/lib/commonjs/sksg/Recorder/commands/ImageFilters.js +15 -1
  91. package/lib/commonjs/sksg/Recorder/commands/ImageFilters.js.map +1 -1
  92. package/lib/commonjs/sksg/Recorder/commands/Shaders.js +1 -1
  93. package/lib/commonjs/sksg/Recorder/commands/Shaders.js.map +1 -1
  94. package/lib/commonjs/views/SkiaPictureView.web.js +247 -57
  95. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  96. package/lib/module/dom/nodes/datatypes/Rect.js +5 -1
  97. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  98. package/lib/module/external/reanimated/useVideo.js +8 -2
  99. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  100. package/lib/module/renderer/components/Mask.js +3 -9
  101. package/lib/module/renderer/components/Mask.js.map +1 -1
  102. package/lib/module/skia/types/JsiInstance.d.ts +1 -0
  103. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  104. package/lib/module/skia/types/Matrix4.js +7 -2
  105. package/lib/module/skia/types/Matrix4.js.map +1 -1
  106. package/lib/module/skia/types/Skia.d.ts +1 -6
  107. package/lib/module/skia/types/Skia.js.map +1 -1
  108. package/lib/module/skia/web/JsiSkCanvas.js +4 -4
  109. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  110. package/lib/module/skia/web/JsiSkImage.js +6 -3
  111. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  112. package/lib/module/skia/web/JsiSkPathBuilder.d.ts +1 -1
  113. package/lib/module/skia/web/JsiSkPathBuilder.js +2 -2
  114. package/lib/module/skia/web/JsiSkPathBuilder.js.map +1 -1
  115. package/lib/module/skia/web/JsiSkTextStyle.js +5 -5
  116. package/lib/module/skia/web/JsiSkTextStyle.js.map +1 -1
  117. package/lib/module/skia/web/JsiSkia.js +0 -3
  118. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  119. package/lib/module/skia/web/JsiSkottieAnimation.js +8 -8
  120. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
  121. package/lib/module/sksg/Recorder/DrawingContext.d.ts +1 -0
  122. package/lib/module/sksg/Recorder/DrawingContext.js +15 -0
  123. package/lib/module/sksg/Recorder/DrawingContext.js.map +1 -1
  124. package/lib/module/sksg/Recorder/Player.js +1 -1
  125. package/lib/module/sksg/Recorder/Player.js.map +1 -1
  126. package/lib/module/sksg/Recorder/Visitor.js +6 -1
  127. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  128. package/lib/module/sksg/Recorder/commands/Drawing.js +12 -9
  129. package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
  130. package/lib/module/sksg/Recorder/commands/ImageFilters.js +15 -1
  131. package/lib/module/sksg/Recorder/commands/ImageFilters.js.map +1 -1
  132. package/lib/module/sksg/Recorder/commands/Shaders.js +1 -1
  133. package/lib/module/sksg/Recorder/commands/Shaders.js.map +1 -1
  134. package/lib/module/views/SkiaPictureView.web.js +247 -57
  135. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  136. package/lib/typescript/lib/commonjs/skia/web/JsiSkPathBuilder.d.ts +1 -1
  137. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +0 -1
  138. package/lib/typescript/lib/commonjs/sksg/Recorder/DrawingContext.d.ts +1 -0
  139. package/lib/typescript/lib/module/skia/Skia.web.d.ts +0 -1
  140. package/lib/typescript/lib/module/skia/web/JsiSkPathBuilder.d.ts +1 -1
  141. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +0 -1
  142. package/lib/typescript/lib/module/sksg/Recorder/DrawingContext.d.ts +1 -0
  143. package/lib/typescript/react-native.config.d.ts +3 -0
  144. package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -0
  145. package/lib/typescript/src/skia/types/Skia.d.ts +1 -6
  146. package/lib/typescript/src/skia/web/JsiSkPathBuilder.d.ts +1 -1
  147. package/lib/typescript/src/sksg/Recorder/DrawingContext.d.ts +1 -0
  148. package/package.json +13 -10
  149. package/react-native.config.js +5 -0
  150. package/src/dom/nodes/datatypes/Rect.ts +6 -1
  151. package/src/external/reanimated/useVideo.ts +7 -2
  152. package/src/renderer/components/Mask.tsx +10 -3
  153. package/src/skia/types/JsiInstance.ts +2 -0
  154. package/src/skia/types/Matrix4.ts +6 -2
  155. package/src/skia/types/Skia.ts +1 -7
  156. package/src/skia/web/JsiSkCanvas.ts +11 -6
  157. package/src/skia/web/JsiSkImage.ts +6 -3
  158. package/src/skia/web/JsiSkPathBuilder.ts +2 -2
  159. package/src/skia/web/JsiSkTextStyle.ts +20 -15
  160. package/src/skia/web/JsiSkia.ts +0 -4
  161. package/src/skia/web/JsiSkottieAnimation.ts +8 -8
  162. package/src/sksg/Recorder/DrawingContext.ts +15 -0
  163. package/src/sksg/Recorder/Player.ts +1 -1
  164. package/src/sksg/Recorder/Visitor.ts +9 -6
  165. package/src/sksg/Recorder/commands/Drawing.ts +12 -9
  166. package/src/sksg/Recorder/commands/ImageFilters.ts +20 -1
  167. package/src/sksg/Recorder/commands/Shaders.ts +1 -1
  168. package/src/views/SkiaPictureView.web.tsx +245 -57
  169. package/cpp/api/JsiSkiaContext.h +0 -94
  170. package/cpp/dawn/include/dawn/dawn_proc.h +0 -53
  171. package/cpp/dawn/include/dawn/dawn_proc_table.h +0 -330
  172. package/cpp/dawn/include/dawn/dawn_thread_dispatch_proc.h +0 -47
  173. package/cpp/dawn/include/dawn/dawn_version.h +0 -41
  174. package/cpp/dawn/include/dawn/native/D3D11Backend.h +0 -65
  175. package/cpp/dawn/include/dawn/native/D3D12Backend.h +0 -103
  176. package/cpp/dawn/include/dawn/native/D3DBackend.h +0 -56
  177. package/cpp/dawn/include/dawn/native/DawnNative.h +0 -368
  178. package/cpp/dawn/include/dawn/native/MetalBackend.h +0 -56
  179. package/cpp/dawn/include/dawn/native/NullBackend.h +0 -39
  180. package/cpp/dawn/include/dawn/native/OpenGLBackend.h +0 -89
  181. package/cpp/dawn/include/dawn/native/VulkanBackend.h +0 -183
  182. package/cpp/dawn/include/dawn/native/WebGPUBackend.h +0 -49
  183. package/cpp/dawn/include/dawn/native/dawn_native_export.h +0 -49
  184. package/cpp/dawn/include/dawn/platform/DawnPlatform.h +0 -207
  185. package/cpp/dawn/include/dawn/platform/dawn_platform_export.h +0 -49
  186. package/cpp/dawn/include/dawn/replay/Replay.h +0 -99
  187. package/cpp/dawn/include/dawn/replay/dawn_replay_export.h +0 -49
  188. package/cpp/dawn/include/dawn/webgpu_cpp_print.h +0 -2856
  189. package/cpp/dawn/include/tint/tint.h +0 -91
  190. package/cpp/dawn/include/webgpu/webgpu.h +0 -5029
  191. package/cpp/dawn/include/webgpu/webgpu_cpp.h +0 -10353
  192. package/cpp/dawn/include/webgpu/webgpu_cpp_chained_struct.h +0 -57
  193. package/cpp/dawn/include/webgpu/webgpu_enum_class_bitmasks.h +0 -162
  194. package/cpp/dawn/include/webgpu/webgpu_glfw.h +0 -88
  195. package/cpp/jsi/RuntimeAwareCache.cpp +0 -7
  196. package/cpp/jsi/RuntimeAwareCache.h +0 -117
  197. package/cpp/jsi/RuntimeLifecycleMonitor.cpp +0 -72
  198. package/cpp/jsi/RuntimeLifecycleMonitor.h +0 -32
  199. package/cpp/skia/src/gpu/graphite/ContextOptionsPriv.h +0 -45
  200. package/cpp/skia/src/gpu/graphite/ResourceTypes.h +0 -360
  201. package/cpp/skia/src/gpu/graphite/TextureProxyView.h +0 -105
  202. package/libs/.graphite +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_Host","_JsiSkPaint","_JsiSkRect","_JsiSkRRect","_JsiSkImage","_JsiSkVertices","_JsiSkPath","_JsiSkFont","_JsiSkTextBlob","_JsiSkPicture","_JsiSkMatrix","_JsiSkImageFilter","_JsiSkPoint","_JsiSkRSXform","JsiSkCanvas","HostObject","constructor","CanvasKit","ref","drawRect","rect","paint","JsiSkRect","fromValue","JsiSkPaint","drawImage","image","x","y","JsiSkImage","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","getEnum","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","JsiSkVertices","drawPatch","cubics","colors","texs","map","flat","flatMap","p","JsiSkPoint","undefined","restoreToCount","saveCount","getTotalMatrix","JsiSkMatrix","Float32Array","of","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","JsiSkRRect","drawDRRect","outer","inner","drawOval","drawPath","path","JsiSkPath","pathFromValue","delete","drawText","str","font","JsiSkFont","drawTextBlob","blob","JsiSkTextBlob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","JsiSkImageFilter","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","JsiSkPicture","drawAtlas","atlas","srcs","dsts","sampling","s","dst","JsiSkRSXform","cls","Uint32Array","length","i","r","g","b","a","ColorAsInt","ckSampling","FilterMode","Linear","mipmap","MipmapMode","None","isCubicSampling","BlendMode","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","colorType","exports"],"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":[]}
1
+ {"version":3,"names":["_types","require","_Host","_JsiSkPaint","_JsiSkRect","_JsiSkRRect","_JsiSkImage","_JsiSkVertices","_JsiSkPath","_JsiSkFont","_JsiSkTextBlob","_JsiSkPicture","_JsiSkMatrix","_JsiSkImageFilter","_JsiSkPoint","_JsiSkRSXform","JsiSkCanvas","HostObject","constructor","CanvasKit","ref","drawRect","rect","paint","JsiSkRect","fromValue","JsiSkPaint","drawImage","image","x","y","JsiSkImage","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","getEnum","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","JsiSkVertices","drawPatch","cubics","colors","texs","map","flat","flatMap","p","JsiSkPoint","undefined","restoreToCount","saveCount","getTotalMatrix","JsiSkMatrix","Float32Array","of","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","JsiSkRRect","drawDRRect","outer","inner","drawOval","drawPath","path","JsiSkPath","pathFromValue","delete","drawText","str","font","JsiSkFont","drawTextBlob","blob","JsiSkTextBlob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","JsiSkImageFilter","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","JsiSkPicture","drawAtlas","atlas","srcs","dsts","sampling","s","dst","JsiSkRSXform","cls","Uint32Array","length","i","r","g","b","a","ColorAsInt","ckSampling","FilterMode","Linear","mipmap","MipmapMode","None","isCubicSampling","BlendMode","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","colorType","exports"],"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 !== undefined && mode !== null\n ? getEnum(this.CanvasKit, \"BlendMode\", mode)\n : 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 !== undefined\n ? getEnum(this.CanvasKit, \"BlendMode\", blendMode)\n : 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:\n sampling.mipmap !== undefined\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 !== undefined\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":[]}
@@ -61,9 +61,12 @@ class JsiSkImage extends _Host.HostObject {
61
61
  }
62
62
  encodeToBytes(fmt, quality) {
63
63
  let result;
64
- if (fmt && quality) {
65
- result = this.ref.encodeToBytes((0, _Host.getEnum)(this.CanvasKit, "ImageFormat", fmt), quality);
66
- } else if (fmt) {
64
+ if (fmt !== undefined && quality !== undefined) {
65
+ // CanvasKit's encodeToBytes() applies `quality || 100`, which would
66
+ // turn a valid quality of 0 into 100. The encoders clamp any quality
67
+ // below 1 up to 1 anyway, so pass 1 to get the same output as 0.
68
+ result = this.ref.encodeToBytes((0, _Host.getEnum)(this.CanvasKit, "ImageFormat", fmt), Math.max(quality, 1));
69
+ } else if (fmt !== undefined) {
67
70
  result = this.ref.encodeToBytes((0, _Host.getEnum)(this.CanvasKit, "ImageFormat", fmt));
68
71
  } else {
69
72
  result = this.ref.encodeToBytes();
@@ -1 +1 @@
1
- {"version":3,"names":["_Host","require","_JsiSkMatrix","_JsiSkShader","toBase64String","bytes","Buffer","from","toString","CHUNK_SIZE","index","length","result","slice","Math","min","String","fromCharCode","apply","btoa","exports","JsiSkImage","HostObject","constructor","CanvasKit","ref","height","width","getImageInfo","info","colorType","value","alphaType","makeShaderOptions","tx","ty","fm","mm","localMatrix","JsiSkShader","getEnum","JsiSkMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","Error","encodeToBase64","readPixels","srcX","srcY","imageInfo","_imageInfo$width","_imageInfo$height","pxInfo","colorSpace","ColorSpace","SRGB","makeNonTextureImage","partialInfo","getColorSpace","pixels","img","MakeImage","getNativeTextureUnstable","console","warn"],"sources":["JsiSkImage.ts"],"sourcesContent":["import type {\n CanvasKit,\n ImageInfo as CKImageInfo,\n Image,\n} from \"canvaskit-wasm\";\n\nimport type {\n FilterMode,\n MipmapMode,\n SkImage,\n SkMatrix,\n SkShader,\n TileMode,\n ImageFormat,\n ImageInfo,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\n// https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/modules/canvaskit/htmlcanvas/util.js\nexport const toBase64String = (bytes: Uint8Array) => {\n if (typeof Buffer !== \"undefined\") {\n // Are we on node?\n return Buffer.from(bytes).toString(\"base64\");\n } else {\n // From https://stackoverflow.com/a/25644409\n // because the naive solution of\n // btoa(String.fromCharCode.apply(null, bytes));\n // would occasionally throw \"Maximum call stack size exceeded\"\n var CHUNK_SIZE = 0x8000; //arbitrary number\n var index = 0;\n var { length } = bytes;\n var result = \"\";\n var slice;\n while (index < length) {\n slice = bytes.slice(index, Math.min(index + CHUNK_SIZE, length));\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result += String.fromCharCode.apply(null, slice as any);\n index += CHUNK_SIZE;\n }\n return btoa(result);\n }\n};\n\nexport class JsiSkImage extends HostObject<Image, \"Image\"> implements SkImage {\n constructor(CanvasKit: CanvasKit, ref: Image) {\n super(CanvasKit, ref, \"Image\");\n }\n\n height() {\n return this.ref.height();\n }\n\n width() {\n return this.ref.width();\n }\n\n getImageInfo(): ImageInfo {\n const info = this.ref.getImageInfo();\n return {\n width: info.width,\n height: info.height,\n colorType: info.colorType.value,\n alphaType: info.alphaType.value,\n };\n }\n\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderOptions(\n getEnum(this.CanvasKit, \"TileMode\", tx),\n getEnum(this.CanvasKit, \"TileMode\", ty),\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderCubic(\n getEnum(this.CanvasKit, \"TileMode\", tx),\n getEnum(this.CanvasKit, \"TileMode\", ty),\n B,\n C,\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n encodeToBytes(fmt?: ImageFormat, quality?: number) {\n let result: Uint8Array | null;\n if (fmt && quality) {\n result = this.ref.encodeToBytes(\n getEnum(this.CanvasKit, \"ImageFormat\", fmt),\n quality\n );\n } else if (fmt) {\n result = this.ref.encodeToBytes(\n getEnum(this.CanvasKit, \"ImageFormat\", fmt)\n );\n } else {\n result = this.ref.encodeToBytes();\n }\n if (!result) {\n throw new Error(\"encodeToBytes failed\");\n }\n return result;\n }\n\n encodeToBase64(fmt?: ImageFormat, quality?: number) {\n const bytes = this.encodeToBytes(fmt, quality);\n return toBase64String(bytes);\n }\n\n // TODO: this is leaking on Web\n // Add signature with allocated buffer\n readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo) {\n const info = this.getImageInfo();\n const pxInfo: CKImageInfo = {\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n width: imageInfo?.width ?? info.width,\n height: imageInfo?.height ?? info.height,\n alphaType: getEnum(\n this.CanvasKit,\n \"AlphaType\",\n (imageInfo ?? info).alphaType\n ),\n colorType: getEnum(\n this.CanvasKit,\n \"ColorType\",\n (imageInfo ?? info).colorType\n ),\n };\n return this.ref.readPixels(srcX ?? 0, srcY ?? 0, pxInfo);\n }\n\n makeNonTextureImage(): SkImage {\n // if the image is already a non-texture image, this is a no-op\n const partialInfo = this.ref.getImageInfo();\n const colorSpace = this.ref.getColorSpace();\n const info = {\n ...partialInfo,\n colorSpace,\n };\n const pixels = this.ref.readPixels(0, 0, info) as Uint8Array | null;\n if (!pixels) {\n throw new Error(\"Could not read pixels from image\");\n }\n const img = this.CanvasKit.MakeImage(info, pixels, info.width * 4);\n if (!img) {\n throw new Error(\"Could not create image from bytes\");\n }\n return new JsiSkImage(this.CanvasKit, img);\n }\n\n getNativeTextureUnstable(): unknown {\n console.warn(\"getBackendTexture is not implemented on Web\");\n return null;\n }\n}\n"],"mappings":";;;;;;AAiBA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA;AACO,MAAMG,cAAc,GAAIC,KAAiB,IAAK;EACnD,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC;IACA,OAAOA,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,QAAQ,CAAC,QAAQ,CAAC;EAC9C,CAAC,MAAM;IACL;IACA;IACA;IACA;IACA,IAAIC,UAAU,GAAG,MAAM,CAAC,CAAC;IACzB,IAAIC,KAAK,GAAG,CAAC;IACb,IAAI;MAAEC;IAAO,CAAC,GAAGN,KAAK;IACtB,IAAIO,MAAM,GAAG,EAAE;IACf,IAAIC,KAAK;IACT,OAAOH,KAAK,GAAGC,MAAM,EAAE;MACrBE,KAAK,GAAGR,KAAK,CAACQ,KAAK,CAACH,KAAK,EAAEI,IAAI,CAACC,GAAG,CAACL,KAAK,GAAGD,UAAU,EAAEE,MAAM,CAAC,CAAC;MAChE;MACAC,MAAM,IAAII,MAAM,CAACC,YAAY,CAACC,KAAK,CAAC,IAAI,EAAEL,KAAY,CAAC;MACvDH,KAAK,IAAID,UAAU;IACrB;IACA,OAAOU,IAAI,CAACP,MAAM,CAAC;EACrB;AACF,CAAC;AAACQ,OAAA,CAAAhB,cAAA,GAAAA,cAAA;AAEK,MAAMiB,UAAU,SAASC,gBAAU,CAAoC;EAC5EC,WAAWA,CAACC,SAAoB,EAAEC,GAAU,EAAE;IAC5C,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,OAAO,CAAC;EAChC;EAEAC,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACD,GAAG,CAACC,MAAM,CAAC,CAAC;EAC1B;EAEAC,KAAKA,CAAA,EAAG;IACN,OAAO,IAAI,CAACF,GAAG,CAACE,KAAK,CAAC,CAAC;EACzB;EAEAC,YAAYA,CAAA,EAAc;IACxB,MAAMC,IAAI,GAAG,IAAI,CAACJ,GAAG,CAACG,YAAY,CAAC,CAAC;IACpC,OAAO;MACLD,KAAK,EAAEE,IAAI,CAACF,KAAK;MACjBD,MAAM,EAAEG,IAAI,CAACH,MAAM;MACnBI,SAAS,EAAED,IAAI,CAACC,SAAS,CAACC,KAAK;MAC/BC,SAAS,EAAEH,IAAI,CAACG,SAAS,CAACD;IAC5B,CAAC;EACH;EAEAE,iBAAiBA,CACfC,EAAY,EACZC,EAAY,EACZC,EAAc,EACdC,EAAc,EACdC,WAAsB,EACZ;IACV,OAAO,IAAIC,wBAAW,CACpB,IAAI,CAACf,SAAS,EACd,IAAI,CAACC,GAAG,CAACQ,iBAAiB,CACxB,IAAAO,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,UAAU,EAAEU,EAAE,CAAC,EACvC,IAAAM,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,UAAU,EAAEW,EAAE,CAAC,EACvC,IAAAK,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,YAAY,EAAEY,EAAE,CAAC,EACzC,IAAAI,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,YAAY,EAAEa,EAAE,CAAC,EACzCC,WAAW,GAAGG,wBAAW,CAACC,SAAS,CAACJ,WAAW,CAAC,GAAGK,SACrD,CACF,CAAC;EACH;EAEAC,eAAeA,CACbV,EAAY,EACZC,EAAY,EACZU,CAAS,EACTC,CAAS,EACTR,WAAsB,EACZ;IACV,OAAO,IAAIC,wBAAW,CACpB,IAAI,CAACf,SAAS,EACd,IAAI,CAACC,GAAG,CAACmB,eAAe,CACtB,IAAAJ,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,UAAU,EAAEU,EAAE,CAAC,EACvC,IAAAM,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,UAAU,EAAEW,EAAE,CAAC,EACvCU,CAAC,EACDC,CAAC,EACDR,WAAW,GAAGG,wBAAW,CAACC,SAAS,CAACJ,WAAW,CAAC,GAAGK,SACrD,CACF,CAAC;EACH;EAEAI,aAAaA,CAACC,GAAiB,EAAEC,OAAgB,EAAE;IACjD,IAAIrC,MAAyB;IAC7B,IAAIoC,GAAG,IAAIC,OAAO,EAAE;MAClBrC,MAAM,GAAG,IAAI,CAACa,GAAG,CAACsB,aAAa,CAC7B,IAAAP,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,aAAa,EAAEwB,GAAG,CAAC,EAC3CC,OACF,CAAC;IACH,CAAC,MAAM,IAAID,GAAG,EAAE;MACdpC,MAAM,GAAG,IAAI,CAACa,GAAG,CAACsB,aAAa,CAC7B,IAAAP,aAAO,EAAC,IAAI,CAAChB,SAAS,EAAE,aAAa,EAAEwB,GAAG,CAC5C,CAAC;IACH,CAAC,MAAM;MACLpC,MAAM,GAAG,IAAI,CAACa,GAAG,CAACsB,aAAa,CAAC,CAAC;IACnC;IACA,IAAI,CAACnC,MAAM,EAAE;MACX,MAAM,IAAIsC,KAAK,CAAC,sBAAsB,CAAC;IACzC;IACA,OAAOtC,MAAM;EACf;EAEAuC,cAAcA,CAACH,GAAiB,EAAEC,OAAgB,EAAE;IAClD,MAAM5C,KAAK,GAAG,IAAI,CAAC0C,aAAa,CAACC,GAAG,EAAEC,OAAO,CAAC;IAC9C,OAAO7C,cAAc,CAACC,KAAK,CAAC;EAC9B;;EAEA;EACA;EACA+C,UAAUA,CAACC,IAAa,EAAEC,IAAa,EAAEC,SAAqB,EAAE;IAAA,IAAAC,gBAAA,EAAAC,iBAAA;IAC9D,MAAM5B,IAAI,GAAG,IAAI,CAACD,YAAY,CAAC,CAAC;IAChC,MAAM8B,MAAmB,GAAG;MAC1BC,UAAU,EAAE,IAAI,CAACnC,SAAS,CAACoC,UAAU,CAACC,IAAI;MAC1ClC,KAAK,GAAA6B,gBAAA,GAAED,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE5B,KAAK,cAAA6B,gBAAA,cAAAA,gBAAA,GAAI3B,IAAI,CAACF,KAAK;MACrCD,MAAM,GAAA+B,iBAAA,GAAEF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE7B,MAAM,cAAA+B,iBAAA,cAAAA,iBAAA,GAAI5B,IAAI,CAACH,MAAM;MACxCM,SAAS,EAAE,IAAAQ,aAAO,EAChB,IAAI,CAAChB,SAAS,EACd,WAAW,EACX,CAAC+B,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI1B,IAAI,EAAEG,SACtB,CAAC;MACDF,SAAS,EAAE,IAAAU,aAAO,EAChB,IAAI,CAAChB,SAAS,EACd,WAAW,EACX,CAAC+B,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI1B,IAAI,EAAEC,SACtB;IACF,CAAC;IACD,OAAO,IAAI,CAACL,GAAG,CAAC2B,UAAU,CAACC,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,EAAEC,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,EAAEI,MAAM,CAAC;EAC1D;EAEAI,mBAAmBA,CAAA,EAAY;IAC7B;IACA,MAAMC,WAAW,GAAG,IAAI,CAACtC,GAAG,CAACG,YAAY,CAAC,CAAC;IAC3C,MAAM+B,UAAU,GAAG,IAAI,CAAClC,GAAG,CAACuC,aAAa,CAAC,CAAC;IAC3C,MAAMnC,IAAI,GAAG;MACX,GAAGkC,WAAW;MACdJ;IACF,CAAC;IACD,MAAMM,MAAM,GAAG,IAAI,CAACxC,GAAG,CAAC2B,UAAU,CAAC,CAAC,EAAE,CAAC,EAAEvB,IAAI,CAAsB;IACnE,IAAI,CAACoC,MAAM,EAAE;MACX,MAAM,IAAIf,KAAK,CAAC,kCAAkC,CAAC;IACrD;IACA,MAAMgB,GAAG,GAAG,IAAI,CAAC1C,SAAS,CAAC2C,SAAS,CAACtC,IAAI,EAAEoC,MAAM,EAAEpC,IAAI,CAACF,KAAK,GAAG,CAAC,CAAC;IAClE,IAAI,CAACuC,GAAG,EAAE;MACR,MAAM,IAAIhB,KAAK,CAAC,mCAAmC,CAAC;IACtD;IACA,OAAO,IAAI7B,UAAU,CAAC,IAAI,CAACG,SAAS,EAAE0C,GAAG,CAAC;EAC5C;EAEAE,wBAAwBA,CAAA,EAAY;IAClCC,OAAO,CAACC,IAAI,CAAC,6CAA6C,CAAC;IAC3D,OAAO,IAAI;EACb;AACF;AAAClD,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Host","require","_JsiSkMatrix","_JsiSkShader","toBase64String","bytes","Buffer","from","toString","CHUNK_SIZE","index","length","result","slice","Math","min","String","fromCharCode","apply","btoa","exports","JsiSkImage","HostObject","constructor","CanvasKit","ref","height","width","getImageInfo","info","colorType","value","alphaType","makeShaderOptions","tx","ty","fm","mm","localMatrix","JsiSkShader","getEnum","JsiSkMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","max","Error","encodeToBase64","readPixels","srcX","srcY","imageInfo","_imageInfo$width","_imageInfo$height","pxInfo","colorSpace","ColorSpace","SRGB","makeNonTextureImage","partialInfo","getColorSpace","pixels","img","MakeImage","getNativeTextureUnstable","console","warn"],"sources":["JsiSkImage.ts"],"sourcesContent":["import type {\n CanvasKit,\n ImageInfo as CKImageInfo,\n Image,\n} from \"canvaskit-wasm\";\n\nimport type {\n FilterMode,\n MipmapMode,\n SkImage,\n SkMatrix,\n SkShader,\n TileMode,\n ImageFormat,\n ImageInfo,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\n// https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/modules/canvaskit/htmlcanvas/util.js\nexport const toBase64String = (bytes: Uint8Array) => {\n if (typeof Buffer !== \"undefined\") {\n // Are we on node?\n return Buffer.from(bytes).toString(\"base64\");\n } else {\n // From https://stackoverflow.com/a/25644409\n // because the naive solution of\n // btoa(String.fromCharCode.apply(null, bytes));\n // would occasionally throw \"Maximum call stack size exceeded\"\n var CHUNK_SIZE = 0x8000; //arbitrary number\n var index = 0;\n var { length } = bytes;\n var result = \"\";\n var slice;\n while (index < length) {\n slice = bytes.slice(index, Math.min(index + CHUNK_SIZE, length));\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result += String.fromCharCode.apply(null, slice as any);\n index += CHUNK_SIZE;\n }\n return btoa(result);\n }\n};\n\nexport class JsiSkImage extends HostObject<Image, \"Image\"> implements SkImage {\n constructor(CanvasKit: CanvasKit, ref: Image) {\n super(CanvasKit, ref, \"Image\");\n }\n\n height() {\n return this.ref.height();\n }\n\n width() {\n return this.ref.width();\n }\n\n getImageInfo(): ImageInfo {\n const info = this.ref.getImageInfo();\n return {\n width: info.width,\n height: info.height,\n colorType: info.colorType.value,\n alphaType: info.alphaType.value,\n };\n }\n\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderOptions(\n getEnum(this.CanvasKit, \"TileMode\", tx),\n getEnum(this.CanvasKit, \"TileMode\", ty),\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderCubic(\n getEnum(this.CanvasKit, \"TileMode\", tx),\n getEnum(this.CanvasKit, \"TileMode\", ty),\n B,\n C,\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n encodeToBytes(fmt?: ImageFormat, quality?: number) {\n let result: Uint8Array | null;\n if (fmt !== undefined && quality !== undefined) {\n // CanvasKit's encodeToBytes() applies `quality || 100`, which would\n // turn a valid quality of 0 into 100. The encoders clamp any quality\n // below 1 up to 1 anyway, so pass 1 to get the same output as 0.\n result = this.ref.encodeToBytes(\n getEnum(this.CanvasKit, \"ImageFormat\", fmt),\n Math.max(quality, 1)\n );\n } else if (fmt !== undefined) {\n result = this.ref.encodeToBytes(\n getEnum(this.CanvasKit, \"ImageFormat\", fmt)\n );\n } else {\n result = this.ref.encodeToBytes();\n }\n if (!result) {\n throw new Error(\"encodeToBytes failed\");\n }\n return result;\n }\n\n encodeToBase64(fmt?: ImageFormat, quality?: number) {\n const bytes = this.encodeToBytes(fmt, quality);\n return toBase64String(bytes);\n }\n\n // TODO: this is leaking on Web\n // Add signature with allocated buffer\n readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo) {\n const info = this.getImageInfo();\n const pxInfo: CKImageInfo = {\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n width: imageInfo?.width ?? info.width,\n height: imageInfo?.height ?? info.height,\n alphaType: getEnum(\n this.CanvasKit,\n \"AlphaType\",\n (imageInfo ?? info).alphaType\n ),\n colorType: getEnum(\n this.CanvasKit,\n \"ColorType\",\n (imageInfo ?? info).colorType\n ),\n };\n return this.ref.readPixels(srcX ?? 0, srcY ?? 0, pxInfo);\n }\n\n makeNonTextureImage(): SkImage {\n // if the image is already a non-texture image, this is a no-op\n const partialInfo = this.ref.getImageInfo();\n const colorSpace = this.ref.getColorSpace();\n const info = {\n ...partialInfo,\n colorSpace,\n };\n const pixels = this.ref.readPixels(0, 0, info) as Uint8Array | null;\n if (!pixels) {\n throw new Error(\"Could not read pixels from image\");\n }\n const img = this.CanvasKit.MakeImage(info, pixels, info.width * 4);\n if (!img) {\n throw new Error(\"Could not create image from bytes\");\n }\n return new JsiSkImage(this.CanvasKit, img);\n }\n\n getNativeTextureUnstable(): unknown {\n console.warn(\"getBackendTexture is not implemented on Web\");\n return null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -25,7 +25,7 @@ export declare class JsiSkPathBuilder extends HostObject<CKPathBuilder, "PathBui
25
25
  addOval(oval: SkRect, isCCW?: boolean, startIndex?: number): this;
26
26
  addArc(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number): this;
27
27
  addRRect(rrect: InputRRect, isCCW?: boolean): this;
28
- addCircle(x: number, y: number, r: number, _isCCW?: boolean): this;
28
+ addCircle(x: number, y: number, r: number, isCCW?: boolean): this;
29
29
  addPoly(points: SkPoint[], close: boolean): this;
30
30
  addPath(src: SkPath, matrix?: SkMatrix, extend?: boolean): this;
31
31
  setFillType(fill: FillType): this;
@@ -101,8 +101,8 @@ class JsiSkPathBuilder extends _Host.HostObject {
101
101
  this.ref.addRRect(_JsiSkRRect.JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);
102
102
  return this;
103
103
  }
104
- addCircle(x, y, r, _isCCW) {
105
- this.ref.addCircle(x, y, r);
104
+ addCircle(x, y, r, isCCW) {
105
+ this.ref.addCircle(x, y, r, isCCW);
106
106
  return this;
107
107
  }
108
108
  addPoly(points, close) {
@@ -1 +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":[]}
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","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, isCCW);\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":[]}
@@ -11,20 +11,20 @@ class JsiSkTextStyle {
11
11
  color: value.color,
12
12
  decoration: value.decoration,
13
13
  decorationColor: value.decorationColor,
14
- decorationStyle: value.decorationStyle ? {
14
+ decorationStyle: value.decorationStyle !== undefined ? {
15
15
  value: value.decorationStyle
16
16
  } : undefined,
17
17
  decorationThickness: value.decorationThickness,
18
18
  fontFamilies: value.fontFamilies,
19
19
  fontSize: value.fontSize,
20
20
  fontStyle: value.fontStyle ? {
21
- slant: value.fontStyle.slant ? {
21
+ slant: value.fontStyle.slant !== undefined ? {
22
22
  value: value.fontStyle.slant
23
23
  } : undefined,
24
- weight: value.fontStyle.weight ? {
24
+ weight: value.fontStyle.weight !== undefined ? {
25
25
  value: value.fontStyle.weight
26
26
  } : undefined,
27
- width: value.fontStyle.width ? {
27
+ width: value.fontStyle.width !== undefined ? {
28
28
  value: value.fontStyle.width
29
29
  } : undefined
30
30
  } : undefined,
@@ -40,7 +40,7 @@ class JsiSkTextStyle {
40
40
  color: shadow.color,
41
41
  offset: shadow.offset ? [shadow.offset.x, shadow.offset.y] : undefined
42
42
  })) : undefined,
43
- textBaseline: value.textBaseline ? {
43
+ textBaseline: value.textBaseline !== undefined ? {
44
44
  value: value.textBaseline
45
45
  } : undefined,
46
46
  wordSpacing: value.wordSpacing
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkTextStyle","toTextStyle","value","backgroundColor","color","decoration","decorationColor","decorationStyle","undefined","decorationThickness","fontFamilies","fontSize","fontStyle","slant","weight","width","fontFeatures","foregroundColor","fontVariations","halfLeading","heightMultiplier","letterSpacing","locale","shadows","map","shadow","blurRadius","offset","x","y","textBaseline","wordSpacing","exports"],"sources":["JsiSkTextStyle.ts"],"sourcesContent":["import type { TextStyle } from \"canvaskit-wasm\";\n\nimport type { SkTextStyle } from \"../types\";\n\nexport class JsiSkTextStyle {\n static toTextStyle(value: SkTextStyle): TextStyle {\n return {\n backgroundColor: value.backgroundColor,\n color: value.color,\n decoration: value.decoration,\n decorationColor: value.decorationColor,\n decorationStyle: value.decorationStyle\n ? { value: value.decorationStyle }\n : undefined,\n decorationThickness: value.decorationThickness,\n fontFamilies: value.fontFamilies,\n fontSize: value.fontSize,\n fontStyle: value.fontStyle\n ? {\n slant: value.fontStyle.slant\n ? { value: value.fontStyle.slant }\n : undefined,\n weight: value.fontStyle.weight\n ? { value: value.fontStyle.weight }\n : undefined,\n width: value.fontStyle.width\n ? { value: value.fontStyle.width }\n : undefined,\n }\n : undefined,\n fontFeatures: value.fontFeatures,\n foregroundColor: value.foregroundColor,\n fontVariations: value.fontVariations,\n halfLeading: value.halfLeading,\n heightMultiplier: value.heightMultiplier,\n letterSpacing: value.letterSpacing,\n locale: value.locale,\n shadows: value.shadows\n ? value.shadows.map((shadow) => ({\n blurRadius: shadow.blurRadius,\n color: shadow.color,\n offset: shadow.offset\n ? [shadow.offset.x, shadow.offset.y]\n : undefined,\n }))\n : undefined,\n textBaseline: value.textBaseline\n ? { value: value.textBaseline }\n : undefined,\n wordSpacing: value.wordSpacing,\n };\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,cAAc,CAAC;EAC1B,OAAOC,WAAWA,CAACC,KAAkB,EAAa;IAChD,OAAO;MACLC,eAAe,EAAED,KAAK,CAACC,eAAe;MACtCC,KAAK,EAAEF,KAAK,CAACE,KAAK;MAClBC,UAAU,EAAEH,KAAK,CAACG,UAAU;MAC5BC,eAAe,EAAEJ,KAAK,CAACI,eAAe;MACtCC,eAAe,EAAEL,KAAK,CAACK,eAAe,GAClC;QAAEL,KAAK,EAAEA,KAAK,CAACK;MAAgB,CAAC,GAChCC,SAAS;MACbC,mBAAmB,EAAEP,KAAK,CAACO,mBAAmB;MAC9CC,YAAY,EAAER,KAAK,CAACQ,YAAY;MAChCC,QAAQ,EAAET,KAAK,CAACS,QAAQ;MACxBC,SAAS,EAAEV,KAAK,CAACU,SAAS,GACtB;QACEC,KAAK,EAAEX,KAAK,CAACU,SAAS,CAACC,KAAK,GACxB;UAAEX,KAAK,EAAEA,KAAK,CAACU,SAAS,CAACC;QAAM,CAAC,GAChCL,SAAS;QACbM,MAAM,EAAEZ,KAAK,CAACU,SAAS,CAACE,MAAM,GAC1B;UAAEZ,KAAK,EAAEA,KAAK,CAACU,SAAS,CAACE;QAAO,CAAC,GACjCN,SAAS;QACbO,KAAK,EAAEb,KAAK,CAACU,SAAS,CAACG,KAAK,GACxB;UAAEb,KAAK,EAAEA,KAAK,CAACU,SAAS,CAACG;QAAM,CAAC,GAChCP;MACN,CAAC,GACDA,SAAS;MACbQ,YAAY,EAAEd,KAAK,CAACc,YAAY;MAChCC,eAAe,EAAEf,KAAK,CAACe,eAAe;MACtCC,cAAc,EAAEhB,KAAK,CAACgB,cAAc;MACpCC,WAAW,EAAEjB,KAAK,CAACiB,WAAW;MAC9BC,gBAAgB,EAAElB,KAAK,CAACkB,gBAAgB;MACxCC,aAAa,EAAEnB,KAAK,CAACmB,aAAa;MAClCC,MAAM,EAAEpB,KAAK,CAACoB,MAAM;MACpBC,OAAO,EAAErB,KAAK,CAACqB,OAAO,GAClBrB,KAAK,CAACqB,OAAO,CAACC,GAAG,CAAEC,MAAM,KAAM;QAC7BC,UAAU,EAAED,MAAM,CAACC,UAAU;QAC7BtB,KAAK,EAAEqB,MAAM,CAACrB,KAAK;QACnBuB,MAAM,EAAEF,MAAM,CAACE,MAAM,GACjB,CAACF,MAAM,CAACE,MAAM,CAACC,CAAC,EAAEH,MAAM,CAACE,MAAM,CAACE,CAAC,CAAC,GAClCrB;MACN,CAAC,CAAC,CAAC,GACHA,SAAS;MACbsB,YAAY,EAAE5B,KAAK,CAAC4B,YAAY,GAC5B;QAAE5B,KAAK,EAAEA,KAAK,CAAC4B;MAAa,CAAC,GAC7BtB,SAAS;MACbuB,WAAW,EAAE7B,KAAK,CAAC6B;IACrB,CAAC;EACH;AACF;AAACC,OAAA,CAAAhC,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["JsiSkTextStyle","toTextStyle","value","backgroundColor","color","decoration","decorationColor","decorationStyle","undefined","decorationThickness","fontFamilies","fontSize","fontStyle","slant","weight","width","fontFeatures","foregroundColor","fontVariations","halfLeading","heightMultiplier","letterSpacing","locale","shadows","map","shadow","blurRadius","offset","x","y","textBaseline","wordSpacing","exports"],"sources":["JsiSkTextStyle.ts"],"sourcesContent":["import type { TextStyle } from \"canvaskit-wasm\";\n\nimport type { SkTextStyle } from \"../types\";\n\nexport class JsiSkTextStyle {\n static toTextStyle(value: SkTextStyle): TextStyle {\n return {\n backgroundColor: value.backgroundColor,\n color: value.color,\n decoration: value.decoration,\n decorationColor: value.decorationColor,\n decorationStyle:\n value.decorationStyle !== undefined\n ? { value: value.decorationStyle }\n : undefined,\n decorationThickness: value.decorationThickness,\n fontFamilies: value.fontFamilies,\n fontSize: value.fontSize,\n fontStyle: value.fontStyle\n ? {\n slant:\n value.fontStyle.slant !== undefined\n ? { value: value.fontStyle.slant }\n : undefined,\n weight:\n value.fontStyle.weight !== undefined\n ? { value: value.fontStyle.weight }\n : undefined,\n width:\n value.fontStyle.width !== undefined\n ? { value: value.fontStyle.width }\n : undefined,\n }\n : undefined,\n fontFeatures: value.fontFeatures,\n foregroundColor: value.foregroundColor,\n fontVariations: value.fontVariations,\n halfLeading: value.halfLeading,\n heightMultiplier: value.heightMultiplier,\n letterSpacing: value.letterSpacing,\n locale: value.locale,\n shadows: value.shadows\n ? value.shadows.map((shadow) => ({\n blurRadius: shadow.blurRadius,\n color: shadow.color,\n offset: shadow.offset\n ? [shadow.offset.x, shadow.offset.y]\n : undefined,\n }))\n : undefined,\n textBaseline:\n value.textBaseline !== undefined\n ? { value: value.textBaseline }\n : undefined,\n wordSpacing: value.wordSpacing,\n };\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,cAAc,CAAC;EAC1B,OAAOC,WAAWA,CAACC,KAAkB,EAAa;IAChD,OAAO;MACLC,eAAe,EAAED,KAAK,CAACC,eAAe;MACtCC,KAAK,EAAEF,KAAK,CAACE,KAAK;MAClBC,UAAU,EAAEH,KAAK,CAACG,UAAU;MAC5BC,eAAe,EAAEJ,KAAK,CAACI,eAAe;MACtCC,eAAe,EACbL,KAAK,CAACK,eAAe,KAAKC,SAAS,GAC/B;QAAEN,KAAK,EAAEA,KAAK,CAACK;MAAgB,CAAC,GAChCC,SAAS;MACfC,mBAAmB,EAAEP,KAAK,CAACO,mBAAmB;MAC9CC,YAAY,EAAER,KAAK,CAACQ,YAAY;MAChCC,QAAQ,EAAET,KAAK,CAACS,QAAQ;MACxBC,SAAS,EAAEV,KAAK,CAACU,SAAS,GACtB;QACEC,KAAK,EACHX,KAAK,CAACU,SAAS,CAACC,KAAK,KAAKL,SAAS,GAC/B;UAAEN,KAAK,EAAEA,KAAK,CAACU,SAAS,CAACC;QAAM,CAAC,GAChCL,SAAS;QACfM,MAAM,EACJZ,KAAK,CAACU,SAAS,CAACE,MAAM,KAAKN,SAAS,GAChC;UAAEN,KAAK,EAAEA,KAAK,CAACU,SAAS,CAACE;QAAO,CAAC,GACjCN,SAAS;QACfO,KAAK,EACHb,KAAK,CAACU,SAAS,CAACG,KAAK,KAAKP,SAAS,GAC/B;UAAEN,KAAK,EAAEA,KAAK,CAACU,SAAS,CAACG;QAAM,CAAC,GAChCP;MACR,CAAC,GACDA,SAAS;MACbQ,YAAY,EAAEd,KAAK,CAACc,YAAY;MAChCC,eAAe,EAAEf,KAAK,CAACe,eAAe;MACtCC,cAAc,EAAEhB,KAAK,CAACgB,cAAc;MACpCC,WAAW,EAAEjB,KAAK,CAACiB,WAAW;MAC9BC,gBAAgB,EAAElB,KAAK,CAACkB,gBAAgB;MACxCC,aAAa,EAAEnB,KAAK,CAACmB,aAAa;MAClCC,MAAM,EAAEpB,KAAK,CAACoB,MAAM;MACpBC,OAAO,EAAErB,KAAK,CAACqB,OAAO,GAClBrB,KAAK,CAACqB,OAAO,CAACC,GAAG,CAAEC,MAAM,KAAM;QAC7BC,UAAU,EAAED,MAAM,CAACC,UAAU;QAC7BtB,KAAK,EAAEqB,MAAM,CAACrB,KAAK;QACnBuB,MAAM,EAAEF,MAAM,CAACE,MAAM,GACjB,CAACF,MAAM,CAACE,MAAM,CAACC,CAAC,EAAEH,MAAM,CAACE,MAAM,CAACE,CAAC,CAAC,GAClCrB;MACN,CAAC,CAAC,CAAC,GACHA,SAAS;MACbsB,YAAY,EACV5B,KAAK,CAAC4B,YAAY,KAAKtB,SAAS,GAC5B;QAAEN,KAAK,EAAEA,KAAK,CAAC4B;MAAa,CAAC,GAC7BtB,SAAS;MACfuB,WAAW,EAAE7B,KAAK,CAAC6B;IACrB,CAAC;EACH;AACF;AAACC,OAAA,CAAAhC,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -93,9 +93,6 @@ const JsiSkApi = CanvasKit => ({
93
93
  NativeBuffer: new _JsiSkNativeBufferFactory.JsiSkNativeBufferFactory(CanvasKit),
94
94
  Skottie: new _JsiSkottieFactory.JsiSkottieFactory(CanvasKit),
95
95
  Video: _JsiVideo.createVideo.bind(null, CanvasKit),
96
- Context: (_surface, _width, _height) => {
97
- return (0, _Host.throwNotImplementedOnRNWeb)();
98
- },
99
96
  Recorder: () => {
100
97
  return (0, _Host.throwNotImplementedOnRNWeb)();
101
98
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_JsiSkPoint","require","_JsiSkPaint","_JsiSkRect","_JsiSkColor","_JsiSkSurfaceFactory","_JsiSkRRect","_JsiSkRSXform","_JsiSkContourMeasureIter","_JsiSkPictureRecorder","_JsiSkPictureFactory","_JsiSkPathFactory","_JsiSkPathBuilderFactory","_JsiSkMatrix","_JsiSkColorFilterFactory","_JsiSkTypefaceFactory","_JsiSkMaskFilterFactory","_JsiSkRuntimeEffectFactory","_JsiSkImageFilterFactory","_JsiSkShaderFactory","_JsiSkPathEffectFactory","_JsiSkDataFactory","_JsiSkImageFactory","_JsiSkSVGFactory","_JsiSkTextBlobFactory","_JsiSkFont","_JsiSkVerticesFactory","_JsiSkPath","_JsiSkTypeface","_JsiSkTypefaceFontProviderFactory","_JsiSkFontMgrFactory","_JsiSkAnimatedImageFactory","_JsiSkParagraphBuilderFactory","_JsiSkNativeBufferFactory","_JsiVideo","_Host","_JsiSkottieFactory","JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","throwNotImplementedOnRNWeb","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","RSXformFromRadians","scale","r","px","py","s","Math","sin","c","cos","Color","ContourMeasureIter","path","forceClosed","resScale","p","JsiSkPath","pathFromValue","iter","JsiSkContourMeasureIter","delete","Paint","paint","JsiSkPaint","setAntiAlias","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","PathBuilder","JsiSkPathBuilderFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","JsiSkTypeface","fromValue","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","AnimatedImage","JsiSkAnimatedImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory","TypefaceFontProvider","JsiSkTypefaceFontProviderFactory","FontMgr","JsiSkFontMgrFactory","ParagraphBuilder","JsiSkParagraphBuilderFactory","NativeBuffer","JsiSkNativeBufferFactory","Skottie","JsiSkottieFactory","Video","createVideo","Context","_surface","_width","_height","Recorder","getNativeDevice","exports"],"sources":["JsiSkia.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n JsiRecorder,\n SkContourMeasureIter,\n Skia,\n SkiaContext,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkPathBuilderFactory } from \"./JsiSkPathBuilderFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { JsiSkTypefaceFontProviderFactory } from \"./JsiSkTypefaceFontProviderFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkAnimatedImageFactory } from \"./JsiSkAnimatedImageFactory\";\nimport { JsiSkParagraphBuilderFactory } from \"./JsiSkParagraphBuilderFactory\";\nimport { JsiSkNativeBufferFactory } from \"./JsiSkNativeBufferFactory\";\nimport { createVideo } from \"./JsiVideo\";\nimport { throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkottieFactory } from \"./JsiSkottieFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect) => {\n return throwNotImplementedOnRNWeb<SkRuntimeShaderBuilder>();\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, rect, rx, ry),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n RSXformFromRadians: (\n scale: number,\n r: number,\n tx: number,\n ty: number,\n px: number,\n py: number\n ) => {\n const s = Math.sin(r) * scale;\n const c = Math.cos(r) * scale;\n return new JsiSkRSXform(\n CanvasKit,\n Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py)\n );\n },\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n (() => {\n const p = JsiSkPath.pathFromValue(path);\n const iter = new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(p, forceClosed, resScale)\n );\n p.delete();\n return iter;\n })(),\n Paint: () => {\n const paint = new JsiSkPaint(CanvasKit, new CanvasKit.Paint());\n paint.setAntiAlias(true);\n return paint;\n },\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n PathBuilder: new JsiSkPathBuilderFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : JsiSkTypeface.fromValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n AnimatedImage: new JsiSkAnimatedImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n TypefaceFontProvider: new JsiSkTypefaceFontProviderFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),\n NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),\n Skottie: new JsiSkottieFactory(CanvasKit),\n Video: createVideo.bind(null, CanvasKit),\n Context: (_surface: bigint, _width: number, _height: number) => {\n return throwNotImplementedOnRNWeb<SkiaContext>();\n },\n Recorder: () => {\n return throwNotImplementedOnRNWeb<JsiRecorder>();\n },\n getNativeDevice: () => {\n return throwNotImplementedOnRNWeb<bigint>();\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_JsiSkPoint","require","_JsiSkPaint","_JsiSkRect","_JsiSkColor","_JsiSkSurfaceFactory","_JsiSkRRect","_JsiSkRSXform","_JsiSkContourMeasureIter","_JsiSkPictureRecorder","_JsiSkPictureFactory","_JsiSkPathFactory","_JsiSkPathBuilderFactory","_JsiSkMatrix","_JsiSkColorFilterFactory","_JsiSkTypefaceFactory","_JsiSkMaskFilterFactory","_JsiSkRuntimeEffectFactory","_JsiSkImageFilterFactory","_JsiSkShaderFactory","_JsiSkPathEffectFactory","_JsiSkDataFactory","_JsiSkImageFactory","_JsiSkSVGFactory","_JsiSkTextBlobFactory","_JsiSkFont","_JsiSkVerticesFactory","_JsiSkPath","_JsiSkTypeface","_JsiSkTypefaceFontProviderFactory","_JsiSkFontMgrFactory","_JsiSkAnimatedImageFactory","_JsiSkParagraphBuilderFactory","_JsiSkNativeBufferFactory","_JsiVideo","_Host","_JsiSkottieFactory","JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","throwNotImplementedOnRNWeb","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","RSXformFromRadians","scale","r","px","py","s","Math","sin","c","cos","Color","ContourMeasureIter","path","forceClosed","resScale","p","JsiSkPath","pathFromValue","iter","JsiSkContourMeasureIter","delete","Paint","paint","JsiSkPaint","setAntiAlias","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","PathBuilder","JsiSkPathBuilderFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","JsiSkTypeface","fromValue","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","AnimatedImage","JsiSkAnimatedImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory","TypefaceFontProvider","JsiSkTypefaceFontProviderFactory","FontMgr","JsiSkFontMgrFactory","ParagraphBuilder","JsiSkParagraphBuilderFactory","NativeBuffer","JsiSkNativeBufferFactory","Skottie","JsiSkottieFactory","Video","createVideo","Recorder","getNativeDevice","exports"],"sources":["JsiSkia.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n JsiRecorder,\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkPathBuilderFactory } from \"./JsiSkPathBuilderFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { JsiSkTypefaceFontProviderFactory } from \"./JsiSkTypefaceFontProviderFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkAnimatedImageFactory } from \"./JsiSkAnimatedImageFactory\";\nimport { JsiSkParagraphBuilderFactory } from \"./JsiSkParagraphBuilderFactory\";\nimport { JsiSkNativeBufferFactory } from \"./JsiSkNativeBufferFactory\";\nimport { createVideo } from \"./JsiVideo\";\nimport { throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkottieFactory } from \"./JsiSkottieFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect) => {\n return throwNotImplementedOnRNWeb<SkRuntimeShaderBuilder>();\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, rect, rx, ry),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n RSXformFromRadians: (\n scale: number,\n r: number,\n tx: number,\n ty: number,\n px: number,\n py: number\n ) => {\n const s = Math.sin(r) * scale;\n const c = Math.cos(r) * scale;\n return new JsiSkRSXform(\n CanvasKit,\n Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py)\n );\n },\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n (() => {\n const p = JsiSkPath.pathFromValue(path);\n const iter = new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(p, forceClosed, resScale)\n );\n p.delete();\n return iter;\n })(),\n Paint: () => {\n const paint = new JsiSkPaint(CanvasKit, new CanvasKit.Paint());\n paint.setAntiAlias(true);\n return paint;\n },\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n PathBuilder: new JsiSkPathBuilderFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : JsiSkTypeface.fromValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n AnimatedImage: new JsiSkAnimatedImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n TypefaceFontProvider: new JsiSkTypefaceFontProviderFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),\n NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),\n Skottie: new JsiSkottieFactory(CanvasKit),\n Video: createVideo.bind(null, CanvasKit),\n Recorder: () => {\n return throwNotImplementedOnRNWeb<JsiRecorder>();\n },\n getNativeDevice: () => {\n return throwNotImplementedOnRNWeb<bigint>();\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -149,28 +149,28 @@ class JsiSkottieAnimation extends _Host.HostObject {
149
149
  if (result.text) {
150
150
  textSlot.text = result.text;
151
151
  }
152
- if (result.textSize) {
152
+ if (result.textSize !== undefined) {
153
153
  textSlot.textSize = result.textSize;
154
154
  }
155
- if (result.minTextSize) {
155
+ if (result.minTextSize !== undefined) {
156
156
  textSlot.minTextSize = result.minTextSize;
157
157
  }
158
- if (result.maxTextSize) {
158
+ if (result.maxTextSize !== undefined) {
159
159
  textSlot.maxTextSize = result.maxTextSize;
160
160
  }
161
- if (result.strokeWidth) {
161
+ if (result.strokeWidth !== undefined) {
162
162
  textSlot.strokeWidth = result.strokeWidth;
163
163
  }
164
- if (result.lineHeight) {
164
+ if (result.lineHeight !== undefined) {
165
165
  textSlot.lineHeight = result.lineHeight;
166
166
  }
167
- if (result.lineShift) {
167
+ if (result.lineShift !== undefined) {
168
168
  textSlot.lineShift = result.lineShift;
169
169
  }
170
- if (result.ascent) {
170
+ if (result.ascent !== undefined) {
171
171
  textSlot.ascent = result.ascent;
172
172
  }
173
- if (result.maxLines) {
173
+ if (result.maxLines !== undefined) {
174
174
  textSlot.maxLines = result.maxLines;
175
175
  }
176
176
  // if (result.horizAlign) {
@@ -1 +1 @@
1
- {"version":3,"names":["_Host","require","_JsiSkTypeface","_JsiSkColor","_JsiSkRect","JsiSkottieAnimation","HostObject","constructor","CanvasKit","ref","getOpacityProps","getTextProps","getColorProps","map","key","value","Color","getTransformProps","anchor","x","y","position","scale","rotation","skew","skewAxis","skew_axis","setColor","color","setText","text","size","setOpacity","opacity","setTransform","a","Float32Array","of","p","s","getSlotInfo","setColorSlot","setScalarSlot","scalar","setVec2Slot","vec2","setTextSlot","_text$text","_text$textSize","_text$minTextSize","_text$maxTextSize","_text$strokeWidth","_text$lineHeight","_text$lineShift","txt","typeface","JsiSkTypeface","textSize","minTextSize","maxTextSize","Number","MAX_VALUE","strokeWidth","lineHeight","lineShift","ascent","maxLines","horizAlign","TextAlign","Left","vertAlign","VerticalTextAlign","Top","strokeJoin","StrokeJoin","Miter","direction","TextDirection","LTR","linebreak","LineBreakType","HardLineBreak","resize","ResizePolicy","None","boundingBox","XYWHRect","width","height","fillColor","TRANSPARENT","strokeColor","setImageSlot","assetName","getColorSlot","getScalarSlot","getVec2Slot","getTextSlot","result","textSlot","duration","fps","render","canvas","dstRect","JsiSkRect","seekFrame","frame","damageRect","version","exports"],"sources":["JsiSkottieAnimation.ts"],"sourcesContent":["import type {\n CanvasKit,\n ManagedSkottieAnimation,\n SlottableTextProperty as CKSlottableTextProperty,\n} from \"canvaskit-wasm\";\n\nimport type {\n SkSkottieAnimation,\n SlotInfo,\n SlottableTextProperty,\n} from \"../types/Skottie\";\nimport type { SkColor, SkPoint, SkRect } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport type { JsiSkCanvas } from \"./JsiSkCanvas\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkottieAnimation\n extends HostObject<ManagedSkottieAnimation, \"SkottieAnimation\">\n implements SkSkottieAnimation\n{\n constructor(CanvasKit: CanvasKit, ref: ManagedSkottieAnimation) {\n super(CanvasKit, ref, \"SkottieAnimation\");\n }\n getOpacityProps() {\n return this.ref.getOpacityProps();\n }\n getTextProps() {\n return this.ref.getTextProps();\n }\n getColorProps() {\n return this.ref\n .getColorProps()\n .map(({ key, value }) => ({ key, value: Color(value) }));\n }\n getTransformProps() {\n return this.ref.getTransformProps().map(({ key, value }) => ({\n key,\n value: {\n anchor: { x: value.anchor[0], y: value.anchor[1] },\n position: { x: value.position[0], y: value.position[1] },\n scale: { x: value.scale[0], y: value.scale[1] },\n rotation: value.rotation,\n skew: value.skew,\n skewAxis: value.skew_axis,\n },\n }));\n }\n setColor(key: string, color: SkColor) {\n return this.ref.setColor(key, color);\n }\n setText(key: string, text: string, size: number) {\n return this.ref.setText(key, text, size);\n }\n setOpacity(key: string, opacity: number) {\n return this.ref.setOpacity(key, opacity);\n }\n setTransform(\n key: string,\n anchor: SkPoint,\n position: SkPoint,\n scale: SkPoint,\n rotation: number,\n skew: number,\n skewAxis: number\n ) {\n const a = Float32Array.of(anchor.x, anchor.y);\n const p = Float32Array.of(position.x, position.y);\n const s = Float32Array.of(scale.x, scale.y);\n return this.ref.setTransform(key, a, p, s, rotation, skew, skewAxis);\n }\n\n getSlotInfo(): SlotInfo {\n return this.ref.getSlotInfo();\n }\n setColorSlot(key: string, color: SkColor) {\n return this.ref.setColorSlot(key, color);\n }\n setScalarSlot(key: string, scalar: number) {\n return this.ref.setScalarSlot(key, scalar);\n }\n setVec2Slot(key: string, vec2: SkPoint) {\n return this.ref.setVec2Slot(key, Float32Array.of(vec2.x, vec2.y));\n }\n setTextSlot(key: string, text: SlottableTextProperty): boolean {\n const txt: CKSlottableTextProperty = {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n typeface:\n text.typeface && text.typeface instanceof JsiSkTypeface\n ? text.typeface.ref\n : null,\n text: text.text ?? \"\",\n textSize: text.textSize ?? 0,\n minTextSize: text.minTextSize ?? 0,\n maxTextSize: text.maxTextSize ?? Number.MAX_VALUE,\n strokeWidth: text.strokeWidth ?? 0,\n lineHeight: text.lineHeight ?? 0,\n lineShift: text.lineShift ?? 0,\n ascent: text.ascent,\n maxLines: text.maxLines,\n // TODO: implement\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n horizAlign: this.CanvasKit.TextAlign.Left,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n vertAlign: this.CanvasKit.VerticalTextAlign.Top,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n strokeJoin: this.CanvasKit.StrokeJoin.Miter,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n direction: this.CanvasKit.TextDirection.LTR,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n linebreak: this.CanvasKit.LineBreakType.HardLineBreak,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n resize: this.CanvasKit.ResizePolicy.None,\n boundingBox: text.boundingBox\n ? this.CanvasKit.XYWHRect(\n text.boundingBox.x,\n text.boundingBox.y,\n text.boundingBox.width,\n text.boundingBox.height\n )\n : [0, 0, 0, 0],\n fillColor: text.fillColor\n ? Color(text.fillColor)\n : this.CanvasKit.TRANSPARENT,\n strokeColor: text.strokeColor\n ? Color(text.strokeColor)\n : this.CanvasKit.TRANSPARENT,\n };\n return this.ref.setTextSlot(key, txt);\n }\n setImageSlot(key: string, assetName: string) {\n return this.ref.setImageSlot(key, assetName);\n }\n getColorSlot(key: string): SkColor | null {\n const color = this.ref.getColorSlot(key);\n return color;\n }\n getScalarSlot(key: string) {\n return this.ref.getScalarSlot(key);\n }\n getVec2Slot(key: string): SkPoint | null {\n const vec2 = this.ref.getVec2Slot(key);\n if (!vec2) {\n return null;\n }\n return { x: vec2[0], y: vec2[1] };\n }\n getTextSlot(key: string): SlottableTextProperty | null {\n const result = this.ref.getTextSlot(key);\n const textSlot: SlottableTextProperty = {};\n if (result) {\n if (result.typeface) {\n textSlot.typeface = new JsiSkTypeface(this.CanvasKit, result.typeface);\n }\n if (result.text) {\n textSlot.text = result.text;\n }\n if (result.textSize) {\n textSlot.textSize = result.textSize;\n }\n if (result.minTextSize) {\n textSlot.minTextSize = result.minTextSize;\n }\n if (result.maxTextSize) {\n textSlot.maxTextSize = result.maxTextSize;\n }\n if (result.strokeWidth) {\n textSlot.strokeWidth = result.strokeWidth;\n }\n if (result.lineHeight) {\n textSlot.lineHeight = result.lineHeight;\n }\n if (result.lineShift) {\n textSlot.lineShift = result.lineShift;\n }\n if (result.ascent) {\n textSlot.ascent = result.ascent;\n }\n if (result.maxLines) {\n textSlot.maxLines = result.maxLines;\n }\n // if (result.horizAlign) {\n // textSlot.horizAlign = result.horizAlign;\n // }\n // if (result.vertAlign) {\n // textSlot.vertAlign = result.vertAlign;\n // }\n // if (result.strokeJoin) {\n // textSlot.strokeJoin = result.strokeJoin;\n // }\n // if (result.direction) {\n // textSlot.direction = result.direction;\n // }\n // if (result.linebreak) {\n // textSlot.linebreak = result.linebreak;\n // }\n // if (result.resize) {\n // textSlot.resize = result.resize;\n // }\n // if (result.boundingBox) {\n // textSlot.boundingBox = new JsiSkRect(\n // this.CanvasKit,\n // result.boundingBox\n // );\n // }\n // if (result.fillColor) {\n // textSlot.fillColor = Color(result.fillColor);\n // }\n // if (result.strokeColor) {\n // textSlot.strokeColor = Color(result.strokeColor);\n // }\n }\n return textSlot;\n }\n\n duration() {\n return this.ref.duration();\n }\n fps() {\n return this.ref.fps();\n }\n render(canvas: JsiSkCanvas, dstRect?: SkRect) {\n const [width, height] = this.ref.size();\n this.ref.render(\n canvas.ref,\n dstRect && dstRect instanceof JsiSkRect\n ? dstRect.ref\n : Float32Array.of(0, 0, width, height)\n );\n }\n seekFrame(frame: number, damageRect?: JsiSkRect) {\n const result = this.ref.seekFrame(frame);\n if (damageRect && damageRect instanceof JsiSkRect) {\n damageRect.ref[0] = result[0];\n damageRect.ref[1] = result[1];\n damageRect.ref[2] = result[2];\n damageRect.ref[3] = result[3];\n }\n }\n size() {\n const [width, height] = this.ref.size();\n return { width, height };\n }\n version() {\n return this.ref.version();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_Host","require","_JsiSkTypeface","_JsiSkColor","_JsiSkRect","JsiSkottieAnimation","HostObject","constructor","CanvasKit","ref","getOpacityProps","getTextProps","getColorProps","map","key","value","Color","getTransformProps","anchor","x","y","position","scale","rotation","skew","skewAxis","skew_axis","setColor","color","setText","text","size","setOpacity","opacity","setTransform","a","Float32Array","of","p","s","getSlotInfo","setColorSlot","setScalarSlot","scalar","setVec2Slot","vec2","setTextSlot","_text$text","_text$textSize","_text$minTextSize","_text$maxTextSize","_text$strokeWidth","_text$lineHeight","_text$lineShift","txt","typeface","JsiSkTypeface","textSize","minTextSize","maxTextSize","Number","MAX_VALUE","strokeWidth","lineHeight","lineShift","ascent","maxLines","horizAlign","TextAlign","Left","vertAlign","VerticalTextAlign","Top","strokeJoin","StrokeJoin","Miter","direction","TextDirection","LTR","linebreak","LineBreakType","HardLineBreak","resize","ResizePolicy","None","boundingBox","XYWHRect","width","height","fillColor","TRANSPARENT","strokeColor","setImageSlot","assetName","getColorSlot","getScalarSlot","getVec2Slot","getTextSlot","result","textSlot","undefined","duration","fps","render","canvas","dstRect","JsiSkRect","seekFrame","frame","damageRect","version","exports"],"sources":["JsiSkottieAnimation.ts"],"sourcesContent":["import type {\n CanvasKit,\n ManagedSkottieAnimation,\n SlottableTextProperty as CKSlottableTextProperty,\n} from \"canvaskit-wasm\";\n\nimport type {\n SkSkottieAnimation,\n SlotInfo,\n SlottableTextProperty,\n} from \"../types/Skottie\";\nimport type { SkColor, SkPoint, SkRect } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport type { JsiSkCanvas } from \"./JsiSkCanvas\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkottieAnimation\n extends HostObject<ManagedSkottieAnimation, \"SkottieAnimation\">\n implements SkSkottieAnimation\n{\n constructor(CanvasKit: CanvasKit, ref: ManagedSkottieAnimation) {\n super(CanvasKit, ref, \"SkottieAnimation\");\n }\n getOpacityProps() {\n return this.ref.getOpacityProps();\n }\n getTextProps() {\n return this.ref.getTextProps();\n }\n getColorProps() {\n return this.ref\n .getColorProps()\n .map(({ key, value }) => ({ key, value: Color(value) }));\n }\n getTransformProps() {\n return this.ref.getTransformProps().map(({ key, value }) => ({\n key,\n value: {\n anchor: { x: value.anchor[0], y: value.anchor[1] },\n position: { x: value.position[0], y: value.position[1] },\n scale: { x: value.scale[0], y: value.scale[1] },\n rotation: value.rotation,\n skew: value.skew,\n skewAxis: value.skew_axis,\n },\n }));\n }\n setColor(key: string, color: SkColor) {\n return this.ref.setColor(key, color);\n }\n setText(key: string, text: string, size: number) {\n return this.ref.setText(key, text, size);\n }\n setOpacity(key: string, opacity: number) {\n return this.ref.setOpacity(key, opacity);\n }\n setTransform(\n key: string,\n anchor: SkPoint,\n position: SkPoint,\n scale: SkPoint,\n rotation: number,\n skew: number,\n skewAxis: number\n ) {\n const a = Float32Array.of(anchor.x, anchor.y);\n const p = Float32Array.of(position.x, position.y);\n const s = Float32Array.of(scale.x, scale.y);\n return this.ref.setTransform(key, a, p, s, rotation, skew, skewAxis);\n }\n\n getSlotInfo(): SlotInfo {\n return this.ref.getSlotInfo();\n }\n setColorSlot(key: string, color: SkColor) {\n return this.ref.setColorSlot(key, color);\n }\n setScalarSlot(key: string, scalar: number) {\n return this.ref.setScalarSlot(key, scalar);\n }\n setVec2Slot(key: string, vec2: SkPoint) {\n return this.ref.setVec2Slot(key, Float32Array.of(vec2.x, vec2.y));\n }\n setTextSlot(key: string, text: SlottableTextProperty): boolean {\n const txt: CKSlottableTextProperty = {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n typeface:\n text.typeface && text.typeface instanceof JsiSkTypeface\n ? text.typeface.ref\n : null,\n text: text.text ?? \"\",\n textSize: text.textSize ?? 0,\n minTextSize: text.minTextSize ?? 0,\n maxTextSize: text.maxTextSize ?? Number.MAX_VALUE,\n strokeWidth: text.strokeWidth ?? 0,\n lineHeight: text.lineHeight ?? 0,\n lineShift: text.lineShift ?? 0,\n ascent: text.ascent,\n maxLines: text.maxLines,\n // TODO: implement\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n horizAlign: this.CanvasKit.TextAlign.Left,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n vertAlign: this.CanvasKit.VerticalTextAlign.Top,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n strokeJoin: this.CanvasKit.StrokeJoin.Miter,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n direction: this.CanvasKit.TextDirection.LTR,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n linebreak: this.CanvasKit.LineBreakType.HardLineBreak,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n resize: this.CanvasKit.ResizePolicy.None,\n boundingBox: text.boundingBox\n ? this.CanvasKit.XYWHRect(\n text.boundingBox.x,\n text.boundingBox.y,\n text.boundingBox.width,\n text.boundingBox.height\n )\n : [0, 0, 0, 0],\n fillColor: text.fillColor\n ? Color(text.fillColor)\n : this.CanvasKit.TRANSPARENT,\n strokeColor: text.strokeColor\n ? Color(text.strokeColor)\n : this.CanvasKit.TRANSPARENT,\n };\n return this.ref.setTextSlot(key, txt);\n }\n setImageSlot(key: string, assetName: string) {\n return this.ref.setImageSlot(key, assetName);\n }\n getColorSlot(key: string): SkColor | null {\n const color = this.ref.getColorSlot(key);\n return color;\n }\n getScalarSlot(key: string) {\n return this.ref.getScalarSlot(key);\n }\n getVec2Slot(key: string): SkPoint | null {\n const vec2 = this.ref.getVec2Slot(key);\n if (!vec2) {\n return null;\n }\n return { x: vec2[0], y: vec2[1] };\n }\n getTextSlot(key: string): SlottableTextProperty | null {\n const result = this.ref.getTextSlot(key);\n const textSlot: SlottableTextProperty = {};\n if (result) {\n if (result.typeface) {\n textSlot.typeface = new JsiSkTypeface(this.CanvasKit, result.typeface);\n }\n if (result.text) {\n textSlot.text = result.text;\n }\n if (result.textSize !== undefined) {\n textSlot.textSize = result.textSize;\n }\n if (result.minTextSize !== undefined) {\n textSlot.minTextSize = result.minTextSize;\n }\n if (result.maxTextSize !== undefined) {\n textSlot.maxTextSize = result.maxTextSize;\n }\n if (result.strokeWidth !== undefined) {\n textSlot.strokeWidth = result.strokeWidth;\n }\n if (result.lineHeight !== undefined) {\n textSlot.lineHeight = result.lineHeight;\n }\n if (result.lineShift !== undefined) {\n textSlot.lineShift = result.lineShift;\n }\n if (result.ascent !== undefined) {\n textSlot.ascent = result.ascent;\n }\n if (result.maxLines !== undefined) {\n textSlot.maxLines = result.maxLines;\n }\n // if (result.horizAlign) {\n // textSlot.horizAlign = result.horizAlign;\n // }\n // if (result.vertAlign) {\n // textSlot.vertAlign = result.vertAlign;\n // }\n // if (result.strokeJoin) {\n // textSlot.strokeJoin = result.strokeJoin;\n // }\n // if (result.direction) {\n // textSlot.direction = result.direction;\n // }\n // if (result.linebreak) {\n // textSlot.linebreak = result.linebreak;\n // }\n // if (result.resize) {\n // textSlot.resize = result.resize;\n // }\n // if (result.boundingBox) {\n // textSlot.boundingBox = new JsiSkRect(\n // this.CanvasKit,\n // result.boundingBox\n // );\n // }\n // if (result.fillColor) {\n // textSlot.fillColor = Color(result.fillColor);\n // }\n // if (result.strokeColor) {\n // textSlot.strokeColor = Color(result.strokeColor);\n // }\n }\n return textSlot;\n }\n\n duration() {\n return this.ref.duration();\n }\n fps() {\n return this.ref.fps();\n }\n render(canvas: JsiSkCanvas, dstRect?: SkRect) {\n const [width, height] = this.ref.size();\n this.ref.render(\n canvas.ref,\n dstRect && dstRect instanceof JsiSkRect\n ? dstRect.ref\n : Float32Array.of(0, 0, width, height)\n );\n }\n seekFrame(frame: number, damageRect?: JsiSkRect) {\n const result = this.ref.seekFrame(frame);\n if (damageRect && damageRect instanceof JsiSkRect) {\n damageRect.ref[0] = result[0];\n damageRect.ref[1] = result[1];\n damageRect.ref[2] = result[2];\n damageRect.ref[3] = result[3];\n }\n }\n size() {\n const [width, height] = this.ref.size();\n return { width, height };\n }\n version() {\n return this.ref.version();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,7 @@ export declare const createDrawingContext: (Skia: Skia, paintPool: SkPaint[], ca
12
12
  paintDeclarations: SkPaint[];
13
13
  paintPool: SkPaint[];
14
14
  savePaint: () => void;
15
+ pushPaint: (paint: SkPaint) => void;
15
16
  saveBackdropFilter: () => void;
16
17
  readonly paint: SkPaint;
17
18
  restorePaint: () => SkPaint | undefined;