@shopify/react-native-skia 1.12.1 → 1.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apple/MetalContext.h +129 -0
- package/apple/MetalContext.mm +34 -0
- package/apple/MetalWindowContext.h +39 -0
- package/apple/MetalWindowContext.mm +64 -0
- package/apple/RNSkApplePlatformContext.h +79 -0
- package/apple/RNSkApplePlatformContext.mm +303 -0
- package/apple/RNSkAppleVideo.h +51 -0
- package/apple/RNSkAppleVideo.mm +137 -0
- package/apple/RNSkAppleView.h +37 -0
- package/apple/RNSkAppleView.mm +35 -0
- package/apple/RNSkMetalCanvasProvider.h +38 -0
- package/apple/RNSkMetalCanvasProvider.mm +108 -0
- package/apple/RNSkiaModule.h +20 -0
- package/apple/RNSkiaModule.mm +55 -0
- package/apple/SkiaCVPixelBufferUtils.h +119 -0
- package/apple/SkiaCVPixelBufferUtils.mm +344 -0
- package/apple/SkiaManager.h +25 -0
- package/apple/SkiaManager.mm +62 -0
- package/apple/SkiaPictureView.h +7 -0
- package/apple/SkiaPictureView.mm +66 -0
- package/apple/SkiaPictureViewManager.h +8 -0
- package/apple/SkiaPictureViewManager.mm +55 -0
- package/apple/SkiaUIView.h +45 -0
- package/apple/SkiaUIView.mm +172 -0
- package/apple/ViewScreenshotService.h +25 -0
- package/apple/ViewScreenshotService.mm +89 -0
- package/cpp/api/JsiSkShaderFactory.h +43 -8
- package/cpp/api/JsiSkVertices.h +14 -3
- package/lib/commonjs/__tests__/setup.d.ts +18 -0
- package/lib/commonjs/headless/index.d.ts +1 -0
- package/lib/commonjs/headless/index.js +12 -0
- package/lib/commonjs/headless/index.js.map +1 -1
- package/lib/commonjs/skia/web/Host.d.ts +3 -3
- package/lib/commonjs/skia/web/Host.js +16 -4
- package/lib/commonjs/skia/web/Host.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +15 -15
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkColorFilterFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFont.js +2 -2
- package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.js +6 -6
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFactory.js +2 -2
- package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js +3 -3
- package/lib/commonjs/skia/web/JsiSkImageFilterFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMaskFilterFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkMaskFilterFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPaint.js +3 -3
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +4 -4
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js +1 -1
- 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 +1 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkShaderFactory.js +5 -5
- package/lib/commonjs/skia/web/JsiSkShaderFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkVerticesFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkVerticesFactory.js.map +1 -1
- package/lib/module/__tests__/setup.d.ts +18 -0
- package/lib/module/headless/index.d.ts +1 -0
- package/lib/module/headless/index.js +1 -0
- package/lib/module/headless/index.js.map +1 -1
- package/lib/module/skia/web/Host.d.ts +3 -3
- package/lib/module/skia/web/Host.js +16 -4
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +15 -15
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkColorFilterFactory.js +1 -1
- package/lib/module/skia/web/JsiSkColorFilterFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.js +2 -2
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.js +6 -6
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFactory.js +2 -2
- package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFilterFactory.js +3 -3
- package/lib/module/skia/web/JsiSkImageFilterFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkMaskFilterFactory.js +1 -1
- package/lib/module/skia/web/JsiSkMaskFilterFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.js +3 -3
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.js +4 -4
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathEffectFactory.js +1 -1
- package/lib/module/skia/web/JsiSkPathEffectFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathFactory.js +1 -1
- package/lib/module/skia/web/JsiSkPathFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPicture.js +1 -1
- package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/module/skia/web/JsiSkShaderFactory.js +5 -5
- package/lib/module/skia/web/JsiSkShaderFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkVerticesFactory.js +1 -1
- package/lib/module/skia/web/JsiSkVerticesFactory.js.map +1 -1
- package/lib/typescript/lib/commonjs/mock/index.d.ts +1 -1
- package/lib/typescript/lib/commonjs/skia/index.d.ts +1 -1
- package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -2
- package/lib/typescript/lib/module/headless/index.d.ts +1 -0
- package/lib/typescript/lib/module/mock/index.d.ts +1 -1
- package/lib/typescript/lib/module/skia/Skia.d.ts +1 -1
- package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -2
- package/lib/typescript/src/__tests__/setup.d.ts +18 -0
- package/lib/typescript/src/headless/index.d.ts +1 -0
- package/lib/typescript/src/skia/web/Host.d.ts +3 -3
- package/package.json +4 -4
- package/src/__tests__/setup.ts +67 -1
- package/src/headless/index.ts +2 -1
- package/src/renderer/__tests__/e2e/Matrix4.spec.tsx +1 -2
- package/src/renderer/__tests__/e2e/Paths.spec.tsx +13 -11
- package/src/skia/__tests__/Enums.spec.ts +24 -2
- package/src/skia/__tests__/Path.spec.ts +2 -2
- package/src/skia/web/Host.ts +24 -7
- package/src/skia/web/JsiSkCanvas.ts +17 -17
- package/src/skia/web/JsiSkColorFilterFactory.ts +1 -1
- package/src/skia/web/JsiSkFont.ts +2 -2
- package/src/skia/web/JsiSkImage.ts +14 -10
- package/src/skia/web/JsiSkImageFactory.ts +2 -2
- package/src/skia/web/JsiSkImageFilterFactory.ts +4 -4
- package/src/skia/web/JsiSkMaskFilterFactory.ts +1 -1
- package/src/skia/web/JsiSkPaint.ts +3 -3
- package/src/skia/web/JsiSkPath.ts +4 -4
- package/src/skia/web/JsiSkPathEffectFactory.ts +1 -1
- package/src/skia/web/JsiSkPathFactory.ts +1 -1
- package/src/skia/web/JsiSkPicture.ts +3 -3
- package/src/skia/web/JsiSkShaderFactory.ts +5 -5
- package/src/skia/web/JsiSkVerticesFactory.ts +1 -1
- package/lib/commonjs/skia/types/Image/ColorType.web.d.ts +0 -19
- package/lib/commonjs/skia/types/Image/ColorType.web.js +0 -43
- package/lib/commonjs/skia/types/Image/ColorType.web.js.map +0 -1
- package/lib/module/skia/types/Image/ColorType.web.d.ts +0 -19
- package/lib/module/skia/types/Image/ColorType.web.js +0 -37
- package/lib/module/skia/types/Image/ColorType.web.js.map +0 -1
- package/lib/typescript/lib/commonjs/skia/types/Image/ColorType.web.d.ts +0 -2
- package/lib/typescript/lib/module/skia/types/Image/ColorType.web.d.ts +0 -1
- package/lib/typescript/src/skia/types/Image/ColorType.web.d.ts +0 -19
- package/src/skia/types/Image/ColorType.web.ts +0 -19
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["PathVerb","getEnum","HostObject","optEnum","JsiSkPoint","JsiSkRect","JsiSkRRect","JsiSkMatrix","CommandCount","Move","Line","Quad","Conic","Cubic","Close","pinT","t","Math","min","max","JsiSkPath","constructor","CanvasKit","ref","_defineProperty","delete","addPath","src","matrix","extend","args","fromValue","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","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","FillType","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","StrokeJoin","cap","StrokeCap","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","getLastPt","op","path","PathOp","simplify","toSVGString","trim","start","stop","isComplement","startT","stopT","transform","m","length","Error","interpolate","end","output","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Matrix3x3, 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 InputRRect,\n StrokeOpts,\n InputMatrix,\n} from \"../types\";\n\nimport { getEnum, 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\nconst pinT = (t: number) => Math.min(Math.max(t, 0), 1);\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n const args = [\n JsiSkPath.fromValue(src),\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n 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(getEnum(this.CanvasKit.FillType, fill));\n return this;\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n return this;\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(this.CanvasKit.StrokeJoin, opts.join),\n cap: optEnum(this.CanvasKit.StrokeCap, opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n return this;\n }\n\n reset() {\n this.ref.reset();\n return this;\n }\n\n rewind() {\n this.ref.rewind();\n return this;\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 return this;\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n return this;\n }\n\n addRRect(rrect: InputRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n 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(\n JsiSkPath.fromValue(path),\n getEnum(this.CanvasKit.PathOp, op)\n );\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(start: number, stop: number, isComplement: boolean) {\n const startT = pinT(start);\n const stopT = pinT(stop);\n if (startT === 0 && stopT === 1) {\n return this;\n }\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m: InputMatrix) {\n let matrix =\n m instanceof JsiSkMatrix\n ? Array.from(JsiSkMatrix.fromValue<Matrix3x3>(m))\n : (m as Exclude<InputMatrix, SkMatrix>);\n if (matrix.length === 16) {\n matrix = [\n matrix[0],\n matrix[1],\n matrix[3],\n matrix[4],\n matrix[5],\n matrix[7],\n matrix[12],\n matrix[13],\n matrix[15],\n ];\n } else if (matrix.length !== 9) {\n throw new Error(`Invalid matrix length: ${matrix.length}`);\n }\n this.ref.transform(matrix);\n return this;\n }\n\n interpolate(end: SkPath, t: number, output?: SkPath) {\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 if (output) {\n (output as JsiSkPath).ref = path;\n return output;\n } else {\n return new JsiSkPath(this.CanvasKit, path);\n }\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"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["PathVerb","getEnum","HostObject","optEnum","JsiSkPoint","JsiSkRect","JsiSkRRect","JsiSkMatrix","CommandCount","Move","Line","Quad","Conic","Cubic","Close","pinT","t","Math","min","max","JsiSkPath","constructor","CanvasKit","ref","_defineProperty","delete","addPath","src","matrix","extend","args","fromValue","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","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","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","start","stop","isComplement","startT","stopT","transform","m","length","Error","interpolate","end","output","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Matrix3x3, 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 InputRRect,\n StrokeOpts,\n InputMatrix,\n} from \"../types\";\n\nimport { getEnum, 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\nconst pinT = (t: number) => Math.min(Math.max(t, 0), 1);\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n const args = [\n JsiSkPath.fromValue(src),\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n 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(getEnum(this.CanvasKit, \"FillType\", fill));\n return this;\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n return this;\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(this.CanvasKit, \"StrokeJoin\", opts.join),\n cap: optEnum(this.CanvasKit, \"StrokeCap\", opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n return this;\n }\n\n reset() {\n this.ref.reset();\n return this;\n }\n\n rewind() {\n this.ref.rewind();\n return this;\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 return this;\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n return this;\n }\n\n addRRect(rrect: InputRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n 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(\n JsiSkPath.fromValue(path),\n getEnum(this.CanvasKit, \"PathOp\", op)\n );\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(start: number, stop: number, isComplement: boolean) {\n const startT = pinT(start);\n const stopT = pinT(stop);\n if (startT === 0 && stopT === 1) {\n return this;\n }\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m: InputMatrix) {\n let matrix =\n m instanceof JsiSkMatrix\n ? Array.from(JsiSkMatrix.fromValue<Matrix3x3>(m))\n : (m as Exclude<InputMatrix, SkMatrix>);\n if (matrix.length === 16) {\n matrix = [\n matrix[0],\n matrix[1],\n matrix[3],\n matrix[4],\n matrix[5],\n matrix[7],\n matrix[12],\n matrix[13],\n matrix[15],\n ];\n } else if (matrix.length !== 9) {\n throw new Error(`Invalid matrix length: ${matrix.length}`);\n }\n this.ref.transform(matrix);\n return this;\n }\n\n interpolate(end: SkPath, t: number, output?: SkPath) {\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 if (output) {\n (output as JsiSkPath).ref = path;\n return output;\n } else {\n return new JsiSkPath(this.CanvasKit, path);\n }\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"],"mappings":"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","ignoreList":[]}
|
@@ -35,7 +35,7 @@ export class JsiSkPathEffectFactory extends Host {
|
|
35
35
|
return new JsiSkPathEffect(this.CanvasKit, pe);
|
36
36
|
}
|
37
37
|
MakePath1D(path, advance, phase, style) {
|
38
|
-
const pe = this.CanvasKit.PathEffect.MakePath1D(JsiSkPath.fromValue(path), advance, phase, getEnum(this.CanvasKit
|
38
|
+
const pe = this.CanvasKit.PathEffect.MakePath1D(JsiSkPath.fromValue(path), advance, phase, getEnum(this.CanvasKit, "Path1DEffect", style));
|
39
39
|
if (pe === null) {
|
40
40
|
return null;
|
41
41
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getEnum","Host","throwNotImplementedOnRNWeb","JsiSkMatrix","JsiSkPath","JsiSkPathEffect","JsiSkPathEffectFactory","constructor","CanvasKit","MakeCorner","radius","pe","PathEffect","MakeDash","intervals","phase","MakeDiscrete","segLength","dev","seedAssist","MakeCompose","_outer","_inner","MakeSum","MakeLine2D","width","matrix","fromValue","MakePath1D","path","advance","style","
|
1
|
+
{"version":3,"names":["getEnum","Host","throwNotImplementedOnRNWeb","JsiSkMatrix","JsiSkPath","JsiSkPathEffect","JsiSkPathEffectFactory","constructor","CanvasKit","MakeCorner","radius","pe","PathEffect","MakeDash","intervals","phase","MakeDiscrete","segLength","dev","seedAssist","MakeCompose","_outer","_inner","MakeSum","MakeLine2D","width","matrix","fromValue","MakePath1D","path","advance","style","MakePath2D"],"sources":["JsiSkPathEffectFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n Path1DEffectStyle,\n PathEffectFactory,\n SkMatrix,\n SkPath,\n SkPathEffect,\n} from \"../types\";\n\nimport { getEnum, Host, throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPathEffect } from \"./JsiSkPathEffect\";\n\nexport class JsiSkPathEffectFactory extends Host implements PathEffectFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeCorner(radius: number) {\n const pe = this.CanvasKit.PathEffect.MakeCorner(radius);\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeDash(intervals: number[], phase?: number) {\n const pe = this.CanvasKit.PathEffect.MakeDash(intervals, phase);\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeDiscrete(segLength: number, dev: number, seedAssist: number) {\n const pe = this.CanvasKit.PathEffect.MakeDiscrete(\n segLength,\n dev,\n seedAssist\n );\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakeCompose(_outer: SkPathEffect, _inner: SkPathEffect) {\n return throwNotImplementedOnRNWeb<SkPathEffect>();\n }\n\n MakeSum(_outer: SkPathEffect, _inner: SkPathEffect) {\n return throwNotImplementedOnRNWeb<SkPathEffect>();\n }\n\n MakeLine2D(width: number, matrix: SkMatrix) {\n const pe = this.CanvasKit.PathEffect.MakeLine2D(\n width,\n JsiSkMatrix.fromValue(matrix)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakePath1D(\n path: SkPath,\n advance: number,\n phase: number,\n style: Path1DEffectStyle\n ) {\n const pe = this.CanvasKit.PathEffect.MakePath1D(\n JsiSkPath.fromValue(path),\n advance,\n phase,\n getEnum(this.CanvasKit, \"Path1DEffect\", style)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n\n MakePath2D(matrix: SkMatrix, path: SkPath) {\n const pe = this.CanvasKit.PathEffect.MakePath2D(\n JsiSkMatrix.fromValue(matrix),\n JsiSkPath.fromValue(path)\n );\n if (pe === null) {\n return null;\n }\n return new JsiSkPathEffect(this.CanvasKit, pe);\n }\n}\n"],"mappings":"AAUA,SAASA,OAAO,EAAEC,IAAI,EAAEC,0BAA0B,QAAQ,QAAQ;AAClE,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,OAAO,MAAMC,sBAAsB,SAASL,IAAI,CAA8B;EAC5EM,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAACA,SAAS,CAAC;EAClB;EAEAC,UAAUA,CAACC,MAAc,EAAE;IACzB,MAAMC,EAAE,GAAG,IAAI,CAACH,SAAS,CAACI,UAAU,CAACH,UAAU,CAACC,MAAM,CAAC;IACvD,IAAIC,EAAE,KAAK,IAAI,EAAE;MACf,OAAO,IAAI;IACb;IACA,OAAO,IAAIN,eAAe,CAAC,IAAI,CAACG,SAAS,EAAEG,EAAE,CAAC;EAChD;EAEAE,QAAQA,CAACC,SAAmB,EAAEC,KAAc,EAAE;IAC5C,MAAMJ,EAAE,GAAG,IAAI,CAACH,SAAS,CAACI,UAAU,CAACC,QAAQ,CAACC,SAAS,EAAEC,KAAK,CAAC;IAC/D,OAAO,IAAIV,eAAe,CAAC,IAAI,CAACG,SAAS,EAAEG,EAAE,CAAC;EAChD;EAEAK,YAAYA,CAACC,SAAiB,EAAEC,GAAW,EAAEC,UAAkB,EAAE;IAC/D,MAAMR,EAAE,GAAG,IAAI,CAACH,SAAS,CAACI,UAAU,CAACI,YAAY,CAC/CC,SAAS,EACTC,GAAG,EACHC,UACF,CAAC;IACD,OAAO,IAAId,eAAe,CAAC,IAAI,CAACG,SAAS,EAAEG,EAAE,CAAC;EAChD;EAEAS,WAAWA,CAACC,MAAoB,EAAEC,MAAoB,EAAE;IACtD,OAAOpB,0BAA0B,CAAe,CAAC;EACnD;EAEAqB,OAAOA,CAACF,MAAoB,EAAEC,MAAoB,EAAE;IAClD,OAAOpB,0BAA0B,CAAe,CAAC;EACnD;EAEAsB,UAAUA,CAACC,KAAa,EAAEC,MAAgB,EAAE;IAC1C,MAAMf,EAAE,GAAG,IAAI,CAACH,SAAS,CAACI,UAAU,CAACY,UAAU,CAC7CC,KAAK,EACLtB,WAAW,CAACwB,SAAS,CAACD,MAAM,CAC9B,CAAC;IACD,IAAIf,EAAE,KAAK,IAAI,EAAE;MACf,OAAO,IAAI;IACb;IACA,OAAO,IAAIN,eAAe,CAAC,IAAI,CAACG,SAAS,EAAEG,EAAE,CAAC;EAChD;EAEAiB,UAAUA,CACRC,IAAY,EACZC,OAAe,EACff,KAAa,EACbgB,KAAwB,EACxB;IACA,MAAMpB,EAAE,GAAG,IAAI,CAACH,SAAS,CAACI,UAAU,CAACgB,UAAU,CAC7CxB,SAAS,CAACuB,SAAS,CAACE,IAAI,CAAC,EACzBC,OAAO,EACPf,KAAK,EACLf,OAAO,CAAC,IAAI,CAACQ,SAAS,EAAE,cAAc,EAAEuB,KAAK,CAC/C,CAAC;IACD,IAAIpB,EAAE,KAAK,IAAI,EAAE;MACf,OAAO,IAAI;IACb;IACA,OAAO,IAAIN,eAAe,CAAC,IAAI,CAACG,SAAS,EAAEG,EAAE,CAAC;EAChD;EAEAqB,UAAUA,CAACN,MAAgB,EAAEG,IAAY,EAAE;IACzC,MAAMlB,EAAE,GAAG,IAAI,CAACH,SAAS,CAACI,UAAU,CAACoB,UAAU,CAC7C7B,WAAW,CAACwB,SAAS,CAACD,MAAM,CAAC,EAC7BtB,SAAS,CAACuB,SAAS,CAACE,IAAI,CAC1B,CAAC;IACD,IAAIlB,EAAE,KAAK,IAAI,EAAE;MACf,OAAO,IAAI;IACb;IACA,OAAO,IAAIN,eAAe,CAAC,IAAI,CAACG,SAAS,EAAEG,EAAE,CAAC;EAChD;AACF","ignoreList":[]}
|
@@ -15,7 +15,7 @@ export class JsiSkPathFactory extends Host {
|
|
15
15
|
return new JsiSkPath(this.CanvasKit, path);
|
16
16
|
}
|
17
17
|
MakeFromOp(one, two, op) {
|
18
|
-
const path = this.CanvasKit.Path.MakeFromOp(JsiSkPath.fromValue(one), JsiSkPath.fromValue(two), getEnum(this.CanvasKit
|
18
|
+
const path = this.CanvasKit.Path.MakeFromOp(JsiSkPath.fromValue(one), JsiSkPath.fromValue(two), getEnum(this.CanvasKit, "PathOp", op));
|
19
19
|
if (path === null) {
|
20
20
|
return null;
|
21
21
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Host","getEnum","throwNotImplementedOnRNWeb","JsiSkPath","JsiSkPathFactory","constructor","CanvasKit","Make","Path","MakeFromSVGString","str","path","MakeFromOp","one","two","op","fromValue","
|
1
|
+
{"version":3,"names":["Host","getEnum","throwNotImplementedOnRNWeb","JsiSkPath","JsiSkPathFactory","constructor","CanvasKit","Make","Path","MakeFromSVGString","str","path","MakeFromOp","one","two","op","fromValue","MakeFromCmds","cmds","flat","MakeFromText","_text","_x","_y","_font"],"sources":["JsiSkPathFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { PathCommand, PathOp, SkFont, SkPath } from \"../types\";\nimport type { PathFactory } from \"../types/Path/PathFactory\";\n\nimport { Host, getEnum, throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkPath } from \"./JsiSkPath\";\n\nexport class JsiSkPathFactory extends Host implements PathFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n Make() {\n return new JsiSkPath(this.CanvasKit, new this.CanvasKit.Path());\n }\n\n MakeFromSVGString(str: string) {\n const path = this.CanvasKit.Path.MakeFromSVGString(str);\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n MakeFromOp(one: SkPath, two: SkPath, op: PathOp) {\n const path = this.CanvasKit.Path.MakeFromOp(\n JsiSkPath.fromValue(one),\n JsiSkPath.fromValue(two),\n getEnum(this.CanvasKit, \"PathOp\", op)\n );\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n MakeFromCmds(cmds: PathCommand[]) {\n const path = this.CanvasKit.Path.MakeFromCmds(cmds.flat());\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n MakeFromText(_text: string, _x: number, _y: number, _font: SkFont) {\n return throwNotImplementedOnRNWeb<SkPath>();\n }\n}\n"],"mappings":"AAKA,SAASA,IAAI,EAAEC,OAAO,EAAEC,0BAA0B,QAAQ,QAAQ;AAClE,SAASC,SAAS,QAAQ,aAAa;AAEvC,OAAO,MAAMC,gBAAgB,SAASJ,IAAI,CAAwB;EAChEK,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAACA,SAAS,CAAC;EAClB;EAEAC,IAAIA,CAAA,EAAG;IACL,OAAO,IAAIJ,SAAS,CAAC,IAAI,CAACG,SAAS,EAAE,IAAI,IAAI,CAACA,SAAS,CAACE,IAAI,CAAC,CAAC,CAAC;EACjE;EAEAC,iBAAiBA,CAACC,GAAW,EAAE;IAC7B,MAAMC,IAAI,GAAG,IAAI,CAACL,SAAS,CAACE,IAAI,CAACC,iBAAiB,CAACC,GAAG,CAAC;IACvD,IAAIC,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACA,OAAO,IAAIR,SAAS,CAAC,IAAI,CAACG,SAAS,EAAEK,IAAI,CAAC;EAC5C;EAEAC,UAAUA,CAACC,GAAW,EAAEC,GAAW,EAAEC,EAAU,EAAE;IAC/C,MAAMJ,IAAI,GAAG,IAAI,CAACL,SAAS,CAACE,IAAI,CAACI,UAAU,CACzCT,SAAS,CAACa,SAAS,CAACH,GAAG,CAAC,EACxBV,SAAS,CAACa,SAAS,CAACF,GAAG,CAAC,EACxBb,OAAO,CAAC,IAAI,CAACK,SAAS,EAAE,QAAQ,EAAES,EAAE,CACtC,CAAC;IACD,IAAIJ,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACA,OAAO,IAAIR,SAAS,CAAC,IAAI,CAACG,SAAS,EAAEK,IAAI,CAAC;EAC5C;EAEAM,YAAYA,CAACC,IAAmB,EAAE;IAChC,MAAMP,IAAI,GAAG,IAAI,CAACL,SAAS,CAACE,IAAI,CAACS,YAAY,CAACC,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAIR,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACA,OAAO,IAAIR,SAAS,CAAC,IAAI,CAACG,SAAS,EAAEK,IAAI,CAAC;EAC5C;EAEAS,YAAYA,CAACC,KAAa,EAAEC,EAAU,EAAEC,EAAU,EAAEC,KAAa,EAAE;IACjE,OAAOtB,0BAA0B,CAAS,CAAC;EAC7C;AACF","ignoreList":[]}
|
@@ -15,7 +15,7 @@ export class JsiSkPicture extends HostObject {
|
|
15
15
|
});
|
16
16
|
}
|
17
17
|
makeShader(tmx, tmy, mode, localMatrix, tileRect) {
|
18
|
-
return new JsiSkShader(this.CanvasKit, this.ref.makeShader(getEnum(this.CanvasKit
|
18
|
+
return new JsiSkShader(this.CanvasKit, this.ref.makeShader(getEnum(this.CanvasKit, "TileMode", tmx), getEnum(this.CanvasKit, "TileMode", tmy), getEnum(this.CanvasKit, "FilterMode", mode), localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined, tileRect ? JsiSkRect.fromValue(this.CanvasKit, tileRect) : undefined));
|
19
19
|
}
|
20
20
|
serialize() {
|
21
21
|
return this.ref.serialize();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["HostObject","getEnum","JsiSkShader","JsiSkMatrix","JsiSkRect","JsiSkPicture","constructor","CanvasKit","ref","_defineProperty","delete","makeShader","tmx","tmy","mode","localMatrix","tileRect","
|
1
|
+
{"version":3,"names":["HostObject","getEnum","JsiSkShader","JsiSkMatrix","JsiSkRect","JsiSkPicture","constructor","CanvasKit","ref","_defineProperty","delete","makeShader","tmx","tmy","mode","localMatrix","tileRect","fromValue","undefined","serialize"],"sources":["JsiSkPicture.ts"],"sourcesContent":["// TODO: suggest to rename SkPicture to Picture for consistency\nimport type { CanvasKit, SkPicture as Picture } from \"canvaskit-wasm\";\n\nimport type {\n FilterMode,\n SkRect,\n TileMode,\n SkPicture,\n SkMatrix,\n} from \"../types\";\n\nimport { HostObject, getEnum } from \"./Host\";\nimport { JsiSkShader } from \"./JsiSkShader\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkPicture\n extends HostObject<Picture, \"Picture\">\n implements SkPicture\n{\n constructor(CanvasKit: CanvasKit, ref: Picture) {\n super(CanvasKit, ref, \"Picture\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n makeShader(\n tmx: TileMode,\n tmy: TileMode,\n mode: FilterMode,\n localMatrix?: SkMatrix,\n tileRect?: SkRect\n ) {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShader(\n getEnum(this.CanvasKit, \"TileMode\", tmx),\n getEnum(this.CanvasKit, \"TileMode\", tmy),\n getEnum(this.CanvasKit, \"FilterMode\", mode),\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined,\n tileRect ? JsiSkRect.fromValue(this.CanvasKit, tileRect) : undefined\n )\n );\n }\n\n serialize() {\n return this.ref.serialize();\n }\n}\n"],"mappings":";;;AAAA;;AAWA,SAASA,UAAU,EAAEC,OAAO,QAAQ,QAAQ;AAC5C,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,SAAS,QAAQ,aAAa;AAEvC,OAAO,MAAMC,YAAY,SACfL,UAAU,CAEpB;EACEM,WAAWA,CAACC,SAAoB,EAAEC,GAAY,EAAE;IAC9C,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,SAAS,CAAC;IAACC,eAAA,kBAGzB,MAAM;MACd,IAAI,CAACD,GAAG,CAACE,MAAM,CAAC,CAAC;IACnB,CAAC;EAJD;EAMAC,UAAUA,CACRC,GAAa,EACbC,GAAa,EACbC,IAAgB,EAChBC,WAAsB,EACtBC,QAAiB,EACjB;IACA,OAAO,IAAId,WAAW,CACpB,IAAI,CAACK,SAAS,EACd,IAAI,CAACC,GAAG,CAACG,UAAU,CACjBV,OAAO,CAAC,IAAI,CAACM,SAAS,EAAE,UAAU,EAAEK,GAAG,CAAC,EACxCX,OAAO,CAAC,IAAI,CAACM,SAAS,EAAE,UAAU,EAAEM,GAAG,CAAC,EACxCZ,OAAO,CAAC,IAAI,CAACM,SAAS,EAAE,YAAY,EAAEO,IAAI,CAAC,EAC3CC,WAAW,GAAGZ,WAAW,CAACc,SAAS,CAACF,WAAW,CAAC,GAAGG,SAAS,EAC5DF,QAAQ,GAAGZ,SAAS,CAACa,SAAS,CAAC,IAAI,CAACV,SAAS,EAAES,QAAQ,CAAC,GAAGE,SAC7D,CACF,CAAC;EACH;EAEAC,SAASA,CAAA,EAAG;IACV,OAAO,IAAI,CAACX,GAAG,CAACW,SAAS,CAAC,CAAC;EAC7B;AACF","ignoreList":[]}
|
@@ -7,16 +7,16 @@ export class JsiSkShaderFactory extends Host {
|
|
7
7
|
super(CanvasKit);
|
8
8
|
}
|
9
9
|
MakeLinearGradient(start, end, colors, pos, mode, localMatrix, flags) {
|
10
|
-
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeLinearGradient(JsiSkPoint.fromValue(start), JsiSkPoint.fromValue(end), colors, pos, getEnum(this.CanvasKit
|
10
|
+
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeLinearGradient(JsiSkPoint.fromValue(start), JsiSkPoint.fromValue(end), colors, pos, getEnum(this.CanvasKit, "TileMode", mode), localMatrix === undefined ? undefined : JsiSkMatrix.fromValue(localMatrix), flags));
|
11
11
|
}
|
12
12
|
MakeRadialGradient(center, radius, colors, pos, mode, localMatrix, flags) {
|
13
|
-
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeRadialGradient(JsiSkPoint.fromValue(center), radius, colors, pos, getEnum(this.CanvasKit
|
13
|
+
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeRadialGradient(JsiSkPoint.fromValue(center), radius, colors, pos, getEnum(this.CanvasKit, "TileMode", mode), localMatrix === undefined ? undefined : JsiSkMatrix.fromValue(localMatrix), flags));
|
14
14
|
}
|
15
15
|
MakeTwoPointConicalGradient(start, startRadius, end, endRadius, colors, pos, mode, localMatrix, flags) {
|
16
|
-
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeTwoPointConicalGradient(JsiSkPoint.fromValue(start), startRadius, JsiSkPoint.fromValue(end), endRadius, colors, pos, getEnum(this.CanvasKit
|
16
|
+
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeTwoPointConicalGradient(JsiSkPoint.fromValue(start), startRadius, JsiSkPoint.fromValue(end), endRadius, colors, pos, getEnum(this.CanvasKit, "TileMode", mode), localMatrix === undefined ? undefined : JsiSkMatrix.fromValue(localMatrix), flags));
|
17
17
|
}
|
18
18
|
MakeSweepGradient(cx, cy, colors, pos, mode, localMatrix, flags, startAngleInDegrees, endAngleInDegrees) {
|
19
|
-
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeSweepGradient(cx, cy, colors, pos, getEnum(this.CanvasKit
|
19
|
+
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeSweepGradient(cx, cy, colors, pos, getEnum(this.CanvasKit, "TileMode", mode), localMatrix === undefined || localMatrix === null ? undefined : JsiSkMatrix.fromValue(localMatrix), flags, startAngleInDegrees, endAngleInDegrees));
|
20
20
|
}
|
21
21
|
MakeTurbulence(baseFreqX, baseFreqY, octaves, seed, tileW, tileH) {
|
22
22
|
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeTurbulence(baseFreqX, baseFreqY, octaves, seed, tileW, tileH));
|
@@ -25,7 +25,7 @@ export class JsiSkShaderFactory extends Host {
|
|
25
25
|
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeFractalNoise(baseFreqX, baseFreqY, octaves, seed, tileW, tileH));
|
26
26
|
}
|
27
27
|
MakeBlend(mode, one, two) {
|
28
|
-
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeBlend(getEnum(this.CanvasKit
|
28
|
+
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeBlend(getEnum(this.CanvasKit, "BlendMode", mode), JsiSkShader.fromValue(one), JsiSkShader.fromValue(two)));
|
29
29
|
}
|
30
30
|
MakeColor(color) {
|
31
31
|
return new JsiSkShader(this.CanvasKit, this.CanvasKit.Shader.MakeColor(color, this.CanvasKit.ColorSpace.SRGB));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Host","getEnum","JsiSkMatrix","JsiSkPoint","JsiSkShader","JsiSkShaderFactory","constructor","CanvasKit","MakeLinearGradient","start","end","colors","pos","mode","localMatrix","flags","Shader","fromValue","
|
1
|
+
{"version":3,"names":["Host","getEnum","JsiSkMatrix","JsiSkPoint","JsiSkShader","JsiSkShaderFactory","constructor","CanvasKit","MakeLinearGradient","start","end","colors","pos","mode","localMatrix","flags","Shader","fromValue","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"],"sources":["JsiSkShaderFactory.ts"],"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, getEnum } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\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 JsiSkPoint.fromValue(start),\n JsiSkPoint.fromValue(end),\n colors,\n pos,\n getEnum(this.CanvasKit, \"TileMode\", mode),\n localMatrix === undefined\n ? undefined\n : JsiSkMatrix.fromValue(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 JsiSkPoint.fromValue(center),\n radius,\n colors,\n pos,\n getEnum(this.CanvasKit, \"TileMode\", mode),\n localMatrix === undefined\n ? undefined\n : JsiSkMatrix.fromValue(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 JsiSkPoint.fromValue(start),\n startRadius,\n JsiSkPoint.fromValue(end),\n endRadius,\n colors,\n pos,\n getEnum(this.CanvasKit, \"TileMode\", mode),\n localMatrix === undefined\n ? undefined\n : JsiSkMatrix.fromValue(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 getEnum(this.CanvasKit, \"TileMode\", mode),\n localMatrix === undefined || localMatrix === null\n ? undefined\n : JsiSkMatrix.fromValue(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(\n getEnum(this.CanvasKit, \"BlendMode\", mode),\n JsiSkShader.fromValue(one),\n JsiSkShader.fromValue(two)\n )\n );\n }\n\n MakeColor(color: SkColor) {\n return new JsiSkShader(\n this.CanvasKit,\n this.CanvasKit.Shader.MakeColor(color, this.CanvasKit.ColorSpace.SRGB)\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -13,7 +13,7 @@ const concat = (...arrays) => {
|
|
13
13
|
}
|
14
14
|
return result;
|
15
15
|
};
|
16
|
-
export const MakeVertices = (CanvasKit, mode, positions, textureCoordinates, colors, indices, isVolatile) => new JsiSkVertices(CanvasKit, CanvasKit.MakeVertices(getEnum(CanvasKit
|
16
|
+
export const MakeVertices = (CanvasKit, mode, positions, textureCoordinates, colors, indices, isVolatile) => new JsiSkVertices(CanvasKit, CanvasKit.MakeVertices(getEnum(CanvasKit, "VertexMode", mode), positions.map(({
|
17
17
|
x,
|
18
18
|
y
|
19
19
|
}) => [x, y]).flat(), (textureCoordinates || []).map(({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["JsiSkVertices","getEnum","concat","arrays","totalLength","arr","length","result","Float32Array","offset","set","MakeVertices","CanvasKit","mode","positions","textureCoordinates","colors","indices","isVolatile","
|
1
|
+
{"version":3,"names":["JsiSkVertices","getEnum","concat","arrays","totalLength","arr","length","result","Float32Array","offset","set","MakeVertices","CanvasKit","mode","positions","textureCoordinates","colors","indices","isVolatile","map","x","y","flat","reduce","a","c"],"sources":["JsiSkVerticesFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkColor, SkPoint, VertexMode } from \"../types\";\n\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { getEnum } from \"./Host\";\n\nconst concat = (...arrays: Float32Array[]) => {\n let totalLength = 0;\n for (const arr of arrays) {\n totalLength += arr.length;\n }\n const result = new Float32Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n};\n\nexport const MakeVertices = (\n CanvasKit: CanvasKit,\n mode: VertexMode,\n positions: SkPoint[],\n textureCoordinates?: SkPoint[] | null,\n colors?: SkColor[],\n indices?: number[] | null,\n isVolatile?: boolean\n) =>\n new JsiSkVertices(\n CanvasKit,\n CanvasKit.MakeVertices(\n getEnum(CanvasKit, \"VertexMode\", mode),\n positions.map(({ x, y }) => [x, y]).flat(),\n (textureCoordinates || []).map(({ x, y }) => [x, y]).flat(),\n !colors ? null : colors.reduce((a, c) => concat(a, c)),\n indices,\n isVolatile\n )\n );\n"],"mappings":"AAIA,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,OAAO,QAAQ,QAAQ;AAEhC,MAAMC,MAAM,GAAGA,CAAC,GAAGC,MAAsB,KAAK;EAC5C,IAAIC,WAAW,GAAG,CAAC;EACnB,KAAK,MAAMC,GAAG,IAAIF,MAAM,EAAE;IACxBC,WAAW,IAAIC,GAAG,CAACC,MAAM;EAC3B;EACA,MAAMC,MAAM,GAAG,IAAIC,YAAY,CAACJ,WAAW,CAAC;EAC5C,IAAIK,MAAM,GAAG,CAAC;EACd,KAAK,MAAMJ,GAAG,IAAIF,MAAM,EAAE;IACxBI,MAAM,CAACG,GAAG,CAACL,GAAG,EAAEI,MAAM,CAAC;IACvBA,MAAM,IAAIJ,GAAG,CAACC,MAAM;EACtB;EACA,OAAOC,MAAM;AACf,CAAC;AAED,OAAO,MAAMI,YAAY,GAAGA,CAC1BC,SAAoB,EACpBC,IAAgB,EAChBC,SAAoB,EACpBC,kBAAqC,EACrCC,MAAkB,EAClBC,OAAyB,EACzBC,UAAoB,KAEpB,IAAIlB,aAAa,CACfY,SAAS,EACTA,SAAS,CAACD,YAAY,CACpBV,OAAO,CAACW,SAAS,EAAE,YAAY,EAAEC,IAAI,CAAC,EACtCC,SAAS,CAACK,GAAG,CAAC,CAAC;EAAEC,CAAC;EAAEC;AAAE,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,EAC1C,CAACP,kBAAkB,IAAI,EAAE,EAAEI,GAAG,CAAC,CAAC;EAAEC,CAAC;EAAEC;AAAE,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,EAC3D,CAACN,MAAM,GAAG,IAAI,GAAGA,MAAM,CAACO,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKvB,MAAM,CAACsB,CAAC,EAAEC,CAAC,CAAC,CAAC,EACtDR,OAAO,EACPC,UACF,CACF,CAAC","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export const __esModule: boolean;
|
2
|
-
export const Skia: import("../../../src/
|
2
|
+
export const Skia: import("../../../src/headless").Skia;
|
@@ -12,5 +12,5 @@ export class BaseHostObject extends Host {
|
|
12
12
|
export class HostObject extends BaseHostObject {
|
13
13
|
static fromValue(value: any): any;
|
14
14
|
}
|
15
|
-
export function getEnum(
|
16
|
-
export function optEnum(
|
15
|
+
export function getEnum(CanvasKit: any, name: any, v: any): any;
|
16
|
+
export function optEnum(CanvasKit: any, name: any, v: any): any;
|
@@ -148,7 +148,7 @@ export function Mock(CanvasKit: any): {
|
|
148
148
|
y: any;
|
149
149
|
};
|
150
150
|
interpolatePaths: (value: any, input: any, outputRange: any, options: any, output: any) => any;
|
151
|
-
Skia: import("../../../src/
|
151
|
+
Skia: import("../../../src/headless").Skia;
|
152
152
|
loadData: (source: any, factory: any, onError: any) => Promise<any>;
|
153
153
|
useCollectionLoading: (source: any, loader: any) => null;
|
154
154
|
matchFont: (inputStyle?: {}, fontMgr?: import("../../..").SkFontMgr) => import("../../..").SkFont;
|
@@ -11,5 +11,5 @@ export class BaseHostObject extends Host {
|
|
11
11
|
export class HostObject extends BaseHostObject {
|
12
12
|
static fromValue(value: any): any;
|
13
13
|
}
|
14
|
-
export function getEnum(
|
15
|
-
export function optEnum(
|
14
|
+
export function getEnum(CanvasKit: any, name: any, v: any): any;
|
15
|
+
export function optEnum(CanvasKit: any, name: any, v: any): any;
|
@@ -15,4 +15,22 @@ interface CheckImageOptions {
|
|
15
15
|
shouldFail?: boolean;
|
16
16
|
}
|
17
17
|
export declare const checkImage: (image: SkImage, relPath: string, opts?: CheckImageOptions) => number;
|
18
|
+
declare global {
|
19
|
+
namespace jest {
|
20
|
+
interface Matchers<R> {
|
21
|
+
/**
|
22
|
+
* Checks if values are approximately equal within the given tolerance.
|
23
|
+
* Works with:
|
24
|
+
* - Single numbers
|
25
|
+
* - Arrays of numbers
|
26
|
+
* - Float32Arrays
|
27
|
+
* - SVG path strings (compares numeric values with tolerance)
|
28
|
+
*
|
29
|
+
* @param expected - The expected value to compare against
|
30
|
+
* @param tolerance - The maximum allowed difference between elements (default: 0.01)
|
31
|
+
*/
|
32
|
+
toBeApproximatelyEqual(expected: number | number[] | Float32Array | string, tolerance?: number): R;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
18
36
|
export {};
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import type { ReactNode } from "react";
|
2
2
|
import type { SkSurface } from "../skia";
|
3
3
|
export * from "../renderer/components";
|
4
|
+
export * from "../skia/types";
|
4
5
|
export declare const makeOffscreenSurface: (width: number, height: number) => SkSurface;
|
5
6
|
export declare const getSkiaExports: () => {
|
6
7
|
Skia: import("../skia/types").Skia;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { CanvasKit, EmbindEnumEntity
|
1
|
+
import type { CanvasKit, EmbindEnumEntity } from "canvaskit-wasm";
|
2
2
|
import type { SkJSIInstance } from "../types";
|
3
3
|
export declare const throwNotImplementedOnRNWeb: <T>() => T;
|
4
4
|
export declare abstract class Host {
|
@@ -14,5 +14,5 @@ export declare abstract class BaseHostObject<T, N extends string> extends Host i
|
|
14
14
|
export declare abstract class HostObject<T, N extends string> extends BaseHostObject<T, N> {
|
15
15
|
static fromValue<T>(value: SkJSIInstance<string>): T;
|
16
16
|
}
|
17
|
-
export declare const getEnum: (
|
18
|
-
export declare const optEnum: (
|
17
|
+
export declare const getEnum: (CanvasKit: CanvasKit, name: keyof CanvasKit, v: number) => EmbindEnumEntity;
|
18
|
+
export declare const optEnum: (CanvasKit: CanvasKit, name: keyof CanvasKit, v: number | undefined) => EmbindEnumEntity | undefined;
|
package/package.json
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
"setup-skia-web": "scripts/setup-canvaskit.js"
|
9
9
|
},
|
10
10
|
"title": "React Native Skia",
|
11
|
-
"version": "1.12.
|
11
|
+
"version": "1.12.3",
|
12
12
|
"description": "High-performance React Native Graphics using Skia",
|
13
13
|
"main": "lib/module/index.js",
|
14
14
|
"react-native": "src/index.ts",
|
@@ -29,7 +29,7 @@
|
|
29
29
|
"jestSetup.mjs",
|
30
30
|
"jestEnv.mjs",
|
31
31
|
"cpp/**/*.{h,cpp}",
|
32
|
-
"
|
32
|
+
"apple/**",
|
33
33
|
"libs/apple/*.xcframework/**",
|
34
34
|
"react-native-skia.podspec",
|
35
35
|
"scripts/setup-canvaskit.js",
|
@@ -46,7 +46,7 @@
|
|
46
46
|
"build-skia": "ts-node ./scripts/build-skia.ts",
|
47
47
|
"copy-skia-headers": "ts-node ./scripts/copy-skia-headers.ts",
|
48
48
|
"clang-format": "yarn clang-format-ios && yarn clang-format-android && yarn clang-format-common",
|
49
|
-
"clang-format-ios": "find
|
49
|
+
"clang-format-ios": "find apple/ -iname '*.h' -o -iname '*.mm' -o -iname '*.cpp' | xargs clang-format -i",
|
50
50
|
"clang-format-android": "find android/cpp/ -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' | xargs clang-format -i",
|
51
51
|
"clang-format-common": "find cpp/ \\( -path 'cpp//skia' -prune \\) -o \\( -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' \\) -print | xargs clang-format -i",
|
52
52
|
"workflow-copy-libs": "yarn ts-node ./scripts/workflow-copy-libs.ts",
|
@@ -122,7 +122,7 @@
|
|
122
122
|
"ws": "8.18.0"
|
123
123
|
},
|
124
124
|
"dependencies": {
|
125
|
-
"canvaskit-wasm": "0.
|
125
|
+
"canvaskit-wasm": "0.40.0",
|
126
126
|
"react-reconciler": "0.27.0"
|
127
127
|
},
|
128
128
|
"eslintIgnore": [
|
package/src/__tests__/setup.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
/* eslint-disable max-len */
|
1
2
|
import path from "path";
|
2
3
|
import fs from "fs";
|
3
4
|
|
@@ -97,8 +98,69 @@ export const checkImage = (
|
|
97
98
|
return 0;
|
98
99
|
};
|
99
100
|
|
101
|
+
declare global {
|
102
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
103
|
+
namespace jest {
|
104
|
+
interface Matchers<R> {
|
105
|
+
/**
|
106
|
+
* Checks if values are approximately equal within the given tolerance.
|
107
|
+
* Works with:
|
108
|
+
* - Single numbers
|
109
|
+
* - Arrays of numbers
|
110
|
+
* - Float32Arrays
|
111
|
+
* - SVG path strings (compares numeric values with tolerance)
|
112
|
+
*
|
113
|
+
* @param expected - The expected value to compare against
|
114
|
+
* @param tolerance - The maximum allowed difference between elements (default: 0.01)
|
115
|
+
*/
|
116
|
+
toBeApproximatelyEqual(
|
117
|
+
expected: number | number[] | Float32Array | string,
|
118
|
+
tolerance?: number
|
119
|
+
): R;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
100
124
|
expect.extend({
|
101
|
-
toBeApproximatelyEqual(_received, _argument, tolerance = 0.
|
125
|
+
toBeApproximatelyEqual(_received, _argument, tolerance = 0.01) {
|
126
|
+
// Handle SVG path strings
|
127
|
+
if (typeof _received === "string" && typeof _argument === "string") {
|
128
|
+
// Parse SVG path strings to extract numerical values
|
129
|
+
const parsePathString = (pathStr: string): number[] => {
|
130
|
+
// Extract all numeric values (including decimals) from the path string
|
131
|
+
const numbers = pathStr.match(/-?\d+(?:\.\d+)?/g) || [];
|
132
|
+
return numbers.map(Number);
|
133
|
+
};
|
134
|
+
|
135
|
+
const receivedPoints = parsePathString(_received);
|
136
|
+
const argumentPoints = parsePathString(_argument);
|
137
|
+
|
138
|
+
if (receivedPoints.length !== argumentPoints.length) {
|
139
|
+
return {
|
140
|
+
pass: false,
|
141
|
+
message: () =>
|
142
|
+
`SVG paths have different number of points: ${receivedPoints.length} vs ${argumentPoints.length}`,
|
143
|
+
};
|
144
|
+
}
|
145
|
+
|
146
|
+
for (let i = 0; i < receivedPoints.length; i++) {
|
147
|
+
if (
|
148
|
+
isNaN(receivedPoints[i]) ||
|
149
|
+
isNaN(argumentPoints[i]) ||
|
150
|
+
Math.abs(receivedPoints[i] - argumentPoints[i]) > tolerance
|
151
|
+
) {
|
152
|
+
return {
|
153
|
+
pass: false,
|
154
|
+
message: () =>
|
155
|
+
`SVG path points differ more than ${tolerance} at position ${i}: ${receivedPoints[i]} vs ${argumentPoints[i]}`,
|
156
|
+
};
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
return { pass: true, message: () => "SVG paths are approximately equal" };
|
161
|
+
}
|
162
|
+
|
163
|
+
// Original logic for numbers and arrays
|
102
164
|
const received =
|
103
165
|
Array.isArray(_received) || _received instanceof Float32Array
|
104
166
|
? _received
|
@@ -110,6 +172,7 @@ expect.extend({
|
|
110
172
|
if (received.length !== argument.length) {
|
111
173
|
return { pass: false, message: () => "Arrays have different lengths" };
|
112
174
|
}
|
175
|
+
|
113
176
|
for (let i = 0; i < received.length; i++) {
|
114
177
|
if (
|
115
178
|
isNaN(argument[i]) ||
|
@@ -127,3 +190,6 @@ ${diffString}`,
|
|
127
190
|
return { pass: true, message: () => "Arrays are approximately equal" };
|
128
191
|
},
|
129
192
|
});
|
193
|
+
|
194
|
+
// Export empty object to make this a module
|
195
|
+
export {};
|
package/src/headless/index.ts
CHANGED
@@ -3,11 +3,12 @@
|
|
3
3
|
import CanvasKitInit from "canvaskit-wasm/bin/full/canvaskit";
|
4
4
|
import type { ReactNode } from "react";
|
5
5
|
|
6
|
-
import { JsiSkApi } from "../skia/web";
|
7
6
|
import type { SkSurface } from "../skia";
|
7
|
+
import { JsiSkApi } from "../skia/web";
|
8
8
|
import { SkiaSGRoot } from "../sksg/Reconciler";
|
9
9
|
|
10
10
|
export * from "../renderer/components";
|
11
|
+
export * from "../skia/types";
|
11
12
|
|
12
13
|
let Skia: ReturnType<typeof JsiSkApi>;
|
13
14
|
|
@@ -217,8 +217,7 @@ describe("Matrix4", () => {
|
|
217
217
|
},
|
218
218
|
{ matrix }
|
219
219
|
);
|
220
|
-
|
221
|
-
(expect(result) as any).toBeApproximatelyEqual(
|
220
|
+
expect(result).toBeApproximatelyEqual(
|
222
221
|
toMatrix3(
|
223
222
|
processTransform3d([
|
224
223
|
{ translate: [width / 2, height / 2] },
|
@@ -110,7 +110,7 @@ describe("Paths", () => {
|
|
110
110
|
path.trim(0.0001, 1.00001, false);
|
111
111
|
return path.toSVGString();
|
112
112
|
});
|
113
|
-
expect(result).
|
113
|
+
expect(result).toBeApproximatelyEqual("M20 20.0048L20 40L40 20");
|
114
114
|
});
|
115
115
|
it("should accept [0, 1.2] as trim value", async () => {
|
116
116
|
const result = await surface.eval((Skia) => {
|
@@ -142,17 +142,19 @@ describe("Paths", () => {
|
|
142
142
|
path.interpolate(path2, 1.0001)!.toSVGString(),
|
143
143
|
path.interpolate(path2, 1.2)!.toSVGString(),
|
144
144
|
path.interpolate(path2, 2)!.toSVGString(),
|
145
|
-
];
|
145
|
+
].join(" ");
|
146
146
|
});
|
147
|
-
expect(result).
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
147
|
+
expect(result).toBeApproximatelyEqual(
|
148
|
+
[
|
149
|
+
"M-20 -20L20 0L0 60",
|
150
|
+
"M0 0L20 20L20 40",
|
151
|
+
"M0.002 0.002L20 20.002L20.002 39.998",
|
152
|
+
"M20 20L20 40L40 20",
|
153
|
+
"M20.002 20.002L20 40.002L40.002 19.998",
|
154
|
+
"M24 24L20 44L44 16",
|
155
|
+
"M40 40L20 60L60 0",
|
156
|
+
].join(" ")
|
157
|
+
);
|
156
158
|
});
|
157
159
|
it("should add a path", async () => {
|
158
160
|
const result = await surface.eval((Skia) => {
|