@shopify/react-native-skia 0.1.220 → 0.1.221
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.
- package/cpp/api/JsiSkCanvas.h +38 -1
- package/cpp/api/JsiSkImage.h +66 -1
- package/cpp/api/JsiSkImageInfo.h +19 -0
- package/cpp/utils/RNSkTypedArray.h +41 -0
- package/lib/commonjs/skia/types/Canvas.d.ts +9 -1
- package/lib/commonjs/skia/types/Canvas.js.map +1 -1
- package/lib/commonjs/skia/types/Image/Image.d.ts +13 -0
- package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
- package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +14 -11
- package/lib/commonjs/skia/types/Image/ImageFactory.js +14 -11
- package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
- package/lib/commonjs/skia/web/Host.d.ts +2 -1
- package/lib/commonjs/skia/web/Host.js +10 -1
- package/lib/commonjs/skia/web/Host.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +2 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +11 -0
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFontMgrFactory.js +1 -3
- package/lib/commonjs/skia/web/JsiSkFontMgrFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.d.ts +3 -1
- package/lib/commonjs/skia/web/JsiSkImage.js +28 -0
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -4
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/module/skia/types/Canvas.d.ts +9 -1
- package/lib/module/skia/types/Canvas.js.map +1 -1
- package/lib/module/skia/types/Image/Image.d.ts +13 -0
- package/lib/module/skia/types/Image/Image.js.map +1 -1
- package/lib/module/skia/types/Image/ImageFactory.d.ts +14 -11
- package/lib/module/skia/types/Image/ImageFactory.js +14 -11
- package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
- package/lib/module/skia/web/Host.d.ts +2 -1
- package/lib/module/skia/web/Host.js +6 -0
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.d.ts +2 -1
- package/lib/module/skia/web/JsiSkCanvas.js +12 -1
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkFontMgrFactory.js +1 -3
- package/lib/module/skia/web/JsiSkFontMgrFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.d.ts +3 -1
- package/lib/module/skia/web/JsiSkImage.js +31 -1
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +2 -2
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -4
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/typescript/src/skia/types/Canvas.d.ts +9 -1
- package/lib/typescript/src/skia/types/Image/Image.d.ts +13 -0
- package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +14 -11
- package/lib/typescript/src/skia/web/Host.d.ts +2 -1
- package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +2 -1
- package/lib/typescript/src/skia/web/JsiSkImage.d.ts +3 -1
- package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +2 -2
- package/package.json +2 -2
- package/src/skia/types/Canvas.ts +14 -1
- package/src/skia/types/Image/Image.ts +20 -0
- package/src/skia/types/Image/ImageFactory.ts +30 -25
- package/src/skia/web/Host.ts +3 -1
- package/src/skia/web/JsiSkCanvas.ts +13 -1
- package/src/skia/web/JsiSkFontMgrFactory.ts +0 -2
- package/src/skia/web/JsiSkImage.ts +42 -3
- package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -4
@@ -1,6 +1,6 @@
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
2
|
|
3
|
-
import { ckEnum, HostObject } from "./Host";
|
3
|
+
import { ckEnum, getCkEnum, HostObject } from "./Host";
|
4
4
|
import { JsiSkPaint } from "./JsiSkPaint";
|
5
5
|
import { JsiSkRect } from "./JsiSkRect";
|
6
6
|
import { JsiSkRRect } from "./JsiSkRRect";
|
@@ -186,5 +186,16 @@ export class JsiSkCanvas extends HostObject {
|
|
186
186
|
this.ref.drawPicture(JsiSkPicture.fromValue(skp));
|
187
187
|
}
|
188
188
|
|
189
|
+
readPixels(srcX, srcY, imageInfo) {
|
190
|
+
const pxInfo = {
|
191
|
+
width: imageInfo.width,
|
192
|
+
height: imageInfo.height,
|
193
|
+
colorSpace: this.CanvasKit.ColorSpace.SRGB,
|
194
|
+
alphaType: getCkEnum(this.CanvasKit.AlphaType, imageInfo.alphaType),
|
195
|
+
colorType: getCkEnum(this.CanvasKit.ColorType, imageInfo.colorType)
|
196
|
+
};
|
197
|
+
return this.ref.readPixels(srcX, srcY, pxInfo);
|
198
|
+
}
|
199
|
+
|
189
200
|
}
|
190
201
|
//# sourceMappingURL=JsiSkCanvas.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ckEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkCanvas","constructor","CanvasKit","ref","delete","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","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","_svgDom","_width","_height","Error","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","drawPicture","skp"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type { Canvas, CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport { ckEnum, 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\";\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 dispose = () => {\n this.ref.delete();\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 ckEnum(fm),\n ckEnum(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 ckEnum(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 ckEnum(fm),\n ckEnum(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 ckEnum(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 ? ckEnum(mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(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: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\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(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(JsiSkPath.fromValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["ckEnum","getCkEnum","HostObject","JsiSkPaint","JsiSkRect","JsiSkRRect","JsiSkImage","JsiSkVertices","JsiSkPath","JsiSkFont","JsiSkTextBlob","JsiSkPicture","JsiSkMatrix","JsiSkImageFilter","JsiSkPoint","JsiSkCanvas","constructor","CanvasKit","ref","delete","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","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","drawSvg","_svgDom","_width","_height","Error","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","drawPicture","skp","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","AlphaType","colorType","ColorType"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type { Canvas, CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n ImageInfo,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport { ckEnum, getCkEnum, 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\";\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 dispose = () => {\n this.ref.delete();\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 ckEnum(fm),\n ckEnum(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 ckEnum(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 ckEnum(fm),\n ckEnum(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 ckEnum(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 ? ckEnum(mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(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: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\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(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(JsiSkPath.fromValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\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: getCkEnum(this.CanvasKit.AlphaType, imageInfo.alphaType),\n colorType: getCkEnum(this.CanvasKit.ColorType, imageInfo.colorType),\n };\n return this.ref.readPixels(srcX, srcY, pxInfo);\n }\n}\n"],"mappings":"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"}
|
@@ -10,9 +10,7 @@ export class JsiSkFontMgrFactory extends Host {
|
|
10
10
|
|
11
11
|
if (!fontMgr) {
|
12
12
|
throw new Error("Couldn't create system font manager");
|
13
|
-
}
|
14
|
-
// @ts-expect-error
|
15
|
-
|
13
|
+
}
|
16
14
|
|
17
15
|
return new JsiSkFontMgr(this.CanvasKit, fontMgr);
|
18
16
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Host","JsiSkFontMgr","JsiSkFontMgrFactory","constructor","CanvasKit","System","fontMgr","TypefaceFontProvider","Make","Error"],"sources":["JsiSkFontMgrFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { FontMgrFactory } from \"../types\";\n\nimport { Host } from \"./Host\";\nimport { JsiSkFontMgr } from \"./JsiSkFontMgr\";\n\nexport class JsiSkFontMgrFactory extends Host implements FontMgrFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n System() {\n const fontMgr = this.CanvasKit.TypefaceFontProvider.Make();\n if (!fontMgr) {\n throw new Error(\"Couldn't create system font manager\");\n }\n
|
1
|
+
{"version":3,"names":["Host","JsiSkFontMgr","JsiSkFontMgrFactory","constructor","CanvasKit","System","fontMgr","TypefaceFontProvider","Make","Error"],"sources":["JsiSkFontMgrFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { FontMgrFactory } from \"../types\";\n\nimport { Host } from \"./Host\";\nimport { JsiSkFontMgr } from \"./JsiSkFontMgr\";\n\nexport class JsiSkFontMgrFactory extends Host implements FontMgrFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n System() {\n const fontMgr = this.CanvasKit.TypefaceFontProvider.Make();\n if (!fontMgr) {\n throw new Error(\"Couldn't create system font manager\");\n }\n return new JsiSkFontMgr(this.CanvasKit, fontMgr);\n }\n}\n"],"mappings":"AAIA,SAASA,IAAT,QAAqB,QAArB;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAEA,OAAO,MAAMC,mBAAN,SAAkCF,IAAlC,CAAiE;EACtEG,WAAW,CAACC,SAAD,EAAuB;IAChC,MAAMA,SAAN;EACD;;EAEDC,MAAM,GAAG;IACP,MAAMC,OAAO,GAAG,KAAKF,SAAL,CAAeG,oBAAf,CAAoCC,IAApC,EAAhB;;IACA,IAAI,CAACF,OAAL,EAAc;MACZ,MAAM,IAAIG,KAAJ,CAAU,qCAAV,CAAN;IACD;;IACD,OAAO,IAAIR,YAAJ,CAAiB,KAAKG,SAAtB,EAAiCE,OAAjC,CAAP;EACD;;AAXqE"}
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import type { CanvasKit, Image } from "canvaskit-wasm";
|
2
|
-
import type {
|
2
|
+
import type { FilterMode, MipmapMode, SkImage, SkMatrix, SkShader, TileMode, ImageFormat, ImageInfo } from "../types";
|
3
3
|
import { HostObject } from "./Host";
|
4
4
|
export declare const toBase64String: (bytes: Uint8Array) => string;
|
5
5
|
export declare class JsiSkImage extends HostObject<Image, "Image"> implements SkImage {
|
6
6
|
constructor(CanvasKit: CanvasKit, ref: Image);
|
7
7
|
height(): number;
|
8
8
|
width(): number;
|
9
|
+
getImageInfo(): ImageInfo;
|
9
10
|
makeShaderOptions(tx: TileMode, ty: TileMode, fm: FilterMode, mm: MipmapMode, localMatrix?: SkMatrix): SkShader;
|
10
11
|
makeShaderCubic(tx: TileMode, ty: TileMode, B: number, C: number, localMatrix?: SkMatrix): SkShader;
|
11
12
|
encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;
|
12
13
|
encodeToBase64(fmt?: ImageFormat, quality?: number): string;
|
14
|
+
readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo): Float32Array | Uint8Array | null;
|
13
15
|
dispose: () => void;
|
14
16
|
makeNonTextureImage(): SkImage;
|
15
17
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
2
|
|
3
|
-
import { ckEnum, HostObject } from "./Host";
|
3
|
+
import { ckEnum, getCkEnum, HostObject } from "./Host";
|
4
4
|
import { JsiSkMatrix } from "./JsiSkMatrix";
|
5
5
|
import { JsiSkShader } from "./JsiSkShader"; // https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/modules/canvaskit/htmlcanvas/util.js
|
6
6
|
|
@@ -49,6 +49,16 @@ export class JsiSkImage extends HostObject {
|
|
49
49
|
return this.ref.width();
|
50
50
|
}
|
51
51
|
|
52
|
+
getImageInfo() {
|
53
|
+
const info = this.ref.getImageInfo();
|
54
|
+
return {
|
55
|
+
width: info.width,
|
56
|
+
height: info.height,
|
57
|
+
colorType: info.colorType.value,
|
58
|
+
alphaType: info.alphaType.value
|
59
|
+
};
|
60
|
+
}
|
61
|
+
|
52
62
|
makeShaderOptions(tx, ty, fm, mm, localMatrix) {
|
53
63
|
return new JsiSkShader(this.CanvasKit, this.ref.makeShaderOptions(ckEnum(tx), ckEnum(ty), ckEnum(fm), ckEnum(mm), localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined));
|
54
64
|
}
|
@@ -80,6 +90,26 @@ export class JsiSkImage extends HostObject {
|
|
80
90
|
return toBase64String(bytes);
|
81
91
|
}
|
82
92
|
|
93
|
+
readPixels(srcX, srcY, imageInfo) {
|
94
|
+
var _imageInfo$width, _imageInfo$height;
|
95
|
+
|
96
|
+
const info = this.getImageInfo();
|
97
|
+
console.log({
|
98
|
+
alphaType: ckEnum(info.alphaType),
|
99
|
+
colorType: ckEnum(info.colorType),
|
100
|
+
realAlphaType: this.CanvasKit.AlphaType.Opaque.value,
|
101
|
+
realColorType: this.CanvasKit.ColorType.RGBA_8888.value
|
102
|
+
});
|
103
|
+
const pxInfo = {
|
104
|
+
colorSpace: this.CanvasKit.ColorSpace.SRGB,
|
105
|
+
width: (_imageInfo$width = imageInfo === null || imageInfo === void 0 ? void 0 : imageInfo.width) !== null && _imageInfo$width !== void 0 ? _imageInfo$width : info.width,
|
106
|
+
height: (_imageInfo$height = imageInfo === null || imageInfo === void 0 ? void 0 : imageInfo.height) !== null && _imageInfo$height !== void 0 ? _imageInfo$height : info.height,
|
107
|
+
alphaType: getCkEnum(this.CanvasKit.AlphaType, (imageInfo !== null && imageInfo !== void 0 ? imageInfo : info).alphaType),
|
108
|
+
colorType: getCkEnum(this.CanvasKit.ColorType, (imageInfo !== null && imageInfo !== void 0 ? imageInfo : info).colorType)
|
109
|
+
};
|
110
|
+
return this.ref.readPixels(srcX !== null && srcX !== void 0 ? srcX : 0, srcY !== null && srcY !== void 0 ? srcY : 0, pxInfo);
|
111
|
+
}
|
112
|
+
|
83
113
|
makeNonTextureImage() {
|
84
114
|
return new JsiSkImage(this.CanvasKit, this.CanvasKit.MakeImageFromEncoded(this.encodeToBytes()));
|
85
115
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ckEnum","HostObject","JsiSkMatrix","JsiSkShader","toBase64String","bytes","Buffer","from","toString","CHUNK_SIZE","index","length","result","slice","Math","min","String","fromCharCode","apply","btoa","JsiSkImage","constructor","CanvasKit","ref","delete","height","width","makeShaderOptions","tx","ty","fm","mm","localMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","Error","encodeToBase64","makeNonTextureImage","MakeImageFromEncoded"],"sources":["JsiSkImage.ts"],"sourcesContent":["import type {
|
1
|
+
{"version":3,"names":["ckEnum","getCkEnum","HostObject","JsiSkMatrix","JsiSkShader","toBase64String","bytes","Buffer","from","toString","CHUNK_SIZE","index","length","result","slice","Math","min","String","fromCharCode","apply","btoa","JsiSkImage","constructor","CanvasKit","ref","delete","height","width","getImageInfo","info","colorType","value","alphaType","makeShaderOptions","tx","ty","fm","mm","localMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","Error","encodeToBase64","readPixels","srcX","srcY","imageInfo","console","log","realAlphaType","AlphaType","Opaque","realColorType","ColorType","RGBA_8888","pxInfo","colorSpace","ColorSpace","SRGB","makeNonTextureImage","MakeImageFromEncoded"],"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 { ckEnum, getCkEnum, 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 ckEnum(tx),\n ckEnum(ty),\n ckEnum(fm),\n ckEnum(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 ckEnum(tx),\n ckEnum(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(ckEnum(fmt), quality);\n } else if (fmt) {\n result = this.ref.encodeToBytes(ckEnum(fmt));\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 readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo) {\n const info = this.getImageInfo();\n console.log({\n alphaType: ckEnum(info.alphaType),\n colorType: ckEnum(info.colorType),\n realAlphaType: this.CanvasKit.AlphaType.Opaque.value,\n realColorType: this.CanvasKit.ColorType.RGBA_8888.value,\n });\n const pxInfo: CKImageInfo = {\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n width: imageInfo?.width ?? info.width,\n height: imageInfo?.height ?? info.height,\n alphaType: getCkEnum(\n this.CanvasKit.AlphaType,\n (imageInfo ?? info).alphaType\n ),\n colorType: getCkEnum(\n this.CanvasKit.ColorType,\n (imageInfo ?? info).colorType\n ),\n };\n return this.ref.readPixels(srcX ?? 0, srcY ?? 0, pxInfo);\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n makeNonTextureImage(): SkImage {\n return new JsiSkImage(\n this.CanvasKit,\n this.CanvasKit.MakeImageFromEncoded(this.encodeToBytes())!\n );\n }\n}\n"],"mappings":"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"}
|
@@ -6,8 +6,8 @@ export declare class JsiSkTypefaceFontProvider extends HostObject<TypefaceFontPr
|
|
6
6
|
private allocatedPointers;
|
7
7
|
constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider);
|
8
8
|
matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface;
|
9
|
-
countFamilies():
|
10
|
-
getFamilyName(index: number):
|
9
|
+
countFamilies(): number;
|
10
|
+
getFamilyName(index: number): string;
|
11
11
|
registerFont(typeface: SkTypeface, familyName: string): void;
|
12
12
|
dispose(): void;
|
13
13
|
}
|
@@ -13,14 +13,10 @@ export class JsiSkTypefaceFontProvider extends HostObject {
|
|
13
13
|
}
|
14
14
|
|
15
15
|
countFamilies() {
|
16
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
17
|
-
// @ts-expect-error
|
18
16
|
return this.ref.countFamilies();
|
19
17
|
}
|
20
18
|
|
21
19
|
getFamilyName(index) {
|
22
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
23
|
-
// @ts-expect-error
|
24
20
|
return this.ref.getFamilyName(index);
|
25
21
|
}
|
26
22
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["HostObject","NotImplementedOnRNWeb","JsiSkTypefaceFontProvider","constructor","CanvasKit","ref","matchFamilyStyle","_name","_style","countFamilies","getFamilyName","index","registerFont","typeface","familyName","strLen","lengthBytesUTF8","strPtr","_malloc","stringToUTF8","_registerFont","dispose","ptr","allocatedPointers","_free","delete","str","encoder","TextEncoder","utf8","encode","length","outPtr","maxBytesToWrite","heap","HEAPU8","Error","i"],"sources":["JsiSkTypefaceFontProvider.ts"],"sourcesContent":["import type { CanvasKit, TypefaceFontProvider } from \"canvaskit-wasm\";\n\nimport type { SkTypefaceFontProvider } from \"../types/Paragraph/TypefaceFontProvider\";\nimport type { FontStyle, SkTypeface } from \"../types\";\n\nimport { HostObject, NotImplementedOnRNWeb } from \"./Host\";\n\nexport class JsiSkTypefaceFontProvider\n extends HostObject<TypefaceFontProvider, \"FontMgr\">\n implements SkTypefaceFontProvider\n{\n private allocatedPointers: number[] = [];\n\n constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider) {\n super(CanvasKit, ref, \"FontMgr\");\n }\n\n matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface {\n throw new NotImplementedOnRNWeb();\n }\n countFamilies() {\n
|
1
|
+
{"version":3,"names":["HostObject","NotImplementedOnRNWeb","JsiSkTypefaceFontProvider","constructor","CanvasKit","ref","matchFamilyStyle","_name","_style","countFamilies","getFamilyName","index","registerFont","typeface","familyName","strLen","lengthBytesUTF8","strPtr","_malloc","stringToUTF8","_registerFont","dispose","ptr","allocatedPointers","_free","delete","str","encoder","TextEncoder","utf8","encode","length","outPtr","maxBytesToWrite","heap","HEAPU8","Error","i"],"sources":["JsiSkTypefaceFontProvider.ts"],"sourcesContent":["import type { CanvasKit, TypefaceFontProvider } from \"canvaskit-wasm\";\n\nimport type { SkTypefaceFontProvider } from \"../types/Paragraph/TypefaceFontProvider\";\nimport type { FontStyle, SkTypeface } from \"../types\";\n\nimport { HostObject, NotImplementedOnRNWeb } from \"./Host\";\n\nexport class JsiSkTypefaceFontProvider\n extends HostObject<TypefaceFontProvider, \"FontMgr\">\n implements SkTypefaceFontProvider\n{\n private allocatedPointers: number[] = [];\n\n constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider) {\n super(CanvasKit, ref, \"FontMgr\");\n }\n\n matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface {\n throw new NotImplementedOnRNWeb();\n }\n countFamilies() {\n return this.ref.countFamilies();\n }\n getFamilyName(index: number) {\n return this.ref.getFamilyName(index);\n }\n registerFont(typeface: SkTypeface, familyName: string) {\n const strLen = lengthBytesUTF8(familyName) + 1;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n const strPtr = this.CanvasKit._malloc(strLen);\n stringToUTF8(this.CanvasKit, familyName, strPtr, strLen);\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n this.ref._registerFont(typeface.ref, strPtr);\n }\n\n dispose() {\n for (const ptr of this.allocatedPointers) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n this.CanvasKit._free(ptr);\n }\n\n this.ref.delete();\n }\n}\n\nconst lengthBytesUTF8 = (str: string) => {\n // TextEncoder will give us the byte length in UTF8 form\n const encoder = new TextEncoder();\n const utf8 = encoder.encode(str);\n return utf8.length;\n};\n\nconst stringToUTF8 = (\n CanvasKit: CanvasKit,\n str: string,\n outPtr: number,\n maxBytesToWrite: number\n) => {\n // TextEncoder will give us the byte array in UTF8 form\n const encoder = new TextEncoder();\n const utf8 = encoder.encode(str);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n const heap: Int8Array = CanvasKit.HEAPU8;\n\n // Check if there's enough space\n if (utf8.length > maxBytesToWrite) {\n throw new Error(\"Not enough space to write UTF8 encoded string\");\n }\n\n // Copy the bytes\n for (let i = 0; i < utf8.length; i++) {\n heap[outPtr + i] = utf8[i];\n }\n\n // Null terminate\n if (utf8.length < maxBytesToWrite) {\n heap[outPtr + utf8.length] = 0;\n }\n};\n"],"mappings":";;AAKA,SAASA,UAAT,EAAqBC,qBAArB,QAAkD,QAAlD;AAEA,OAAO,MAAMC,yBAAN,SACGF,UADH,CAGP;EAGEG,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkD;IAC3D,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,SAAtB;;IAD2D,2CAFvB,EAEuB;EAE5D;;EAEDC,gBAAgB,CAACC,KAAD,EAAgBC,MAAhB,EAA+C;IAC7D,MAAM,IAAIP,qBAAJ,EAAN;EACD;;EACDQ,aAAa,GAAG;IACd,OAAO,KAAKJ,GAAL,CAASI,aAAT,EAAP;EACD;;EACDC,aAAa,CAACC,KAAD,EAAgB;IAC3B,OAAO,KAAKN,GAAL,CAASK,aAAT,CAAuBC,KAAvB,CAAP;EACD;;EACDC,YAAY,CAACC,QAAD,EAAuBC,UAAvB,EAA2C;IACrD,MAAMC,MAAM,GAAGC,eAAe,CAACF,UAAD,CAAf,GAA8B,CAA7C,CADqD,CAGrD;IACA;;IACA,MAAMG,MAAM,GAAG,KAAKb,SAAL,CAAec,OAAf,CAAuBH,MAAvB,CAAf;;IACAI,YAAY,CAAC,KAAKf,SAAN,EAAiBU,UAAjB,EAA6BG,MAA7B,EAAqCF,MAArC,CAAZ,CANqD,CAQrD;IACA;;IACA,KAAKV,GAAL,CAASe,aAAT,CAAuBP,QAAQ,CAACR,GAAhC,EAAqCY,MAArC;EACD;;EAEDI,OAAO,GAAG;IACR,KAAK,MAAMC,GAAX,IAAkB,KAAKC,iBAAvB,EAA0C;MACxC;MACA;MACA,KAAKnB,SAAL,CAAeoB,KAAf,CAAqBF,GAArB;IACD;;IAED,KAAKjB,GAAL,CAASoB,MAAT;EACD;;AArCH;;AAwCA,MAAMT,eAAe,GAAIU,GAAD,IAAiB;EACvC;EACA,MAAMC,OAAO,GAAG,IAAIC,WAAJ,EAAhB;EACA,MAAMC,IAAI,GAAGF,OAAO,CAACG,MAAR,CAAeJ,GAAf,CAAb;EACA,OAAOG,IAAI,CAACE,MAAZ;AACD,CALD;;AAOA,MAAMZ,YAAY,GAAG,CACnBf,SADmB,EAEnBsB,GAFmB,EAGnBM,MAHmB,EAInBC,eAJmB,KAKhB;EACH;EACA,MAAMN,OAAO,GAAG,IAAIC,WAAJ,EAAhB;EACA,MAAMC,IAAI,GAAGF,OAAO,CAACG,MAAR,CAAeJ,GAAf,CAAb,CAHG,CAIH;EACA;;EACA,MAAMQ,IAAe,GAAG9B,SAAS,CAAC+B,MAAlC,CANG,CAQH;;EACA,IAAIN,IAAI,CAACE,MAAL,GAAcE,eAAlB,EAAmC;IACjC,MAAM,IAAIG,KAAJ,CAAU,+CAAV,CAAN;EACD,CAXE,CAaH;;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,IAAI,CAACE,MAAzB,EAAiCM,CAAC,EAAlC,EAAsC;IACpCH,IAAI,CAACF,MAAM,GAAGK,CAAV,CAAJ,GAAmBR,IAAI,CAACQ,CAAD,CAAvB;EACD,CAhBE,CAkBH;;;EACA,IAAIR,IAAI,CAACE,MAAL,GAAcE,eAAlB,EAAmC;IACjCC,IAAI,CAACF,MAAM,GAAGH,IAAI,CAACE,MAAf,CAAJ,GAA6B,CAA7B;EACD;AACF,CA3BD"}
|
@@ -2,7 +2,7 @@ import type { SkPaint } from "./Paint";
|
|
2
2
|
import type { SkRect } from "./Rect";
|
3
3
|
import type { SkFont } from "./Font";
|
4
4
|
import type { SkPath } from "./Path";
|
5
|
-
import type { SkImage, MipmapMode, FilterMode } from "./Image";
|
5
|
+
import type { SkImage, MipmapMode, FilterMode, ImageInfo } from "./Image";
|
6
6
|
import type { SkSVG } from "./SVG";
|
7
7
|
import type { SkColor } from "./Color";
|
8
8
|
import type { SkRRect } from "./RRect";
|
@@ -378,4 +378,12 @@ export interface SkCanvas {
|
|
378
378
|
* @param skp
|
379
379
|
*/
|
380
380
|
drawPicture(skp: SkPicture): void;
|
381
|
+
/** Read Image pixels
|
382
|
+
*
|
383
|
+
* @param srcX - x-axis upper left corner of the rectangle to read from
|
384
|
+
* @param srcY - y-axis upper left corner of the rectangle to read from
|
385
|
+
* @param imageInfo - describes the pixel format and dimensions of the data to read into
|
386
|
+
* @return Float32Array or Uint8Array with data or null if the read failed.
|
387
|
+
*/
|
388
|
+
readPixels(srcX: number, srcY: number, imageInfo: ImageInfo): Float32Array | Uint8Array | null;
|
381
389
|
}
|
@@ -2,6 +2,7 @@ import type { SkMatrix } from "../Matrix";
|
|
2
2
|
import type { SkJSIInstance } from "../JsiInstance";
|
3
3
|
import type { TileMode } from "../ImageFilter";
|
4
4
|
import type { SkShader } from "../Shader";
|
5
|
+
import type { ImageInfo } from "./ImageFactory";
|
5
6
|
export declare enum FilterMode {
|
6
7
|
Nearest = 0,
|
7
8
|
Linear = 1
|
@@ -25,6 +26,10 @@ export interface SkImage extends SkJSIInstance<"Image"> {
|
|
25
26
|
* Returns the possibly scaled width of the image.
|
26
27
|
*/
|
27
28
|
width(): number;
|
29
|
+
/**
|
30
|
+
* Returns the ImageInfo describing the image.
|
31
|
+
*/
|
32
|
+
getImageInfo(): ImageInfo;
|
28
33
|
/**
|
29
34
|
* Returns this image as a shader with the specified tiling. It will use cubic sampling.
|
30
35
|
* @param tx - tile mode in the x direction.
|
@@ -72,6 +77,14 @@ export interface SkImage extends SkJSIInstance<"Image"> {
|
|
72
77
|
@return base64 encoded string of data
|
73
78
|
*/
|
74
79
|
encodeToBase64(fmt?: ImageFormat, quality?: number): string;
|
80
|
+
/** Read Image pixels
|
81
|
+
*
|
82
|
+
* @param srcX - optional x-axis upper left corner of the rectangle to read from
|
83
|
+
* @param srcY - optional y-axis upper left corner of the rectangle to read from
|
84
|
+
* @param imageInfo - optional describes the pixel format and dimensions of the data to read into
|
85
|
+
* @return Float32Array or Uint8Array with data or null if the read failed.
|
86
|
+
*/
|
87
|
+
readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo): Float32Array | Uint8Array | null;
|
75
88
|
/**
|
76
89
|
* Returns raster image or lazy image. Copies SkImage backed by GPU texture
|
77
90
|
* into CPU memory if needed. Returns original SkImage if decoded in raster
|
@@ -19,17 +19,20 @@ export declare enum ColorType {
|
|
19
19
|
RGB_101010x = 9,
|
20
20
|
BGR_101010x = 10,
|
21
21
|
BGR_101010x_XR = 11,
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
22
|
+
RGBA_10x6 = 12,
|
23
|
+
Gray_8 = 13,
|
24
|
+
RGBA_F16Norm = 14,
|
25
|
+
RGBA_F16 = 15,
|
26
|
+
RGBA_F32 = 16,
|
27
|
+
R8G8_unorm = 17,
|
28
|
+
A16_float = 18,
|
29
|
+
R16G16_float = 19,
|
30
|
+
A16_unorm = 20,
|
31
|
+
R16G16_unorm = 21,
|
32
|
+
R16G16B16A16_unorm = 22,
|
33
|
+
SRGBA_8888 = 23,
|
34
|
+
R8_unorm = 24,
|
35
|
+
N32_SkColorType = 25
|
33
36
|
}
|
34
37
|
export interface ImageInfo {
|
35
38
|
alphaType: AlphaType;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { CanvasKit, EmbindEnumEntity } from "canvaskit-wasm";
|
1
|
+
import type { CanvasKit, EmbindEnumEntity, EmbindEnum } from "canvaskit-wasm";
|
2
2
|
import type { SkJSIInstance } from "../types";
|
3
3
|
export declare class NotImplementedOnRNWeb extends Error {
|
4
4
|
constructor(msg?: string);
|
@@ -16,5 +16,6 @@ export declare abstract class BaseHostObject<T, N extends string> extends Host i
|
|
16
16
|
export declare abstract class HostObject<T, N extends string> extends BaseHostObject<T, N> {
|
17
17
|
static fromValue<T>(value: SkJSIInstance<string>): T;
|
18
18
|
}
|
19
|
+
export declare const getCkEnum: (e: EmbindEnum, v: number) => EmbindEnumEntity;
|
19
20
|
export declare const ckEnum: (value: number) => EmbindEnumEntity;
|
20
21
|
export declare const optEnum: (value: number | undefined) => EmbindEnumEntity | undefined;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { Canvas, CanvasKit } from "canvaskit-wasm";
|
2
|
-
import type { BlendMode, ClipOp, FilterMode, MipmapMode, PointMode, SaveLayerFlag, SkCanvas, SkColor, SkFont, SkImage, SkImageFilter, SkMatrix, SkPaint, SkPath, SkPicture, SkPoint, SkRect, SkRRect, SkSVG, SkTextBlob, SkVertices } from "../types";
|
2
|
+
import type { BlendMode, ClipOp, FilterMode, MipmapMode, PointMode, SaveLayerFlag, ImageInfo, SkCanvas, SkColor, SkFont, SkImage, SkImageFilter, SkMatrix, SkPaint, SkPath, SkPicture, SkPoint, SkRect, SkRRect, SkSVG, SkTextBlob, SkVertices } from "../types";
|
3
3
|
import { HostObject } from "./Host";
|
4
4
|
export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements SkCanvas {
|
5
5
|
constructor(CanvasKit: CanvasKit, ref: Canvas);
|
@@ -42,4 +42,5 @@ export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements
|
|
42
42
|
clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean): void;
|
43
43
|
concat(m: SkMatrix): void;
|
44
44
|
drawPicture(skp: SkPicture): void;
|
45
|
+
readPixels(srcX: number, srcY: number, imageInfo: ImageInfo): Float32Array | Uint8Array | null;
|
45
46
|
}
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import type { CanvasKit, Image } from "canvaskit-wasm";
|
2
|
-
import type {
|
2
|
+
import type { FilterMode, MipmapMode, SkImage, SkMatrix, SkShader, TileMode, ImageFormat, ImageInfo } from "../types";
|
3
3
|
import { HostObject } from "./Host";
|
4
4
|
export declare const toBase64String: (bytes: Uint8Array) => string;
|
5
5
|
export declare class JsiSkImage extends HostObject<Image, "Image"> implements SkImage {
|
6
6
|
constructor(CanvasKit: CanvasKit, ref: Image);
|
7
7
|
height(): number;
|
8
8
|
width(): number;
|
9
|
+
getImageInfo(): ImageInfo;
|
9
10
|
makeShaderOptions(tx: TileMode, ty: TileMode, fm: FilterMode, mm: MipmapMode, localMatrix?: SkMatrix): SkShader;
|
10
11
|
makeShaderCubic(tx: TileMode, ty: TileMode, B: number, C: number, localMatrix?: SkMatrix): SkShader;
|
11
12
|
encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;
|
12
13
|
encodeToBase64(fmt?: ImageFormat, quality?: number): string;
|
14
|
+
readPixels(srcX?: number, srcY?: number, imageInfo?: ImageInfo): Float32Array | Uint8Array | null;
|
13
15
|
dispose: () => void;
|
14
16
|
makeNonTextureImage(): SkImage;
|
15
17
|
}
|
@@ -6,8 +6,8 @@ export declare class JsiSkTypefaceFontProvider extends HostObject<TypefaceFontPr
|
|
6
6
|
private allocatedPointers;
|
7
7
|
constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider);
|
8
8
|
matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface;
|
9
|
-
countFamilies():
|
10
|
-
getFamilyName(index: number):
|
9
|
+
countFamilies(): number;
|
10
|
+
getFamilyName(index: number): string;
|
11
11
|
registerFont(typeface: SkTypeface, familyName: string): void;
|
12
12
|
dispose(): void;
|
13
13
|
}
|
package/package.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
"setup-skia-web": "./scripts/setup-canvaskit.js"
|
8
8
|
},
|
9
9
|
"title": "React Native Skia",
|
10
|
-
"version": "0.1.
|
10
|
+
"version": "0.1.221",
|
11
11
|
"description": "High-performance React Native Graphics using Skia",
|
12
12
|
"main": "lib/module/index.js",
|
13
13
|
"files": [
|
@@ -106,7 +106,7 @@
|
|
106
106
|
"ws": "^8.11.0"
|
107
107
|
},
|
108
108
|
"dependencies": {
|
109
|
-
"canvaskit-wasm": "0.
|
109
|
+
"canvaskit-wasm": "0.39.1",
|
110
110
|
"react-reconciler": "^0.27.0"
|
111
111
|
},
|
112
112
|
"eslintIgnore": [
|
package/src/skia/types/Canvas.ts
CHANGED
@@ -2,7 +2,7 @@ import type { SkPaint } from "./Paint";
|
|
2
2
|
import type { SkRect } from "./Rect";
|
3
3
|
import type { SkFont } from "./Font";
|
4
4
|
import type { SkPath } from "./Path";
|
5
|
-
import type { SkImage, MipmapMode, FilterMode } from "./Image";
|
5
|
+
import type { SkImage, MipmapMode, FilterMode, ImageInfo } from "./Image";
|
6
6
|
import type { SkSVG } from "./SVG";
|
7
7
|
import type { SkColor } from "./Color";
|
8
8
|
import type { SkRRect } from "./RRect";
|
@@ -492,4 +492,17 @@ export interface SkCanvas {
|
|
492
492
|
* @param skp
|
493
493
|
*/
|
494
494
|
drawPicture(skp: SkPicture): void;
|
495
|
+
|
496
|
+
/** Read Image pixels
|
497
|
+
*
|
498
|
+
* @param srcX - x-axis upper left corner of the rectangle to read from
|
499
|
+
* @param srcY - y-axis upper left corner of the rectangle to read from
|
500
|
+
* @param imageInfo - describes the pixel format and dimensions of the data to read into
|
501
|
+
* @return Float32Array or Uint8Array with data or null if the read failed.
|
502
|
+
*/
|
503
|
+
readPixels(
|
504
|
+
srcX: number,
|
505
|
+
srcY: number,
|
506
|
+
imageInfo: ImageInfo
|
507
|
+
): Float32Array | Uint8Array | null;
|
495
508
|
}
|
@@ -3,6 +3,8 @@ import type { SkJSIInstance } from "../JsiInstance";
|
|
3
3
|
import type { TileMode } from "../ImageFilter";
|
4
4
|
import type { SkShader } from "../Shader";
|
5
5
|
|
6
|
+
import type { ImageInfo } from "./ImageFactory";
|
7
|
+
|
6
8
|
export enum FilterMode {
|
7
9
|
Nearest,
|
8
10
|
Linear,
|
@@ -31,6 +33,11 @@ export interface SkImage extends SkJSIInstance<"Image"> {
|
|
31
33
|
*/
|
32
34
|
width(): number;
|
33
35
|
|
36
|
+
/**
|
37
|
+
* Returns the ImageInfo describing the image.
|
38
|
+
*/
|
39
|
+
getImageInfo(): ImageInfo;
|
40
|
+
|
34
41
|
/**
|
35
42
|
* Returns this image as a shader with the specified tiling. It will use cubic sampling.
|
36
43
|
* @param tx - tile mode in the x direction.
|
@@ -94,6 +101,19 @@ export interface SkImage extends SkJSIInstance<"Image"> {
|
|
94
101
|
*/
|
95
102
|
encodeToBase64(fmt?: ImageFormat, quality?: number): string;
|
96
103
|
|
104
|
+
/** Read Image pixels
|
105
|
+
*
|
106
|
+
* @param srcX - optional x-axis upper left corner of the rectangle to read from
|
107
|
+
* @param srcY - optional y-axis upper left corner of the rectangle to read from
|
108
|
+
* @param imageInfo - optional describes the pixel format and dimensions of the data to read into
|
109
|
+
* @return Float32Array or Uint8Array with data or null if the read failed.
|
110
|
+
*/
|
111
|
+
readPixels(
|
112
|
+
srcX?: number,
|
113
|
+
srcY?: number,
|
114
|
+
imageInfo?: ImageInfo
|
115
|
+
): Float32Array | Uint8Array | null;
|
116
|
+
|
97
117
|
/**
|
98
118
|
* Returns raster image or lazy image. Copies SkImage backed by GPU texture
|
99
119
|
* into CPU memory if needed. Returns original SkImage if decoded in raster
|
@@ -10,36 +10,41 @@ export enum AlphaType {
|
|
10
10
|
}
|
11
11
|
|
12
12
|
export enum ColorType {
|
13
|
-
Unknown,
|
14
|
-
Alpha_8,
|
15
|
-
RGB_565,
|
16
|
-
ARGB_4444,
|
17
|
-
RGBA_8888,
|
18
|
-
RGB_888x,
|
19
|
-
BGRA_8888,
|
20
|
-
RGBA_1010102,
|
21
|
-
BGRA_1010102,
|
22
|
-
RGB_101010x,
|
23
|
-
BGR_101010x,
|
24
|
-
BGR_101010x_XR,
|
25
|
-
|
26
|
-
|
27
|
-
//
|
28
|
-
RGBA_F16,
|
29
|
-
//
|
30
|
-
RGBA_F32, //!< pixel using C float for red, green, blue, alpha; in 128-bit word
|
13
|
+
Unknown, // uninitialized
|
14
|
+
Alpha_8, // pixel with alpha in 8-bit byte
|
15
|
+
RGB_565, // pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word
|
16
|
+
ARGB_4444, // pixel with 4 bits for alpha, red, green, blue; in 16-bit word
|
17
|
+
RGBA_8888, // pixel with 8 bits for red, green, blue, alpha; in 32-bit word
|
18
|
+
RGB_888x, // pixel with 8 bits each for red, green, blue; in 32-bit word
|
19
|
+
BGRA_8888, // pixel with 8 bits for blue, green, red, alpha; in 32-bit word
|
20
|
+
RGBA_1010102, // 10 bits for red, green, blue; 2 bits for alpha; in 32-bit word
|
21
|
+
BGRA_1010102, // 10 bits for blue, green, red; 2 bits for alpha; in 32-bit word
|
22
|
+
RGB_101010x, // pixel with 10 bits each for red, green, blue; in 32-bit word
|
23
|
+
BGR_101010x, // pixel with 10 bits each for blue, green, red; in 32-bit word
|
24
|
+
BGR_101010x_XR, // pixel with 10 bits each for blue, green, red; in 32-bit word, extended range
|
25
|
+
RGBA_10x6, // pixel with 10 used bits (most significant) followed by 6 unused
|
26
|
+
Gray_8, // pixel with grayscale level in 8-bit byte
|
27
|
+
RGBA_F16Norm, // pixel with half floats in [0,1] for red, green, blue, alpha; in 64-bit word
|
28
|
+
RGBA_F16, // pixel with half floats for red, green, blue, alpha; in 64-bit word
|
29
|
+
RGBA_F32, // pixel using C float for red, green, blue, alpha; in 128-bit word
|
31
30
|
|
32
31
|
// The following 6 colortypes are just for reading from - not for rendering to
|
33
|
-
R8G8_unorm,
|
32
|
+
R8G8_unorm, // pixel with a uint8_t for red and green
|
34
33
|
|
35
|
-
A16_float,
|
36
|
-
R16G16_float,
|
34
|
+
A16_float, // pixel with a half float for alpha
|
35
|
+
R16G16_float, // pixel with a half float for red and green
|
36
|
+
|
37
|
+
A16_unorm, // pixel with a little endian uint16_t for alpha
|
38
|
+
R16G16_unorm, // pixel with a little endian uint16_t for red and green
|
39
|
+
R16G16B16A16_unorm, // pixel with a little endian uint16_t for red, green, blue, and alpha
|
37
40
|
|
38
|
-
A16_unorm, //!< pixel with a little endian uint16_t for alpha
|
39
|
-
R16G16_unorm, //!< pixel with a little endian uint16_t for red and green
|
40
|
-
R16G16B16A16_unorm, //!< pixel with a little endian uint16_t for red, green, blue
|
41
|
-
// and alpha
|
42
41
|
SRGBA_8888,
|
42
|
+
R8_unorm,
|
43
|
+
|
44
|
+
// The `kN32_SkColorType` is platform dependent in the original enum,
|
45
|
+
// and TypeScript doesn't support conditional compilation natively.
|
46
|
+
// You might need to handle it differently based on your use case.
|
47
|
+
N32_SkColorType, // either BGRA_8888 or RGBA_8888 based on the platform
|
43
48
|
}
|
44
49
|
|
45
50
|
export interface ImageInfo {
|