@shopify/react-native-skia 2.12.0 → 2.13.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 (103) hide show
  1. package/LICENSE.md +2 -1
  2. package/Package.swift +4 -4
  3. package/android/CMakeLists.txt +22 -177
  4. package/android/build.gradle +40 -209
  5. package/android/cpp/jni/JniSkiaManager.cpp +3 -45
  6. package/android/cpp/jni/include/JniPlatformContext.h +1 -1
  7. package/android/cpp/jni/include/JniSkiaBaseView.h +18 -11
  8. package/android/cpp/jni/include/JniSkiaManager.h +3 -4
  9. package/android/cpp/jni/include/JniSkiaPictureView.h +5 -5
  10. package/android/cpp/rnskia-android/RNSkAndroidView.h +6 -6
  11. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +4 -4
  12. package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +2 -2
  13. package/android/src/main/AndroidManifest.xml +1 -1
  14. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/PlatformContext.java +1 -1
  15. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/RNSkVideo.java +1 -1
  16. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/RNSkiaModule.java +1 -8
  17. package/android/src/main/java/com/reactnative/skia/RNSkiaPackage.java +57 -0
  18. package/android/src/main/java/com/reactnative/skia/SkiaBaseView.java +185 -0
  19. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaBaseViewManager.java +20 -1
  20. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaManager.java +11 -6
  21. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaPictureView.java +3 -3
  22. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaPictureViewManager.java +1 -1
  23. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaSurfaceView.java +13 -3
  24. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaTextureView.java +5 -3
  25. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/SkiaViewAPI.java +1 -1
  26. package/android/src/main/java/com/{shopify/reactnative → reactnative}/skia/ViewScreenshotService.java +1 -1
  27. package/apple/MetalContext.mm +1 -1
  28. package/apple/RNSkiaModule.h +1 -10
  29. package/apple/RNSkiaModule.mm +2 -10
  30. package/apple/SkiaManager.h +0 -2
  31. package/apple/SkiaManager.mm +4 -6
  32. package/apple/SkiaPictureView.h +2 -2
  33. package/apple/SkiaPictureView.mm +0 -4
  34. package/apple/SkiaUIView.h +3 -18
  35. package/apple/SkiaUIView.mm +0 -30
  36. package/cpp/api/CustomBlendModes.h +17 -0
  37. package/cpp/api/JsiSkCanvas.h +19 -10
  38. package/cpp/jsi/ViewProperty.h +0 -4
  39. package/lib/commonjs/mock/index.js +0 -1
  40. package/lib/commonjs/mock/index.js.map +1 -1
  41. package/lib/commonjs/renderer/Canvas.d.ts +11 -3
  42. package/lib/commonjs/renderer/Canvas.js +8 -6
  43. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  44. package/lib/commonjs/skia/web/JsiSkCanvas.js +9 -4
  45. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  46. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.d.ts +2 -0
  47. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js.map +1 -1
  48. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.d.ts +3 -1
  49. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.js +3 -0
  50. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.js.map +1 -1
  51. package/lib/commonjs/views/SkiaPictureView.js +2 -12
  52. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  53. package/lib/commonjs/views/types.d.ts +19 -8
  54. package/lib/commonjs/views/types.js.map +1 -1
  55. package/lib/module/mock/index.js +0 -1
  56. package/lib/module/mock/index.js.map +1 -1
  57. package/lib/module/renderer/Canvas.d.ts +11 -3
  58. package/lib/module/renderer/Canvas.js +7 -5
  59. package/lib/module/renderer/Canvas.js.map +1 -1
  60. package/lib/module/skia/web/JsiSkCanvas.js +9 -4
  61. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  62. package/lib/module/specs/SkiaPictureViewNativeComponent.d.ts +2 -0
  63. package/lib/module/specs/SkiaPictureViewNativeComponent.js.map +1 -1
  64. package/lib/module/specs/SkiaPictureViewNativeComponent.web.d.ts +3 -1
  65. package/lib/module/specs/SkiaPictureViewNativeComponent.web.js +3 -0
  66. package/lib/module/specs/SkiaPictureViewNativeComponent.web.js.map +1 -1
  67. package/lib/module/views/SkiaPictureView.js +2 -12
  68. package/lib/module/views/SkiaPictureView.js.map +1 -1
  69. package/lib/module/views/types.d.ts +19 -8
  70. package/lib/module/views/types.js.map +1 -1
  71. package/lib/typescript/lib/commonjs/mock/index.d.ts +0 -1
  72. package/lib/typescript/lib/commonjs/renderer/Canvas.d.ts +2 -2
  73. package/lib/typescript/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.d.ts +3 -1
  74. package/lib/typescript/lib/module/mock/index.d.ts +0 -1
  75. package/lib/typescript/lib/module/renderer/Canvas.d.ts +2 -2
  76. package/lib/typescript/lib/module/specs/SkiaPictureViewNativeComponent.web.d.ts +3 -1
  77. package/lib/typescript/src/renderer/Canvas.d.ts +11 -3
  78. package/lib/typescript/src/specs/SkiaPictureViewNativeComponent.d.ts +2 -0
  79. package/lib/typescript/src/specs/SkiaPictureViewNativeComponent.web.d.ts +3 -1
  80. package/lib/typescript/src/views/types.d.ts +19 -8
  81. package/package.json +3 -3
  82. package/react-native-skia.podspec +4 -10
  83. package/src/mock/index.ts +0 -1
  84. package/src/renderer/Canvas.tsx +23 -5
  85. package/src/skia/web/JsiSkCanvas.ts +14 -9
  86. package/src/specs/SkiaPictureViewNativeComponent.ts +5 -0
  87. package/src/specs/SkiaPictureViewNativeComponent.web.ts +5 -0
  88. package/src/views/SkiaPictureView.tsx +2 -10
  89. package/src/views/types.ts +23 -10
  90. package/android/src/latest/java/com/shopify/reactnative/skia/ReactNativeCompatible.java +0 -11
  91. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +0 -79
  92. package/android/src/main/java/com/shopify/reactnative/skia/SkiaAHBView.java +0 -113
  93. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +0 -136
  94. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerDelegate.java +0 -41
  95. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaPictureViewManagerInterface.java +0 -20
  96. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerDelegate.java +0 -35
  97. package/android/src/paper/java/com/facebook/react/viewmanagers/SkiaWebGPUViewManagerInterface.java +0 -17
  98. package/android/src/paper/java/com/shopify/reactnative/skia/NativeSkiaModuleSpec.java +0 -38
  99. package/android/src/reactnative74/java/com/shopify/reactnative/skia/ReactNativeCompatible.java +0 -14
  100. package/apple/SkiaPictureViewManager.h +0 -8
  101. package/apple/SkiaPictureViewManager.mm +0 -60
  102. package/apple/SkiaWebGPUView.h +0 -20
  103. package/apple/WebGPUMetalView.h +0 -12
