@shopify/react-native-skia 0.1.132 → 0.1.136
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +1 -1
- package/android/build.gradle +17 -2
- package/android/cpp/rnskia-android/RNSkDrawViewImpl.cpp +5 -0
- package/cpp/api/JsiSkFont.h +25 -1
- package/cpp/api/JsiSkImage.h +2 -19
- package/cpp/api/JsiSkPaint.h +5 -32
- package/cpp/api/JsiSkPath.h +4 -4
- package/cpp/rnskia/RNSkValueApi.h +6 -6
- package/cpp/rnskia/values/{RNSkDerivedValue.h → RNSkComputedValue.h} +7 -7
- package/ios/RNSkia-iOS/SkiaManager.mm +1 -1
- package/jestSetup.js +5 -0
- package/lib/commonjs/animation/functions/interpolate.js +3 -2
- package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
- package/lib/commonjs/animation/functions/interpolateColors.js +2 -2
- package/lib/commonjs/animation/functions/interpolateColors.js.map +1 -1
- package/lib/commonjs/animation/functions/interpolatePaths.js +45 -11
- package/lib/commonjs/animation/functions/interpolatePaths.js.map +1 -1
- package/lib/commonjs/mock/index.js +134 -0
- package/lib/commonjs/mock/index.js.map +1 -0
- package/lib/commonjs/skia/core/Data.js +33 -43
- package/lib/commonjs/skia/core/Data.js.map +1 -1
- package/lib/commonjs/skia/core/Typeface.js +1 -1
- package/lib/commonjs/skia/core/Typeface.js.map +1 -1
- package/lib/commonjs/skia/types/Font/Font.js.map +1 -1
- package/lib/commonjs/skia/types/Image/Image.js +5 -5
- package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
- package/lib/commonjs/skia/types/Paint/Paint.js +3 -3
- package/lib/commonjs/skia/types/Paint/Paint.js.map +1 -1
- package/lib/commonjs/skia/types/Path/Path.js +0 -1
- package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js +1 -7
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFont.js +6 -0
- package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFontMgr.js +0 -2
- package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.js +10 -6
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/{JsiImageFilterFactory.js → JsiSkImageFilterFactory.js} +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +65 -52
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkShaderFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkShaderFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkVerticesFactory.js +23 -1
- package/lib/commonjs/skia/web/JsiSkVerticesFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +2 -2
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/commonjs/values/api.js +1 -7
- package/lib/commonjs/values/api.js.map +1 -1
- package/lib/commonjs/values/api.web.js +3 -3
- package/lib/commonjs/values/api.web.js.map +1 -1
- package/lib/commonjs/values/hooks/index.js +4 -4
- package/lib/commonjs/values/hooks/index.js.map +1 -1
- package/lib/commonjs/values/hooks/useComputedValue.js +32 -0
- package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -0
- package/lib/commonjs/values/web/{RNSkDerivedValue.js → RNSkComputedValue.js} +4 -4
- package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -0
- package/lib/commonjs/values/web/api.js +3 -3
- package/lib/commonjs/values/web/api.js.map +1 -1
- package/lib/commonjs/views/SkiaView.web.js +15 -15
- package/lib/commonjs/views/SkiaView.web.js.map +1 -1
- package/lib/commonjs/web/index.js +4 -2
- package/lib/commonjs/web/index.js.map +1 -1
- package/lib/module/animation/functions/interpolate.js +2 -2
- package/lib/module/animation/functions/interpolate.js.map +1 -1
- package/lib/module/animation/functions/interpolateColors.js +1 -1
- package/lib/module/animation/functions/interpolateColors.js.map +1 -1
- package/lib/module/animation/functions/interpolatePaths.js +44 -11
- package/lib/module/animation/functions/interpolatePaths.js.map +1 -1
- package/lib/module/mock/index.js +108 -0
- package/lib/module/mock/index.js.map +1 -0
- package/lib/module/skia/core/Data.js +32 -41
- package/lib/module/skia/core/Data.js.map +1 -1
- package/lib/module/skia/core/Typeface.js +1 -1
- package/lib/module/skia/core/Typeface.js.map +1 -1
- package/lib/module/skia/types/Font/Font.js.map +1 -1
- package/lib/module/skia/types/Image/Image.js +5 -5
- package/lib/module/skia/types/Image/Image.js.map +1 -1
- package/lib/module/skia/types/Paint/Paint.js +3 -3
- package/lib/module/skia/types/Paint/Paint.js.map +1 -1
- package/lib/module/skia/types/Path/Path.js +0 -1
- package/lib/module/skia/types/Path/Path.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.js +1 -7
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.js +6 -0
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/skia/web/JsiSkFontMgr.js +0 -2
- package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.js +10 -7
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/{JsiImageFilterFactory.js → JsiSkImageFilterFactory.js} +1 -1
- package/lib/module/skia/web/JsiSkImageFilterFactory.js.map +1 -0
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.js +65 -52
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkShaderFactory.js +1 -1
- package/lib/module/skia/web/JsiSkShaderFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkVerticesFactory.js +24 -1
- package/lib/module/skia/web/JsiSkVerticesFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +1 -1
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/values/api.js +0 -4
- package/lib/module/values/api.js.map +1 -1
- package/lib/module/values/api.web.js +1 -1
- package/lib/module/values/api.web.js.map +1 -1
- package/lib/module/values/hooks/index.js +1 -1
- package/lib/module/values/hooks/index.js.map +1 -1
- package/lib/module/values/hooks/useComputedValue.js +18 -0
- package/lib/module/values/hooks/useComputedValue.js.map +1 -0
- package/lib/module/values/web/{RNSkDerivedValue.js → RNSkComputedValue.js} +2 -2
- package/lib/module/values/web/RNSkComputedValue.js.map +1 -0
- package/lib/module/values/web/api.js +3 -3
- package/lib/module/values/web/api.js.map +1 -1
- package/lib/module/views/SkiaView.web.js +15 -15
- package/lib/module/views/SkiaView.web.js.map +1 -1
- package/lib/module/web/index.js +3 -1
- package/lib/module/web/index.js.map +1 -1
- package/lib/typescript/jestSetup.d.ts +1 -0
- package/lib/typescript/src/animation/functions/interpolate.d.ts +6 -0
- package/lib/typescript/src/animation/functions/interpolatePaths.d.ts +3 -1
- package/lib/typescript/src/mock/index.d.ts +16 -0
- package/lib/typescript/src/renderer/Canvas.d.ts +1 -1
- package/lib/typescript/src/skia/core/Data.d.ts +3 -3
- package/lib/typescript/src/skia/types/Font/Font.d.ts +6 -0
- package/lib/typescript/src/skia/types/Image/Image.d.ts +5 -5
- package/lib/typescript/src/skia/types/Paint/Paint.d.ts +3 -3
- package/lib/typescript/src/skia/types/Path/Path.d.ts +1 -2
- package/lib/typescript/src/skia/types/RuntimeEffect/RuntimeEffect.d.ts +1 -0
- package/lib/typescript/src/skia/types/Skia.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkFont.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkImage.d.ts +3 -3
- package/lib/typescript/src/skia/web/{JsiImageFilterFactory.d.ts → JsiSkImageFilterFactory.d.ts} +0 -0
- package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -1
- package/lib/typescript/src/values/api.d.ts +0 -1
- package/lib/typescript/src/values/api.web.d.ts +1 -1
- package/lib/typescript/src/values/hooks/index.d.ts +1 -1
- package/lib/typescript/src/values/hooks/{useDerivedValue.d.ts → useComputedValue.d.ts} +2 -1
- package/lib/typescript/src/values/types.d.ts +2 -2
- package/lib/typescript/src/values/web/{RNSkDerivedValue.d.ts → RNSkComputedValue.d.ts} +1 -1
- package/package.json +4 -3
- package/src/animation/functions/interpolate.ts +4 -2
- package/src/animation/functions/interpolateColors.ts +1 -1
- package/src/animation/functions/interpolatePaths.ts +59 -10
- package/src/mock/index.ts +110 -0
- package/src/skia/core/Data.ts +67 -50
- package/src/skia/core/Typeface.ts +6 -1
- package/src/skia/types/Font/Font.ts +7 -0
- package/src/skia/types/Image/Image.ts +4 -4
- package/src/skia/types/Paint/Paint.ts +1 -1
- package/src/skia/types/Path/Path.ts +0 -1
- package/src/skia/types/RuntimeEffect/RuntimeEffect.ts +1 -0
- package/src/skia/types/Shader/Shader.ts +3 -5
- package/src/skia/types/Skia.ts +1 -1
- package/src/skia/web/JsiSkCanvas.ts +2 -2
- package/src/skia/web/JsiSkFont.ts +6 -0
- package/src/skia/web/JsiSkFontMgr.ts +0 -4
- package/src/skia/web/JsiSkImage.ts +37 -16
- package/src/skia/web/{JsiImageFilterFactory.ts → JsiSkImageFilterFactory.ts} +0 -0
- package/src/skia/web/JsiSkPaint.ts +1 -1
- package/src/skia/web/JsiSkPath.ts +64 -47
- package/src/skia/web/JsiSkShaderFactory.ts +4 -1
- package/src/skia/web/JsiSkVerticesFactory.ts +15 -1
- package/src/skia/web/JsiSkia.ts +2 -2
- package/src/values/api.ts +0 -2
- package/src/values/api.web.ts +1 -1
- package/src/values/hooks/index.ts +1 -1
- package/src/values/hooks/useComputedValue.ts +23 -0
- package/src/values/types.ts +2 -2
- package/src/values/web/{RNSkDerivedValue.ts → RNSkComputedValue.ts} +1 -1
- package/src/values/web/api.ts +3 -3
- package/src/views/SkiaView.web.tsx +29 -28
- package/src/web/index.ts +3 -1
- package/lib/commonjs/skia/web/JsiImageFilterFactory.js.map +0 -1
- package/lib/commonjs/values/hooks/useDerivedValue.js +0 -25
- package/lib/commonjs/values/hooks/useDerivedValue.js.map +0 -1
- package/lib/commonjs/values/web/RNSkDerivedValue.js.map +0 -1
- package/lib/module/skia/web/JsiImageFilterFactory.js.map +0 -1
- package/lib/module/values/hooks/useDerivedValue.js +0 -14
- package/lib/module/values/hooks/useDerivedValue.js.map +0 -1
- package/lib/module/values/web/RNSkDerivedValue.js.map +0 -1
- package/src/values/hooks/useDerivedValue.ts +0 -18
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkCanvas.ts"],"names":["ckEnum","HostObject","toValue","toUndefinedableValue","toOptionalValue","JsiSkRect","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","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","undefined","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"mappings":"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","sourcesContent":["import type { Canvas, Image, Paint, 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 {\n ckEnum,\n HostObject,\n toValue,\n toUndefinedableValue,\n toOptionalValue,\n} from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect).ref,\n toValue<Paint>(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(toValue<Image>(image), x, y, toOptionalValue(paint));\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 toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n toValue<Paint>(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 toValue(img),\n left,\n top,\n B,\n C,\n toOptionalValue(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 toValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(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 toValue(img),\n toValue(center),\n toValue(dest),\n ckEnum(filter),\n toOptionalValue(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 toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n B,\n C,\n toOptionalValue(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 toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(toValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, toValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, toValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(toValue(verts), ckEnum(mode), toValue(paint));\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 toOptionalValue(texs),\n mode ? ckEnum(mode) : null,\n toUndefinedableValue(paint)\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 toValue(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 toValue(oval),\n startAngle,\n sweepAngle,\n useCenter,\n toValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(toValue(rrect), toValue(paint));\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(toValue(outer), toValue(inner), toValue(paint));\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(toValue(oval), toValue(paint));\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(toValue(path), toValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(str, x, y, toValue(paint), toValue(font));\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(toValue(blob), x, y, toValue(paint));\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 toValue(positions),\n x,\n y,\n toValue(font),\n toValue(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 toUndefinedableValue(paint),\n toOptionalValue(bounds),\n toOptionalValue(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(toValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(toValue(rect), ckEnum(op), doAntiAlias);\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(toValue(rrect), ckEnum(op), doAntiAlias);\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(toValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(toValue(skp));\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["JsiSkCanvas.ts"],"names":["ckEnum","HostObject","toValue","toUndefinedableValue","toOptionalValue","JsiSkRect","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","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","p","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","undefined","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"mappings":"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","sourcesContent":["import type { Canvas, Image, CanvasKit, Paint } 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 {\n ckEnum,\n HostObject,\n toValue,\n toUndefinedableValue,\n toOptionalValue,\n} from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect).ref,\n toValue<Paint>(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(toValue<Image>(image), x, y, toOptionalValue(paint));\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 toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n toValue<Paint>(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 toValue(img),\n left,\n top,\n B,\n C,\n toOptionalValue(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 toValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(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 toValue(img),\n toValue(center),\n toValue(dest),\n ckEnum(filter),\n toOptionalValue(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 toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n B,\n C,\n toOptionalValue(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 toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(toValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, toValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, toValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(toValue(verts), ckEnum(mode), toValue(paint));\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 toOptionalValue(texs),\n mode ? ckEnum(mode) : null,\n toUndefinedableValue(paint)\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 toValue(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 toValue(oval),\n startAngle,\n sweepAngle,\n useCenter,\n toValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(toValue(rrect), toValue(paint));\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(toValue(outer), toValue(inner), toValue(paint));\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(toValue(oval), toValue(paint));\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(toValue(path), toValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(str, x, y, toValue(paint), toValue(font));\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(toValue(blob), x, y, toValue(paint));\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 toValue(font),\n toValue(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 toUndefinedableValue(paint),\n toOptionalValue(bounds),\n toOptionalValue(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(toValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(toValue(rect), ckEnum(op), doAntiAlias);\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(toValue(rrect), ckEnum(op), doAntiAlias);\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(toValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(toValue(skp));\n }\n}\n"]}
|
@@ -12,6 +12,12 @@ Clients should use "Font.getGlyphWidths" instead (the latter does no shaping)`);
|
|
12
12
|
return new JsiSkRect(this.CanvasKit, this.CanvasKit.XYWHRect(0, 0, 0, 0));
|
13
13
|
}
|
14
14
|
|
15
|
+
getTextWidth(text, paint) {
|
16
|
+
const ids = this.getGlyphIDs(text);
|
17
|
+
const widths = this.getGlyphWidths(ids, paint);
|
18
|
+
return widths.reduce((a, b) => a + b, 0);
|
19
|
+
}
|
20
|
+
|
15
21
|
getMetrics() {
|
16
22
|
const result = this.ref.getMetrics();
|
17
23
|
return {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkFont.ts"],"names":["HostObject","toValue","ckEnum","JsiSkRect","JsiSkTypeface","JsiSkFont","constructor","CanvasKit","ref","measureText","_text","_paint","console","warn","XYWHRect","getMetrics","result","ascent","descent","leading","bounds","undefined","
|
1
|
+
{"version":3,"sources":["JsiSkFont.ts"],"names":["HostObject","toValue","ckEnum","JsiSkRect","JsiSkTypeface","JsiSkFont","constructor","CanvasKit","ref","measureText","_text","_paint","console","warn","XYWHRect","getTextWidth","text","paint","ids","getGlyphIDs","widths","getGlyphWidths","reduce","a","b","getMetrics","result","ascent","descent","leading","bounds","undefined","str","numCodePoints","glyphs","getGlyphIntercepts","positions","top","bottom","map","p","getScaleX","getSize","getSkewX","isEmbolden","getTypeface","tf","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 SkRect,\n SkTypeface,\n} from \"../types\";\n\nimport { HostObject, toValue, ckEnum } from \"./Host\";\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 measureText(_text: string, _paint?: SkPaint): SkRect {\n console.warn(\n `measureText() is deprecated an returns an empty rectangle on React Native Web.\nClients should use \"Font.getGlyphWidths\" instead (the latter does no shaping)`\n );\n return new JsiSkRect(this.CanvasKit, this.CanvasKit.XYWHRect(0, 0, 0, 0));\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 [...this.ref.getGlyphWidths(glyphs, paint ? toValue(paint) : null)];\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) => toValue(p)),\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 ? toValue(face) : null);\n }\n}\n"]}
|
@@ -1,8 +1,6 @@
|
|
1
1
|
import { HostObject } from "./Host";
|
2
2
|
export class JsiSkFontMgr extends HostObject {
|
3
3
|
constructor(CanvasKit) {
|
4
|
-
console.warn( // eslint-disable-next-line max-len
|
5
|
-
"Using system fonts is deprecated. Please use the font property instead: https://shopify.github.io/react-native-skia/docs/text/fonts");
|
6
4
|
super(CanvasKit, null, "FontMgr");
|
7
5
|
}
|
8
6
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkFontMgr.ts"],"names":["HostObject","JsiSkFontMgr","constructor","CanvasKit","
|
1
|
+
{"version":3,"sources":["JsiSkFontMgr.ts"],"names":["HostObject","JsiSkFontMgr","constructor","CanvasKit","countFamilies","console","warn","getFamilyName","_index","matchFamilyStyle","_familyName","_fontStyle"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,YAAN,SACGD,UADH,CAGP;AACEE,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN,EAAiB,IAAjB,EAAuB,SAAvB;AACD;;AAEDC,EAAAA,aAAa,GAAG;AACdC,IAAAA,OAAO,CAACC,IAAR,CACE,iEADF;AAGA,WAAO,CAAP;AACD;;AAEDC,EAAAA,aAAa,CAACC,MAAD,EAAiB;AAC5BH,IAAAA,OAAO,CAACC,IAAR,CACE,+EADF;AAGA,WAAO,EAAP;AACD;;AAEDG,EAAAA,gBAAgB,CACdC,WADc,EAEdC,UAFc,EAGK;AACnBN,IAAAA,OAAO,CAACC,IAAR,CACE,uEADF;AAGA,WAAO,IAAP;AACD;;AA3BH","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { FontStyle, SkFontMgr, SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkFontMgr\n extends HostObject<null, \"FontMgr\">\n implements SkFontMgr\n{\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit, null, \"FontMgr\");\n }\n\n countFamilies() {\n console.warn(\n \"countFamilies() is deprecated. It returns 0 on React Native Web\"\n );\n return 0;\n }\n\n getFamilyName(_index: number) {\n console.warn(\n \"getFamilyName() is deprecated. It returns an empty string on React Native Web\"\n );\n return \"\";\n }\n\n matchFamilyStyle(\n _familyName: string,\n _fontStyle?: FontStyle\n ): SkTypeface | null {\n console.warn(\n \"matchFamilyStyle() is deprecated. It returns null on React Native Web\"\n );\n return null;\n }\n}\n"]}
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
/*global btoa, atob*/
|
2
|
+
import { ckEnum, HostObject, toValue } from "./Host";
|
3
|
+
import { JsiSkShader } from "./JsiSkShader";
|
2
4
|
export class JsiSkImage extends HostObject {
|
3
5
|
constructor(CanvasKit, ref) {
|
4
6
|
super(CanvasKit, ref, "Image");
|
@@ -12,12 +14,12 @@ export class JsiSkImage extends HostObject {
|
|
12
14
|
return this.ref.width();
|
13
15
|
}
|
14
16
|
|
15
|
-
makeShaderOptions(
|
16
|
-
|
17
|
+
makeShaderOptions(tx, ty, fm, mm, localMatrix) {
|
18
|
+
return new JsiSkShader(this.CanvasKit, this.ref.makeShaderOptions(ckEnum(tx), ckEnum(ty), ckEnum(fm), ckEnum(mm), localMatrix ? toValue(localMatrix) : undefined));
|
17
19
|
}
|
18
20
|
|
19
|
-
makeShaderCubic(
|
20
|
-
|
21
|
+
makeShaderCubic(tx, ty, B, C, localMatrix) {
|
22
|
+
return new JsiSkShader(this.CanvasKit, this.ref.makeShaderCubic(ckEnum(tx), ckEnum(ty), B, C, localMatrix ? toValue(localMatrix) : undefined));
|
21
23
|
}
|
22
24
|
|
23
25
|
encodeToBytes(fmt, quality) {
|
@@ -38,8 +40,9 @@ export class JsiSkImage extends HostObject {
|
|
38
40
|
return result;
|
39
41
|
}
|
40
42
|
|
41
|
-
encodeToBase64(
|
42
|
-
|
43
|
+
encodeToBase64(fmt, quality) {
|
44
|
+
const bytes = this.encodeToBytes(fmt, quality);
|
45
|
+
return btoa(String.fromCharCode(...bytes));
|
43
46
|
}
|
44
47
|
|
45
48
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkImage.ts"],"names":["ckEnum","HostObject","JsiSkImage","constructor","CanvasKit","ref","height","width","makeShaderOptions","
|
1
|
+
{"version":3,"sources":["JsiSkImage.ts"],"names":["ckEnum","HostObject","toValue","JsiSkShader","JsiSkImage","constructor","CanvasKit","ref","height","width","makeShaderOptions","tx","ty","fm","mm","localMatrix","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","result","Error","encodeToBase64","bytes","btoa","String","fromCharCode"],"mappings":"AAAA;AAaA,SAASA,MAAT,EAAiBC,UAAjB,EAA6BC,OAA7B,QAA4C,QAA5C;AACA,SAASC,WAAT,QAA4B,eAA5B;AAEA,OAAO,MAAMC,UAAN,SAAyBH,UAAzB,CAAuE;AAC5EI,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,IAAIZ,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKC,GAAL,CAASG,iBAAT,CACEV,MAAM,CAACW,EAAD,CADR,EAEEX,MAAM,CAACY,EAAD,CAFR,EAGEZ,MAAM,CAACa,EAAD,CAHR,EAIEb,MAAM,CAACc,EAAD,CAJR,EAKEC,WAAW,GAAGb,OAAO,CAACa,WAAD,CAAV,GAA0BC,SALvC,CAFK,CAAP;AAUD;;AAEDC,EAAAA,eAAe,CACbN,EADa,EAEbC,EAFa,EAGbM,CAHa,EAIbC,CAJa,EAKbJ,WALa,EAMH;AACV,WAAO,IAAIZ,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKC,GAAL,CAASU,eAAT,CACEjB,MAAM,CAACW,EAAD,CADR,EAEEX,MAAM,CAACY,EAAD,CAFR,EAGEM,CAHF,EAIEC,CAJF,EAKEJ,WAAW,GAAGb,OAAO,CAACa,WAAD,CAAV,GAA0BC,SALvC,CAFK,CAAP;AAUD;;AAEDI,EAAAA,aAAa,CAACC,GAAD,EAAoBC,OAApB,EAAsC;AACjD,QAAIC,MAAJ;;AACA,QAAIF,GAAG,IAAIC,OAAX,EAAoB;AAClBC,MAAAA,MAAM,GAAG,KAAKhB,GAAL,CAASa,aAAT,CAAuBpB,MAAM,CAACqB,GAAD,CAA7B,EAAoCC,OAApC,CAAT;AACD,KAFD,MAEO,IAAID,GAAJ,EAAS;AACdE,MAAAA,MAAM,GAAG,KAAKhB,GAAL,CAASa,aAAT,CAAuBpB,MAAM,CAACqB,GAAD,CAA7B,CAAT;AACD,KAFM,MAEA;AACLE,MAAAA,MAAM,GAAG,KAAKhB,GAAL,CAASa,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, toValue } from \"./Host\";\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 ? toValue(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 ? toValue(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"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["JsiSkImageFilterFactory.ts"],"names":["Host","NotImplementedOnRNWeb","ckEnum","toValue","JsiSkImageFilter","JsiSkImageFilterFactory","constructor","CanvasKit","MakeOffset","_dx","_dy","_input","MakeDisplacementMap","_channelX","_channelY","_scale","_in1","MakeShader","_shader","MakeBlur","sigmaX","sigmaY","mode","input","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,SAASA,IAAT,EAAeC,qBAAf,EAAsCC,MAAtC,EAA8CC,OAA9C,QAA6D,QAA7D;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AAEA,OAAO,MAAMC,uBAAN,SACGL,IADH,CAGP;AACEM,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,UAAU,CACRC,GADQ,EAERC,GAFQ,EAGRC,MAHQ,EAIO;AACf,UAAM,IAAIV,qBAAJ,EAAN;AACD;;AAEDW,EAAAA,mBAAmB,CACjBC,SADiB,EAEjBC,SAFiB,EAGjBC,MAHiB,EAIjBC,IAJiB,EAKjBL,MALiB,EAMF;AACf,UAAM,IAAIV,qBAAJ,EAAN;AACD;;AAEDgB,EAAAA,UAAU,CAACC,OAAD,EAAoBP,MAApB,EAAiE;AACzE,UAAM,IAAIV,qBAAJ,EAAN;AACD;;AAEDkB,EAAAA,QAAQ,CACNC,MADM,EAENC,MAFM,EAGNC,IAHM,EAINC,KAJM,EAKN;AACA,WAAO,IAAInB,gBAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeiB,WAAf,CAA2BL,QAA3B,CACEC,MADF,EAEEC,MAFF,EAGEnB,MAAM,CAACoB,IAAD,CAHR,EAIEC,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwBpB,OAAO,CAACoB,KAAD,CAJjC,CAFK,CAAP;AASD;;AAEDE,EAAAA,eAAe,CAACC,EAAD,EAAoBH,KAApB,EAAiD;AAC9D,WAAO,IAAInB,gBAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeiB,WAAf,CAA2BC,eAA3B,CACEtB,OAAO,CAACuB,EAAD,CADT,EAEEH,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwBpB,OAAO,CAACoB,KAAD,CAFjC,CAFK,CAAP;AAOD;;AAEDI,EAAAA,WAAW,CAACC,KAAD,EAA8BC,KAA9B,EAA2D;AACpE,WAAO,IAAIzB,gBAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeiB,WAAf,CAA2BG,WAA3B,CACEC,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwBzB,OAAO,CAACyB,KAAD,CADjC,EAEEC,KAAK,KAAK,IAAV,GAAiB,IAAjB,GAAwB1B,OAAO,CAAC0B,KAAD,CAFjC,CAFK,CAAP;AAOD;;AAEDC,EAAAA,cAAc,CACZrB,GADY,EAEZC,GAFY,EAGZqB,OAHY,EAIZC,OAJY,EAKZC,MALY,EAMZtB,MANY,EAOZuB,SAPY,EAQG;AACf,UAAM,IAAIjC,qBAAJ,EAAN;AACD;;AAEDkC,EAAAA,kBAAkB,CAChB1B,GADgB,EAEhBC,GAFgB,EAGhBqB,OAHgB,EAIhBC,OAJgB,EAKhBC,MALgB,EAMhBtB,MANgB,EAOhBuB,SAPgB,EAQD;AACf,UAAM,IAAIjC,qBAAJ,EAAN;AACD;;AAEDmC,EAAAA,SAAS,CACPC,GADO,EAEPC,GAFO,EAGP3B,MAHO,EAIPuB,SAJO,EAKQ;AACf,UAAM,IAAIjC,qBAAJ,EAAN;AACD;;AAEDsC,EAAAA,UAAU,CACRF,GADQ,EAERC,GAFQ,EAGR3B,MAHQ,EAIRuB,SAJQ,EAKO;AACf,UAAM,IAAIjC,qBAAJ,EAAN;AACD;;AAEDuC,EAAAA,SAAS,CACPC,KADO,EAEPC,WAFO,EAGPC,WAHO,EAIPT,SAJO,EAKQ;AACf,UAAM,IAAIjC,qBAAJ,EAAN;AACD;;AAED2C,EAAAA,iBAAiB,CACfC,QADe,EAEfC,gBAFe,EAGfnC,MAHe,EAIA;AACf,UAAM,IAAIV,qBAAJ,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 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkPaint.ts"],"names":["HostObject","toNullableValue","ckEnum","JsiSkPaint","constructor","CanvasKit","ref","setAntiAlias","copy","getColor","getStrokeCap","value","getStrokeJoin","getStrokeMiter","getStrokeWidth","setAlphaf","alpha","aa","setBlendMode","blendMode","setColor","color","setColorFilter","filter","setImageFilter","setMaskFilter","setPathEffect","effect","setShader","shader","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 BlendMode,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n SkPaint,\n SkShader,\n StrokeCap,\n
|
1
|
+
{"version":3,"sources":["JsiSkPaint.ts"],"names":["HostObject","toNullableValue","ckEnum","JsiSkPaint","constructor","CanvasKit","ref","setAntiAlias","copy","getColor","getStrokeCap","value","getStrokeJoin","getStrokeMiter","getStrokeWidth","setAlphaf","alpha","aa","setBlendMode","blendMode","setColor","color","setColorFilter","filter","setImageFilter","setMaskFilter","setPathEffect","effect","setShader","shader","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, toNullableValue, ckEnum } from \"./Host\";\n\nexport class JsiSkPaint extends HostObject<Paint, \"Paint\"> implements SkPaint {\n constructor(CanvasKit: CanvasKit, ref: Paint) {\n ref.setAntiAlias(true);\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(toNullableValue(filter));\n }\n\n setImageFilter(filter: SkImageFilter | null) {\n this.ref.setImageFilter(toNullableValue(filter));\n }\n\n setMaskFilter(filter: SkMaskFilter | null) {\n this.ref.setMaskFilter(toNullableValue(filter));\n }\n\n setPathEffect(effect: SkPathEffect | null) {\n this.ref.setPathEffect(toNullableValue(effect));\n }\n\n setShader(shader: SkShader | null) {\n this.ref.setShader(toNullableValue(shader));\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"]}
|
@@ -2,6 +2,31 @@ import { PathVerb } from "../types";
|
|
2
2
|
import { ckEnum, HostObject, optEnum, toValue } from "./Host";
|
3
3
|
import { JsiSkPoint } from "./JsiSkPoint";
|
4
4
|
import { JsiSkRect } from "./JsiSkRect";
|
5
|
+
const CommandCount = {
|
6
|
+
[PathVerb.Move]: 3,
|
7
|
+
[PathVerb.Line]: 3,
|
8
|
+
[PathVerb.Quad]: 5,
|
9
|
+
[PathVerb.Conic]: 6,
|
10
|
+
[PathVerb.Cubic]: 7,
|
11
|
+
[PathVerb.Close]: 1
|
12
|
+
};
|
13
|
+
|
14
|
+
const areCmdsInterpolatable = (cmd1, cmd2) => {
|
15
|
+
if (cmd1.length !== cmd2.length) {
|
16
|
+
return false;
|
17
|
+
}
|
18
|
+
|
19
|
+
for (let i = 0; i < cmd1.length; i++) {
|
20
|
+
if (cmd1[i][0] !== cmd2[i][0]) {
|
21
|
+
return false;
|
22
|
+
} else if (cmd1[i][0] === PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
return true;
|
28
|
+
};
|
29
|
+
|
5
30
|
export class JsiSkPath extends HostObject {
|
6
31
|
constructor(CanvasKit, ref) {
|
7
32
|
super(CanvasKit, ref, "Path");
|
@@ -224,26 +249,27 @@ export class JsiSkPath extends HostObject {
|
|
224
249
|
const cmd1 = this.toCmds();
|
225
250
|
const cmd2 = end.toCmds();
|
226
251
|
|
227
|
-
if (cmd1
|
252
|
+
if (!areCmdsInterpolatable(cmd1, cmd2)) {
|
228
253
|
return null;
|
229
254
|
}
|
230
255
|
|
231
256
|
const interpolated = [];
|
257
|
+
cmd1.forEach((cmd, i) => {
|
258
|
+
const interpolatedCmd = [cmd[0]];
|
259
|
+
interpolated.push(interpolatedCmd);
|
260
|
+
cmd.forEach((c, j) => {
|
261
|
+
if (j === 0) {
|
262
|
+
return;
|
263
|
+
}
|
232
264
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
cmd.push(cmd2[i][j] + (cmd1[i][j] - cmd2[i][j]) * t);
|
242
|
-
}
|
243
|
-
|
244
|
-
interpolated.push(cmd);
|
245
|
-
}
|
246
|
-
|
265
|
+
if (interpolatedCmd[0] === PathVerb.Conic && j === 5) {
|
266
|
+
interpolatedCmd.push(c);
|
267
|
+
} else {
|
268
|
+
const c2 = cmd2[i][j];
|
269
|
+
interpolatedCmd.push(c2 + (c - c2) * t);
|
270
|
+
}
|
271
|
+
});
|
272
|
+
});
|
247
273
|
const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());
|
248
274
|
|
249
275
|
if (path === null) {
|
@@ -258,53 +284,40 @@ export class JsiSkPath extends HostObject {
|
|
258
284
|
// throw new NotImplementedOnRNWeb();
|
259
285
|
const cmd1 = this.toCmds();
|
260
286
|
const cmd2 = path2.toCmds();
|
261
|
-
|
262
|
-
if (cmd1.length !== cmd2.length) {
|
263
|
-
return false;
|
264
|
-
}
|
265
|
-
|
266
|
-
for (let i = 0; i < cmd1.length; i++) {
|
267
|
-
if (cmd1[i][0] !== cmd2[i][0]) {
|
268
|
-
return false;
|
269
|
-
}
|
270
|
-
}
|
271
|
-
|
272
|
-
return true;
|
287
|
+
return areCmdsInterpolatable(cmd1, cmd2);
|
273
288
|
}
|
274
289
|
|
275
290
|
toCmds() {
|
276
|
-
const cmds =
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
[PathVerb.Move]: 3,
|
281
|
-
[PathVerb.Line]: 3,
|
282
|
-
[PathVerb.Quad]: 5,
|
283
|
-
[PathVerb.Conic]: 6,
|
284
|
-
[PathVerb.Cubic]: 7,
|
285
|
-
[PathVerb.Close]: 0,
|
286
|
-
[PathVerb.Done]: 0
|
287
|
-
};
|
288
|
-
|
289
|
-
for (let i = 0; i < flatCmds.length; i++) {
|
290
|
-
if (cmd.length === 0 && flatCmds[i] === PathVerb.Done) {
|
291
|
-
break;
|
291
|
+
const cmds = this.ref.toCmds();
|
292
|
+
const result = cmds.reduce((acc, cmd, i) => {
|
293
|
+
if (i === 0) {
|
294
|
+
acc.push([]);
|
292
295
|
}
|
293
296
|
|
294
|
-
const
|
295
|
-
cmd.push(c);
|
297
|
+
const current = acc[acc.length - 1];
|
296
298
|
|
297
|
-
if (
|
298
|
-
|
299
|
+
if (current.length === 0) {
|
300
|
+
current.push(cmd);
|
301
|
+
const length = CommandCount[current[0]];
|
302
|
+
|
303
|
+
if (current.length === length && i !== cmds.length - 1) {
|
304
|
+
acc.push([]);
|
305
|
+
}
|
306
|
+
} else {
|
307
|
+
const length = CommandCount[current[0]];
|
299
308
|
|
300
|
-
if (
|
301
|
-
|
302
|
-
|
309
|
+
if (current.length < length) {
|
310
|
+
current.push(cmd);
|
311
|
+
}
|
312
|
+
|
313
|
+
if (current.length === length && i !== cmds.length - 1) {
|
314
|
+
acc.push([]);
|
303
315
|
}
|
304
316
|
}
|
305
|
-
}
|
306
317
|
|
307
|
-
|
318
|
+
return acc;
|
319
|
+
}, []);
|
320
|
+
return result;
|
308
321
|
}
|
309
322
|
|
310
323
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkPath.ts"],"names":["PathVerb","ckEnum","HostObject","optEnum","toValue","JsiSkPoint","JsiSkRect","JsiSkPath","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","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","getPoint","index","isEmpty","isVolatile","addCircle","r","LTRBRect","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","cmd1","toCmds","cmd2","length","interpolated","i","cmd","j","push","Path","MakeFromCmds","flat","isInterpolatable","path2","cmds","flatCmds","CmdCount","Move","Line","Quad","Conic","Cubic","Close","Done","c","concat"],"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\";\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(toValue(oval), startAngleInDegrees, sweepAngleInDegrees);\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(toValue(oval), isCCW, startIndex);\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 toValue(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(toValue(rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(toValue(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 (cmd1.length !== cmd2.length) {\n return null;\n }\n const interpolated: PathCommand[] = [];\n for (let i = 0; i < cmd1.length; i++) {\n if (cmd1[i][0] !== cmd2[i][0]) {\n return null;\n }\n const cmd: PathCommand = [cmd1[i][0]];\n for (let j = 1; j < cmd1[i].length; j++) {\n cmd.push(cmd2[i][j] + (cmd1[i][j] - cmd2[i][j]) * t);\n }\n interpolated.push(cmd);\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 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 }\n }\n return true;\n }\n\n toCmds(): PathCommand[] {\n const cmds: PathCommand[] = [];\n let cmd = [];\n const flatCmds = this.ref.toCmds();\n const CmdCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 0,\n [PathVerb.Done]: 0,\n };\n for (let i = 0; i < flatCmds.length; i++) {\n if (cmd.length === 0 && flatCmds[i] === PathVerb.Done) {\n break;\n }\n const c = flatCmds[i];\n cmd.push(c);\n if (cmd.length > 1) {\n const length = CmdCount[cmd[0] as PathVerb];\n if (cmd.length === length) {\n cmds.push(cmd);\n cmd = [];\n }\n }\n }\n return cmds.concat(cmd);\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["JsiSkPath.ts"],"names":["PathVerb","ckEnum","HostObject","optEnum","toValue","JsiSkPoint","JsiSkRect","CommandCount","Move","Line","Quad","Conic","Cubic","Close","areCmdsInterpolatable","cmd1","cmd2","length","i","JsiSkPath","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","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","getPoint","index","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\";\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(toValue(oval), startAngleInDegrees, sweepAngleInDegrees);\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(toValue(oval), isCCW, startIndex);\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 toValue(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(toValue(rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(toValue(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"]}
|
@@ -34,7 +34,7 @@ export class JsiSkShaderFactory extends Host {
|
|
34
34
|
}
|
35
35
|
|
36
36
|
MakeColor(color) {
|
37
|
-
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeColor(toValue(color)));
|
37
|
+
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeColor(toValue(color), this.CanvasKit.ColorSpace.SRGB));
|
38
38
|
}
|
39
39
|
|
40
40
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkShaderFactory.ts"],"names":["Host","toValue","ckEnum","JsiSkShader","JsiSkShaderFactory","constructor","CanvasKit","MakeLinearGradient","start","end","colors","pos","mode","localMatrix","flags","Shader","undefined","MakeRadialGradient","center","radius","MakeTwoPointConicalGradient","startRadius","endRadius","MakeSweepGradient","cx","cy","startAngleInDegrees","endAngleInDegrees","MakeTurbulence","baseFreqX","baseFreqY","octaves","seed","tileW","tileH","MakeFractalNoise","MakeBlend","one","two","MakeColor","color"],"mappings":"AAYA,SAASA,IAAT,EAAeC,OAAf,EAAwBC,MAAxB,QAAsC,QAAtC;AACA,SAASC,WAAT,QAA4B,eAA5B;AAEA,OAAO,MAAMC,kBAAN,SAAiCJ,IAAjC,CAA+D;AACpEK,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,kBAAkB,CAChBC,KADgB,EAEhBC,GAFgB,EAGhBC,MAHgB,EAIhBC,GAJgB,EAKhBC,IALgB,EAMhBC,WANgB,EAOhBC,KAPgB,EAQhB;AACA,WAAO,IAAIX,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBR,kBAAtB,CACEN,OAAO,CAACO,KAAD,CADT,EAEEP,OAAO,CAACQ,GAAD,CAFT,EAGEC,MAHF,EAIEC,GAJF,EAKET,MAAM,CAACU,IAAD,CALR,EAMEC,WAAW,KAAKG,SAAhB,GAA4BA,SAA5B,GAAwCf,OAAO,CAACY,WAAD,CANjD,EAOEC,KAPF,CAFK,CAAP;AAYD;;AAEDG,EAAAA,kBAAkB,CAChBC,MADgB,EAEhBC,MAFgB,EAGhBT,MAHgB,EAIhBC,GAJgB,EAKhBC,IALgB,EAMhBC,WANgB,EAOhBC,KAPgB,EAQhB;AACA,WAAO,IAAIX,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBE,kBAAtB,CACEhB,OAAO,CAACiB,MAAD,CADT,EAEEC,MAFF,EAGET,MAHF,EAIEC,GAJF,EAKET,MAAM,CAACU,IAAD,CALR,EAMEC,WAAW,KAAKG,SAAhB,GAA4BA,SAA5B,GAAwCf,OAAO,CAACY,WAAD,CANjD,EAOEC,KAPF,CAFK,CAAP;AAYD;;AAEDM,EAAAA,2BAA2B,CACzBZ,KADyB,EAEzBa,WAFyB,EAGzBZ,GAHyB,EAIzBa,SAJyB,EAKzBZ,MALyB,EAMzBC,GANyB,EAOzBC,IAPyB,EAQzBC,WARyB,EASzBC,KATyB,EAUzB;AACA,WAAO,IAAIX,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBK,2BAAtB,CACEnB,OAAO,CAACO,KAAD,CADT,EAEEa,WAFF,EAGEpB,OAAO,CAACQ,GAAD,CAHT,EAIEa,SAJF,EAKEZ,MALF,EAMEC,GANF,EAOET,MAAM,CAACU,IAAD,CAPR,EAQEC,WAAW,KAAKG,SAAhB,GAA4BA,SAA5B,GAAwCf,OAAO,CAACY,WAAD,CARjD,EASEC,KATF,CAFK,CAAP;AAcD;;AAEDS,EAAAA,iBAAiB,CACfC,EADe,EAEfC,EAFe,EAGff,MAHe,EAIfC,GAJe,EAKfC,IALe,EAMfC,WANe,EAOfC,KAPe,EAQfY,mBARe,EASfC,iBATe,EAUf;AACA,WAAO,IAAIxB,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBQ,iBAAtB,CACEC,EADF,EAEEC,EAFF,EAGEf,MAHF,EAIEC,GAJF,EAKET,MAAM,CAACU,IAAD,CALR,EAMEC,WAAW,KAAKG,SAAhB,IAA6BH,WAAW,KAAK,IAA7C,GACIG,SADJ,GAEIf,OAAO,CAACY,WAAD,CARb,EASEC,KATF,EAUEY,mBAVF,EAWEC,iBAXF,CAFK,CAAP;AAgBD;;AAEDC,EAAAA,cAAc,CACZC,SADY,EAEZC,SAFY,EAGZC,OAHY,EAIZC,IAJY,EAKZC,KALY,EAMZC,KANY,EAOZ;AACA,WAAO,IAAI/B,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBa,cAAtB,CACEC,SADF,EAEEC,SAFF,EAGEC,OAHF,EAIEC,IAJF,EAKEC,KALF,EAMEC,KANF,CAFK,CAAP;AAWD;;AAEDC,EAAAA,gBAAgB,CACdN,SADc,EAEdC,SAFc,EAGdC,OAHc,EAIdC,IAJc,EAKdC,KALc,EAMdC,KANc,EAOd;AACA,WAAO,IAAI/B,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBoB,gBAAtB,CACEN,SADF,EAEEC,SAFF,EAGEC,OAHF,EAIEC,IAJF,EAKEC,KALF,EAMEC,KANF,CAFK,CAAP;AAWD;;AAEDE,EAAAA,SAAS,CAACxB,IAAD,EAAkByB,GAAlB,EAAiCC,GAAjC,EAAgD;AACvD,WAAO,IAAInC,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBqB,SAAtB,CAAgClC,MAAM,CAACU,IAAD,CAAtC,EAA8CX,OAAO,CAACoC,GAAD,CAArD,EAA4DpC,OAAO,CAACqC,GAAD,CAAnE,CAFK,CAAP;AAID;;AAEDC,EAAAA,SAAS,CAACC,KAAD,EAAiB;AACxB,WAAO,IAAIrC,WAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeS,MAAf,CAAsBwB,SAAtB,
|
1
|
+
{"version":3,"sources":["JsiSkShaderFactory.ts"],"names":["Host","toValue","ckEnum","JsiSkShader","JsiSkShaderFactory","constructor","CanvasKit","MakeLinearGradient","start","end","colors","pos","mode","localMatrix","flags","Shader","undefined","MakeRadialGradient","center","radius","MakeTwoPointConicalGradient","startRadius","endRadius","MakeSweepGradient","cx","cy","startAngleInDegrees","endAngleInDegrees","MakeTurbulence","baseFreqX","baseFreqY","octaves","seed","tileW","tileH","MakeFractalNoise","MakeBlend","one","two","MakeColor","color","ColorSpace","SRGB"],"mappings":"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","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n SkColor,\n SkMatrix,\n SkPoint,\n SkShader,\n TileMode,\n} from \"../types\";\nimport type { ShaderFactory } from \"../types/Shader/ShaderFactory\";\n\nimport { Host, toValue, ckEnum } from \"./Host\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\nexport class JsiSkShaderFactory extends Host implements ShaderFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeLinearGradient(\n start: SkPoint,\n end: SkPoint,\n colors: SkColor[],\n pos: number[] | null,\n mode: TileMode,\n localMatrix?: SkMatrix,\n flags?: number\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeLinearGradient(\n toValue(start),\n toValue(end),\n colors,\n pos,\n ckEnum(mode),\n localMatrix === undefined ? undefined : toValue(localMatrix),\n flags\n )\n );\n }\n\n MakeRadialGradient(\n center: SkPoint,\n radius: number,\n colors: SkColor[],\n pos: number[] | null,\n mode: TileMode,\n localMatrix?: SkMatrix,\n flags?: number\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeRadialGradient(\n toValue(center),\n radius,\n colors,\n pos,\n ckEnum(mode),\n localMatrix === undefined ? undefined : toValue(localMatrix),\n flags\n )\n );\n }\n\n MakeTwoPointConicalGradient(\n start: SkPoint,\n startRadius: number,\n end: SkPoint,\n endRadius: number,\n colors: SkColor[],\n pos: number[] | null,\n mode: TileMode,\n localMatrix?: SkMatrix,\n flags?: number\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeTwoPointConicalGradient(\n toValue(start),\n startRadius,\n toValue(end),\n endRadius,\n colors,\n pos,\n ckEnum(mode),\n localMatrix === undefined ? undefined : toValue(localMatrix),\n flags\n )\n );\n }\n\n MakeSweepGradient(\n cx: number,\n cy: number,\n colors: SkColor[],\n pos: number[] | null,\n mode: TileMode,\n localMatrix?: SkMatrix | null,\n flags?: number,\n startAngleInDegrees?: number,\n endAngleInDegrees?: number\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeSweepGradient(\n cx,\n cy,\n colors,\n pos,\n ckEnum(mode),\n localMatrix === undefined || localMatrix === null\n ? undefined\n : toValue(localMatrix),\n flags,\n startAngleInDegrees,\n endAngleInDegrees\n )\n );\n }\n\n MakeTurbulence(\n baseFreqX: number,\n baseFreqY: number,\n octaves: number,\n seed: number,\n tileW: number,\n tileH: number\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeTurbulence(\n baseFreqX,\n baseFreqY,\n octaves,\n seed,\n tileW,\n tileH\n )\n );\n }\n\n MakeFractalNoise(\n baseFreqX: number,\n baseFreqY: number,\n octaves: number,\n seed: number,\n tileW: number,\n tileH: number\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeFractalNoise(\n baseFreqX,\n baseFreqY,\n octaves,\n seed,\n tileW,\n tileH\n )\n );\n }\n\n MakeBlend(mode: BlendMode, one: SkShader, two: SkShader) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeBlend(ckEnum(mode), toValue(one), toValue(two))\n );\n }\n\n MakeColor(color: SkColor) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeColor(\n toValue(color),\n this.CanvasKit.ColorSpace.SRGB\n )\n );\n }\n}\n"]}
|
@@ -1,5 +1,28 @@
|
|
1
1
|
import { ckEnum } from "./Host";
|
2
2
|
import { JsiSkVertices } from "./JsiSkVertices";
|
3
|
+
|
4
|
+
const concat = function () {
|
5
|
+
let totalLength = 0;
|
6
|
+
|
7
|
+
for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {
|
8
|
+
arrays[_key] = arguments[_key];
|
9
|
+
}
|
10
|
+
|
11
|
+
for (const arr of arrays) {
|
12
|
+
totalLength += arr.length;
|
13
|
+
}
|
14
|
+
|
15
|
+
const result = new Float32Array(totalLength);
|
16
|
+
let offset = 0;
|
17
|
+
|
18
|
+
for (const arr of arrays) {
|
19
|
+
result.set(arr, offset);
|
20
|
+
offset += arr.length;
|
21
|
+
}
|
22
|
+
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
|
3
26
|
export const MakeVertices = (CanvasKit, mode, positions, textureCoordinates, colors, indices, isVolatile) => new JsiSkVertices(CanvasKit, CanvasKit.MakeVertices(ckEnum(mode), positions.map(_ref => {
|
4
27
|
let {
|
5
28
|
x,
|
@@ -12,5 +35,5 @@ export const MakeVertices = (CanvasKit, mode, positions, textureCoordinates, col
|
|
12
35
|
y
|
13
36
|
} = _ref2;
|
14
37
|
return [x, y];
|
15
|
-
}).flat(), colors, indices, isVolatile));
|
38
|
+
}).flat(), !colors ? null : colors.reduce((a, c) => concat(a, c)), indices, isVolatile));
|
16
39
|
//# sourceMappingURL=JsiSkVerticesFactory.js.map
|