@shopify/react-native-skia 0.1.207 → 0.1.209
Sign up to get free protection for your applications and to get access to all the features.
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +19 -12
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseViewManager.java +1 -1
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +1 -1
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +1 -1
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureView.java +1 -1
- package/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +2 -0
- package/cpp/api/JsiSkColorFilter.h +1 -1
- package/cpp/api/JsiSkContourMeasure.h +1 -1
- package/cpp/api/JsiSkContourMeasureIter.h +1 -1
- package/cpp/api/JsiSkData.h +1 -1
- package/cpp/api/JsiSkFont.h +1 -1
- package/cpp/api/JsiSkFontMgr.h +2 -2
- package/cpp/api/JsiSkFontStyle.h +11 -5
- package/cpp/api/JsiSkImage.h +1 -1
- package/cpp/api/JsiSkImageFilter.h +1 -1
- package/cpp/api/JsiSkMaskFilter.h +1 -1
- package/cpp/api/JsiSkMatrix.h +1 -1
- package/cpp/api/JsiSkPaint.h +8 -1
- package/cpp/api/JsiSkPath.h +11 -8
- package/cpp/api/JsiSkPathEffect.h +1 -1
- package/cpp/api/JsiSkPicture.h +1 -1
- package/cpp/api/JsiSkPictureRecorder.h +1 -1
- package/cpp/api/JsiSkRuntimeEffect.h +1 -1
- package/cpp/api/JsiSkSVG.h +1 -1
- package/cpp/api/JsiSkShader.h +1 -1
- package/cpp/api/JsiSkSurface.h +1 -1
- package/cpp/api/JsiSkTextBlob.h +1 -1
- package/cpp/api/JsiSkTypeFaceFontProvider.h +4 -2
- package/cpp/api/JsiSkTypeface.h +24 -2
- package/cpp/api/JsiSkVertices.h +1 -1
- package/cpp/rnskia/dom/base/JsiDomRenderNode.h +1 -1
- package/cpp/rnskia/dom/nodes/JsiPaintNode.h +4 -0
- package/cpp/rnskia/dom/props/FontProp.h +3 -1
- package/cpp/rnskia/dom/props/PaintProps.h +3 -0
- package/lib/commonjs/dom/nodes/PaintContext.d.ts +1 -0
- package/lib/commonjs/dom/nodes/PaintContext.js.map +1 -1
- package/lib/commonjs/dom/nodes/PaintNode.js +6 -1
- package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.js +1 -1
- package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/Text.d.ts +3 -3
- package/lib/commonjs/dom/nodes/drawings/Text.js +26 -4
- package/lib/commonjs/dom/nodes/drawings/Text.js.map +1 -1
- package/lib/commonjs/dom/types/Common.d.ts +1 -0
- package/lib/commonjs/dom/types/Common.js.map +1 -1
- package/lib/commonjs/dom/types/DrawingContext.js +15 -0
- package/lib/commonjs/dom/types/DrawingContext.js.map +1 -1
- package/lib/commonjs/dom/types/Drawings.d.ts +1 -1
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/external/reanimated/moduleWrapper.js +1 -1
- package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/commonjs/skia/types/Font/FontMgr.d.ts +1 -1
- package/lib/commonjs/skia/types/Font/FontMgr.js.map +1 -1
- package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +12 -11
- package/lib/commonjs/skia/types/Image/ImageFactory.js +12 -11
- package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
- package/lib/commonjs/skia/types/Paint/Paint.d.ts +5 -0
- package/lib/commonjs/skia/types/Paint/Paint.js.map +1 -1
- package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +10 -1
- package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkPaint.js +4 -0
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.d.ts +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +10 -1
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiSkTypeface.js +4 -0
- package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/module/dom/nodes/PaintContext.d.ts +1 -0
- package/lib/module/dom/nodes/PaintContext.js.map +1 -1
- package/lib/module/dom/nodes/PaintNode.js +6 -1
- package/lib/module/dom/nodes/PaintNode.js.map +1 -1
- package/lib/module/dom/nodes/RenderNode.js +1 -1
- package/lib/module/dom/nodes/RenderNode.js.map +1 -1
- package/lib/module/dom/nodes/drawings/Text.d.ts +3 -3
- package/lib/module/dom/nodes/drawings/Text.js +26 -4
- package/lib/module/dom/nodes/drawings/Text.js.map +1 -1
- package/lib/module/dom/types/Common.d.ts +1 -0
- package/lib/module/dom/types/Common.js.map +1 -1
- package/lib/module/dom/types/DrawingContext.js +15 -0
- package/lib/module/dom/types/DrawingContext.js.map +1 -1
- package/lib/module/dom/types/Drawings.d.ts +1 -1
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/external/reanimated/moduleWrapper.js +1 -1
- package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/module/skia/types/Font/FontMgr.d.ts +1 -1
- package/lib/module/skia/types/Font/FontMgr.js.map +1 -1
- package/lib/module/skia/types/Image/ImageFactory.d.ts +12 -11
- package/lib/module/skia/types/Image/ImageFactory.js +12 -11
- package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
- package/lib/module/skia/types/Paint/Paint.d.ts +5 -0
- package/lib/module/skia/types/Paint/Paint.js.map +1 -1
- package/lib/module/skia/types/Typeface/Typeface.d.ts +10 -1
- package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/module/skia/web/JsiSkPaint.js +4 -0
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.d.ts +1 -1
- package/lib/module/skia/web/JsiSkPath.js +11 -1
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -0
- package/lib/module/skia/web/JsiSkTypeface.js +4 -0
- package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/typescript/src/dom/nodes/PaintContext.d.ts +1 -0
- package/lib/typescript/src/dom/nodes/drawings/Text.d.ts +3 -3
- package/lib/typescript/src/dom/types/Common.d.ts +1 -0
- package/lib/typescript/src/dom/types/Drawings.d.ts +1 -1
- package/lib/typescript/src/skia/types/Font/FontMgr.d.ts +1 -1
- package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +12 -11
- package/lib/typescript/src/skia/types/Paint/Paint.d.ts +5 -0
- package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +10 -1
- package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkPath.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -0
- package/package.json +2 -2
- package/src/dom/nodes/PaintContext.ts +1 -0
- package/src/dom/nodes/PaintNode.ts +4 -0
- package/src/dom/nodes/RenderNode.ts +1 -0
- package/src/dom/nodes/drawings/Text.ts +31 -5
- package/src/dom/types/Common.ts +1 -0
- package/src/dom/types/DrawingContext.ts +13 -0
- package/src/dom/types/Drawings.ts +1 -1
- package/src/external/reanimated/moduleWrapper.ts +1 -1
- package/src/skia/types/Font/FontMgr.ts +1 -1
- package/src/skia/types/Image/ImageFactory.ts +1 -0
- package/src/skia/types/Paint/Paint.ts +6 -0
- package/src/skia/types/Typeface/Typeface.ts +10 -1
- package/src/skia/web/JsiSkPaint.ts +4 -0
- package/src/skia/web/JsiSkPath.ts +8 -1
- package/src/skia/web/JsiSkTypeface.ts +4 -0
@@ -28,6 +28,8 @@ const CommandCount = {
|
|
28
28
|
[_types.PathVerb.Close]: 1
|
29
29
|
};
|
30
30
|
|
31
|
+
const pinT = t => Math.min(Math.max(t, 0), 1);
|
32
|
+
|
31
33
|
class JsiSkPath extends _Host.HostObject {
|
32
34
|
constructor(CanvasKit, ref) {
|
33
35
|
super(CanvasKit, ref, "Path");
|
@@ -244,7 +246,14 @@ class JsiSkPath extends _Host.HostObject {
|
|
244
246
|
return this.ref.toSVGString();
|
245
247
|
}
|
246
248
|
|
247
|
-
trim(
|
249
|
+
trim(start, stop, isComplement) {
|
250
|
+
const startT = pinT(start);
|
251
|
+
const stopT = pinT(stop);
|
252
|
+
|
253
|
+
if (startT === 0 && stopT === 1) {
|
254
|
+
return this;
|
255
|
+
}
|
256
|
+
|
248
257
|
const result = this.ref.trim(startT, stopT, isComplement);
|
249
258
|
return result === null ? result : this;
|
250
259
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","JsiSkPath","HostObject","constructor","CanvasKit","ref","delete","addPath","src","matrix","extend","args","fromValue","JsiSkMatrix","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","JsiSkPoint","flat","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","ckEnum","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","optEnum","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","JsiSkRRect","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current","length"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n 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(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(JsiSkPath.fromValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(JsiSkPath.fromValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(JsiSkMatrix.fromValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(\n this.ref,\n JsiSkPath.fromValue(end),\n t\n );\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n return this.CanvasKit.Path.CanInterpolate(\n this.ref,\n JsiSkPath.fromValue(path2)\n );\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","pinT","t","Math","min","max","JsiSkPath","HostObject","constructor","CanvasKit","ref","delete","addPath","src","matrix","extend","args","fromValue","JsiSkMatrix","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","JsiSkPoint","flat","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","ckEnum","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","optEnum","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","JsiSkRRect","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","start","stop","isComplement","startT","stopT","transform","m3","interpolate","end","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current","length"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\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(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(JsiSkPath.fromValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(JsiSkPath.fromValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(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(m3: SkMatrix) {\n this.ref.transform(JsiSkMatrix.fromValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(\n this.ref,\n JsiSkPath.fromValue(end),\n t\n );\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n return this.CanvasKit.Path.CanInterpolate(\n this.ref,\n JsiSkPath.fromValue(path2)\n );\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["JsiSkTypeface","HostObject","constructor","CanvasKit","ref","delete","bold","console","warn","italic"],"sources":["JsiSkTypeface.ts"],"sourcesContent":["import type { CanvasKit, Typeface } from \"canvaskit-wasm\";\n\nimport type { SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkTypeface\n extends HostObject<Typeface, \"Typeface\">\n implements SkTypeface\n{\n constructor(CanvasKit: CanvasKit, ref: Typeface) {\n super(CanvasKit, ref, \"Typeface\");\n }\n\n get bold(): boolean {\n console.warn(\n \"Typeface.bold is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n get italic(): boolean {\n console.warn(\n \"Typeface.italic is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n dispose = () => {\n this.ref.delete();\n };\n}\n"],"mappings":";;;;;;;AAIA;;;;AAEO,MAAMA,aAAN,SACGC,gBADH,CAGP;EACEC,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAsC;IAC/C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,UAAtB;;IAD+C,
|
1
|
+
{"version":3,"names":["JsiSkTypeface","HostObject","constructor","CanvasKit","ref","delete","bold","console","warn","italic","getGlyphIDs","str","numCodePoints","Array","from"],"sources":["JsiSkTypeface.ts"],"sourcesContent":["import type { CanvasKit, Typeface } from \"canvaskit-wasm\";\n\nimport type { SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkTypeface\n extends HostObject<Typeface, \"Typeface\">\n implements SkTypeface\n{\n constructor(CanvasKit: CanvasKit, ref: Typeface) {\n super(CanvasKit, ref, \"Typeface\");\n }\n\n get bold(): boolean {\n console.warn(\n \"Typeface.bold is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n get italic(): boolean {\n console.warn(\n \"Typeface.italic is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n getGlyphIDs(str: string, numCodePoints?: number) {\n return Array.from(this.ref.getGlyphIDs(str, numCodePoints));\n }\n\n dispose = () => {\n this.ref.delete();\n };\n}\n"],"mappings":";;;;;;;AAIA;;;;AAEO,MAAMA,aAAN,SACGC,gBADH,CAGP;EACEC,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAsC;IAC/C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,UAAtB;;IAD+C,iCAsBvC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CAxBgD;EAEhD;;EAEO,IAAJC,IAAI,GAAY;IAClBC,OAAO,CAACC,IAAR,CACE,sGADF;IAGA,OAAO,KAAP;EACD;;EAES,IAANC,MAAM,GAAY;IACpBF,OAAO,CAACC,IAAR,CACE,wGADF;IAGA,OAAO,KAAP;EACD;;EAEDE,WAAW,CAACC,GAAD,EAAcC,aAAd,EAAsC;IAC/C,OAAOC,KAAK,CAACC,IAAN,CAAW,KAAKV,GAAL,CAASM,WAAT,CAAqBC,GAArB,EAA0BC,aAA1B,CAAX,CAAP;EACD;;AArBH"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["PaintContext.ts"],"sourcesContent":["import type {\n BlendMode,\n PaintStyle,\n SkColorFilter,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n SkShader,\n StrokeCap,\n StrokeJoin,\n} from \"../../skia/types\";\nimport type { SkColor } from \"../../skia/types/Color\";\n\n// TODO: to remove\nexport interface PaintContext {\n color?: SkColor;\n strokeWidth?: number;\n blendMode?: BlendMode;\n style?: PaintStyle;\n strokeJoin?: StrokeJoin;\n strokeCap?: StrokeCap;\n strokeMiter?: number;\n opacity?: number;\n antiAlias?: boolean;\n\n shader?: SkShader;\n colorFilter?: SkColorFilter;\n imageFilter?: SkImageFilter;\n maskFilter?: SkMaskFilter;\n pathEffect?: SkPathEffect;\n}\n"],"mappings":""}
|
1
|
+
{"version":3,"names":[],"sources":["PaintContext.ts"],"sourcesContent":["import type {\n BlendMode,\n PaintStyle,\n SkColorFilter,\n SkImageFilter,\n SkMaskFilter,\n SkPathEffect,\n SkShader,\n StrokeCap,\n StrokeJoin,\n} from \"../../skia/types\";\nimport type { SkColor } from \"../../skia/types/Color\";\n\n// TODO: to remove\nexport interface PaintContext {\n color?: SkColor;\n strokeWidth?: number;\n blendMode?: BlendMode;\n style?: PaintStyle;\n strokeJoin?: StrokeJoin;\n strokeCap?: StrokeCap;\n strokeMiter?: number;\n opacity?: number;\n antiAlias?: boolean;\n dither?: boolean;\n\n shader?: SkShader;\n colorFilter?: SkColorFilter;\n imageFilter?: SkImageFilter;\n maskFilter?: SkMaskFilter;\n pathEffect?: SkPathEffect;\n}\n"],"mappings":""}
|
@@ -18,7 +18,8 @@ export class PaintNode extends JsiDeclarationNode {
|
|
18
18
|
strokeCap,
|
19
19
|
strokeMiter,
|
20
20
|
opacity,
|
21
|
-
antiAlias
|
21
|
+
antiAlias,
|
22
|
+
dither
|
22
23
|
} = this.props;
|
23
24
|
const paint = this.Skia.Paint();
|
24
25
|
|
@@ -58,6 +59,10 @@ export class PaintNode extends JsiDeclarationNode {
|
|
58
59
|
paint.setAntiAlias(antiAlias);
|
59
60
|
}
|
60
61
|
|
62
|
+
if (dither !== undefined) {
|
63
|
+
paint.setDither(dither);
|
64
|
+
}
|
65
|
+
|
61
66
|
ctx.save();
|
62
67
|
|
63
68
|
this._children.forEach(child => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["StrokeCap","StrokeJoin","PaintStyle","BlendMode","DeclarationType","NodeType","enumKey","JsiDeclarationNode","PaintNode","constructor","ctx","props","Paint","decorate","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","opacity","antiAlias","paint","Skia","undefined","setColor","Color","setStrokeWidth","setBlendMode","setStyle","setStrokeJoin","setStrokeCap","setStrokeMiter","setAlphaf","setAntiAlias","save","_children","forEach","child","colorFilter","colorFilters","popAllAsOne","imageFilter","imageFilters","shader","shaders","pop","maskFilter","maskFilters","pathEffect","pathEffects","restore","setImageFilter","setShader","setPathEffect","setColorFilter","setMaskFilter","paints","push"],"sources":["PaintNode.ts"],"sourcesContent":["import { StrokeCap, StrokeJoin, PaintStyle, BlendMode } from \"../../skia/types\";\nimport type { DeclarationNode, PaintProps } from \"../types\";\nimport { DeclarationType, NodeType } from \"../types\";\nimport type { DeclarationContext } from \"../types/DeclarationContext\";\n\nimport { enumKey } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiDeclarationNode } from \"./Node\";\n\nexport class PaintNode\n extends JsiDeclarationNode<PaintProps>\n implements DeclarationNode<PaintProps>\n{\n constructor(ctx: NodeContext, props: PaintProps = {}) {\n super(ctx, DeclarationType.Paint, NodeType.Paint, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const {\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n opacity,\n antiAlias,\n } = this.props;\n const paint = this.Skia.Paint();\n if (color !== undefined) {\n paint.setColor(this.Skia.Color(color));\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(BlendMode[enumKey(blendMode)]);\n }\n if (style !== undefined) {\n paint.setStyle(PaintStyle[enumKey(style)]);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (opacity !== undefined) {\n paint.setAlphaf(opacity);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n ctx.save();\n this._children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n child.decorate(ctx);\n }\n });\n const colorFilter = ctx.colorFilters.popAllAsOne();\n const imageFilter = ctx.imageFilters.popAllAsOne();\n const shader = ctx.shaders.pop();\n const maskFilter = ctx.maskFilters.pop();\n const pathEffect = ctx.pathEffects.popAllAsOne();\n ctx.restore();\n if (imageFilter) {\n paint.setImageFilter(imageFilter);\n }\n if (shader) {\n paint.setShader(shader);\n }\n if (pathEffect) {\n paint.setPathEffect(pathEffect);\n }\n if (colorFilter) {\n paint.setColorFilter(colorFilter);\n }\n if (maskFilter) {\n paint.setMaskFilter(maskFilter);\n }\n ctx.paints.push(paint);\n }\n}\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,UAApB,EAAgCC,UAAhC,EAA4CC,SAA5C,QAA6D,kBAA7D;AAEA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,UAA1C;AAGA,SAASC,OAAT,QAAwB,aAAxB;AAEA,SAASC,kBAAT,QAAmC,QAAnC;AAEA,OAAO,MAAMC,SAAN,SACGD,kBADH,CAGP;EACEE,WAAW,CAACC,GAAD,EAA2C;IAAA,IAAxBC,KAAwB,uEAAJ,EAAI;IACpD,MAAMD,GAAN,EAAWN,eAAe,CAACQ,KAA3B,EAAkCP,QAAQ,CAACO,KAA3C,EAAkDD,KAAlD;EACD;;EAEDE,QAAQ,CAACH,GAAD,EAA0B;IAChC,MAAM;MACJI,KADI;MAEJC,WAFI;MAGJC,SAHI;MAIJC,KAJI;MAKJC,UALI;MAMJC,SANI;MAOJC,WAPI;MAQJC,OARI;MASJC;
|
1
|
+
{"version":3,"names":["StrokeCap","StrokeJoin","PaintStyle","BlendMode","DeclarationType","NodeType","enumKey","JsiDeclarationNode","PaintNode","constructor","ctx","props","Paint","decorate","color","strokeWidth","blendMode","style","strokeJoin","strokeCap","strokeMiter","opacity","antiAlias","dither","paint","Skia","undefined","setColor","Color","setStrokeWidth","setBlendMode","setStyle","setStrokeJoin","setStrokeCap","setStrokeMiter","setAlphaf","setAntiAlias","setDither","save","_children","forEach","child","colorFilter","colorFilters","popAllAsOne","imageFilter","imageFilters","shader","shaders","pop","maskFilter","maskFilters","pathEffect","pathEffects","restore","setImageFilter","setShader","setPathEffect","setColorFilter","setMaskFilter","paints","push"],"sources":["PaintNode.ts"],"sourcesContent":["import { StrokeCap, StrokeJoin, PaintStyle, BlendMode } from \"../../skia/types\";\nimport type { DeclarationNode, PaintProps } from \"../types\";\nimport { DeclarationType, NodeType } from \"../types\";\nimport type { DeclarationContext } from \"../types/DeclarationContext\";\n\nimport { enumKey } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiDeclarationNode } from \"./Node\";\n\nexport class PaintNode\n extends JsiDeclarationNode<PaintProps>\n implements DeclarationNode<PaintProps>\n{\n constructor(ctx: NodeContext, props: PaintProps = {}) {\n super(ctx, DeclarationType.Paint, NodeType.Paint, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const {\n color,\n strokeWidth,\n blendMode,\n style,\n strokeJoin,\n strokeCap,\n strokeMiter,\n opacity,\n antiAlias,\n dither,\n } = this.props;\n const paint = this.Skia.Paint();\n if (color !== undefined) {\n paint.setColor(this.Skia.Color(color));\n }\n if (strokeWidth !== undefined) {\n paint.setStrokeWidth(strokeWidth);\n }\n if (blendMode !== undefined) {\n paint.setBlendMode(BlendMode[enumKey(blendMode)]);\n }\n if (style !== undefined) {\n paint.setStyle(PaintStyle[enumKey(style)]);\n }\n if (strokeJoin !== undefined) {\n paint.setStrokeJoin(StrokeJoin[enumKey(strokeJoin)]);\n }\n if (strokeCap !== undefined) {\n paint.setStrokeCap(StrokeCap[enumKey(strokeCap)]);\n }\n if (strokeMiter !== undefined) {\n paint.setStrokeMiter(strokeMiter);\n }\n if (opacity !== undefined) {\n paint.setAlphaf(opacity);\n }\n if (antiAlias !== undefined) {\n paint.setAntiAlias(antiAlias);\n }\n if (dither !== undefined) {\n paint.setDither(dither);\n }\n ctx.save();\n this._children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n child.decorate(ctx);\n }\n });\n const colorFilter = ctx.colorFilters.popAllAsOne();\n const imageFilter = ctx.imageFilters.popAllAsOne();\n const shader = ctx.shaders.pop();\n const maskFilter = ctx.maskFilters.pop();\n const pathEffect = ctx.pathEffects.popAllAsOne();\n ctx.restore();\n if (imageFilter) {\n paint.setImageFilter(imageFilter);\n }\n if (shader) {\n paint.setShader(shader);\n }\n if (pathEffect) {\n paint.setPathEffect(pathEffect);\n }\n if (colorFilter) {\n paint.setColorFilter(colorFilter);\n }\n if (maskFilter) {\n paint.setMaskFilter(maskFilter);\n }\n ctx.paints.push(paint);\n }\n}\n"],"mappings":"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"}
|
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
3
3
|
import { ClipOp, isRRect } from "../../skia/types";
|
4
4
|
import { isPathDef, processPath, processTransformProps } from "./datatypes";
|
5
5
|
import { JsiNode, JsiDeclarationNode } from "./Node";
|
6
|
-
const paintProps = ["color", "strokeWidth", "blendMode", "strokeCap", "strokeJoin", "strokeMiter", "style", "antiAlias", "opacity"];
|
6
|
+
const paintProps = ["color", "strokeWidth", "blendMode", "strokeCap", "strokeJoin", "strokeMiter", "style", "antiAlias", "dither", "opacity"];
|
7
7
|
export class JsiRenderNode extends JsiNode {
|
8
8
|
constructor(ctx, type, props) {
|
9
9
|
super(ctx, type, props);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ClipOp","isRRect","isPathDef","processPath","processTransformProps","JsiNode","JsiDeclarationNode","paintProps","JsiRenderNode","constructor","ctx","type","props","matrix","Skia","Matrix","onPropChange","setProps","setProp","key","value","hasChanged","includes","paintCache","identity","clipPath","undefined","clipRect","clipRRect","computeMatrix","computeClip","addChild","child","setInvalidate","insertChildBefore","before","clip","render","invertClip","layer","transform","canvas","parentPaint","paint","cache","parent","shouldRestore","saveAndConcat","hasTransform","hasClip","shouldSave","op","Difference","Intersect","saveLayer","save","concat","renderNode","restore"],"sources":["RenderNode.ts"],"sourcesContent":["import type {\n SkMatrix,\n SkRect,\n SkRRect,\n SkPath,\n SkPaint,\n} from \"../../skia/types\";\nimport { ClipOp, isRRect } from \"../../skia/types\";\nimport type {\n RenderNode,\n GroupProps,\n NodeType,\n Node,\n DrawingContext,\n} from \"../types\";\n\nimport { isPathDef, processPath, processTransformProps } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiNode, JsiDeclarationNode } from \"./Node\";\n\nconst paintProps = [\n \"color\",\n \"strokeWidth\",\n \"blendMode\",\n \"strokeCap\",\n \"strokeJoin\",\n \"strokeMiter\",\n \"style\",\n \"antiAlias\",\n \"opacity\",\n];\n\ninterface PaintCache {\n parent: SkPaint;\n child: SkPaint;\n}\n\nexport abstract class JsiRenderNode<P extends GroupProps>\n extends JsiNode<P>\n implements RenderNode<P>\n{\n paintCache: PaintCache | null = null;\n\n matrix: SkMatrix;\n clipRect?: SkRect;\n clipRRect?: SkRRect;\n clipPath?: SkPath;\n\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, type, props);\n this.matrix = this.Skia.Matrix();\n this.onPropChange();\n }\n\n setProps(props: P) {\n super.setProps(props);\n this.onPropChange();\n }\n\n setProp<K extends keyof P>(key: K, value: P[K]) {\n const hasChanged = super.setProp(key, value);\n if (hasChanged) {\n this.onPropChange();\n if (paintProps.includes(key as string)) {\n this.paintCache = null;\n }\n }\n return hasChanged;\n }\n\n protected onPropChange() {\n this.matrix.identity();\n this.clipPath = undefined;\n this.clipRect = undefined;\n this.clipRRect = undefined;\n this.computeMatrix();\n this.computeClip();\n }\n\n addChild(child: Node<unknown>) {\n if (child instanceof JsiDeclarationNode) {\n child.setInvalidate(() => {\n this.paintCache = null;\n });\n }\n super.addChild(child);\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>) {\n if (child instanceof JsiDeclarationNode) {\n child.setInvalidate(() => {\n this.paintCache = null;\n });\n }\n super.insertChildBefore(child, before);\n }\n\n private computeClip() {\n const { clip } = this.props;\n if (clip) {\n if (isPathDef(clip)) {\n this.clipPath = processPath(this.Skia, clip);\n } else if (isRRect(clip)) {\n this.clipRRect = clip;\n } else {\n this.clipRect = clip;\n }\n }\n }\n\n private computeMatrix() {\n processTransformProps(this.matrix, this.props);\n }\n\n render(ctx: DrawingContext) {\n const { invertClip, layer, matrix, transform } = this.props;\n const { canvas } = ctx;\n const parentPaint = ctx.paint;\n\n const cache =\n this.paintCache !== null && this.paintCache.parent === ctx.paint\n ? this.paintCache.child\n : undefined;\n const shouldRestore = ctx.saveAndConcat(this, cache);\n\n const hasTransform = matrix !== undefined || transform !== undefined;\n const hasClip =\n this.clipRect !== undefined ||\n this.clipPath !== undefined ||\n this.clipRRect !== undefined;\n const shouldSave = hasTransform || hasClip || !!layer;\n const op = invertClip ? ClipOp.Difference : ClipOp.Intersect;\n if (shouldSave) {\n if (layer) {\n if (typeof layer === \"boolean\") {\n canvas.saveLayer();\n } else {\n canvas.saveLayer(layer);\n }\n } else {\n canvas.save();\n }\n }\n\n if (this.matrix) {\n canvas.concat(this.matrix);\n }\n if (this.clipRect) {\n canvas.clipRect(this.clipRect, op, true);\n } else if (this.clipRRect) {\n canvas.clipRRect(this.clipRRect, op, true);\n } else if (this.clipPath) {\n canvas.clipPath(this.clipPath, op, true);\n }\n\n this.renderNode(ctx);\n\n if (shouldSave) {\n canvas.restore();\n }\n if (shouldRestore) {\n this.paintCache = {\n parent: parentPaint,\n child: ctx.paint,\n };\n ctx.restore();\n }\n }\n\n abstract renderNode(ctx: DrawingContext): void;\n}\n"],"mappings":";;AAOA,SAASA,MAAT,EAAiBC,OAAjB,QAAgC,kBAAhC;AASA,SAASC,SAAT,EAAoBC,WAApB,EAAiCC,qBAAjC,QAA8D,aAA9D;AAEA,SAASC,OAAT,EAAkBC,kBAAlB,QAA4C,QAA5C;AAEA,MAAMC,UAAU,GAAG,CACjB,OADiB,EAEjB,aAFiB,EAGjB,WAHiB,EAIjB,WAJiB,EAKjB,YALiB,EAMjB,aANiB,EAOjB,OAPiB,EAQjB,WARiB,EASjB,
|
1
|
+
{"version":3,"names":["ClipOp","isRRect","isPathDef","processPath","processTransformProps","JsiNode","JsiDeclarationNode","paintProps","JsiRenderNode","constructor","ctx","type","props","matrix","Skia","Matrix","onPropChange","setProps","setProp","key","value","hasChanged","includes","paintCache","identity","clipPath","undefined","clipRect","clipRRect","computeMatrix","computeClip","addChild","child","setInvalidate","insertChildBefore","before","clip","render","invertClip","layer","transform","canvas","parentPaint","paint","cache","parent","shouldRestore","saveAndConcat","hasTransform","hasClip","shouldSave","op","Difference","Intersect","saveLayer","save","concat","renderNode","restore"],"sources":["RenderNode.ts"],"sourcesContent":["import type {\n SkMatrix,\n SkRect,\n SkRRect,\n SkPath,\n SkPaint,\n} from \"../../skia/types\";\nimport { ClipOp, isRRect } from \"../../skia/types\";\nimport type {\n RenderNode,\n GroupProps,\n NodeType,\n Node,\n DrawingContext,\n} from \"../types\";\n\nimport { isPathDef, processPath, processTransformProps } from \"./datatypes\";\nimport type { NodeContext } from \"./Node\";\nimport { JsiNode, JsiDeclarationNode } from \"./Node\";\n\nconst paintProps = [\n \"color\",\n \"strokeWidth\",\n \"blendMode\",\n \"strokeCap\",\n \"strokeJoin\",\n \"strokeMiter\",\n \"style\",\n \"antiAlias\",\n \"dither\",\n \"opacity\",\n];\n\ninterface PaintCache {\n parent: SkPaint;\n child: SkPaint;\n}\n\nexport abstract class JsiRenderNode<P extends GroupProps>\n extends JsiNode<P>\n implements RenderNode<P>\n{\n paintCache: PaintCache | null = null;\n\n matrix: SkMatrix;\n clipRect?: SkRect;\n clipRRect?: SkRRect;\n clipPath?: SkPath;\n\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, type, props);\n this.matrix = this.Skia.Matrix();\n this.onPropChange();\n }\n\n setProps(props: P) {\n super.setProps(props);\n this.onPropChange();\n }\n\n setProp<K extends keyof P>(key: K, value: P[K]) {\n const hasChanged = super.setProp(key, value);\n if (hasChanged) {\n this.onPropChange();\n if (paintProps.includes(key as string)) {\n this.paintCache = null;\n }\n }\n return hasChanged;\n }\n\n protected onPropChange() {\n this.matrix.identity();\n this.clipPath = undefined;\n this.clipRect = undefined;\n this.clipRRect = undefined;\n this.computeMatrix();\n this.computeClip();\n }\n\n addChild(child: Node<unknown>) {\n if (child instanceof JsiDeclarationNode) {\n child.setInvalidate(() => {\n this.paintCache = null;\n });\n }\n super.addChild(child);\n }\n\n insertChildBefore(child: Node<unknown>, before: Node<unknown>) {\n if (child instanceof JsiDeclarationNode) {\n child.setInvalidate(() => {\n this.paintCache = null;\n });\n }\n super.insertChildBefore(child, before);\n }\n\n private computeClip() {\n const { clip } = this.props;\n if (clip) {\n if (isPathDef(clip)) {\n this.clipPath = processPath(this.Skia, clip);\n } else if (isRRect(clip)) {\n this.clipRRect = clip;\n } else {\n this.clipRect = clip;\n }\n }\n }\n\n private computeMatrix() {\n processTransformProps(this.matrix, this.props);\n }\n\n render(ctx: DrawingContext) {\n const { invertClip, layer, matrix, transform } = this.props;\n const { canvas } = ctx;\n const parentPaint = ctx.paint;\n\n const cache =\n this.paintCache !== null && this.paintCache.parent === ctx.paint\n ? this.paintCache.child\n : undefined;\n const shouldRestore = ctx.saveAndConcat(this, cache);\n\n const hasTransform = matrix !== undefined || transform !== undefined;\n const hasClip =\n this.clipRect !== undefined ||\n this.clipPath !== undefined ||\n this.clipRRect !== undefined;\n const shouldSave = hasTransform || hasClip || !!layer;\n const op = invertClip ? ClipOp.Difference : ClipOp.Intersect;\n if (shouldSave) {\n if (layer) {\n if (typeof layer === \"boolean\") {\n canvas.saveLayer();\n } else {\n canvas.saveLayer(layer);\n }\n } else {\n canvas.save();\n }\n }\n\n if (this.matrix) {\n canvas.concat(this.matrix);\n }\n if (this.clipRect) {\n canvas.clipRect(this.clipRect, op, true);\n } else if (this.clipRRect) {\n canvas.clipRRect(this.clipRRect, op, true);\n } else if (this.clipPath) {\n canvas.clipPath(this.clipPath, op, true);\n }\n\n this.renderNode(ctx);\n\n if (shouldSave) {\n canvas.restore();\n }\n if (shouldRestore) {\n this.paintCache = {\n parent: parentPaint,\n child: ctx.paint,\n };\n ctx.restore();\n }\n }\n\n abstract renderNode(ctx: DrawingContext): void;\n}\n"],"mappings":"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"}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import type { SkTextBlob, SkPoint } from "../../../skia/types";
|
1
|
+
import type { SkTextBlob, SkPoint, SkFont } from "../../../skia/types";
|
2
2
|
import type { DrawingContext, TextBlobProps, TextPathProps, TextProps } from "../../types";
|
3
3
|
import type { GlyphsProps } from "../../types/Drawings";
|
4
4
|
import { JsiDrawingNode } from "../DrawingNode";
|
5
5
|
import type { NodeContext } from "../Node";
|
6
|
-
export declare class TextNode extends JsiDrawingNode<TextProps, null> {
|
6
|
+
export declare class TextNode extends JsiDrawingNode<TextProps, SkFont | null> {
|
7
7
|
constructor(ctx: NodeContext, props: TextProps);
|
8
|
-
protected deriveProps(): null;
|
8
|
+
protected deriveProps(): SkFont | null;
|
9
9
|
draw({ canvas, paint }: DrawingContext): void;
|
10
10
|
}
|
11
11
|
export declare class TextPathNode extends JsiDrawingNode<TextPathProps, SkTextBlob | null> {
|
@@ -7,7 +7,25 @@ export class TextNode extends JsiDrawingNode {
|
|
7
7
|
}
|
8
8
|
|
9
9
|
deriveProps() {
|
10
|
-
|
10
|
+
const {
|
11
|
+
font
|
12
|
+
} = this.props;
|
13
|
+
|
14
|
+
if (font === null) {
|
15
|
+
return null;
|
16
|
+
} else if (font === undefined) {
|
17
|
+
console.warn("<Text />: the font property is mandatory on React Native Web");
|
18
|
+
return null; // return this.Skia.Font(
|
19
|
+
// this.Skia.FontMgr.System().matchFamilyStyle("System", {
|
20
|
+
// width: 5,
|
21
|
+
// weight: 400,
|
22
|
+
// slant: 0,
|
23
|
+
// }),
|
24
|
+
// 14
|
25
|
+
// );
|
26
|
+
}
|
27
|
+
|
28
|
+
return font;
|
11
29
|
}
|
12
30
|
|
13
31
|
draw(_ref) {
|
@@ -18,11 +36,15 @@ export class TextNode extends JsiDrawingNode {
|
|
18
36
|
const {
|
19
37
|
text,
|
20
38
|
x,
|
21
|
-
y
|
22
|
-
font
|
39
|
+
y
|
23
40
|
} = this.props;
|
41
|
+
const font = this.derived;
|
24
42
|
|
25
|
-
if (font) {
|
43
|
+
if (font === undefined) {
|
44
|
+
throw new Error("TextNode: font hasn't been derived");
|
45
|
+
}
|
46
|
+
|
47
|
+
if (font != null) {
|
26
48
|
canvas.drawText(text, x, y, paint, font);
|
27
49
|
}
|
28
50
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NodeType","processPath","JsiDrawingNode","TextNode","constructor","ctx","props","Text","deriveProps","draw","canvas","paint","text","x","y","
|
1
|
+
{"version":3,"names":["NodeType","processPath","JsiDrawingNode","TextNode","constructor","ctx","props","Text","deriveProps","font","undefined","console","warn","draw","canvas","paint","text","x","y","derived","Error","drawText","TextPathNode","TextPath","path","Skia","initialOffset","ids","getGlyphIDs","widths","getGlyphWidths","rsx","meas","ContourMeasureIter","cont","next","dist","i","length","width","substring","p","t","getPosTan","adjustedX","adjustedY","push","RSXform","TextBlob","MakeFromRSXform","drawTextBlob","TextBlobNode","blob","GlyphsNode","Glyphs","glyphs","reduce","acc","glyph","id","pos","positions","drawGlyphs"],"sources":["Text.ts"],"sourcesContent":["import type {\n SkRSXform,\n SkTextBlob,\n SkPoint,\n SkFont,\n} from \"../../../skia/types\";\nimport type {\n DrawingContext,\n TextBlobProps,\n TextPathProps,\n TextProps,\n} from \"../../types\";\nimport { NodeType } from \"../../types\";\nimport { processPath } from \"../datatypes\";\nimport type { GlyphsProps } from \"../../types/Drawings\";\nimport { JsiDrawingNode } from \"../DrawingNode\";\nimport type { NodeContext } from \"../Node\";\n\nexport class TextNode extends JsiDrawingNode<TextProps, SkFont | null> {\n constructor(ctx: NodeContext, props: TextProps) {\n super(ctx, NodeType.Text, props);\n }\n\n protected deriveProps() {\n const { font } = this.props;\n if (font === null) {\n return null;\n } else if (font === undefined) {\n console.warn(\n \"<Text />: the font property is mandatory on React Native Web\"\n );\n return null;\n // return this.Skia.Font(\n // this.Skia.FontMgr.System().matchFamilyStyle(\"System\", {\n // width: 5,\n // weight: 400,\n // slant: 0,\n // }),\n // 14\n // );\n }\n return font;\n }\n\n draw({ canvas, paint }: DrawingContext) {\n const { text, x, y } = this.props;\n const font = this.derived;\n if (font === undefined) {\n throw new Error(\"TextNode: font hasn't been derived\");\n }\n if (font != null) {\n canvas.drawText(text, x, y, paint, font);\n }\n }\n}\n\nexport class TextPathNode extends JsiDrawingNode<\n TextPathProps,\n SkTextBlob | null\n> {\n constructor(ctx: NodeContext, props: TextPathProps) {\n super(ctx, NodeType.TextPath, props);\n }\n\n deriveProps() {\n const path = processPath(this.Skia, this.props.path);\n const { font, initialOffset } = this.props;\n if (!font) {\n return null;\n }\n let { text } = this.props;\n const ids = font.getGlyphIDs(text);\n const widths = font.getGlyphWidths(ids);\n const rsx: SkRSXform[] = [];\n const meas = this.Skia.ContourMeasureIter(path, false, 1);\n let cont = meas.next();\n let dist = initialOffset;\n for (let i = 0; i < text.length && cont; i++) {\n const width = widths[i];\n dist += width / 2;\n if (dist > cont.length()) {\n // jump to next contour\n cont = meas.next();\n if (!cont) {\n // We have come to the end of the path - terminate the string\n // right here.\n text = text.substring(0, i);\n break;\n }\n dist = width / 2;\n }\n // Gives us the (x, y) coordinates as well as the cos/sin of the tangent\n // line at that position.\n const [p, t] = cont.getPosTan(dist);\n const adjustedX = p.x - (width / 2) * t.x;\n const adjustedY = p.y - (width / 2) * t.y;\n rsx.push(this.Skia.RSXform(t.x, t.y, adjustedX, adjustedY));\n dist += width / 2;\n }\n return this.Skia.TextBlob.MakeFromRSXform(text, rsx, font);\n }\n\n draw({ canvas, paint }: DrawingContext) {\n if (!this.derived) {\n throw new Error(\"TextPathNode: blob is null\");\n }\n canvas.drawTextBlob(this.derived, 0, 0, paint);\n }\n}\n\nexport class TextBlobNode extends JsiDrawingNode<TextBlobProps, null> {\n constructor(ctx: NodeContext, props: TextBlobProps) {\n super(ctx, NodeType.TextBlob, props);\n }\n\n protected deriveProps() {\n return null;\n }\n\n draw({ canvas, paint }: DrawingContext) {\n const { blob, x, y } = this.props;\n canvas.drawTextBlob(blob, x, y, paint);\n }\n}\n\ninterface ProcessedGlyphs {\n glyphs: number[];\n positions: SkPoint[];\n}\n\nexport class GlyphsNode extends JsiDrawingNode<GlyphsProps, ProcessedGlyphs> {\n constructor(ctx: NodeContext, props: GlyphsProps) {\n super(ctx, NodeType.Glyphs, props);\n }\n\n deriveProps() {\n return this.props.glyphs.reduce<ProcessedGlyphs>(\n (acc, glyph) => {\n const { id, pos } = glyph;\n acc.glyphs.push(id);\n acc.positions.push(pos);\n return acc;\n },\n { glyphs: [], positions: [] }\n );\n }\n\n draw({ canvas, paint }: DrawingContext) {\n if (!this.derived) {\n throw new Error(\"GlyphsNode: processedGlyphs is null\");\n }\n const { glyphs, positions } = this.derived;\n const { x, y, font } = this.props;\n if (font) {\n canvas.drawGlyphs(glyphs, positions, x, y, font, paint);\n }\n }\n}\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["Common.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nimport type {\n BlendMode,\n Color,\n PaintStyle,\n SkMatrix,\n SkPaint,\n SkPath,\n SkRect,\n SkRRect,\n StrokeCap,\n StrokeJoin,\n Transforms2d,\n Vector,\n} from \"../../skia/types\";\n\nexport type SkEnum<T> = Uncapitalize<keyof T extends string ? keyof T : never>;\n\nexport type PathDef = string | SkPath;\n\nexport type ClipDef = SkRRect | SkRect | PathDef;\n\nexport type Fit =\n | \"cover\"\n | \"contain\"\n | \"fill\"\n | \"fitHeight\"\n | \"fitWidth\"\n | \"none\"\n | \"scaleDown\";\n\nexport type Radius = number | Vector;\n\nexport interface ChildrenProps {\n children?: ReactNode | ReactNode[];\n}\n\nexport interface RectCtor {\n x?: number;\n y?: number;\n width: number;\n height: number;\n}\n\nexport interface RRectCtor extends RectCtor {\n r?: Radius;\n}\n\nexport type RectDef = RectCtor | { rect: SkRect };\nexport type RRectDef = RRectCtor | { rect: SkRRect };\n\nexport interface PointCircleDef {\n c?: Vector;\n r: number;\n}\n\nexport interface ScalarCircleDef {\n cx: number;\n cy: number;\n r: number;\n}\n\nexport type CircleDef = PointCircleDef | ScalarCircleDef;\n\nexport interface TransformProps {\n transform?: Transforms2d;\n origin?: Vector;\n matrix?: SkMatrix;\n}\n\nexport interface PaintProps extends ChildrenProps {\n color?: Color;\n strokeWidth?: number;\n blendMode?: SkEnum<typeof BlendMode>;\n style?: SkEnum<typeof PaintStyle>;\n strokeJoin?: SkEnum<typeof StrokeJoin>;\n strokeCap?: SkEnum<typeof StrokeCap>;\n strokeMiter?: number;\n opacity?: number;\n antiAlias?: boolean;\n}\n\nexport interface GroupProps extends PaintProps, TransformProps {\n clip?: ClipDef;\n invertClip?: boolean;\n layer?: SkPaint | boolean;\n}\n"],"mappings":""}
|
1
|
+
{"version":3,"names":[],"sources":["Common.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nimport type {\n BlendMode,\n Color,\n PaintStyle,\n SkMatrix,\n SkPaint,\n SkPath,\n SkRect,\n SkRRect,\n StrokeCap,\n StrokeJoin,\n Transforms2d,\n Vector,\n} from \"../../skia/types\";\n\nexport type SkEnum<T> = Uncapitalize<keyof T extends string ? keyof T : never>;\n\nexport type PathDef = string | SkPath;\n\nexport type ClipDef = SkRRect | SkRect | PathDef;\n\nexport type Fit =\n | \"cover\"\n | \"contain\"\n | \"fill\"\n | \"fitHeight\"\n | \"fitWidth\"\n | \"none\"\n | \"scaleDown\";\n\nexport type Radius = number | Vector;\n\nexport interface ChildrenProps {\n children?: ReactNode | ReactNode[];\n}\n\nexport interface RectCtor {\n x?: number;\n y?: number;\n width: number;\n height: number;\n}\n\nexport interface RRectCtor extends RectCtor {\n r?: Radius;\n}\n\nexport type RectDef = RectCtor | { rect: SkRect };\nexport type RRectDef = RRectCtor | { rect: SkRRect };\n\nexport interface PointCircleDef {\n c?: Vector;\n r: number;\n}\n\nexport interface ScalarCircleDef {\n cx: number;\n cy: number;\n r: number;\n}\n\nexport type CircleDef = PointCircleDef | ScalarCircleDef;\n\nexport interface TransformProps {\n transform?: Transforms2d;\n origin?: Vector;\n matrix?: SkMatrix;\n}\n\nexport interface PaintProps extends ChildrenProps {\n color?: Color;\n strokeWidth?: number;\n blendMode?: SkEnum<typeof BlendMode>;\n style?: SkEnum<typeof PaintStyle>;\n strokeJoin?: SkEnum<typeof StrokeJoin>;\n strokeCap?: SkEnum<typeof StrokeCap>;\n strokeMiter?: number;\n opacity?: number;\n antiAlias?: boolean;\n dither?: boolean;\n}\n\nexport interface GroupProps extends PaintProps, TransformProps {\n clip?: ClipDef;\n invertClip?: boolean;\n layer?: SkPaint | boolean;\n}\n"],"mappings":""}
|
@@ -72,6 +72,8 @@ class ConcatablePaint {
|
|
72
72
|
|
73
73
|
_defineProperty(this, "_antiAlias", void 0);
|
74
74
|
|
75
|
+
_defineProperty(this, "_dither", void 0);
|
76
|
+
|
75
77
|
_defineProperty(this, "_imageFilter", void 0);
|
76
78
|
|
77
79
|
_defineProperty(this, "_shader", void 0);
|
@@ -93,6 +95,7 @@ class ConcatablePaint {
|
|
93
95
|
this.setStrokeMiter(props.strokeMiter);
|
94
96
|
this.setOpacity(props.opacity);
|
95
97
|
this.setAntiAlias(props.antiAlias);
|
98
|
+
this.setDither(props.dither);
|
96
99
|
declCtx.save();
|
97
100
|
children.forEach(child => {
|
98
101
|
if (child instanceof JsiDeclarationNode) {
|
@@ -214,6 +217,14 @@ class ConcatablePaint {
|
|
214
217
|
return this._antiAlias;
|
215
218
|
}
|
216
219
|
|
220
|
+
setDither(dither) {
|
221
|
+
this.setValue("_dither", dither);
|
222
|
+
}
|
223
|
+
|
224
|
+
getDither() {
|
225
|
+
return this._dither;
|
226
|
+
}
|
227
|
+
|
217
228
|
setImageFilter(imageFilter) {
|
218
229
|
this.setValue("_imageFilter", imageFilter);
|
219
230
|
}
|
@@ -298,6 +309,10 @@ class ConcatablePaint {
|
|
298
309
|
paint.setAntiAlias(this._antiAlias);
|
299
310
|
}
|
300
311
|
|
312
|
+
if (this._dither !== undefined) {
|
313
|
+
paint.setDither(this._dither);
|
314
|
+
}
|
315
|
+
|
301
316
|
if (this._imageFilter !== undefined) {
|
302
317
|
paint.setImageFilter(this._imageFilter);
|
303
318
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BlendMode","PaintStyle","StrokeCap","StrokeJoin","enumKey","JsiDeclarationNode","DeclarationContext","JsiDrawingContext","constructor","Skia","canvas","paint","Paint","paints","declarationCtx","length","save","childPaint","copy","push","restore","pop","saveAndConcat","node","cache","ConcatablePaint","isPristine","concatTo","declCtx","props","getProps","children","setColor","color","undefined","Color","setStrokeWidth","strokeWidth","setBlendMode","blendMode","setStyle","style","setStrokeJoin","strokeJoin","setStrokeCap","strokeCap","setStrokeMiter","strokeMiter","setOpacity","opacity","setAntiAlias","antiAlias","forEach","child","decorate","colorFilter","colorFilters","popAllAsOne","imageFilter","imageFilters","shader","shaders","maskFilter","maskFilters","pathEffect","pathEffects","setImageFilter","setShader","setPathEffect","setColorFilter","setMaskFilter","enum","value","key","setValue","pristine","getColor","_color","getStrokeWidth","_strokeWidth","getBlendMode","_blendMode","getStyle","_style","getStrokeJoin","_strokeJoin","getStrokeCap","_strokeCap","getStrokeMiter","_strokeMiter","getOpacity","_opacity","getAntiAlias","_antiAlias","getImageFilter","_imageFilter","getShader","_shader","getPathEffect","_pathEffect","getColorFilter","_colorFilter","getMaskFilter","_maskFilter","setAlphaf","getAlphaf","currentOpacity"],"sources":["DrawingContext.ts"],"sourcesContent":["import type {\n SkCanvas,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n SkMaskFilter,\n SkPaint,\n SkPathEffect,\n SkShader,\n Skia,\n} from \"../../skia/types\";\nimport { BlendMode, PaintStyle, StrokeCap, StrokeJoin } from \"../../skia/types\";\nimport { enumKey } from \"../nodes/datatypes/Enum\";\nimport { JsiDeclarationNode } from \"../nodes/Node\";\n\nimport type { PaintProps, SkEnum } from \"./Common\";\nimport { DeclarationContext } from \"./DeclarationContext\";\nimport type { Node } from \"./Node\";\n\nexport interface DrawingContext {\n canvas: SkCanvas;\n paint: SkPaint;\n saveAndConcat(node: Node<PaintProps>, cache?: SkPaint): boolean;\n restore(): void;\n declarationCtx: DeclarationContext;\n}\n\nexport class JsiDrawingContext implements DrawingContext {\n paints: SkPaint[];\n\n declarationCtx: DeclarationContext;\n\n constructor(private readonly Skia: Skia, public readonly canvas: SkCanvas) {\n const paint = this.Skia.Paint();\n this.paints = [paint];\n this.declarationCtx = new DeclarationContext(Skia);\n }\n\n get paint() {\n return this.paints[this.paints.length - 1];\n }\n\n private save() {\n const childPaint = this.paint.copy();\n this.paints.push(childPaint);\n }\n\n restore(): void {\n this.paints.pop();\n }\n\n saveAndConcat(node: Node<PaintProps>, cache?: SkPaint) {\n if (cache) {\n this.paints.push(cache);\n return true;\n }\n const paint = new ConcatablePaint(this.Skia, this.declarationCtx, node);\n if (!paint.isPristine()) {\n this.save();\n paint.concatTo(this.paint);\n return true;\n }\n return false;\n }\n}\n\nclass ConcatablePaint {\n private pristine = true;\n\n _color?: SkColor;\n _strokeWidth?: number;\n _blendMode?: BlendMode;\n _style?: PaintStyle;\n _strokeJoin?: StrokeJoin;\n _strokeCap?: StrokeCap;\n _strokeMiter?: number;\n _opacity = 1;\n _antiAlias?: boolean;\n\n _imageFilter?: SkImageFilter;\n _shader?: SkShader;\n _pathEffect?: SkPathEffect;\n _colorFilter?: SkColorFilter;\n _maskFilter?: SkMaskFilter;\n\n constructor(Skia: Skia, declCtx: DeclarationContext, node: Node<PaintProps>) {\n const props = node.getProps();\n const children = node.children();\n this.setColor(\n props.color !== undefined ? Skia.Color(props.color) : props.color\n );\n this.setStrokeWidth(props.strokeWidth);\n this.setBlendMode(props.blendMode);\n this.setStyle(props.style);\n this.setStrokeJoin(props.strokeJoin);\n this.setStrokeCap(props.strokeCap);\n this.setStrokeMiter(props.strokeMiter);\n this.setOpacity(props.opacity);\n this.setAntiAlias(props.antiAlias);\n declCtx.save();\n children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n child.decorate(declCtx);\n }\n });\n const colorFilter = declCtx.colorFilters.popAllAsOne();\n const imageFilter = declCtx.imageFilters.popAllAsOne();\n const shader = declCtx.shaders.pop();\n const maskFilter = declCtx.maskFilters.pop();\n const pathEffect = declCtx.pathEffects.popAllAsOne();\n declCtx.restore();\n if (imageFilter) {\n this.setImageFilter(imageFilter);\n }\n if (shader) {\n this.setShader(shader);\n }\n if (pathEffect) {\n this.setPathEffect(pathEffect);\n }\n if (colorFilter) {\n this.setColorFilter(colorFilter);\n }\n if (maskFilter) {\n this.setMaskFilter(maskFilter);\n }\n }\n\n private enum<T>(value: T, key?: Uncapitalize<string>) {\n if (key !== undefined) {\n return value[enumKey(key) as keyof T];\n }\n return undefined;\n }\n\n private setValue<T extends keyof typeof this>(\n key: T,\n value?: typeof this[T]\n ) {\n if (value !== undefined) {\n this[key] = value;\n this.pristine = false;\n }\n }\n\n setColor(color?: SkColor) {\n this.setValue(\"_color\", color);\n }\n\n getColor() {\n return this._color;\n }\n\n setStrokeWidth(strokeWidth?: number) {\n this.setValue(\"_strokeWidth\", strokeWidth);\n }\n\n getStrokeWidth() {\n return this._strokeWidth;\n }\n\n setBlendMode(blendMode?: SkEnum<typeof BlendMode>) {\n this.setValue(\"_blendMode\", this.enum(BlendMode, blendMode));\n }\n\n getBlendMode() {\n return this._blendMode;\n }\n\n setStyle(style?: SkEnum<typeof PaintStyle>) {\n this.setValue(\"_style\", this.enum(PaintStyle, style));\n }\n\n getStyle() {\n return this._style;\n }\n\n setStrokeJoin(strokeJoin?: SkEnum<typeof StrokeJoin>) {\n this.setValue(\"_strokeJoin\", this.enum(StrokeJoin, strokeJoin));\n }\n\n getStrokeJoin() {\n return this._strokeJoin;\n }\n\n setStrokeCap(strokeCap?: SkEnum<typeof StrokeCap>) {\n this.setValue(\"_strokeCap\", this.enum(StrokeCap, strokeCap));\n }\n\n getStrokeCap() {\n return this._strokeCap;\n }\n\n setStrokeMiter(strokeMiter?: number) {\n this.setValue(\"_strokeMiter\", strokeMiter);\n }\n\n getStrokeMiter() {\n return this._strokeMiter;\n }\n\n setOpacity(opacity?: number) {\n this.setValue(\"_opacity\", opacity);\n }\n\n getOpacity() {\n return this._opacity;\n }\n\n setAntiAlias(antiAlias?: boolean) {\n this.setValue(\"_antiAlias\", antiAlias);\n }\n\n getAntiAlias() {\n return this._antiAlias;\n }\n\n setImageFilter(imageFilter?: SkImageFilter) {\n this.setValue(\"_imageFilter\", imageFilter);\n }\n\n getImageFilter() {\n return this._imageFilter;\n }\n\n setShader(shader?: SkShader) {\n this.setValue(\"_shader\", shader);\n }\n\n getShader() {\n return this._shader;\n }\n\n setPathEffect(pathEffect?: SkPathEffect) {\n this.setValue(\"_pathEffect\", pathEffect);\n }\n\n getPathEffect() {\n return this._pathEffect;\n }\n\n setColorFilter(colorFilter?: SkColorFilter) {\n this.setValue(\"_colorFilter\", colorFilter);\n }\n\n getColorFilter() {\n return this._colorFilter;\n }\n\n setMaskFilter(maskFilter?: SkMaskFilter) {\n this.setValue(\"_maskFilter\", maskFilter);\n }\n\n getMaskFilter() {\n return this._maskFilter;\n }\n\n isPristine() {\n return this.pristine;\n }\n\n concatTo(paint: SkPaint) {\n if (this._opacity !== undefined) {\n paint.setAlphaf(paint.getAlphaf() * this._opacity);\n }\n if (this._color !== undefined) {\n const currentOpacity = paint.getAlphaf();\n paint.setShader(null);\n paint.setColor(this._color);\n paint.setAlphaf(currentOpacity * paint.getAlphaf());\n }\n if (this._strokeWidth !== undefined) {\n paint.setStrokeWidth(this._strokeWidth);\n }\n if (this._blendMode !== undefined) {\n paint.setBlendMode(this._blendMode);\n }\n if (this._style !== undefined) {\n paint.setStyle(this._style);\n }\n if (this._strokeJoin !== undefined) {\n paint.setStrokeJoin(this._strokeJoin);\n }\n if (this._strokeCap !== undefined) {\n paint.setStrokeCap(this._strokeCap);\n }\n if (this._strokeMiter !== undefined) {\n paint.setStrokeMiter(this._strokeMiter);\n }\n if (this._antiAlias !== undefined) {\n paint.setAntiAlias(this._antiAlias);\n }\n if (this._imageFilter !== undefined) {\n paint.setImageFilter(this._imageFilter);\n }\n if (this._shader !== undefined) {\n paint.setShader(this._shader);\n }\n if (this._pathEffect !== undefined) {\n paint.setPathEffect(this._pathEffect);\n }\n if (this._colorFilter !== undefined) {\n paint.setColorFilter(this._colorFilter);\n }\n if (this._maskFilter !== undefined) {\n paint.setMaskFilter(this._maskFilter);\n }\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["BlendMode","PaintStyle","StrokeCap","StrokeJoin","enumKey","JsiDeclarationNode","DeclarationContext","JsiDrawingContext","constructor","Skia","canvas","paint","Paint","paints","declarationCtx","length","save","childPaint","copy","push","restore","pop","saveAndConcat","node","cache","ConcatablePaint","isPristine","concatTo","declCtx","props","getProps","children","setColor","color","undefined","Color","setStrokeWidth","strokeWidth","setBlendMode","blendMode","setStyle","style","setStrokeJoin","strokeJoin","setStrokeCap","strokeCap","setStrokeMiter","strokeMiter","setOpacity","opacity","setAntiAlias","antiAlias","setDither","dither","forEach","child","decorate","colorFilter","colorFilters","popAllAsOne","imageFilter","imageFilters","shader","shaders","maskFilter","maskFilters","pathEffect","pathEffects","setImageFilter","setShader","setPathEffect","setColorFilter","setMaskFilter","enum","value","key","setValue","pristine","getColor","_color","getStrokeWidth","_strokeWidth","getBlendMode","_blendMode","getStyle","_style","getStrokeJoin","_strokeJoin","getStrokeCap","_strokeCap","getStrokeMiter","_strokeMiter","getOpacity","_opacity","getAntiAlias","_antiAlias","getDither","_dither","getImageFilter","_imageFilter","getShader","_shader","getPathEffect","_pathEffect","getColorFilter","_colorFilter","getMaskFilter","_maskFilter","setAlphaf","getAlphaf","currentOpacity"],"sources":["DrawingContext.ts"],"sourcesContent":["import type {\n SkCanvas,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n SkMaskFilter,\n SkPaint,\n SkPathEffect,\n SkShader,\n Skia,\n} from \"../../skia/types\";\nimport { BlendMode, PaintStyle, StrokeCap, StrokeJoin } from \"../../skia/types\";\nimport { enumKey } from \"../nodes/datatypes/Enum\";\nimport { JsiDeclarationNode } from \"../nodes/Node\";\n\nimport type { PaintProps, SkEnum } from \"./Common\";\nimport { DeclarationContext } from \"./DeclarationContext\";\nimport type { Node } from \"./Node\";\n\nexport interface DrawingContext {\n canvas: SkCanvas;\n paint: SkPaint;\n saveAndConcat(node: Node<PaintProps>, cache?: SkPaint): boolean;\n restore(): void;\n declarationCtx: DeclarationContext;\n}\n\nexport class JsiDrawingContext implements DrawingContext {\n paints: SkPaint[];\n\n declarationCtx: DeclarationContext;\n\n constructor(private readonly Skia: Skia, public readonly canvas: SkCanvas) {\n const paint = this.Skia.Paint();\n this.paints = [paint];\n this.declarationCtx = new DeclarationContext(Skia);\n }\n\n get paint() {\n return this.paints[this.paints.length - 1];\n }\n\n private save() {\n const childPaint = this.paint.copy();\n this.paints.push(childPaint);\n }\n\n restore(): void {\n this.paints.pop();\n }\n\n saveAndConcat(node: Node<PaintProps>, cache?: SkPaint) {\n if (cache) {\n this.paints.push(cache);\n return true;\n }\n const paint = new ConcatablePaint(this.Skia, this.declarationCtx, node);\n if (!paint.isPristine()) {\n this.save();\n paint.concatTo(this.paint);\n return true;\n }\n return false;\n }\n}\n\nclass ConcatablePaint {\n private pristine = true;\n\n _color?: SkColor;\n _strokeWidth?: number;\n _blendMode?: BlendMode;\n _style?: PaintStyle;\n _strokeJoin?: StrokeJoin;\n _strokeCap?: StrokeCap;\n _strokeMiter?: number;\n _opacity = 1;\n _antiAlias?: boolean;\n _dither?: boolean;\n\n _imageFilter?: SkImageFilter;\n _shader?: SkShader;\n _pathEffect?: SkPathEffect;\n _colorFilter?: SkColorFilter;\n _maskFilter?: SkMaskFilter;\n\n constructor(Skia: Skia, declCtx: DeclarationContext, node: Node<PaintProps>) {\n const props = node.getProps();\n const children = node.children();\n this.setColor(\n props.color !== undefined ? Skia.Color(props.color) : props.color\n );\n this.setStrokeWidth(props.strokeWidth);\n this.setBlendMode(props.blendMode);\n this.setStyle(props.style);\n this.setStrokeJoin(props.strokeJoin);\n this.setStrokeCap(props.strokeCap);\n this.setStrokeMiter(props.strokeMiter);\n this.setOpacity(props.opacity);\n this.setAntiAlias(props.antiAlias);\n this.setDither(props.dither);\n declCtx.save();\n children.forEach((child) => {\n if (child instanceof JsiDeclarationNode) {\n child.decorate(declCtx);\n }\n });\n const colorFilter = declCtx.colorFilters.popAllAsOne();\n const imageFilter = declCtx.imageFilters.popAllAsOne();\n const shader = declCtx.shaders.pop();\n const maskFilter = declCtx.maskFilters.pop();\n const pathEffect = declCtx.pathEffects.popAllAsOne();\n declCtx.restore();\n if (imageFilter) {\n this.setImageFilter(imageFilter);\n }\n if (shader) {\n this.setShader(shader);\n }\n if (pathEffect) {\n this.setPathEffect(pathEffect);\n }\n if (colorFilter) {\n this.setColorFilter(colorFilter);\n }\n if (maskFilter) {\n this.setMaskFilter(maskFilter);\n }\n }\n\n private enum<T>(value: T, key?: Uncapitalize<string>) {\n if (key !== undefined) {\n return value[enumKey(key) as keyof T];\n }\n return undefined;\n }\n\n private setValue<T extends keyof typeof this>(\n key: T,\n value?: typeof this[T]\n ) {\n if (value !== undefined) {\n this[key] = value;\n this.pristine = false;\n }\n }\n\n setColor(color?: SkColor) {\n this.setValue(\"_color\", color);\n }\n\n getColor() {\n return this._color;\n }\n\n setStrokeWidth(strokeWidth?: number) {\n this.setValue(\"_strokeWidth\", strokeWidth);\n }\n\n getStrokeWidth() {\n return this._strokeWidth;\n }\n\n setBlendMode(blendMode?: SkEnum<typeof BlendMode>) {\n this.setValue(\"_blendMode\", this.enum(BlendMode, blendMode));\n }\n\n getBlendMode() {\n return this._blendMode;\n }\n\n setStyle(style?: SkEnum<typeof PaintStyle>) {\n this.setValue(\"_style\", this.enum(PaintStyle, style));\n }\n\n getStyle() {\n return this._style;\n }\n\n setStrokeJoin(strokeJoin?: SkEnum<typeof StrokeJoin>) {\n this.setValue(\"_strokeJoin\", this.enum(StrokeJoin, strokeJoin));\n }\n\n getStrokeJoin() {\n return this._strokeJoin;\n }\n\n setStrokeCap(strokeCap?: SkEnum<typeof StrokeCap>) {\n this.setValue(\"_strokeCap\", this.enum(StrokeCap, strokeCap));\n }\n\n getStrokeCap() {\n return this._strokeCap;\n }\n\n setStrokeMiter(strokeMiter?: number) {\n this.setValue(\"_strokeMiter\", strokeMiter);\n }\n\n getStrokeMiter() {\n return this._strokeMiter;\n }\n\n setOpacity(opacity?: number) {\n this.setValue(\"_opacity\", opacity);\n }\n\n getOpacity() {\n return this._opacity;\n }\n\n setAntiAlias(antiAlias?: boolean) {\n this.setValue(\"_antiAlias\", antiAlias);\n }\n\n getAntiAlias() {\n return this._antiAlias;\n }\n\n setDither(dither?: boolean) {\n this.setValue(\"_dither\", dither);\n }\n\n getDither() {\n return this._dither;\n }\n\n setImageFilter(imageFilter?: SkImageFilter) {\n this.setValue(\"_imageFilter\", imageFilter);\n }\n\n getImageFilter() {\n return this._imageFilter;\n }\n\n setShader(shader?: SkShader) {\n this.setValue(\"_shader\", shader);\n }\n\n getShader() {\n return this._shader;\n }\n\n setPathEffect(pathEffect?: SkPathEffect) {\n this.setValue(\"_pathEffect\", pathEffect);\n }\n\n getPathEffect() {\n return this._pathEffect;\n }\n\n setColorFilter(colorFilter?: SkColorFilter) {\n this.setValue(\"_colorFilter\", colorFilter);\n }\n\n getColorFilter() {\n return this._colorFilter;\n }\n\n setMaskFilter(maskFilter?: SkMaskFilter) {\n this.setValue(\"_maskFilter\", maskFilter);\n }\n\n getMaskFilter() {\n return this._maskFilter;\n }\n\n isPristine() {\n return this.pristine;\n }\n\n concatTo(paint: SkPaint) {\n if (this._opacity !== undefined) {\n paint.setAlphaf(paint.getAlphaf() * this._opacity);\n }\n if (this._color !== undefined) {\n const currentOpacity = paint.getAlphaf();\n paint.setShader(null);\n paint.setColor(this._color);\n paint.setAlphaf(currentOpacity * paint.getAlphaf());\n }\n if (this._strokeWidth !== undefined) {\n paint.setStrokeWidth(this._strokeWidth);\n }\n if (this._blendMode !== undefined) {\n paint.setBlendMode(this._blendMode);\n }\n if (this._style !== undefined) {\n paint.setStyle(this._style);\n }\n if (this._strokeJoin !== undefined) {\n paint.setStrokeJoin(this._strokeJoin);\n }\n if (this._strokeCap !== undefined) {\n paint.setStrokeCap(this._strokeCap);\n }\n if (this._strokeMiter !== undefined) {\n paint.setStrokeMiter(this._strokeMiter);\n }\n if (this._antiAlias !== undefined) {\n paint.setAntiAlias(this._antiAlias);\n }\n if (this._dither !== undefined) {\n paint.setDither(this._dither);\n }\n if (this._imageFilter !== undefined) {\n paint.setImageFilter(this._imageFilter);\n }\n if (this._shader !== undefined) {\n paint.setShader(this._shader);\n }\n if (this._pathEffect !== undefined) {\n paint.setPathEffect(this._pathEffect);\n }\n if (this._colorFilter !== undefined) {\n paint.setColorFilter(this._colorFilter);\n }\n if (this._maskFilter !== undefined) {\n paint.setMaskFilter(this._maskFilter);\n }\n }\n}\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["Drawings.ts"],"sourcesContent":["import type {\n FillType,\n SkImage,\n StrokeOpts,\n Vector,\n Color,\n SkPoint,\n BlendMode,\n PointMode,\n VertexMode,\n SkFont,\n SkRRect,\n SkTextBlob,\n SkPicture,\n SkSVG,\n SkPaint,\n SkRect,\n} from \"../../skia/types\";\n\nimport type {\n CircleDef,\n Fit,\n GroupProps,\n PathDef,\n RectDef,\n RRectDef,\n SkEnum,\n} from \"./Common\";\nimport type { DrawingContext } from \"./DrawingContext\";\n\nexport interface DrawingNodeProps extends GroupProps {\n paint?: SkPaint;\n}\n\nexport type ImageProps = DrawingNodeProps &\n RectDef & {\n fit?: Fit;\n image: SkImage | null;\n };\n\nexport type CircleProps = CircleDef & DrawingNodeProps;\n\nexport interface PathProps extends DrawingNodeProps {\n path: PathDef;\n start: number;\n end: number;\n stroke?: StrokeOpts;\n fillType?: SkEnum<typeof FillType>;\n}\n\nexport interface CustomDrawingNodeProps extends DrawingNodeProps {\n drawing: (ctx: DrawingContext) => void;\n}\n\nexport interface LineProps extends DrawingNodeProps {\n p1: Vector;\n p2: Vector;\n}\n\nexport type OvalProps = RectDef & DrawingNodeProps;\n\nexport type RectProps = RectDef & DrawingNodeProps;\n\nexport type RoundedRectProps = RRectDef & DrawingNodeProps;\n\nexport interface CubicBezierHandle {\n pos: Vector;\n c1: Vector;\n c2: Vector;\n}\n\nexport interface PatchProps extends DrawingNodeProps {\n colors?: Color[];\n patch: [\n CubicBezierHandle,\n CubicBezierHandle,\n CubicBezierHandle,\n CubicBezierHandle\n ];\n texture?: readonly [SkPoint, SkPoint, SkPoint, SkPoint];\n blendMode?: SkEnum<typeof BlendMode>;\n}\n\nexport interface VerticesProps extends DrawingNodeProps {\n colors?: string[];\n vertices: SkPoint[];\n textures?: SkPoint[];\n mode: SkEnum<typeof VertexMode>;\n blendMode?: SkEnum<typeof BlendMode>;\n indices?: number[];\n}\n\nexport interface ImageSVGProps extends DrawingNodeProps {\n svg: SkSVG | null;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n rect?: SkRect;\n}\n\nexport interface PictureProps extends DrawingNodeProps {\n picture: SkPicture;\n}\n\nexport interface PointsProps extends DrawingNodeProps {\n points: SkPoint[];\n mode: SkEnum<typeof PointMode>;\n}\n\nexport interface DiffRectProps extends DrawingNodeProps {\n inner: SkRRect;\n outer: SkRRect;\n}\n\nexport interface TextProps extends DrawingNodeProps {\n font
|
1
|
+
{"version":3,"names":[],"sources":["Drawings.ts"],"sourcesContent":["import type {\n FillType,\n SkImage,\n StrokeOpts,\n Vector,\n Color,\n SkPoint,\n BlendMode,\n PointMode,\n VertexMode,\n SkFont,\n SkRRect,\n SkTextBlob,\n SkPicture,\n SkSVG,\n SkPaint,\n SkRect,\n} from \"../../skia/types\";\n\nimport type {\n CircleDef,\n Fit,\n GroupProps,\n PathDef,\n RectDef,\n RRectDef,\n SkEnum,\n} from \"./Common\";\nimport type { DrawingContext } from \"./DrawingContext\";\n\nexport interface DrawingNodeProps extends GroupProps {\n paint?: SkPaint;\n}\n\nexport type ImageProps = DrawingNodeProps &\n RectDef & {\n fit?: Fit;\n image: SkImage | null;\n };\n\nexport type CircleProps = CircleDef & DrawingNodeProps;\n\nexport interface PathProps extends DrawingNodeProps {\n path: PathDef;\n start: number;\n end: number;\n stroke?: StrokeOpts;\n fillType?: SkEnum<typeof FillType>;\n}\n\nexport interface CustomDrawingNodeProps extends DrawingNodeProps {\n drawing: (ctx: DrawingContext) => void;\n}\n\nexport interface LineProps extends DrawingNodeProps {\n p1: Vector;\n p2: Vector;\n}\n\nexport type OvalProps = RectDef & DrawingNodeProps;\n\nexport type RectProps = RectDef & DrawingNodeProps;\n\nexport type RoundedRectProps = RRectDef & DrawingNodeProps;\n\nexport interface CubicBezierHandle {\n pos: Vector;\n c1: Vector;\n c2: Vector;\n}\n\nexport interface PatchProps extends DrawingNodeProps {\n colors?: Color[];\n patch: [\n CubicBezierHandle,\n CubicBezierHandle,\n CubicBezierHandle,\n CubicBezierHandle\n ];\n texture?: readonly [SkPoint, SkPoint, SkPoint, SkPoint];\n blendMode?: SkEnum<typeof BlendMode>;\n}\n\nexport interface VerticesProps extends DrawingNodeProps {\n colors?: string[];\n vertices: SkPoint[];\n textures?: SkPoint[];\n mode: SkEnum<typeof VertexMode>;\n blendMode?: SkEnum<typeof BlendMode>;\n indices?: number[];\n}\n\nexport interface ImageSVGProps extends DrawingNodeProps {\n svg: SkSVG | null;\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n rect?: SkRect;\n}\n\nexport interface PictureProps extends DrawingNodeProps {\n picture: SkPicture;\n}\n\nexport interface PointsProps extends DrawingNodeProps {\n points: SkPoint[];\n mode: SkEnum<typeof PointMode>;\n}\n\nexport interface DiffRectProps extends DrawingNodeProps {\n inner: SkRRect;\n outer: SkRRect;\n}\n\nexport interface TextProps extends DrawingNodeProps {\n font?: SkFont | null;\n text: string;\n x: number;\n y: number;\n}\n\nexport interface TextPathProps extends DrawingNodeProps {\n font: SkFont | null;\n text: string;\n path: PathDef;\n initialOffset: number;\n}\n\nexport interface TextBlobProps extends DrawingNodeProps {\n blob: SkTextBlob;\n x: number;\n y: number;\n}\n\nexport interface Glyph {\n id: number;\n pos: SkPoint;\n}\n\nexport interface GlyphsProps extends DrawingNodeProps {\n font: SkFont | null;\n x: number;\n y: number;\n glyphs: Glyph[];\n}\n\nexport interface BoxProps extends DrawingNodeProps {\n box: SkRRect | SkRect;\n}\n\nexport interface BoxShadowProps {\n dx?: number;\n dy?: number;\n spread?: number;\n blur: number;\n color?: Color;\n inner?: boolean;\n}\n"],"mappings":""}
|
@@ -25,7 +25,7 @@ export const HAS_REANIMATED3 = !!Reanimated3;
|
|
25
25
|
function throwOnMissingReanimated2() {
|
26
26
|
if (!HAS_REANIMATED2) {
|
27
27
|
throw new Error("Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \
|
28
|
-
react-
|
28
|
+
react-native-skia's integration layer API.");
|
29
29
|
}
|
30
30
|
}
|
31
31
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useMemo","Reanimated2","Reanimated3","reanimatedVersion","require","version","includes","e","HAS_REANIMATED2","HAS_REANIMATED3","throwOnMissingReanimated2","Error","throwOnMissingReanimated3","useSharedValue","value","startMapper","stopMapper","runOnJS","isSharedValue"],"sources":["moduleWrapper.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport type { SharedValueType } from \"../../renderer/processors/Animations\";\n\n// This one is needed for the deprecated useSharedValue function\n// We can remove it once we remove the deprecation\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Reanimated2: any;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Reanimated3: any;\nlet reanimatedVersion: string;\n\ntry {\n Reanimated2 = require(\"react-native-reanimated\");\n reanimatedVersion =\n // eslint-disable-next-line import/extensions\n require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n Reanimated3 = Reanimated2;\n }\n} catch (e) {}\n\nexport const HAS_REANIMATED2 = !!Reanimated2;\nexport const HAS_REANIMATED3 = !!Reanimated3;\n\nfunction throwOnMissingReanimated2() {\n if (!HAS_REANIMATED2) {\n throw new Error(\n \"Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \\\n react-
|
1
|
+
{"version":3,"names":["useMemo","Reanimated2","Reanimated3","reanimatedVersion","require","version","includes","e","HAS_REANIMATED2","HAS_REANIMATED3","throwOnMissingReanimated2","Error","throwOnMissingReanimated3","useSharedValue","value","startMapper","stopMapper","runOnJS","isSharedValue"],"sources":["moduleWrapper.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport type { SharedValueType } from \"../../renderer/processors/Animations\";\n\n// This one is needed for the deprecated useSharedValue function\n// We can remove it once we remove the deprecation\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Reanimated2: any;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet Reanimated3: any;\nlet reanimatedVersion: string;\n\ntry {\n Reanimated2 = require(\"react-native-reanimated\");\n reanimatedVersion =\n // eslint-disable-next-line import/extensions\n require(\"react-native-reanimated/package.json\").version;\n if (\n reanimatedVersion &&\n (reanimatedVersion >= \"3.0.0\" || reanimatedVersion.includes(\"3.0.0-\"))\n ) {\n Reanimated3 = Reanimated2;\n }\n} catch (e) {}\n\nexport const HAS_REANIMATED2 = !!Reanimated2;\nexport const HAS_REANIMATED3 = !!Reanimated3;\n\nfunction throwOnMissingReanimated2() {\n if (!HAS_REANIMATED2) {\n throw new Error(\n \"Reanimated was not found, make sure react-native-reanimated package is installed if you want to use \\\n react-native-skia's integration layer API.\"\n );\n }\n}\n\nfunction throwOnMissingReanimated3() {\n if (!HAS_REANIMATED3) {\n throw new Error(\n `Reanimated version ${reanimatedVersion} is not supported, please upgrade to 3.0.0 or newer.`\n );\n }\n throwOnMissingReanimated2();\n}\n\nexport const useSharedValue =\n Reanimated2?.useSharedValue ||\n ((value: number) => useMemo(() => ({ value }), [value]));\n\nexport const startMapper =\n Reanimated2?.startMapper || throwOnMissingReanimated2;\nexport const stopMapper = Reanimated2?.stopMapper || throwOnMissingReanimated2;\nexport const runOnJS = Reanimated2?.runOnJS || throwOnMissingReanimated2;\nexport const isSharedValue = <T>(\n value: unknown\n): value is SharedValueType<T> => {\n throwOnMissingReanimated3();\n return !!value && Reanimated3.isSharedValue(value);\n};\n"],"mappings":";;AAAA,SAASA,OAAT,QAAwB,OAAxB;AAIA;AACA;AACA;AACA,IAAIC,WAAJ,C,CACA;;AACA,IAAIC,WAAJ;AACA,IAAIC,iBAAJ;;AAEA,IAAI;EACFF,WAAW,GAAGG,OAAO,CAAC,yBAAD,CAArB;EACAD,iBAAiB,GACf;EACAC,OAAO,CAAC,sCAAD,CAAP,CAAgDC,OAFlD;;EAGA,IACEF,iBAAiB,KAChBA,iBAAiB,IAAI,OAArB,IAAgCA,iBAAiB,CAACG,QAAlB,CAA2B,QAA3B,CADhB,CADnB,EAGE;IACAJ,WAAW,GAAGD,WAAd;EACD;AACF,CAXD,CAWE,OAAOM,CAAP,EAAU,CAAE;;AAEd,OAAO,MAAMC,eAAe,GAAG,CAAC,CAACP,WAA1B;AACP,OAAO,MAAMQ,eAAe,GAAG,CAAC,CAACP,WAA1B;;AAEP,SAASQ,yBAAT,GAAqC;EACnC,IAAI,CAACF,eAAL,EAAsB;IACpB,MAAM,IAAIG,KAAJ,CACJ;AACN,iDAFU,CAAN;EAID;AACF;;AAED,SAASC,yBAAT,GAAqC;EACnC,IAAI,CAACH,eAAL,EAAsB;IACpB,MAAM,IAAIE,KAAJ,CACH,sBAAqBR,iBAAkB,sDADpC,CAAN;EAGD;;EACDO,yBAAyB;AAC1B;;AAED,OAAO,MAAMG,cAAc,GACzB,gBAAAZ,WAAW,UAAX,kDAAaY,cAAb,MACEC,KAAD,IAAmBd,OAAO,CAAC,OAAO;EAAEc;AAAF,CAAP,CAAD,EAAoB,CAACA,KAAD,CAApB,CAD3B,CADK;AAIP,OAAO,MAAMC,WAAW,GACtB,iBAAAd,WAAW,UAAX,oDAAac,WAAb,KAA4BL,yBADvB;AAEP,OAAO,MAAMM,UAAU,GAAG,iBAAAf,WAAW,UAAX,oDAAae,UAAb,KAA2BN,yBAA9C;AACP,OAAO,MAAMO,OAAO,GAAG,iBAAAhB,WAAW,UAAX,oDAAagB,OAAb,KAAwBP,yBAAxC;AACP,OAAO,MAAMQ,aAAa,GACxBJ,KAD2B,IAEK;EAChCF,yBAAyB;EACzB,OAAO,CAAC,CAACE,KAAF,IAAWZ,WAAW,CAACgB,aAAZ,CAA0BJ,KAA1B,CAAlB;AACD,CALM"}
|