@@ -1 +1 @@
1
- {"version":3,"names":["isCubicSampling","getEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkRSXform","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","undefined","restoreToCount","saveCount","getTotalMatrix","Float32Array","of","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","pathFromValue","delete","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","isArray","drawPicture","skp","drawAtlas","atlas","srcs","dsts","sampling","s","dst","cls","Uint32Array","length","i","r","g","b","a","ColorAsInt","ckSampling","FilterMode","Linear","mipmap","MipmapMode","None","BlendMode","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","colorType"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type {\n Canvas,\n CanvasKit,\n CubicResampler as CKCubicResampler,\n FilterOptions as CKFilterOptions,\n} from \"canvaskit-wasm\";\n\nimport {\n type BlendMode,\n type ClipOp,\n type FilterMode,\n type MipmapMode,\n type PointMode,\n type SaveLayerFlag,\n type ImageInfo,\n type SkCanvas,\n type SkColor,\n type SkFont,\n type SkImage,\n type SkImageFilter,\n type SkMatrix,\n type SkPaint,\n type SkPath,\n type SkPicture,\n type SkPoint,\n type SkRect,\n type InputRRect,\n type SkSVG,\n type SkTextBlob,\n type SkVertices,\n type SkRSXform,\n type CubicResampler,\n type FilterOptions,\n isCubicSampling,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport type { JsiSkSVG } from \"./JsiSkSVG\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n JsiSkImage.fromValue(img),\n left,\n top,\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", filter),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n getEnum(this.CanvasKit, \"BlendMode\", mode),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode !== 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":[]}
1
+ {"version":3,"names":["isCubicSampling","getEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkRSXform","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","defaultPaint","Paint","map","flat","flatMap","p","undefined","delete","restoreToCount","saveCount","getTotalMatrix","Float32Array","of","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","pathFromValue","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","isArray","drawPicture","skp","drawAtlas","atlas","srcs","dsts","sampling","s","dst","cls","Uint32Array","length","i","r","g","b","a","ColorAsInt","ckSampling","FilterMode","Linear","mipmap","MipmapMode","None","BlendMode","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","colorType"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type {\n Canvas,\n CanvasKit,\n CubicResampler as CKCubicResampler,\n FilterOptions as CKFilterOptions,\n} from \"canvaskit-wasm\";\n\nimport {\n type BlendMode,\n type ClipOp,\n type FilterMode,\n type MipmapMode,\n type PointMode,\n type SaveLayerFlag,\n type ImageInfo,\n type SkCanvas,\n type SkColor,\n type SkFont,\n type SkImage,\n type SkImageFilter,\n type SkMatrix,\n type SkPaint,\n type SkPath,\n type SkPicture,\n type SkPoint,\n type SkRect,\n type InputRRect,\n type SkSVG,\n type SkTextBlob,\n type SkVertices,\n type SkRSXform,\n type CubicResampler,\n type FilterOptions,\n isCubicSampling,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport type { JsiSkSVG } from \"./JsiSkSVG\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n JsiSkImage.fromValue(img),\n left,\n top,\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", filter),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit, \"FilterMode\", fm),\n getEnum(this.CanvasKit, \"MipmapMode\", mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n getEnum(this.CanvasKit, \"BlendMode\", mode),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n const defaultPaint = paint ? null : new this.CanvasKit.Paint();\n try {\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) : defaultPaint!\n );\n } finally {\n defaultPaint?.delete();\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":[]}
@@ -6,6 +6,8 @@ export interface NativeProps extends ViewProps {
6
6
  colorSpace?: string;
7
7
  highBitDepth?: boolean;
8
8
  androidWarmup?: boolean;
9
+ androidSurfaceType?: WithDefault<"auto" | "SurfaceView" | "TextureView", "auto">;
10
+ androidZOrderOnTop?: WithDefault<boolean, false>;
9
11
  pointerEvents?: WithDefault<"auto" | "none" | "box-none" | "box-only", "auto">;
10
12
  }
11
13
  declare const _default: import("react-native").HostComponent<NativeProps>;
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeComponent"],"sources":["SkiaPictureViewNativeComponent.ts"],"sourcesContent":["import { codegenNativeComponent, type ViewProps } from \"react-native\";\nimport type { WithDefault } from \"react-native/Libraries/Types/CodegenTypes\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore - pointerEvents needs to be redeclared for codegen to generate native bindings\nexport interface NativeProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n colorSpace?: string;\n highBitDepth?: boolean;\n androidWarmup?: boolean;\n pointerEvents?: WithDefault<\n \"auto\" | \"none\" | \"box-none\" | \"box-only\",\n \"auto\"\n >;\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default codegenNativeComponent<NativeProps>(\"SkiaPictureView\");\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAwB,cAAc;;AAGrE;AACA;;AAaA;AACA,eAAeA,sBAAsB,CAAc,iBAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeComponent"],"sources":["SkiaPictureViewNativeComponent.ts"],"sourcesContent":["import { codegenNativeComponent, type ViewProps } from \"react-native\";\nimport type { WithDefault } from \"react-native/Libraries/Types/CodegenTypes\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore - pointerEvents needs to be redeclared for codegen to generate native bindings\nexport interface NativeProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n colorSpace?: string;\n highBitDepth?: boolean;\n androidWarmup?: boolean;\n androidSurfaceType?: WithDefault<\n \"auto\" | \"SurfaceView\" | \"TextureView\",\n \"auto\"\n >;\n androidZOrderOnTop?: WithDefault<boolean, false>;\n pointerEvents?: WithDefault<\n \"auto\" | \"none\" | \"box-none\" | \"box-only\",\n \"auto\"\n >;\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default codegenNativeComponent<NativeProps>(\"SkiaPictureView\");\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAwB,cAAc;;AAGrE;AACA;;AAkBA;AACA,eAAeA,sBAAsB,CAAc,iBAAiB,CAAC","ignoreList":[]}
@@ -3,6 +3,8 @@ export interface NativeProps extends ViewProps {
3
3
  debug?: boolean;
4
4
  opaque?: boolean;
5
5
  nativeID: string;
6
+ androidSurfaceType?: "auto" | "SurfaceView" | "TextureView";
7
+ androidZOrderOnTop?: boolean;
6
8
  }
