@shopify/react-native-skia 0.1.142 → 0.1.143
Sign up to get free protection for your applications and to get access to all the features.
- package/cpp/api/JsiSkPathFactory.h +1 -1
- package/cpp/api/JsiSkPicture.h +7 -1
- package/cpp/rnskia/RNSkDrawView.cpp +4 -4
- package/cpp/rnskia/RNSkDrawView.h +1 -1
- package/lib/commonjs/renderer/components/Blend.js +20 -5
- package/lib/commonjs/renderer/components/Blend.js.map +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Morphology.js +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Morphology.js.map +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Shadow.js +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Shadow.js.map +1 -1
- package/lib/commonjs/skia/web/Host.js +12 -21
- package/lib/commonjs/skia/web/Host.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +46 -26
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js +4 -4
- package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFont.js +7 -3
- package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.js +4 -2
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFactory.js +4 -2
- package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js +61 -19
- package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.js +1 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPaint.js +15 -6
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +9 -55
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js +7 -3
- package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkPathFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js +5 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +3 -1
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPoint.js +9 -1
- package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRRect.js +1 -1
- package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRect.js +1 -1
- package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +4 -2
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkShaderFactory.js +10 -6
- package/lib/commonjs/skia/web/JsiSkShaderFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSurface.js +3 -1
- package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js +8 -4
- package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypefaceFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkTypefaceFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +12 -6
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/renderer/components/Blend.js +21 -5
- package/lib/module/renderer/components/Blend.js.map +1 -1
- package/lib/module/renderer/components/imageFilters/Morphology.js +1 -1
- package/lib/module/renderer/components/imageFilters/Morphology.js.map +1 -1
- package/lib/module/renderer/components/imageFilters/Shadow.js +1 -1
- package/lib/module/renderer/components/imageFilters/Shadow.js.map +1 -1
- package/lib/module/skia/web/Host.js +9 -9
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +37 -27
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkColorFilterFactory.js +5 -5
- package/lib/module/skia/web/JsiSkColorFilterFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.js +6 -4
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.js +4 -3
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFactory.js +4 -3
- package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFilterFactory.js +61 -20
- package/lib/module/skia/web/JsiSkImageFilterFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkMatrix.js +2 -2
- package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.js +11 -7
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.js +9 -57
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathEffectFactory.js +6 -4
- package/lib/module/skia/web/JsiSkPathEffectFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathFactory.js +2 -2
- package/lib/module/skia/web/JsiSkPathFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPicture.js +4 -2
- package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/module/skia/web/JsiSkPictureRecorder.js +3 -2
- package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/module/skia/web/JsiSkPoint.js +10 -2
- package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/module/skia/web/JsiSkRRect.js +2 -2
- package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/module/skia/web/JsiSkRect.js +2 -2
- package/lib/module/skia/web/JsiSkRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.js +4 -3
- package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkShaderFactory.js +9 -7
- package/lib/module/skia/web/JsiSkShaderFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkSurface.js +3 -2
- package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTextBlobFactory.js +7 -5
- package/lib/module/skia/web/JsiSkTextBlobFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypefaceFactory.js +2 -2
- package/lib/module/skia/web/JsiSkTypefaceFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +10 -5
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/typescript/src/skia/types/Picture/Picture.d.ts +2 -1
- package/lib/typescript/src/skia/web/Host.d.ts +5 -7
- package/lib/typescript/src/skia/web/JsiSkImageFilterFactory.d.ts +8 -8
- package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +3 -2
- package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/typescript/src/skia/web/JsiSkRect.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkTextBlobFactory.d.ts +2 -1
- package/package.json +2 -2
- package/src/renderer/components/Blend.tsx +25 -5
- package/src/renderer/components/imageFilters/Morphology.tsx +2 -2
- package/src/renderer/components/imageFilters/Shadow.tsx +2 -2
- package/src/skia/types/Picture/Picture.ts +2 -1
- package/src/skia/web/Host.ts +11 -21
- package/src/skia/web/JsiSkCanvas.ts +78 -47
- package/src/skia/web/JsiSkColorFilterFactory.ts +15 -5
- package/src/skia/web/JsiSkFont.ts +11 -4
- package/src/skia/web/JsiSkImage.ts +4 -3
- package/src/skia/web/JsiSkImageFactory.ts +6 -3
- package/src/skia/web/JsiSkImageFilterFactory.ts +124 -52
- package/src/skia/web/JsiSkMatrix.ts +4 -2
- package/src/skia/web/JsiSkPaint.ts +11 -7
- package/src/skia/web/JsiSkPath.ts +16 -51
- package/src/skia/web/JsiSkPathEffectFactory.ts +10 -5
- package/src/skia/web/JsiSkPathFactory.ts +3 -3
- package/src/skia/web/JsiSkPicture.ts +5 -3
- package/src/skia/web/JsiSkPictureRecorder.ts +3 -2
- package/src/skia/web/JsiSkPoint.ts +12 -2
- package/src/skia/web/JsiSkRRect.ts +5 -2
- package/src/skia/web/JsiSkRSXform.ts +1 -1
- package/src/skia/web/JsiSkRect.ts +2 -2
- package/src/skia/web/JsiSkRuntimeEffect.ts +9 -4
- package/src/skia/web/JsiSkShaderFactory.ts +24 -15
- package/src/skia/web/JsiSkSurface.ts +7 -2
- package/src/skia/web/JsiSkTextBlobFactory.ts +14 -8
- package/src/skia/web/JsiSkTypefaceFactory.tsx +4 -2
- package/src/skia/web/JsiSkia.ts +17 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkFont.ts"],"names":["JsiSkFont","HostObject","constructor","CanvasKit","ref","getTextWidth","text","paint","ids","getGlyphIDs","widths","getGlyphWidths","reduce","a","b","getMetrics","result","ascent","descent","leading","bounds","JsiSkRect","undefined","str","numCodePoints","glyphs","getGlyphIntercepts","positions","top","bottom","map","p","getScaleX","getSize","getSkewX","isEmbolden","getTypeface","tf","JsiSkTypeface","setEdging","edging","setEmbeddedBitmaps","embeddedBitmaps","setHinting","hinting","setLinearMetrics","linearMetrics","setScaleX","sx","setSize","points","setSkewX","setEmbolden","embolden","setSubpixel","subpixel","setTypeface","face"],"mappings":";;;;;;;AAWA;;AACA;;AACA;;AAEO,MAAMA,SAAN,SAAwBC,gBAAxB,CAAmE;AACxEC,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;AAC3C,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;AACD;;AAEDC,EAAAA,YAAY,CAACC,IAAD,EAAeC,KAAf,EAA4C;AACtD,UAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiBH,IAAjB,CAAZ;AACA,UAAMI,MAAM,GAAG,KAAKC,cAAL,CAAoBH,GAApB,EAAyBD,KAAzB,CAAf;AACA,WAAOG,MAAM,CAACE,MAAP,CAAc,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,GAAGC,CAA5B,EAA+B,CAA/B,CAAP;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACX,UAAMC,MAAM,GAAG,KAAKZ,GAAL,CAASW,UAAT,EAAf;AACA,WAAO;AACLE,MAAAA,MAAM,EAAED,MAAM,CAACC,MADV;AAELC,MAAAA,OAAO,EAAEF,MAAM,CAACE,OAFX;AAGLC,MAAAA,OAAO,EAAEH,MAAM,CAACG,OAHX;AAILC,MAAAA,MAAM,EAAEJ,MAAM,CAACI,MAAP,GACJ,IAAIC,oBAAJ,CAAc,KAAKlB,SAAnB,EAA8Ba,MAAM,CAACI,MAArC,CADI,GAEJE;AANC,KAAP;AAQD;;AAEDb,EAAAA,WAAW,CAACc,GAAD,EAAcC,aAAd,EAAsC;AAC/C;AACA,WAAO,CAAC,GAAG,KAAKpB,GAAL,CAASK,WAAT,CAAqBc,GAArB,EAA0BC,aAA1B,CAAJ,CAAP;AACD,GA1BuE,CA4BxE;;;AACAb,EAAAA,cAAc,CAACc,MAAD,EAAmBlB,KAAnB,EAA2C;AACvD,WAAO,
|
1
|
+
{"version":3,"sources":["JsiSkFont.ts"],"names":["JsiSkFont","HostObject","constructor","CanvasKit","ref","getTextWidth","text","paint","ids","getGlyphIDs","widths","getGlyphWidths","reduce","a","b","getMetrics","result","ascent","descent","leading","bounds","JsiSkRect","undefined","str","numCodePoints","glyphs","JsiSkPaint","fromValue","getGlyphIntercepts","positions","top","bottom","map","p","Array","from","JsiSkPoint","flat","getScaleX","getSize","getSkewX","isEmbolden","getTypeface","tf","JsiSkTypeface","setEdging","edging","setEmbeddedBitmaps","embeddedBitmaps","setHinting","hinting","setLinearMetrics","linearMetrics","setScaleX","sx","setSize","points","setSkewX","setEmbolden","embolden","setSubpixel","subpixel","setTypeface","face"],"mappings":"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","sourcesContent":["import type { CanvasKit, Font } from \"canvaskit-wasm\";\n\nimport type {\n FontEdging,\n FontHinting,\n SkFont,\n SkPaint,\n SkPoint,\n SkTypeface,\n} from \"../types\";\n\nimport { HostObject, ckEnum } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\n\nexport class JsiSkFont extends HostObject<Font, \"Font\"> implements SkFont {\n constructor(CanvasKit: CanvasKit, ref: Font) {\n super(CanvasKit, ref, \"Font\");\n }\n\n getTextWidth(text: string, paint?: SkPaint | undefined) {\n const ids = this.getGlyphIDs(text);\n const widths = this.getGlyphWidths(ids, paint);\n return widths.reduce((a, b) => a + b, 0);\n }\n\n getMetrics() {\n const result = this.ref.getMetrics();\n return {\n ascent: result.ascent,\n descent: result.descent,\n leading: result.leading,\n bounds: result.bounds\n ? new JsiSkRect(this.CanvasKit, result.bounds)\n : undefined,\n };\n }\n\n getGlyphIDs(str: string, numCodePoints?: number) {\n // TODO: Fix return value in the C++ implementation\n return [...this.ref.getGlyphIDs(str, numCodePoints)];\n }\n\n // TODO: Fix return value in the C++ implementation, it return float32\n getGlyphWidths(glyphs: number[], paint?: SkPaint | null) {\n return [\n ...this.ref.getGlyphWidths(\n glyphs,\n paint ? JsiSkPaint.fromValue(paint) : null\n ),\n ];\n }\n\n getGlyphIntercepts(\n glyphs: number[],\n positions: SkPoint[],\n top: number,\n bottom: number\n ) {\n return [\n ...this.ref.getGlyphIntercepts(\n glyphs,\n positions.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n top,\n bottom\n ),\n ];\n }\n\n getScaleX() {\n return this.ref.getScaleX();\n }\n\n getSize() {\n return this.ref.getSize();\n }\n\n getSkewX() {\n return this.ref.getSkewX();\n }\n\n isEmbolden() {\n return this.ref.isEmbolden();\n }\n\n getTypeface() {\n const tf = this.ref.getTypeface();\n return tf ? new JsiSkTypeface(this.CanvasKit, tf) : null;\n }\n\n setEdging(edging: FontEdging) {\n this.ref.setEdging(ckEnum(edging));\n }\n\n setEmbeddedBitmaps(embeddedBitmaps: boolean) {\n this.ref.setEmbeddedBitmaps(embeddedBitmaps);\n }\n\n setHinting(hinting: FontHinting) {\n this.ref.setHinting(ckEnum(hinting));\n }\n\n setLinearMetrics(linearMetrics: boolean) {\n this.ref.setLinearMetrics(linearMetrics);\n }\n\n setScaleX(sx: number) {\n this.ref.setScaleX(sx);\n }\n\n setSize(points: number) {\n this.ref.setSize(points);\n }\n\n setSkewX(sx: number) {\n this.ref.setSkewX(sx);\n }\n\n setEmbolden(embolden: boolean) {\n this.ref.setEmbolden(embolden);\n }\n\n setSubpixel(subpixel: boolean) {\n this.ref.setSubpixel(subpixel);\n }\n\n setTypeface(face: SkTypeface | null) {\n this.ref.setTypeface(face ? JsiSkTypeface.fromValue(face) : null);\n }\n}\n"]}
|
@@ -7,6 +7,8 @@ exports.JsiSkImage = void 0;
|
|
7
7
|
|
8
8
|
var _Host = require("./Host");
|
9
9
|
|
10
|
+
var _JsiSkMatrix = require("./JsiSkMatrix");
|
11
|
+
|
10
12
|
var _JsiSkShader = require("./JsiSkShader");
|
11
13
|
|
12
14
|
/*global btoa, atob*/
|
@@ -24,11 +26,11 @@ class JsiSkImage extends _Host.HostObject {
|
|
24
26
|
}
|
25
27
|
|
26
28
|
makeShaderOptions(tx, ty, fm, mm, localMatrix) {
|
27
|
-
return new _JsiSkShader.JsiSkShader(this.CanvasKit, this.ref.makeShaderOptions((0, _Host.ckEnum)(tx), (0, _Host.ckEnum)(ty), (0, _Host.ckEnum)(fm), (0, _Host.ckEnum)(mm), localMatrix ?
|
29
|
+
return new _JsiSkShader.JsiSkShader(this.CanvasKit, this.ref.makeShaderOptions((0, _Host.ckEnum)(tx), (0, _Host.ckEnum)(ty), (0, _Host.ckEnum)(fm), (0, _Host.ckEnum)(mm), localMatrix ? _JsiSkMatrix.JsiSkMatrix.fromValue(localMatrix) : undefined));
|
28
30
|
}
|
29
31
|
|
30
32
|
makeShaderCubic(tx, ty, B, C, localMatrix) {
|
31
|
-
return new _JsiSkShader.JsiSkShader(this.CanvasKit, this.ref.makeShaderCubic((0, _Host.ckEnum)(tx), (0, _Host.ckEnum)(ty), B, C, localMatrix ?
|
33
|
+
return new _JsiSkShader.JsiSkShader(this.CanvasKit, this.ref.makeShaderCubic((0, _Host.ckEnum)(tx), (0, _Host.ckEnum)(ty), B, C, localMatrix ? _JsiSkMatrix.JsiSkMatrix.fromValue(localMatrix) : undefined));
|
32
34
|
}
|
33
35
|
|
34
36
|
encodeToBytes(fmt, quality) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkImage.ts"],"names":["JsiSkImage","HostObject","constructor","CanvasKit","ref","height","width","makeShaderOptions","tx","ty","fm","mm","localMatrix","JsiSkShader","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","result","Error","encodeToBase64","bytes","btoa","String","fromCharCode"],"mappings":";;;;;;;AAaA;;AACA;;
|
1
|
+
{"version":3,"sources":["JsiSkImage.ts"],"names":["JsiSkImage","HostObject","constructor","CanvasKit","ref","height","width","makeShaderOptions","tx","ty","fm","mm","localMatrix","JsiSkShader","JsiSkMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","result","Error","encodeToBase64","bytes","btoa","String","fromCharCode"],"mappings":";;;;;;;AAaA;;AACA;;AACA;;AAfA;AAiBO,MAAMA,UAAN,SAAyBC,gBAAzB,CAAuE;AAC5EC,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAmC;AAC5C,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,OAAtB;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,WAAO,KAAKD,GAAL,CAASC,MAAT,EAAP;AACD;;AAEDC,EAAAA,KAAK,GAAG;AACN,WAAO,KAAKF,GAAL,CAASE,KAAT,EAAP;AACD;;AAEDC,EAAAA,iBAAiB,CACfC,EADe,EAEfC,EAFe,EAGfC,EAHe,EAIfC,EAJe,EAKfC,WALe,EAML;AACV,WAAO,IAAIC,wBAAJ,CACL,KAAKV,SADA,EAEL,KAAKC,GAAL,CAASG,iBAAT,CACE,kBAAOC,EAAP,CADF,EAEE,kBAAOC,EAAP,CAFF,EAGE,kBAAOC,EAAP,CAHF,EAIE,kBAAOC,EAAP,CAJF,EAKEC,WAAW,GAAGE,yBAAYC,SAAZ,CAAsBH,WAAtB,CAAH,GAAwCI,SALrD,CAFK,CAAP;AAUD;;AAEDC,EAAAA,eAAe,CACbT,EADa,EAEbC,EAFa,EAGbS,CAHa,EAIbC,CAJa,EAKbP,WALa,EAMH;AACV,WAAO,IAAIC,wBAAJ,CACL,KAAKV,SADA,EAEL,KAAKC,GAAL,CAASa,eAAT,CACE,kBAAOT,EAAP,CADF,EAEE,kBAAOC,EAAP,CAFF,EAGES,CAHF,EAIEC,CAJF,EAKEP,WAAW,GAAGE,yBAAYC,SAAZ,CAAsBH,WAAtB,CAAH,GAAwCI,SALrD,CAFK,CAAP;AAUD;;AAEDI,EAAAA,aAAa,CAACC,GAAD,EAAoBC,OAApB,EAAsC;AACjD,QAAIC,MAAJ;;AACA,QAAIF,GAAG,IAAIC,OAAX,EAAoB;AAClBC,MAAAA,MAAM,GAAG,KAAKnB,GAAL,CAASgB,aAAT,CAAuB,kBAAOC,GAAP,CAAvB,EAAoCC,OAApC,CAAT;AACD,KAFD,MAEO,IAAID,GAAJ,EAAS;AACdE,MAAAA,MAAM,GAAG,KAAKnB,GAAL,CAASgB,aAAT,CAAuB,kBAAOC,GAAP,CAAvB,CAAT;AACD,KAFM,MAEA;AACLE,MAAAA,MAAM,GAAG,KAAKnB,GAAL,CAASgB,aAAT,EAAT;AACD;;AACD,QAAI,CAACG,MAAL,EAAa;AACX,YAAM,IAAIC,KAAJ,CAAU,sBAAV,CAAN;AACD;;AACD,WAAOD,MAAP;AACD;;AAEDE,EAAAA,cAAc,CAACJ,GAAD,EAAoBC,OAApB,EAAsC;AAClD,UAAMI,KAAK,GAAG,KAAKN,aAAL,CAAmBC,GAAnB,EAAwBC,OAAxB,CAAd;AACA,WAAOK,IAAI,CAACC,MAAM,CAACC,YAAP,CAAoB,GAAGH,KAAvB,CAAD,CAAX;AACD;;AArE2E","sourcesContent":["/*global btoa, atob*/\nimport type { CanvasKit, Image } from \"canvaskit-wasm\";\n\nimport type {\n ImageFormat,\n FilterMode,\n MipmapMode,\n SkImage,\n SkMatrix,\n SkShader,\n TileMode,\n} from \"../types\";\n\nimport { ckEnum, HostObject } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkShader } from \"./JsiSkShader\";\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 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 btoa(String.fromCharCode(...bytes));\n }\n}\n"]}
|
@@ -9,13 +9,15 @@ var _Host = require("./Host");
|
|
9
9
|
|
10
10
|
var _JsiSkImage = require("./JsiSkImage");
|
11
11
|
|
12
|
+
var _JsiSkData = require("./JsiSkData");
|
13
|
+
|
12
14
|
class JsiSkImageFactory extends _Host.Host {
|
13
15
|
constructor(CanvasKit) {
|
14
16
|
super(CanvasKit);
|
15
17
|
}
|
16
18
|
|
17
19
|
MakeImageFromEncoded(encoded) {
|
18
|
-
const image = this.CanvasKit.MakeImageFromEncoded(
|
20
|
+
const image = this.CanvasKit.MakeImageFromEncoded(_JsiSkData.JsiSkData.fromValue(encoded));
|
19
21
|
|
20
22
|
if (image === null) {
|
21
23
|
return null;
|
@@ -32,7 +34,7 @@ class JsiSkImageFactory extends _Host.Host {
|
|
32
34
|
colorType: (0, _Host.ckEnum)(info.colorType),
|
33
35
|
height: info.height,
|
34
36
|
width: info.width
|
35
|
-
},
|
37
|
+
}, _JsiSkData.JsiSkData.fromValue(data), bytesPerRow);
|
36
38
|
|
37
39
|
if (image === null) {
|
38
40
|
return null;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkImageFactory.ts"],"names":["JsiSkImageFactory","Host","constructor","CanvasKit","MakeImageFromEncoded","encoded","image","JsiSkImage","MakeImage","info","data","bytesPerRow","alphaType","colorSpace","ColorSpace","SRGB","colorType","height","width"],"mappings":";;;;;;;AAKA;;AACA;;AAEO,MAAMA,iBAAN,SAAgCC,UAAhC,CAA6D;AAClEC,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,oBAAoB,CAACC,OAAD,EAAkB;AACpC,UAAMC,KAAK,GAAG,KAAKH,SAAL,CAAeC,oBAAf,
|
1
|
+
{"version":3,"sources":["JsiSkImageFactory.ts"],"names":["JsiSkImageFactory","Host","constructor","CanvasKit","MakeImageFromEncoded","encoded","image","JsiSkData","fromValue","JsiSkImage","MakeImage","info","data","bytesPerRow","alphaType","colorSpace","ColorSpace","SRGB","colorType","height","width"],"mappings":";;;;;;;AAKA;;AACA;;AACA;;AAEO,MAAMA,iBAAN,SAAgCC,UAAhC,CAA6D;AAClEC,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,oBAAoB,CAACC,OAAD,EAAkB;AACpC,UAAMC,KAAK,GAAG,KAAKH,SAAL,CAAeC,oBAAf,CACZG,qBAAUC,SAAV,CAAoBH,OAApB,CADY,CAAd;;AAGA,QAAIC,KAAK,KAAK,IAAd,EAAoB;AAClB,aAAO,IAAP;AACD;;AACD,WAAO,IAAIG,sBAAJ,CAAe,KAAKN,SAApB,EAA+BG,KAA/B,CAAP;AACD;;AAEDI,EAAAA,SAAS,CAACC,IAAD,EAAkBC,IAAlB,EAAgCC,WAAhC,EAAqD;AAC5D;AACA,UAAMP,KAAK,GAAG,KAAKH,SAAL,CAAeO,SAAf,CACZ;AACEI,MAAAA,SAAS,EAAE,kBAAOH,IAAI,CAACG,SAAZ,CADb;AAEEC,MAAAA,UAAU,EAAE,KAAKZ,SAAL,CAAea,UAAf,CAA0BC,IAFxC;AAGEC,MAAAA,SAAS,EAAE,kBAAOP,IAAI,CAACO,SAAZ,CAHb;AAIEC,MAAAA,MAAM,EAAER,IAAI,CAACQ,MAJf;AAKEC,MAAAA,KAAK,EAAET,IAAI,CAACS;AALd,KADY,EAQZb,qBAAUC,SAAV,CAAoBI,IAApB,CARY,EASZC,WATY,CAAd;;AAWA,QAAIP,KAAK,KAAK,IAAd,EAAoB;AAClB,aAAO,IAAP;AACD;;AACD,WAAO,IAAIG,sBAAJ,CAAe,KAAKN,SAApB,EAA+BG,KAA/B,CAAP;AACD;;AAhCiE","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkData, ImageInfo } from \"../types\";\nimport type { ImageFactory } from \"../types/Image/ImageFactory\";\n\nimport { Host, ckEnum } from \"./Host\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkData } from \"./JsiSkData\";\n\nexport class JsiSkImageFactory extends Host implements ImageFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeImageFromEncoded(encoded: SkData) {\n const image = this.CanvasKit.MakeImageFromEncoded(\n JsiSkData.fromValue(encoded)\n );\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n\n MakeImage(info: ImageInfo, data: SkData, bytesPerRow: number) {\n // see toSkImageInfo() from canvaskit\n const image = this.CanvasKit.MakeImage(\n {\n alphaType: ckEnum(info.alphaType),\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n colorType: ckEnum(info.colorType),\n height: info.height,\n width: info.width,\n },\n JsiSkData.fromValue(data),\n bytesPerRow\n );\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n}\n"]}
|
@@ -9,53 +9,95 @@ var _Host = require("./Host");
|
|
9
9
|
|
10
10
|
var _JsiSkImageFilter = require("./JsiSkImageFilter");
|
11
11
|
|
12
|
+
var _JsiSkColorFilter = require("./JsiSkColorFilter");
|
13
|
+
|
12
14
|
class JsiSkImageFilterFactory extends _Host.Host {
|
13
15
|
constructor(CanvasKit) {
|
14
16
|
super(CanvasKit);
|
15
17
|
}
|
16
18
|
|
17
|
-
MakeOffset(
|
18
|
-
|
19
|
+
MakeOffset(dx, dy, input) {
|
20
|
+
const inputFilter = input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input);
|
21
|
+
const filter = this.CanvasKit.ImageFilter.MakeOffset(dx, dy, inputFilter);
|
22
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
19
23
|
}
|
20
24
|
|
21
|
-
MakeDisplacementMap(
|
22
|
-
|
25
|
+
MakeDisplacementMap(channelX, channelY, scale, in1, input) {
|
26
|
+
const inputFilter = input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input);
|
27
|
+
const filter = this.CanvasKit.ImageFilter.MakeDisplacementMap((0, _Host.ckEnum)(channelX), (0, _Host.ckEnum)(channelY), scale, _JsiSkImageFilter.JsiSkImageFilter.fromValue(in1), inputFilter);
|
28
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
23
29
|
}
|
24
30
|
|
25
|
-
MakeShader(
|
26
|
-
|
31
|
+
MakeShader(shader, _input) {
|
32
|
+
const filter = this.CanvasKit.ImageFilter.MakeShader(_JsiSkImageFilter.JsiSkImageFilter.fromValue(shader));
|
33
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
27
34
|
}
|
28
35
|
|
29
36
|
MakeBlur(sigmaX, sigmaY, mode, input) {
|
30
|
-
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, this.CanvasKit.ImageFilter.MakeBlur(sigmaX, sigmaY, (0, _Host.ckEnum)(mode), input === null ? null :
|
37
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, this.CanvasKit.ImageFilter.MakeBlur(sigmaX, sigmaY, (0, _Host.ckEnum)(mode), input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input)));
|
31
38
|
}
|
32
39
|
|
33
40
|
MakeColorFilter(cf, input) {
|
34
|
-
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, this.CanvasKit.ImageFilter.MakeColorFilter(
|
41
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, this.CanvasKit.ImageFilter.MakeColorFilter(_JsiSkColorFilter.JsiSkColorFilter.fromValue(cf), input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input)));
|
35
42
|
}
|
36
43
|
|
37
44
|
MakeCompose(outer, inner) {
|
38
|
-
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, this.CanvasKit.ImageFilter.MakeCompose(outer === null ? null :
|
45
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, this.CanvasKit.ImageFilter.MakeCompose(outer === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(outer), inner === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(inner)));
|
39
46
|
}
|
40
47
|
|
41
|
-
MakeDropShadow(
|
42
|
-
|
48
|
+
MakeDropShadow(dx, dy, sigmaX, sigmaY, color, input, cropRect) {
|
49
|
+
const inputFilter = input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input);
|
50
|
+
|
51
|
+
if (cropRect) {
|
52
|
+
throw new _Host.NotImplementedOnRNWeb("The cropRect argument is not yet supported on React Native Web.");
|
53
|
+
}
|
54
|
+
|
55
|
+
const filter = this.CanvasKit.ImageFilter.MakeDropShadow(dx, dy, sigmaX, sigmaY, color, inputFilter);
|
56
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
43
57
|
}
|
44
58
|
|
45
|
-
MakeDropShadowOnly(
|
46
|
-
|
59
|
+
MakeDropShadowOnly(dx, dy, sigmaX, sigmaY, color, input, cropRect) {
|
60
|
+
const inputFilter = input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input);
|
61
|
+
|
62
|
+
if (cropRect) {
|
63
|
+
throw new _Host.NotImplementedOnRNWeb("The cropRect argument is not yet supported on React Native Web.");
|
64
|
+
}
|
65
|
+
|
66
|
+
const filter = this.CanvasKit.ImageFilter.MakeDropShadowOnly(dx, dy, sigmaX, sigmaY, color, inputFilter);
|
67
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
47
68
|
}
|
48
69
|
|
49
|
-
MakeErode(
|
50
|
-
|
70
|
+
MakeErode(rx, ry, input, cropRect) {
|
71
|
+
const inputFilter = input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input);
|
72
|
+
|
73
|
+
if (cropRect) {
|
74
|
+
throw new _Host.NotImplementedOnRNWeb("The cropRect argument is not yet supported on React Native Web.");
|
75
|
+
}
|
76
|
+
|
77
|
+
const filter = this.CanvasKit.ImageFilter.MakeErode(rx, ry, inputFilter);
|
78
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
51
79
|
}
|
52
80
|
|
53
|
-
MakeDilate(
|
54
|
-
|
81
|
+
MakeDilate(rx, ry, input, cropRect) {
|
82
|
+
const inputFilter = input === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(input);
|
83
|
+
|
84
|
+
if (cropRect) {
|
85
|
+
throw new _Host.NotImplementedOnRNWeb("The cropRect argument is not yet supported on React Native Web.");
|
86
|
+
}
|
87
|
+
|
88
|
+
const filter = this.CanvasKit.ImageFilter.MakeDilate(rx, ry, inputFilter);
|
89
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
55
90
|
}
|
56
91
|
|
57
|
-
MakeBlend(
|
58
|
-
|
92
|
+
MakeBlend(mode, background, foreground, cropRect) {
|
93
|
+
const inputFilter = foreground === null ? null : _JsiSkImageFilter.JsiSkImageFilter.fromValue(foreground);
|
94
|
+
|
95
|
+
if (cropRect) {
|
96
|
+
throw new _Host.NotImplementedOnRNWeb("The cropRect argument is not yet supported on React Native Web.");
|
97
|
+
}
|
98
|
+
|
99
|
+
const filter = this.CanvasKit.ImageFilter.MakeBlend((0, _Host.ckEnum)(mode), _JsiSkImageFilter.JsiSkImageFilter.fromValue(background), inputFilter);
|
100
|
+
return new _JsiSkImageFilter.JsiSkImageFilter(this.CanvasKit, filter);
|
59
101
|
}
|
60
102
|
|
61
103
|
MakeRuntimeShader(_builder, _childShaderName, _input) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkImageFilterFactory.ts"],"names":["JsiSkImageFilterFactory","Host","constructor","CanvasKit","MakeOffset","_dx","_dy","_input","NotImplementedOnRNWeb","MakeDisplacementMap","_channelX","_channelY","_scale","_in1","MakeShader","_shader","MakeBlur","sigmaX","sigmaY","mode","input","JsiSkImageFilter","ImageFilter","MakeColorFilter","cf","MakeCompose","outer","inner","MakeDropShadow","_sigmaX","_sigmaY","_color","_cropRect","MakeDropShadowOnly","MakeErode","_rx","_ry","MakeDilate","MakeBlend","_mode","_background","_foreground","MakeRuntimeShader","_builder","_childShaderName"],"mappings":";;;;;;;AAeA;;AACA;;AAEO,MAAMA,uBAAN,SACGC,UADH,CAGP;AACEC,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,UAAU,CACRC,GADQ,EAERC,GAFQ,EAGRC,MAHQ,EAIO;AACf,UAAM,IAAIC,2BAAJ,EAAN;AACD;;AAEDC,EAAAA,mBAAmB,CACjBC,SADiB,EAEjBC,SAFiB,EAGjBC,MAHiB,EAIjBC,IAJiB,EAKjBN,MALiB,EAMF;AACf,UAAM,IAAIC,2BAAJ,EAAN;AACD;;AAEDM,EAAAA,UAAU,CAACC,OAAD,EAAoBR,MAApB,EAAiE;AACzE,UAAM,IAAIC,2BAAJ,EAAN;AACD;;AAEDQ,EAAAA,QAAQ,CACNC,MADM,EAENC,MAFM,EAGNC,IAHM,EAINC,KAJM,EAKN;AACA,WAAO,IAAIC,kCAAJ,CACL,KAAKlB,SADA,EAEL,KAAKA,SAAL,CAAemB,WAAf,CAA2BN,QAA3B,CACEC,MADF,EAEEC,MAFF,EAGE,kBAAOC,IAAP,CAHF,EAIEC,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwB,mBAAQA,KAAR,CAJ1B,CAFK,CAAP;AASD;;AAEDG,EAAAA,eAAe,CAACC,EAAD,EAAoBJ,KAApB,EAAiD;AAC9D,WAAO,IAAIC,kCAAJ,CACL,KAAKlB,SADA,EAEL,KAAKA,SAAL,CAAemB,WAAf,CAA2BC,eAA3B,CACE,mBAAQC,EAAR,CADF,EAEEJ,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwB,mBAAQA,KAAR,CAF1B,CAFK,CAAP;AAOD;;AAEDK,EAAAA,WAAW,CAACC,KAAD,EAA8BC,KAA9B,EAA2D;AACpE,WAAO,IAAIN,kCAAJ,CACL,KAAKlB,SADA,EAEL,KAAKA,SAAL,CAAemB,WAAf,CAA2BG,WAA3B,CACEC,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwB,mBAAQA,KAAR,CAD1B,EAEEC,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwB,mBAAQA,KAAR,CAF1B,CAFK,CAAP;AAOD;;AAEDC,EAAAA,cAAc,CACZvB,GADY,EAEZC,GAFY,EAGZuB,OAHY,EAIZC,OAJY,EAKZC,MALY,EAMZxB,MANY,EAOZyB,SAPY,EAQG;AACf,UAAM,IAAIxB,2BAAJ,EAAN;AACD;;AAEDyB,EAAAA,kBAAkB,CAChB5B,GADgB,EAEhBC,GAFgB,EAGhBuB,OAHgB,EAIhBC,OAJgB,EAKhBC,MALgB,EAMhBxB,MANgB,EAOhByB,SAPgB,EAQD;AACf,UAAM,IAAIxB,2BAAJ,EAAN;AACD;;AAED0B,EAAAA,SAAS,CACPC,GADO,EAEPC,GAFO,EAGP7B,MAHO,EAIPyB,SAJO,EAKQ;AACf,UAAM,IAAIxB,2BAAJ,EAAN;AACD;;AAED6B,EAAAA,UAAU,CACRF,GADQ,EAERC,GAFQ,EAGR7B,MAHQ,EAIRyB,SAJQ,EAKO;AACf,UAAM,IAAIxB,2BAAJ,EAAN;AACD;;AAED8B,EAAAA,SAAS,CACPC,KADO,EAEPC,WAFO,EAGPC,WAHO,EAIPT,SAJO,EAKQ;AACf,UAAM,IAAIxB,2BAAJ,EAAN;AACD;;AAEDkC,EAAAA,iBAAiB,CACfC,QADe,EAEfC,gBAFe,EAGfrC,MAHe,EAIA;AACf,UAAM,IAAIC,2BAAJ,EAAN;AACD;;AAzHH","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n ColorChannel,\n ImageFilterFactory,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n BlendMode,\n SkRect,\n SkRuntimeShaderBuilder,\n SkShader,\n TileMode,\n} from \"../types\";\n\nimport { Host, NotImplementedOnRNWeb, ckEnum, toValue } from \"./Host\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\n\nexport class JsiSkImageFilterFactory\n extends Host\n implements ImageFilterFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeOffset(\n _dx: number,\n _dy: number,\n _input: SkImageFilter | null\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeDisplacementMap(\n _channelX: ColorChannel,\n _channelY: ColorChannel,\n _scale: number,\n _in1: SkImageFilter,\n _input: SkImageFilter | null\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeShader(_shader: SkShader, _input: SkImageFilter | null): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeBlur(\n sigmaX: number,\n sigmaY: number,\n mode: TileMode,\n input: SkImageFilter | null\n ) {\n return new JsiSkImageFilter(\n this.CanvasKit,\n this.CanvasKit.ImageFilter.MakeBlur(\n sigmaX,\n sigmaY,\n ckEnum(mode),\n input === null ? null : toValue(input)\n )\n );\n }\n\n MakeColorFilter(cf: SkColorFilter, input: SkImageFilter | null) {\n return new JsiSkImageFilter(\n this.CanvasKit,\n this.CanvasKit.ImageFilter.MakeColorFilter(\n toValue(cf),\n input === null ? null : toValue(input)\n )\n );\n }\n\n MakeCompose(outer: SkImageFilter | null, inner: SkImageFilter | null) {\n return new JsiSkImageFilter(\n this.CanvasKit,\n this.CanvasKit.ImageFilter.MakeCompose(\n outer === null ? null : toValue(outer),\n inner === null ? null : toValue(inner)\n )\n );\n }\n\n MakeDropShadow(\n _dx: number,\n _dy: number,\n _sigmaX: number,\n _sigmaY: number,\n _color: SkColor,\n _input: SkImageFilter | null,\n _cropRect?: SkRect\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeDropShadowOnly(\n _dx: number,\n _dy: number,\n _sigmaX: number,\n _sigmaY: number,\n _color: SkColor,\n _input: SkImageFilter | null,\n _cropRect?: SkRect\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeErode(\n _rx: number,\n _ry: number,\n _input: SkImageFilter | null,\n _cropRect?: SkRect\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeDilate(\n _rx: number,\n _ry: number,\n _input: SkImageFilter | null,\n _cropRect?: SkRect\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeBlend(\n _mode: BlendMode,\n _background: SkImageFilter,\n _foreground: SkImageFilter | null,\n _cropRect?: SkRect\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n\n MakeRuntimeShader(\n _builder: SkRuntimeShaderBuilder,\n _childShaderName: string | null,\n _input: SkImageFilter | null\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["JsiSkImageFilterFactory.ts"],"names":["JsiSkImageFilterFactory","Host","constructor","CanvasKit","MakeOffset","dx","dy","input","inputFilter","JsiSkImageFilter","fromValue","filter","ImageFilter","MakeDisplacementMap","channelX","channelY","scale","in1","MakeShader","shader","_input","MakeBlur","sigmaX","sigmaY","mode","MakeColorFilter","cf","JsiSkColorFilter","MakeCompose","outer","inner","MakeDropShadow","color","cropRect","NotImplementedOnRNWeb","MakeDropShadowOnly","MakeErode","rx","ry","MakeDilate","MakeBlend","background","foreground","MakeRuntimeShader","_builder","_childShaderName"],"mappings":"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","sourcesContent":["import type { CanvasKit, ImageFilter } from \"canvaskit-wasm\";\n\nimport type {\n ColorChannel,\n ImageFilterFactory,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n BlendMode,\n SkRect,\n SkRuntimeShaderBuilder,\n SkShader,\n TileMode,\n} from \"../types\";\n\nimport { Host, NotImplementedOnRNWeb, ckEnum } from \"./Host\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkColorFilter } from \"./JsiSkColorFilter\";\n\nexport class JsiSkImageFilterFactory\n extends Host\n implements ImageFilterFactory\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeOffset(dx: number, dy: number, input: SkImageFilter | null) {\n const inputFilter =\n input === null ? null : JsiSkImageFilter.fromValue<ImageFilter>(input);\n const filter = this.CanvasKit.ImageFilter.MakeOffset(dx, dy, inputFilter);\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeDisplacementMap(\n channelX: ColorChannel,\n channelY: ColorChannel,\n scale: number,\n in1: SkImageFilter,\n input: SkImageFilter | null\n ): SkImageFilter {\n const inputFilter =\n input === null ? null : JsiSkImageFilter.fromValue<ImageFilter>(input);\n const filter = this.CanvasKit.ImageFilter.MakeDisplacementMap(\n ckEnum(channelX),\n ckEnum(channelY),\n scale,\n JsiSkImageFilter.fromValue(in1),\n inputFilter\n );\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeShader(shader: SkShader, _input: SkImageFilter | null): SkImageFilter {\n const filter = this.CanvasKit.ImageFilter.MakeShader(\n JsiSkImageFilter.fromValue(shader)\n );\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeBlur(\n sigmaX: number,\n sigmaY: number,\n mode: TileMode,\n input: SkImageFilter | null\n ) {\n return new JsiSkImageFilter(\n this.CanvasKit,\n this.CanvasKit.ImageFilter.MakeBlur(\n sigmaX,\n sigmaY,\n ckEnum(mode),\n input === null ? null : JsiSkImageFilter.fromValue(input)\n )\n );\n }\n\n MakeColorFilter(cf: SkColorFilter, input: SkImageFilter | null) {\n return new JsiSkImageFilter(\n this.CanvasKit,\n this.CanvasKit.ImageFilter.MakeColorFilter(\n JsiSkColorFilter.fromValue(cf),\n input === null ? null : JsiSkImageFilter.fromValue(input)\n )\n );\n }\n\n MakeCompose(outer: SkImageFilter | null, inner: SkImageFilter | null) {\n return new JsiSkImageFilter(\n this.CanvasKit,\n this.CanvasKit.ImageFilter.MakeCompose(\n outer === null ? null : JsiSkImageFilter.fromValue(outer),\n inner === null ? null : JsiSkImageFilter.fromValue(inner)\n )\n );\n }\n\n MakeDropShadow(\n dx: number,\n dy: number,\n sigmaX: number,\n sigmaY: number,\n color: SkColor,\n input: SkImageFilter | null,\n cropRect?: SkRect\n ): SkImageFilter {\n const inputFilter =\n input === null ? null : JsiSkImageFilter.fromValue<ImageFilter>(input);\n if (cropRect) {\n throw new NotImplementedOnRNWeb(\n \"The cropRect argument is not yet supported on React Native Web.\"\n );\n }\n const filter = this.CanvasKit.ImageFilter.MakeDropShadow(\n dx,\n dy,\n sigmaX,\n sigmaY,\n color,\n inputFilter\n );\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeDropShadowOnly(\n dx: number,\n dy: number,\n sigmaX: number,\n sigmaY: number,\n color: SkColor,\n input: SkImageFilter | null,\n cropRect?: SkRect\n ): SkImageFilter {\n const inputFilter =\n input === null ? null : JsiSkImageFilter.fromValue<ImageFilter>(input);\n if (cropRect) {\n throw new NotImplementedOnRNWeb(\n \"The cropRect argument is not yet supported on React Native Web.\"\n );\n }\n const filter = this.CanvasKit.ImageFilter.MakeDropShadowOnly(\n dx,\n dy,\n sigmaX,\n sigmaY,\n color,\n inputFilter\n );\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeErode(\n rx: number,\n ry: number,\n input: SkImageFilter | null,\n cropRect?: SkRect\n ): SkImageFilter {\n const inputFilter =\n input === null ? null : JsiSkImageFilter.fromValue<ImageFilter>(input);\n if (cropRect) {\n throw new NotImplementedOnRNWeb(\n \"The cropRect argument is not yet supported on React Native Web.\"\n );\n }\n const filter = this.CanvasKit.ImageFilter.MakeErode(rx, ry, inputFilter);\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeDilate(\n rx: number,\n ry: number,\n input: SkImageFilter | null,\n cropRect?: SkRect\n ): SkImageFilter {\n const inputFilter =\n input === null ? null : JsiSkImageFilter.fromValue<ImageFilter>(input);\n if (cropRect) {\n throw new NotImplementedOnRNWeb(\n \"The cropRect argument is not yet supported on React Native Web.\"\n );\n }\n const filter = this.CanvasKit.ImageFilter.MakeDilate(rx, ry, inputFilter);\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeBlend(\n mode: BlendMode,\n background: SkImageFilter,\n foreground: SkImageFilter | null,\n cropRect?: SkRect\n ): SkImageFilter {\n const inputFilter =\n foreground === null\n ? null\n : JsiSkImageFilter.fromValue<ImageFilter>(foreground);\n if (cropRect) {\n throw new NotImplementedOnRNWeb(\n \"The cropRect argument is not yet supported on React Native Web.\"\n );\n }\n const filter = this.CanvasKit.ImageFilter.MakeBlend(\n ckEnum(mode),\n JsiSkImageFilter.fromValue(background),\n inputFilter\n );\n return new JsiSkImageFilter(this.CanvasKit, filter);\n }\n\n MakeRuntimeShader(\n _builder: SkRuntimeShaderBuilder,\n _childShaderName: string | null,\n _input: SkImageFilter | null\n ): SkImageFilter {\n throw new NotImplementedOnRNWeb();\n }\n}\n"]}
|
@@ -13,7 +13,7 @@ class JsiSkMatrix extends _Host.HostObject {
|
|
13
13
|
}
|
14
14
|
|
15
15
|
concat(matrix) {
|
16
|
-
this.ref.set(this.CanvasKit.Matrix.multiply(this.ref,
|
16
|
+
this.ref.set(this.CanvasKit.Matrix.multiply(this.ref, JsiSkMatrix.fromValue(matrix)));
|
17
17
|
}
|
18
18
|
|
19
19
|
translate(x, y) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkMatrix.ts"],"names":["JsiSkMatrix","HostObject","constructor","CanvasKit","ref","concat","matrix","set","Matrix","multiply","translate","x","y","Float32Array","of","translated","scale","scaled","skew","skewed","rotate","value","rotated","identity"],"mappings":";;;;;;;AAIA;;AAEO,MAAMA,WAAN,SACGC,gBADH,CAGP;AACEC,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAuC;AAChD,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,QAAtB;AACD;;AAEDC,EAAAA,MAAM,CAACC,MAAD,EAAmB;AACvB,SAAKF,GAAL,CAASG,GAAT,
|
1
|
+
{"version":3,"sources":["JsiSkMatrix.ts"],"names":["JsiSkMatrix","HostObject","constructor","CanvasKit","ref","concat","matrix","set","Matrix","multiply","fromValue","translate","x","y","Float32Array","of","translated","scale","scaled","skew","skewed","rotate","value","rotated","identity"],"mappings":";;;;;;;AAIA;;AAEO,MAAMA,WAAN,SACGC,gBADH,CAGP;AACEC,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAuC;AAChD,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,QAAtB;AACD;;AAEDC,EAAAA,MAAM,CAACC,MAAD,EAAmB;AACvB,SAAKF,GAAL,CAASG,GAAT,CACE,KAAKJ,SAAL,CAAeK,MAAf,CAAsBC,QAAtB,CAA+B,KAAKL,GAApC,EAAyCJ,WAAW,CAACU,SAAZ,CAAsBJ,MAAtB,CAAzC,CADF;AAGD;;AAEDK,EAAAA,SAAS,CAACC,CAAD,EAAYC,CAAZ,EAAuB;AAC9B,SAAKR,MAAL,CACE,IAAIL,WAAJ,CACE,KAAKG,SADP,EAEEW,YAAY,CAACC,EAAb,CAAgB,GAAG,KAAKZ,SAAL,CAAeK,MAAf,CAAsBQ,UAAtB,CAAiCJ,CAAjC,EAAoCC,CAApC,CAAnB,CAFF,CADF;AAMD;;AAEDI,EAAAA,KAAK,CAACL,CAAD,EAAYC,CAAZ,EAAwB;AAC3B,SAAKR,MAAL,CACE,IAAIL,WAAJ,CACE,KAAKG,SADP,EAEEW,YAAY,CAACC,EAAb,CAAgB,GAAG,KAAKZ,SAAL,CAAeK,MAAf,CAAsBU,MAAtB,CAA6BN,CAA7B,EAAgCC,CAAhC,aAAgCA,CAAhC,cAAgCA,CAAhC,GAAqCD,CAArC,CAAnB,CAFF,CADF;AAMD;;AAEDO,EAAAA,IAAI,CAACP,CAAD,EAAYC,CAAZ,EAAuB;AACzB,SAAKR,MAAL,CACE,IAAIL,WAAJ,CACE,KAAKG,SADP,EAEEW,YAAY,CAACC,EAAb,CAAgB,GAAG,KAAKZ,SAAL,CAAeK,MAAf,CAAsBY,MAAtB,CAA6BR,CAA7B,EAAgCC,CAAhC,CAAnB,CAFF,CADF;AAMD;;AAEDQ,EAAAA,MAAM,CAACC,KAAD,EAAgB;AACpB,SAAKjB,MAAL,CACE,IAAIL,WAAJ,CACE,KAAKG,SADP,EAEEW,YAAY,CAACC,EAAb,CAAgB,GAAG,KAAKZ,SAAL,CAAeK,MAAf,CAAsBe,OAAtB,CAA8BD,KAA9B,CAAnB,CAFF,CADF;AAMD;;AAEDE,EAAAA,QAAQ,GAAG;AACT,SAAKpB,GAAL,CAASG,GAAT,CAAa,KAAKJ,SAAL,CAAeK,MAAf,CAAsBgB,QAAtB,EAAb;AACD;;AAjDH","sourcesContent":["import type { CanvasKit, Matrix3x3 } from \"canvaskit-wasm\";\n\nimport type { SkMatrix } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkMatrix\n extends HostObject<Matrix3x3, \"Matrix\">\n implements SkMatrix\n{\n constructor(CanvasKit: CanvasKit, ref: Matrix3x3) {\n super(CanvasKit, ref, \"Matrix\");\n }\n\n concat(matrix: SkMatrix) {\n this.ref.set(\n this.CanvasKit.Matrix.multiply(this.ref, JsiSkMatrix.fromValue(matrix))\n );\n }\n\n translate(x: number, y: number) {\n this.concat(\n new JsiSkMatrix(\n this.CanvasKit,\n Float32Array.of(...this.CanvasKit.Matrix.translated(x, y))\n )\n );\n }\n\n scale(x: number, y?: number) {\n this.concat(\n new JsiSkMatrix(\n this.CanvasKit,\n Float32Array.of(...this.CanvasKit.Matrix.scaled(x, y ?? x))\n )\n );\n }\n\n skew(x: number, y: number) {\n this.concat(\n new JsiSkMatrix(\n this.CanvasKit,\n Float32Array.of(...this.CanvasKit.Matrix.skewed(x, y))\n )\n );\n }\n\n rotate(value: number) {\n this.concat(\n new JsiSkMatrix(\n this.CanvasKit,\n Float32Array.of(...this.CanvasKit.Matrix.rotated(value))\n )\n );\n }\n\n identity() {\n this.ref.set(this.CanvasKit.Matrix.identity());\n }\n}\n"]}
|
@@ -7,9 +7,18 @@ exports.JsiSkPaint = void 0;
|
|
7
7
|
|
8
8
|
var _Host = require("./Host");
|
9
9
|
|
10
|
+
var _JsiSkColorFilter = require("./JsiSkColorFilter");
|
11
|
+
|
12
|
+
var _JsiSkImageFilter = require("./JsiSkImageFilter");
|
13
|
+
|
14
|
+
var _JsiSkMaskFilter = require("./JsiSkMaskFilter");
|
15
|
+
|
16
|
+
var _JsiSkPathEffect = require("./JsiSkPathEffect");
|
17
|
+
|
18
|
+
var _JsiSkShader = require("./JsiSkShader");
|
19
|
+
|
10
20
|
class JsiSkPaint extends _Host.HostObject {
|
11
21
|
constructor(CanvasKit, ref) {
|
12
|
-
ref.setAntiAlias(true);
|
13
22
|
super(CanvasKit, ref, "Paint");
|
14
23
|
}
|
15
24
|
|
@@ -54,23 +63,23 @@ class JsiSkPaint extends _Host.HostObject {
|
|
54
63
|
}
|
55
64
|
|
56
65
|
setColorFilter(filter) {
|
57
|
-
this.ref.setColorFilter(
|
66
|
+
this.ref.setColorFilter(filter ? _JsiSkColorFilter.JsiSkColorFilter.fromValue(filter) : null);
|
58
67
|
}
|
59
68
|
|
60
69
|
setImageFilter(filter) {
|
61
|
-
this.ref.setImageFilter(
|
70
|
+
this.ref.setImageFilter(filter ? _JsiSkImageFilter.JsiSkImageFilter.fromValue(filter) : null);
|
62
71
|
}
|
63
72
|
|
64
73
|
setMaskFilter(filter) {
|
65
|
-
this.ref.setMaskFilter(
|
74
|
+
this.ref.setMaskFilter(filter ? _JsiSkMaskFilter.JsiSkMaskFilter.fromValue(filter) : null);
|
66
75
|
}
|
67
76
|
|
68
77
|
setPathEffect(effect) {
|
69
|
-
this.ref.setPathEffect(
|
78
|
+
this.ref.setPathEffect(effect ? _JsiSkPathEffect.JsiSkPathEffect.fromValue(effect) : null);
|
70
79
|
}
|
71
80
|
|
72
81
|
setShader(shader) {
|
73
|
-
this.ref.setShader(
|
82
|
+
this.ref.setShader(shader ? _JsiSkShader.JsiSkShader.fromValue(shader) : null);
|
74
83
|
}
|
75
84
|
|
76
85
|
setStrokeCap(cap) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkPaint.ts"],"names":["JsiSkPaint","HostObject","constructor","CanvasKit","ref","
|
1
|
+
{"version":3,"sources":["JsiSkPaint.ts"],"names":["JsiSkPaint","HostObject","constructor","CanvasKit","ref","copy","getColor","getStrokeCap","value","getStrokeJoin","getStrokeMiter","getStrokeWidth","setAlphaf","alpha","setAntiAlias","aa","setBlendMode","blendMode","setColor","color","setColorFilter","filter","JsiSkColorFilter","fromValue","setImageFilter","JsiSkImageFilter","setMaskFilter","JsiSkMaskFilter","setPathEffect","effect","JsiSkPathEffect","setShader","shader","JsiSkShader","setStrokeCap","cap","setStrokeJoin","join","setStrokeMiter","limit","setStrokeWidth","width","setStyle","style"],"mappings":"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","sourcesContent":["import type { CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n StrokeJoin,\n BlendMode,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n SkPaint,\n SkShader,\n StrokeCap,\n PaintStyle,\n SkMaskFilter,\n SkPathEffect,\n} from \"../types\";\n\nimport { HostObject, ckEnum } from \"./Host\";\nimport { JsiSkColorFilter } from \"./JsiSkColorFilter\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkMaskFilter } from \"./JsiSkMaskFilter\";\nimport { JsiSkPathEffect } from \"./JsiSkPathEffect\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\nexport class JsiSkPaint extends HostObject<Paint, \"Paint\"> implements SkPaint {\n constructor(CanvasKit: CanvasKit, ref: Paint) {\n super(CanvasKit, ref, \"Paint\");\n }\n\n copy() {\n return new JsiSkPaint(this.CanvasKit, this.ref.copy());\n }\n\n getColor() {\n return this.ref.getColor();\n }\n\n getStrokeCap() {\n return this.ref.getStrokeCap().value;\n }\n\n getStrokeJoin() {\n return this.ref.getStrokeJoin().value;\n }\n\n getStrokeMiter() {\n return this.ref.getStrokeMiter();\n }\n\n getStrokeWidth() {\n return this.ref.getStrokeWidth();\n }\n\n setAlphaf(alpha: number) {\n this.ref.setAlphaf(alpha);\n }\n\n setAntiAlias(aa: boolean) {\n this.ref.setAntiAlias(aa);\n }\n\n setBlendMode(blendMode: BlendMode) {\n this.ref.setBlendMode(ckEnum(blendMode));\n }\n\n setColor(color: SkColor) {\n this.ref.setColor(color);\n }\n\n setColorFilter(filter: SkColorFilter | null) {\n this.ref.setColorFilter(filter ? JsiSkColorFilter.fromValue(filter) : null);\n }\n\n setImageFilter(filter: SkImageFilter | null) {\n this.ref.setImageFilter(filter ? JsiSkImageFilter.fromValue(filter) : null);\n }\n\n setMaskFilter(filter: SkMaskFilter | null) {\n this.ref.setMaskFilter(filter ? JsiSkMaskFilter.fromValue(filter) : null);\n }\n\n setPathEffect(effect: SkPathEffect | null) {\n this.ref.setPathEffect(effect ? JsiSkPathEffect.fromValue(effect) : null);\n }\n\n setShader(shader: SkShader | null) {\n this.ref.setShader(shader ? JsiSkShader.fromValue(shader) : null);\n }\n\n setStrokeCap(cap: StrokeCap) {\n this.ref.setStrokeCap(ckEnum(cap));\n }\n\n setStrokeJoin(join: StrokeJoin) {\n this.ref.setStrokeJoin(ckEnum(join));\n }\n\n setStrokeMiter(limit: number) {\n this.ref.setStrokeMiter(limit);\n }\n\n setStrokeWidth(width: number) {\n this.ref.setStrokeWidth(width);\n }\n\n setStyle(style: PaintStyle) {\n this.ref.setStyle({ value: style });\n }\n}\n"]}
|
@@ -15,6 +15,8 @@ var _JsiSkRect = require("./JsiSkRect");
|
|
15
15
|
|
16
16
|
var _JsiSkRRect = require("./JsiSkRRect");
|
17
17
|
|
18
|
+
var _JsiSkMatrix = require("./JsiSkMatrix");
|
19
|
+
|
18
20
|
const CommandCount = {
|
19
21
|
[_types.PathVerb.Move]: 3,
|
20
22
|
[_types.PathVerb.Line]: 3,
|
@@ -24,22 +26,6 @@ const CommandCount = {
|
|
24
26
|
[_types.PathVerb.Close]: 1
|
25
27
|
};
|
26
28
|
|
27
|
-
const areCmdsInterpolatable = (cmd1, cmd2) => {
|
28
|
-
if (cmd1.length !== cmd2.length) {
|
29
|
-
return false;
|
30
|
-
}
|
31
|
-
|
32
|
-
for (let i = 0; i < cmd1.length; i++) {
|
33
|
-
if (cmd1[i][0] !== cmd2[i][0]) {
|
34
|
-
return false;
|
35
|
-
} else if (cmd1[i][0] === _types.PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {
|
36
|
-
return false;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
|
40
|
-
return true;
|
41
|
-
};
|
42
|
-
|
43
29
|
class JsiSkPath extends _Host.HostObject {
|
44
30
|
constructor(CanvasKit, ref) {
|
45
31
|
super(CanvasKit, ref, "Path");
|
@@ -60,7 +46,7 @@ class JsiSkPath extends _Host.HostObject {
|
|
60
46
|
}
|
61
47
|
|
62
48
|
addPoly(points, close) {
|
63
|
-
this.ref.addPoly(points.map(p => (
|
49
|
+
this.ref.addPoly(points.map(p => Array.from(_JsiSkPoint.JsiSkPoint.fromValue(p))).flat(), close);
|
64
50
|
return this;
|
65
51
|
}
|
66
52
|
|
@@ -188,7 +174,7 @@ class JsiSkPath extends _Host.HostObject {
|
|
188
174
|
}
|
189
175
|
|
190
176
|
equals(other) {
|
191
|
-
return this.ref.equals(
|
177
|
+
return this.ref.equals(JsiSkPath.fromValue(other));
|
192
178
|
}
|
193
179
|
|
194
180
|
getBounds() {
|
@@ -225,9 +211,7 @@ class JsiSkPath extends _Host.HostObject {
|
|
225
211
|
}
|
226
212
|
|
227
213
|
addCircle(x, y, r) {
|
228
|
-
|
229
|
-
// throw new NotImplementedOnRNWeb();
|
230
|
-
this.ref.addOval(this.CanvasKit.LTRBRect(x - r, y - r, x + r, y + r));
|
214
|
+
this.ref.addCircle(x, y, r);
|
231
215
|
return this;
|
232
216
|
}
|
233
217
|
|
@@ -236,7 +220,7 @@ class JsiSkPath extends _Host.HostObject {
|
|
236
220
|
}
|
237
221
|
|
238
222
|
op(path, op) {
|
239
|
-
return this.ref.op(
|
223
|
+
return this.ref.op(JsiSkPath.fromValue(path), (0, _Host.ckEnum)(op));
|
240
224
|
}
|
241
225
|
|
242
226
|
simplify() {
|
@@ -253,37 +237,11 @@ class JsiSkPath extends _Host.HostObject {
|
|
253
237
|
}
|
254
238
|
|
255
239
|
transform(m3) {
|
256
|
-
this.ref.transform(
|
240
|
+
this.ref.transform(_JsiSkMatrix.JsiSkMatrix.fromValue(m3));
|
257
241
|
}
|
258
242
|
|
259
243
|
interpolate(end, t) {
|
260
|
-
|
261
|
-
// throw new NotImplementedOnRNWeb();
|
262
|
-
const cmd1 = this.toCmds();
|
263
|
-
const cmd2 = end.toCmds();
|
264
|
-
|
265
|
-
if (!areCmdsInterpolatable(cmd1, cmd2)) {
|
266
|
-
return null;
|
267
|
-
}
|
268
|
-
|
269
|
-
const interpolated = [];
|
270
|
-
cmd1.forEach((cmd, i) => {
|
271
|
-
const interpolatedCmd = [cmd[0]];
|
272
|
-
interpolated.push(interpolatedCmd);
|
273
|
-
cmd.forEach((c, j) => {
|
274
|
-
if (j === 0) {
|
275
|
-
return;
|
276
|
-
}
|
277
|
-
|
278
|
-
if (interpolatedCmd[0] === _types.PathVerb.Conic && j === 5) {
|
279
|
-
interpolatedCmd.push(c);
|
280
|
-
} else {
|
281
|
-
const c2 = cmd2[i][j];
|
282
|
-
interpolatedCmd.push(c2 + (c - c2) * t);
|
283
|
-
}
|
284
|
-
});
|
285
|
-
});
|
286
|
-
const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());
|
244
|
+
const path = this.CanvasKit.Path.MakeFromPathInterpolation(this.ref, JsiSkPath.fromValue(end), t);
|
287
245
|
|
288
246
|
if (path === null) {
|
289
247
|
return null;
|
@@ -293,11 +251,7 @@ class JsiSkPath extends _Host.HostObject {
|
|
293
251
|
}
|
294
252
|
|
295
253
|
isInterpolatable(path2) {
|
296
|
-
|
297
|
-
// throw new NotImplementedOnRNWeb();
|
298
|
-
const cmd1 = this.toCmds();
|
299
|
-
const cmd2 = path2.toCmds();
|
300
|
-
return areCmdsInterpolatable(cmd1, cmd2);
|
254
|
+
return this.CanvasKit.Path.CanInterpolate(this.ref, JsiSkPath.fromValue(path2));
|
301
255
|
}
|
302
256
|
|
303
257
|
toCmds() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkPath.ts"],"names":["CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","areCmdsInterpolatable","cmd1","cmd2","length","i","JsiSkPath","HostObject","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","fromValue","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","JsiSkRRect","getPoint","index","JsiSkPoint","isEmpty","isVolatile","addCircle","r","LTRBRect","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","toCmds","interpolated","forEach","cmd","interpolatedCmd","push","c","j","c2","Path","MakeFromCmds","flat","isInterpolatable","path2","cmds","reduce","acc","current"],"mappings":"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","sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum, toValue } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst areCmdsInterpolatable = (cmd1: PathCommand[], cmd2: PathCommand[]) => {\n if (cmd1.length !== cmd2.length) {\n return false;\n }\n for (let i = 0; i < cmd1.length; i++) {\n if (cmd1[i][0] !== cmd2[i][0]) {\n return false;\n } else if (cmd1[i][0] === PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {\n return false;\n }\n }\n return true;\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => toValue(p)),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(toValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n // We leave the comment below to remind us that this is not implemented in CanvasKit\n // throw new NotImplementedOnRNWeb();\n this.ref.addOval(this.CanvasKit.LTRBRect(x - r, y - r, x + r, y + r));\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(toValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(toValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = end.toCmds();\n if (!areCmdsInterpolatable(cmd1, cmd2)) {\n return null;\n }\n const interpolated: PathCommand[] = [];\n cmd1.forEach((cmd, i) => {\n const interpolatedCmd = [cmd[0]];\n interpolated.push(interpolatedCmd);\n cmd.forEach((c, j) => {\n if (j === 0) {\n return;\n }\n if (interpolatedCmd[0] === PathVerb.Conic && j === 5) {\n interpolatedCmd.push(c);\n } else {\n const c2 = cmd2[i][j];\n interpolatedCmd.push(c2 + (c - c2) * t);\n }\n });\n });\n const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = path2.toCmds();\n return areCmdsInterpolatable(cmd1, cmd2);\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["JsiSkPath.ts"],"names":["CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","JsiSkPath","HostObject","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","fromValue","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","JsiSkPoint","flat","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","JsiSkRRect","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","JsiSkMatrix","interpolate","end","t","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current","length"],"mappings":"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","sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(JsiSkPath.fromValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(JsiSkPath.fromValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(JsiSkMatrix.fromValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(\n this.ref,\n JsiSkPath.fromValue(end),\n t\n );\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n return this.CanvasKit.Path.CanInterpolate(\n this.ref,\n JsiSkPath.fromValue(path2)\n );\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"]}
|