7
- declare const SkiaPictureViewNativeComponent: ({ nativeID, debug, opaque, onLayout, ...viewProps }: NativeProps) => import("react").FunctionComponentElement<import("../views/SkiaPictureView.web").SkiaPictureViewProps>;
9
+ declare const SkiaPictureViewNativeComponent: ({ nativeID, debug, opaque, onLayout, androidSurfaceType: _androidSurfaceType, androidZOrderOnTop: _androidZOrderOnTop, ...viewProps }: NativeProps) => import("react").FunctionComponentElement<import("../views/SkiaPictureView.web").SkiaPictureViewProps>;
8
10
  export default SkiaPictureViewNativeComponent;
@@ -5,6 +5,9 @@ const SkiaPictureViewNativeComponent = ({
5
5
  debug,
6
6
  opaque,
7
7
  onLayout,
8
+ // Android-only, never reaches the DOM
9
+ androidSurfaceType: _androidSurfaceType,
10
+ androidZOrderOnTop: _androidZOrderOnTop,
8
11
  ...viewProps
9
12
  }) => {
10
13
  return /*#__PURE__*/createElement(SkiaPictureView, {
@@ -1 +1 @@
1
- {"version":3,"names":["createElement","SkiaPictureView","SkiaPictureViewNativeComponent","nativeID","debug","opaque","onLayout","viewProps"],"sources":["SkiaPictureViewNativeComponent.web.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\nimport { createElement } from \"react\";\n\nimport { SkiaPictureView } from \"../views/SkiaPictureView.web\";\n\nexport interface NativeProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n nativeID: string;\n}\n\nconst SkiaPictureViewNativeComponent = ({\n nativeID,\n debug,\n opaque,\n onLayout,\n ...viewProps\n}: NativeProps) => {\n return createElement(SkiaPictureView, {\n nativeID,\n debug,\n opaque,\n onLayout,\n ...viewProps,\n });\n};\n// eslint-disable-next-line import/no-default-export\nexport default SkiaPictureViewNativeComponent;\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,OAAO;AAErC,SAASC,eAAe,QAAQ,8BAA8B;AAQ9D,MAAMC,8BAA8B,GAAGA,CAAC;EACtCC,QAAQ;EACRC,KAAK;EACLC,MAAM;EACNC,QAAQ;EACR,GAAGC;AACQ,CAAC,KAAK;EACjB,oBAAOP,aAAa,CAACC,eAAe,EAAE;IACpCE,QAAQ;IACRC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACR,GAAGC;EACL,CAAC,CAAC;AACJ,CAAC;AACD;AACA,eAAeL,8BAA8B","ignoreList":[]}
1
+ {"version":3,"names":["createElement","SkiaPictureView","SkiaPictureViewNativeComponent","nativeID","debug","opaque","onLayout","androidSurfaceType","_androidSurfaceType","androidZOrderOnTop","_androidZOrderOnTop","viewProps"],"sources":["SkiaPictureViewNativeComponent.web.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\nimport { createElement } from \"react\";\n\nimport { SkiaPictureView } from \"../views/SkiaPictureView.web\";\n\nexport interface NativeProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n nativeID: string;\n androidSurfaceType?: \"auto\" | \"SurfaceView\" | \"TextureView\";\n androidZOrderOnTop?: boolean;\n}\n\nconst SkiaPictureViewNativeComponent = ({\n nativeID,\n debug,\n opaque,\n onLayout,\n // Android-only, never reaches the DOM\n androidSurfaceType: _androidSurfaceType,\n androidZOrderOnTop: _androidZOrderOnTop,\n ...viewProps\n}: NativeProps) => {\n return createElement(SkiaPictureView, {\n nativeID,\n debug,\n opaque,\n onLayout,\n ...viewProps,\n });\n};\n// eslint-disable-next-line import/no-default-export\nexport default SkiaPictureViewNativeComponent;\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,OAAO;AAErC,SAASC,eAAe,QAAQ,8BAA8B;AAU9D,MAAMC,8BAA8B,GAAGA,CAAC;EACtCC,QAAQ;EACRC,KAAK;EACLC,MAAM;EACNC,QAAQ;EACR;EACAC,kBAAkB,EAAEC,mBAAmB;EACvCC,kBAAkB,EAAEC,mBAAmB;EACvC,GAAGC;AACQ,CAAC,KAAK;EACjB,oBAAOX,aAAa,CAACC,eAAe,EAAE;IACpCE,QAAQ;IACRC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACR,GAAGK;EACL,CAAC,CAAC;AACJ,CAAC;AACD;AACA,eAAeT,8BAA8B","ignoreList":[]}
@@ -14,17 +14,12 @@ export class SkiaPictureView extends React.Component {
14
14
  _defineProperty(this, "_nativeId", void 0);
15
15
  this._nativeId = SkiaViewNativeId.current++;
16
16
  const {
17
- picture,
18
- onSize
17
+ picture
19
18
  } = props;
20
19
  if (picture) {
21
20
  assertSkiaViewApi();
22
21
  SkiaViewApi.setJsiProperty(this._nativeId, "picture", picture);
23
22
  }
24
- if (onSize) {
25
- assertSkiaViewApi();
26
- SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
27
- }
28
23
  this.tick();
29
24
  }
30
25
  get nativeId() {
@@ -32,17 +27,12 @@ export class SkiaPictureView extends React.Component {
32
27
  }
33
28
  componentDidUpdate(prevProps) {
34
29
  const {
35
- picture,
36
- onSize
30
+ picture
37
31
  } = this.props;
38
32
  if (picture !== prevProps.picture) {
39
33
  assertSkiaViewApi();
40
34
  SkiaViewApi.setJsiProperty(this._nativeId, "picture", picture);
41
35
  }
42
- if (onSize !== prevProps.onSize) {
43
- assertSkiaViewApi();
44
- SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
45
- }
46
36
  this.tick();
47
37
  }
48
38
  componentWillUnmount() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","SkiaPictureViewNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaPictureView","SkiaPictureView","Component","constructor","props","_defineProperty","_nativeId","current","picture","onSize","assertSkiaViewApi","setJsiProperty","tick","nativeId","componentDidUpdate","prevProps","componentWillUnmount","requestId","cancelAnimationFrame","redraw","mode","requestAnimationFrame","bind","makeImageSnapshot","rect","requestRedraw","render","debug","opaque","highBitDepth","androidWarmup","viewProps","createElement","_extends","collapsable","nativeID","Error"],"sources":["SkiaPictureView.tsx"],"sourcesContent":["import React from \"react\";\n\nimport type { SkRect } from \"../skia/types\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaPictureViewNativeProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaPictureView = SkiaPictureViewNativeComponent;\n\ninterface SkiaPictureViewProps extends SkiaPictureViewNativeProps {\n mode?: \"default\" | \"continuous\";\n androidWarmup?: boolean;\n}\n\nexport class SkiaPictureView extends React.Component<SkiaPictureViewProps> {\n private requestId = 0;\n\n constructor(props: SkiaPictureViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { picture, onSize } = props;\n if (picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n if (onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n this.tick();\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaPictureViewProps) {\n const { picture, onSize } = this.props;\n if (picture !== prevProps.picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n if (onSize !== prevProps.onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n this.tick();\n }\n\n componentWillUnmount() {\n if (this.requestId) {\n cancelAnimationFrame(this.requestId);\n }\n }\n\n private tick() {\n this.redraw();\n if (this.props.mode === \"continuous\") {\n this.requestId = requestAnimationFrame(this.tick.bind(this));\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n render() {\n const {\n mode,\n debug = false,\n opaque = false,\n highBitDepth = false,\n androidWarmup = false,\n ...viewProps\n } = this.props;\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n debug={debug}\n opaque={opaque}\n highBitDepth={highBitDepth}\n androidWarmup={androidWarmup}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","SkiaPictureViewNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaPictureView","SkiaPictureView","Component","constructor","props","_defineProperty","_nativeId","current","picture","assertSkiaViewApi","setJsiProperty","tick","nativeId","componentDidUpdate","prevProps","componentWillUnmount","requestId","cancelAnimationFrame","redraw","mode","requestAnimationFrame","bind","makeImageSnapshot","rect","requestRedraw","render","debug","opaque","highBitDepth","androidWarmup","viewProps","createElement","_extends","collapsable","nativeID","Error"],"sources":["SkiaPictureView.tsx"],"sourcesContent":["import React from \"react\";\n\nimport type { SkRect } from \"../skia/types\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaPictureViewNativeProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaPictureView = SkiaPictureViewNativeComponent;\n\ninterface SkiaPictureViewProps extends SkiaPictureViewNativeProps {\n mode?: \"default\" | \"continuous\";\n androidWarmup?: boolean;\n}\n\nexport class SkiaPictureView extends React.Component<SkiaPictureViewProps> {\n private requestId = 0;\n\n constructor(props: SkiaPictureViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { picture } = props;\n if (picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n this.tick();\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaPictureViewProps) {\n const { picture } = this.props;\n if (picture !== prevProps.picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n this.tick();\n }\n\n componentWillUnmount() {\n if (this.requestId) {\n cancelAnimationFrame(this.requestId);\n }\n }\n\n private tick() {\n this.redraw();\n if (this.props.mode === \"continuous\") {\n this.requestId = requestAnimationFrame(this.tick.bind(this));\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n render() {\n const {\n mode,\n debug = false,\n opaque = false,\n highBitDepth = false,\n androidWarmup = false,\n ...viewProps\n } = this.props;\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n debug={debug}\n opaque={opaque}\n highBitDepth={highBitDepth}\n androidWarmup={androidWarmup}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,OAAOC,8BAA8B,MAAM,yCAAyC;AAEpF,SAASC,WAAW,QAAQ,OAAO;AAEnC,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,MAAMC,qBAAqB,GAAGH,8BAA8B;AAO5D,OAAO,MAAMI,eAAe,SAASL,KAAK,CAACM,SAAS,CAAuB;EAGzEC,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,oBAHK,CAAC;IAAAA,eAAA;IAInB,IAAI,CAACC,SAAS,GAAGP,gBAAgB,CAACQ,OAAO,EAAE;IAC3C,MAAM;MAAEC;IAAQ,CAAC,GAAGJ,KAAK;IACzB,IAAII,OAAO,EAAE;MACXC,iBAAiB,CAAC,CAAC;MACnBX,WAAW,CAACY,cAAc,CAAC,IAAI,CAACJ,SAAS,EAAE,SAAS,EAAEE,OAAO,CAAC;IAChE;IACA,IAAI,CAACG,IAAI,CAAC,CAAC;EACb;EAIA,IAAWC,QAAQA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACN,SAAS;EACvB;EAEAO,kBAAkBA,CAACC,SAA+B,EAAE;IAClD,MAAM;MAAEN;IAAQ,CAAC,GAAG,IAAI,CAACJ,KAAK;IAC9B,IAAII,OAAO,KAAKM,SAAS,CAACN,OAAO,EAAE;MACjCC,iBAAiB,CAAC,CAAC;MACnBX,WAAW,CAACY,cAAc,CAAC,IAAI,CAACJ,SAAS,EAAE,SAAS,EAAEE,OAAO,CAAC;IAChE;IACA,IAAI,CAACG,IAAI,CAAC,CAAC;EACb;EAEAI,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACC,SAAS,EAAE;MAClBC,oBAAoB,CAAC,IAAI,CAACD,SAAS,CAAC;IACtC;EACF;EAEQL,IAAIA,CAAA,EAAG;IACb,IAAI,CAACO,MAAM,CAAC,CAAC;IACb,IAAI,IAAI,CAACd,KAAK,CAACe,IAAI,KAAK,YAAY,EAAE;MACpC,IAAI,CAACH,SAAS,GAAGI,qBAAqB,CAAC,IAAI,CAACT,IAAI,CAACU,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D;EACF;;EAEA;AACF;AACA;AACA;AACA;EACSC,iBAAiBA,CAACC,IAAa,EAAE;IACtCd,iBAAiB,CAAC,CAAC;IACnB,OAAOX,WAAW,CAACwB,iBAAiB,CAAC,IAAI,CAAChB,SAAS,EAAEiB,IAAI,CAAC;EAC5D;;EAEA;AACF;AACA;EACSL,MAAMA,CAAA,EAAG;IACdT,iBAAiB,CAAC,CAAC;IACnBX,WAAW,CAAC0B,aAAa,CAAC,IAAI,CAAClB,SAAS,CAAC;EAC3C;EAEAmB,MAAMA,CAAA,EAAG;IACP,MAAM;MACJN,IAAI;MACJO,KAAK,GAAG,KAAK;MACbC,MAAM,GAAG,KAAK;MACdC,YAAY,GAAG,KAAK;MACpBC,aAAa,GAAG,KAAK;MACrB,GAAGC;IACL,CAAC,GAAG,IAAI,CAAC1B,KAAK;IACd,oBACER,KAAA,CAAAmC,aAAA,CAAC/B,qBAAqB,EAAAgC,QAAA;MACpBC,WAAW,EAAE,KAAM;MACnBC,QAAQ,EAAE,GAAG,IAAI,CAAC5B,SAAS,EAAG;MAC9BoB,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEA,MAAO;MACfC,YAAY,EAAEA,YAAa;MAC3BC,aAAa,EAAEA;IAAc,GACzBC,SAAS,CACd,CAAC;EAEN;AACF;AAEA,MAAMrB,iBAAiB,GAAGA,CAAA,KAAM;EAC9B,IACEX,WAAW,KAAK,IAAI,IACpBA,WAAW,CAACY,cAAc,KAAK,IAAI,IACnCZ,WAAW,CAAC0B,aAAa,KAAK,IAAI,IAClC1B,WAAW,CAACwB,iBAAiB,KAAK,IAAI,EACtC;IACA,MAAMa,KAAK,CAAC,8BAA8B,CAAC;EAC7C;AACF,CAAC","ignoreList":[]}
@@ -1,11 +1,23 @@
1
1
  import type { ViewProps } from "react-native";
2
- import type { SharedValue } from "react-native-reanimated";
3
- import type { Node } from "../dom/types";
4
2
  import type { SkImage, SkPicture, SkRect, SkSize } from "../skia/types";
5
3
  export type NativeSkiaViewProps = ViewProps & {
6
4
  debug?: boolean;
7
5
  opaque?: boolean;
8
6
  };
7
+ export type AndroidSurfaceType = "SurfaceView" | "TextureView";
8
+ export interface AndroidCanvasProps {
9
+ /**
10
+ * Backing view. Defaults to `SurfaceView` when the canvas is `opaque` and to
11
+ * `TextureView` otherwise; both composite correctly in React Native stacking
12
+ * order without further flags.
13
+ */
14
+ surfaceType?: AndroidSurfaceType;
15
+ /**
16
+ * SurfaceView only: composite above every React Native view in the window,
17
+ * ignoring `zIndex`. Ignored for TextureView. Defaults to false.
18
+ */
19
+ zOrderOnTop?: boolean;
20
+ }
9
21
  export interface ISkiaViewApi {
10
22
  web?: boolean;
11
23
  setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;
@@ -21,10 +33,10 @@ export interface SkiaBaseViewProps extends ViewProps {
21
33
  */
22
34
  debug?: boolean;
23
35
  /**
24
- * Pass an animated value to the onSize property to get updates when
25
- * the Skia view is resized.
36
+ * Declares that the canvas covers every pixel of its bounds. On Android an
37
+ * opaque canvas is backed by a `SurfaceView` by default, the cheapest path
38
+ * (see `android.surfaceType`). Defaults to false.
26
39
  */
27
- onSize?: SharedValue<SkSize>;
28
40
  opaque?: boolean;
29
41
  /**
30
42
  * Renders into a surface with more than 8 bits per channel (16-bit float on
@@ -32,12 +44,11 @@ export interface SkiaBaseViewProps extends ViewProps {
32
44
  * the extra precision survives composition only when combined with `opaque`.
33
45
  */
34
46
  highBitDepth?: boolean;
47
+ /** Android-only rendering options. Ignored on iOS and web. */
48
+ android?: AndroidCanvasProps;
35
49
  __destroyWebGLContextAfterRender?: boolean;
36
50
  }
37
51
  export interface SkiaPictureViewNativeProps extends SkiaBaseViewProps {
38
52
  picture?: SkPicture;
39
53
  androidWarmup?: boolean;
40
54
  }
41
- export interface SkiaDomViewNativeProps extends SkiaBaseViewProps {
42
- root?: Node<unknown>;
43
- }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport type { Node } from \"../dom/types\";\nimport type { SkImage, SkPicture, SkRect, SkSize } from \"../skia/types\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n debug?: boolean;\n opaque?: boolean;\n};\n\nexport interface ISkiaViewApi {\n web?: boolean;\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n makeImageSnapshotAsync: (nativeId: number, rect?: SkRect) => Promise<SkImage>;\n size: (nativeId: number) => SkSize;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Pass an animated value to the onSize property to get updates when\n * the Skia view is resized.\n */\n onSize?: SharedValue<SkSize>;\n\n opaque?: boolean;\n\n /**\n * Renders into a surface with more than 8 bits per channel (16-bit float on\n * iOS, 10-bit on Android) to avoid banding in subtle gradients. On Android\n * the extra precision survives composition only when combined with `opaque`.\n */\n highBitDepth?: boolean;\n\n // On web, only 16 WebGL contextes are allowed. If the drawing is non-animated, set\n // __destroyWebGLContextAfterRender to true to release the context after each draw.\n __destroyWebGLContextAfterRender?: boolean;\n}\n\nexport interface SkiaPictureViewNativeProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n androidWarmup?: boolean;\n}\n\nexport interface SkiaDomViewNativeProps extends SkiaBaseViewProps {\n root?: Node<unknown>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { SkImage, SkPicture, SkRect, SkSize } from \"../skia/types\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n debug?: boolean;\n opaque?: boolean;\n};\n\nexport type AndroidSurfaceType = \"SurfaceView\" | \"TextureView\";\n\nexport interface AndroidCanvasProps {\n /**\n * Backing view. Defaults to `SurfaceView` when the canvas is `opaque` and to\n * `TextureView` otherwise; both composite correctly in React Native stacking\n * order without further flags.\n */\n surfaceType?: AndroidSurfaceType;\n /**\n * SurfaceView only: composite above every React Native view in the window,\n * ignoring `zIndex`. Ignored for TextureView. Defaults to false.\n */\n zOrderOnTop?: boolean;\n}\n\nexport interface ISkiaViewApi {\n web?: boolean;\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n makeImageSnapshotAsync: (nativeId: number, rect?: SkRect) => Promise<SkImage>;\n size: (nativeId: number) => SkSize;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n\n /**\n * Declares that the canvas covers every pixel of its bounds. On Android an\n * opaque canvas is backed by a `SurfaceView` by default, the cheapest path\n * (see `android.surfaceType`). Defaults to false.\n */\n opaque?: boolean;\n\n /**\n * Renders into a surface with more than 8 bits per channel (16-bit float on\n * iOS, 10-bit on Android) to avoid banding in subtle gradients. On Android\n * the extra precision survives composition only when combined with `opaque`.\n */\n highBitDepth?: boolean;\n\n /** Android-only rendering options. Ignored on iOS and web. */\n android?: AndroidCanvasProps;\n\n // On web, only 16 WebGL contextes are allowed. If the drawing is non-animated, set\n // __destroyWebGLContextAfterRender to true to release the context after each draw.\n __destroyWebGLContextAfterRender?: boolean;\n}\n\nexport interface SkiaPictureViewNativeProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n androidWarmup?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
@@ -39,7 +39,6 @@ export function Mock(CanvasKit: any): {
39
39
  };
40
40
  useValueEffect: () => undefined;
41
41
  isOnMainThread: () => boolean;
42
- isFabric: boolean;
43
42
  useClock: () => {
44
43
  value: number;
45
44
  };
@@ -1,11 +1,10 @@
1
1
  export const __esModule: boolean;
2
- export const isFabric: boolean;
3
2
  export function useCanvasRef(): any;
4
3
  export function useCanvasSize(userRef: any): {
5
4
  ref: any;
6
5
  size: any;
7
6
  };
8
- export function Canvas({ debug, opaque, children, onSize, colorSpace, highBitDepth, androidWarmup, ref, onLayout, ...viewProps }: {
7
+ export function Canvas({ debug, opaque, children, onSize, colorSpace, highBitDepth, androidWarmup, android, ref, onLayout, ...viewProps }: {
9
8
  [x: string]: any;
10
9
  debug: any;
11
10
  opaque: any;
@@ -14,6 +13,7 @@ export function Canvas({ debug, opaque, children, onSize, colorSpace, highBitDep
14
13
  colorSpace?: string | undefined;
15
14
  highBitDepth?: boolean | undefined;
16
15
  androidWarmup?: boolean | undefined;
16
+ android: any;
17
17
  ref: any;
18
18
  onLayout: any;
19
19
  }): any;
@@ -1,10 +1,12 @@
1
1
  export const __esModule: boolean;
2
2
  export default SkiaPictureViewNativeComponent;
3
- declare function SkiaPictureViewNativeComponent({ nativeID, debug, opaque, onLayout, ...viewProps }: {
3
+ declare function SkiaPictureViewNativeComponent({ nativeID, debug, opaque, onLayout, androidSurfaceType: _androidSurfaceType, androidZOrderOnTop: _androidZOrderOnTop, ...viewProps }: {
4
4
  [x: string]: any;
5
5
  nativeID: any;
6
6
  debug: any;
7
7
  opaque: any;
8
8
  onLayout: any;
9
+ androidSurfaceType: any;
10
+ androidZOrderOnTop: any;
9
11
  }): _react.FunctionComponentElement<any>;
10
12
  import _react = require("react");
@@ -38,7 +38,6 @@ export function Mock(CanvasKit: any): {
38
38
  };
39
39
  useValueEffect: () => undefined;
40
40
  isOnMainThread: () => boolean;
41
- isFabric: boolean;
42
41
  useClock: () => {
43
42
  value: number;
44
43
  };
@@ -6,8 +6,7 @@ export function useCanvasSize(userRef: any): {
6
6
  height: number;
7
7
  };
8
8
  };
9
- export const isFabric: boolean;
10
- export function Canvas({ debug, opaque, children, onSize, colorSpace, highBitDepth, androidWarmup, ref, onLayout, ...viewProps }: {
9
+ export function Canvas({ debug, opaque, children, onSize, colorSpace, highBitDepth, androidWarmup, android, ref, onLayout, ...viewProps }: {
11
10
  [x: string]: any;
12
11
  debug: any;
13
12
  opaque: any;
@@ -16,6 +15,7 @@ export function Canvas({ debug, opaque, children, onSize, colorSpace, highBitDep
16
15
  colorSpace?: string | undefined;
17
16
  highBitDepth?: boolean | undefined;
18
17
  androidWarmup?: boolean | undefined;
18
+ android: any;
19
19
  ref: any;
20
20
  onLayout: any;
21
21
  }): React.CElement<object, React.Component<object, {}, any> & import("react-native").ReactNativeElement>;
@@ -1,8 +1,10 @@
1
1
  export default SkiaPictureViewNativeComponent;
2
- declare function SkiaPictureViewNativeComponent({ nativeID, debug, opaque, onLayout, ...viewProps }: {
2
+ declare function SkiaPictureViewNativeComponent({ nativeID, debug, opaque, onLayout, androidSurfaceType: _androidSurfaceType, androidZOrderOnTop: _androidZOrderOnTop, ...viewProps }: {
3
3
  [x: string]: any;
4
4
  nativeID: any;
5
5
  debug: any;
6
6
  opaque: any;
7
7
  onLayout: any;
8
+ androidSurfaceType: any;
9
+ androidZOrderOnTop: any;
8
10
  }): import("react").FunctionComponentElement<any>;
@@ -2,6 +2,7 @@ import type { FC, RefObject } from "react";
2
2
  import React from "react";
3
3
  import type { MeasureInWindowOnSuccessCallback, MeasureOnSuccessCallback, ViewProps } from "react-native";
4
4
  import type { SharedValue } from "react-native-reanimated";
5
+ import type { AndroidCanvasProps } from "../views/types";
5
6
  import type { SkImage, SkRect, SkSize } from "../skia/types";
6
7
  export interface CanvasRef extends FC<CanvasProps> {
7
8
  makeImageSnapshot(rect?: SkRect): SkImage;
@@ -16,11 +17,16 @@ export declare const useCanvasSize: (userRef?: RefObject<CanvasRef | null>) => {
16
17
  ref: RefObject<CanvasRef | null>;
17
18
  size: SkSize;
18
19
  };
19
- export declare const isFabric: boolean;
20
20
  export interface CanvasProps extends Omit<ViewProps, "onLayout"> {
21
21
  debug?: boolean;
22
- /** @deprecated Not supported on Fabric. Use `onSize` or `useCanvasSize()` instead. */
22
+ /** @deprecated Not supported on native. Use `onSize` or `useCanvasSize()` instead. */
23
23
  onLayout?: ViewProps["onLayout"];
24
+ /**
25
+ * Declares that the canvas covers every pixel of its bounds, so nothing
26
+ * behind it needs to show through. On Android an opaque canvas is backed by
27
+ * a `SurfaceView` by default, the cheapest path (see `android.surfaceType`).
28
+ * Defaults to false.
29
+ */
24
30
  opaque?: boolean;
25
31
  onSize?: SharedValue<SkSize>;
26
32
  colorSpace?: "p3" | "srgb";
@@ -33,8 +39,10 @@ export interface CanvasProps extends Omit<ViewProps, "onLayout"> {
33
39
  * before the canvas is mounted.
34
40
  */
35
41
  highBitDepth?: boolean;
42
+ /** Android-only rendering options. Ignored on iOS and web. */
43
+ android?: AndroidCanvasProps;
36
44
  ref?: React.Ref<CanvasRef>;
37
45
  androidWarmup?: boolean;
38
46
  __destroyWebGLContextAfterRender?: boolean;
39
47
  }
40
- export declare const Canvas: ({ debug, opaque, children, onSize, colorSpace, highBitDepth, androidWarmup, ref, onLayout, ...viewProps }: CanvasProps) => React.JSX.Element;
48
+ export declare const Canvas: ({ debug, opaque, children, onSize, colorSpace, highBitDepth, androidWarmup, android, ref, onLayout, ...viewProps }: CanvasProps) => React.JSX.Element;
@@ -6,6 +6,8 @@ export interface NativeProps extends ViewProps {
6
6
  colorSpace?: string;
7
7
  highBitDepth?: boolean;
8
8
  androidWarmup?: boolean;
9
+ androidSurfaceType?: WithDefault<"auto" | "SurfaceView" | "TextureView", "auto">;
10
+ androidZOrderOnTop?: WithDefault<boolean, false>;
9
11
  pointerEvents?: WithDefault<"auto" | "none" | "box-none" | "box-only", "auto">;
10
12
  }
11
13
  declare const _default: import("react-native").HostComponent<NativeProps>;
@@ -3,6 +3,8 @@ export interface NativeProps extends ViewProps {
3
3
  debug?: boolean;
4
4
  opaque?: boolean;
5
5
  nativeID: string;
6
+ androidSurfaceType?: "auto" | "SurfaceView" | "TextureView";
7
+ androidZOrderOnTop?: boolean;
6
8
  }
7
- declare const SkiaPictureViewNativeComponent: ({ nativeID, debug, opaque, onLayout, ...viewProps }: NativeProps) => import("react").FunctionComponentElement<import("../views/SkiaPictureView.web").SkiaPictureViewProps>;
9
+ declare const SkiaPictureViewNativeComponent: ({ nativeID, debug, opaque, onLayout, androidSurfaceType: _androidSurfaceType, androidZOrderOnTop: _androidZOrderOnTop, ...viewProps }: NativeProps) => import("react").FunctionComponentElement<import("../views/SkiaPictureView.web").SkiaPictureViewProps>;
8
10
  export default SkiaPictureViewNativeComponent;
@@ -1,11 +1,23 @@
1
1
  import type { ViewProps } from "react-native";
2
- import type { SharedValue } from "react-native-reanimated";
3
- import type { Node } from "../dom/types";
4
2
  import type { SkImage, SkPicture, SkRect, SkSize } from "../skia/types";
5
3
  export type NativeSkiaViewProps = ViewProps & {
6
4
  debug?: boolean;
7
5
  opaque?: boolean;
8
6
  };
7
+ export type AndroidSurfaceType = "SurfaceView" | "TextureView";
8
+ export interface AndroidCanvasProps {
9
+ /**
10
+ * Backing view. Defaults to `SurfaceView` when the canvas is `opaque` and to
11
+ * `TextureView` otherwise; both composite correctly in React Native stacking
12
+ * order without further flags.
13
+ */
14
+ surfaceType?: AndroidSurfaceType;
15
+ /**
16
+ * SurfaceView only: composite above every React Native view in the window,
17
+ * ignoring `zIndex`. Ignored for TextureView. Defaults to false.
18
+ */
19
+ zOrderOnTop?: boolean;
20
+ }
9
21
  export interface ISkiaViewApi {
10
22
  web?: boolean;
11
23
  setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;
@@ -21,10 +33,10 @@ export interface SkiaBaseViewProps extends ViewProps {
21
33
  */
22
34
  debug?: boolean;
23
35
  /**
24
- * Pass an animated value to the onSize property to get updates when
25
- * the Skia view is resized.
36
+ * Declares that the canvas covers every pixel of its bounds. On Android an
37
+ * opaque canvas is backed by a `SurfaceView` by default, the cheapest path
38
+ * (see `android.surfaceType`). Defaults to false.
26
39
  */
27
- onSize?: SharedValue<SkSize>;
28
40
  opaque?: boolean;
29
41
  /**
30
42
  * Renders into a surface with more than 8 bits per channel (16-bit float on
@@ -32,12 +44,11 @@ export interface SkiaBaseViewProps extends ViewProps {
32
44
  * the extra precision survives composition only when combined with `opaque`.
33
45
  */
34
46
  highBitDepth?: boolean;
47
+ /** Android-only rendering options. Ignored on iOS and web. */
48
+ android?: AndroidCanvasProps;
35
49
  __destroyWebGLContextAfterRender?: boolean;
36
50
  }
37
51
  export interface SkiaPictureViewNativeProps extends SkiaBaseViewProps {
38
52
  picture?: SkPicture;
39
53
  androidWarmup?: boolean;
40
54
  }
41
- export interface SkiaDomViewNativeProps extends SkiaBaseViewProps {
42
- root?: Node<unknown>;
43
- }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "setup-skia-web": "scripts/setup-canvaskit.js"
9
9
  },
10
10
  "title": "React Native Skia",
11
- "version": "2.12.0",
11
+ "version": "2.13.0",
12
12
  "description": "High-performance React Native Graphics using Skia",
13
13
  "main": "lib/module/index.js",
14
14
  "react-native": "src/index.ts",
@@ -64,7 +64,7 @@
64
64
  "keywords": [
65
65
  "react-native"
66
66
  ],
67
- "author": "Shopify Inc.",
67
+ "author": "William Candillon",
68
68
  "contributors": [
69
69
  {
70
70
  "name": "Christian Falch",
@@ -162,7 +162,7 @@
162
162
  "type": "all",
163
163
  "jsSrcsDir": "src/specs",
164
164
  "android": {
165
- "javaPackageName": "com.shopify.reactnative.skia"
165
+ "javaPackageName": "com.reactnative.skia"
166
166
  },
167
167
  "ios": {
168
168
  "componentProvider": {
@@ -193,14 +193,8 @@ Pod::Spec.new do |s|
193
193
  ]
194
194
  s.exclude_files = graphite_exclusions unless use_graphite
195
195
 
196
- if defined?(install_modules_dependencies()) != nil
197
- install_modules_dependencies(s)
198
- s.dependency "React"
199
- s.dependency "React-callinvoker"
200
- s.dependency "React-Core"
201
- else
202
- s.dependency "React"
203
- s.dependency "React-callinvoker"
204
- s.dependency "React-Core"
205
- end
196
+ install_modules_dependencies(s)
197
+ s.dependency "React"
198
+ s.dependency "React-callinvoker"
199
+ s.dependency "React-Core"
206
200
  end
package/src/mock/index.ts CHANGED
@@ -49,7 +49,6 @@ export const Mock = (CanvasKit: CanvasKit) => {
49
49
  useValueEffect: Noop,
50
50
  // Reanimated hooks
51
51
  isOnMainThread: () => true,
52
- isFabric: true,
53
52
  useClock: NoopSharedValue,
54
53
  usePathInterpolation: NoopSharedValue,
55
54
  useImageAsTexture: NoopSharedValue,