@shopify/react-native-skia 2.5.4 → 2.6.0
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/android/src/main/java/com/shopify/reactnative/skia/WebGPUViewManager.java +7 -7
- package/apple/{WebGPUView.h → SkiaWebGPUView.h} +1 -1
- package/apple/{WebGPUView.mm → SkiaWebGPUView.mm} +7 -7
- package/cpp/api/CustomBlendModes.h +1 -0
- package/cpp/api/JsiSkApi.h +4 -0
- package/cpp/api/JsiSkCanvas.h +2 -2
- package/cpp/api/JsiSkContourMeasureIter.h +1 -1
- package/cpp/api/JsiSkPath.h +483 -355
- package/cpp/api/JsiSkPathBuilder.h +415 -0
- package/cpp/api/JsiSkPathBuilderFactory.h +53 -0
- package/cpp/api/JsiSkPathEffectFactory.h +2 -2
- package/cpp/api/JsiSkPathFactory.h +274 -3
- package/cpp/api/recorder/DataTypes.h +1 -1
- package/cpp/api/recorder/Drawings.h +6 -2
- package/cpp/rnskia/RNDawnContext.h +21 -0
- package/cpp/rnskia/RNDawnUtils.h +115 -113
- package/lib/commonjs/animation/functions/interpolatePaths.d.ts +1 -1
- package/lib/commonjs/animation/functions/interpolatePaths.js +5 -4
- package/lib/commonjs/animation/functions/interpolatePaths.js.map +1 -1
- package/lib/commonjs/external/reanimated/interpolators.d.ts +11 -2
- package/lib/commonjs/external/reanimated/interpolators.js +21 -4
- package/lib/commonjs/external/reanimated/interpolators.js.map +1 -1
- package/lib/commonjs/skia/types/Path/PathBuilder.d.ts +201 -0
- package/lib/commonjs/skia/types/Path/PathBuilder.js +6 -0
- package/lib/commonjs/skia/types/Path/PathBuilder.js.map +1 -0
- package/lib/commonjs/skia/types/Path/PathBuilderFactory.d.ts +13 -0
- package/lib/commonjs/skia/types/Path/PathBuilderFactory.js +6 -0
- package/lib/commonjs/skia/types/Path/PathBuilderFactory.js.map +1 -0
- package/lib/commonjs/skia/types/Path/PathFactory.d.ts +87 -1
- package/lib/commonjs/skia/types/Path/PathFactory.js.map +1 -1
- package/lib/commonjs/skia/types/Path/index.d.ts +2 -0
- package/lib/commonjs/skia/types/Path/index.js +22 -0
- package/lib/commonjs/skia/types/Path/index.js.map +1 -1
- package/lib/commonjs/skia/types/Skia.d.ts +2 -1
- package/lib/commonjs/skia/types/Skia.js.map +1 -1
- package/lib/commonjs/skia/web/Host.js +1 -3
- package/lib/commonjs/skia/web/Host.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +6 -2
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js +4 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.d.ts +42 -30
- package/lib/commonjs/skia/web/JsiSkPath.js +302 -111
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathBuilder.d.ts +45 -0
- package/lib/commonjs/skia/web/JsiSkPathBuilder.js +192 -0
- package/lib/commonjs/skia/web/JsiSkPathBuilder.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkPathBuilderFactory.d.ts +9 -0
- package/lib/commonjs/skia/web/JsiSkPathBuilderFactory.js +26 -0
- package/lib/commonjs/skia/web/JsiSkPathBuilderFactory.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js +6 -2
- package/lib/commonjs/skia/web/JsiSkPathEffectFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathFactory.d.ts +13 -1
- package/lib/commonjs/skia/web/JsiSkPathFactory.js +140 -5
- package/lib/commonjs/skia/web/JsiSkPathFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +8 -1
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/commands/Drawing.js +18 -6
- package/lib/commonjs/sksg/Recorder/commands/Drawing.js.map +1 -1
- package/lib/commonjs/specs/SkiaPictureViewNativeComponent.d.ts +2 -2
- package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js +2 -3
- package/lib/commonjs/specs/SkiaPictureViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +2 -2
- package/lib/commonjs/specs/WebGPUViewNativeComponent.js +2 -3
- package/lib/commonjs/specs/WebGPUViewNativeComponent.js.map +1 -1
- package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js +2 -0
- package/lib/commonjs/specs/WebGPUViewNativeComponent.web.js.map +1 -1
- package/lib/module/animation/functions/interpolatePaths.d.ts +1 -1
- package/lib/module/animation/functions/interpolatePaths.js +5 -4
- package/lib/module/animation/functions/interpolatePaths.js.map +1 -1
- package/lib/module/external/reanimated/interpolators.d.ts +11 -2
- package/lib/module/external/reanimated/interpolators.js +21 -4
- package/lib/module/external/reanimated/interpolators.js.map +1 -1
- package/lib/module/skia/types/Path/PathBuilder.d.ts +201 -0
- package/lib/module/skia/types/Path/PathBuilder.js +2 -0
- package/lib/module/skia/types/Path/PathBuilder.js.map +1 -0
- package/lib/module/skia/types/Path/PathBuilderFactory.d.ts +13 -0
- package/lib/module/skia/types/Path/PathBuilderFactory.js +2 -0
- package/lib/module/skia/types/Path/PathBuilderFactory.js.map +1 -0
- package/lib/module/skia/types/Path/PathFactory.d.ts +87 -1
- package/lib/module/skia/types/Path/PathFactory.js.map +1 -1
- package/lib/module/skia/types/Path/index.d.ts +2 -0
- package/lib/module/skia/types/Path/index.js +2 -0
- package/lib/module/skia/types/Path/index.js.map +1 -1
- package/lib/module/skia/types/Skia.d.ts +2 -1
- package/lib/module/skia/types/Skia.js.map +1 -1
- package/lib/module/skia/web/Host.js +1 -3
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +6 -2
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasure.js +4 -1
- package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.d.ts +42 -30
- package/lib/module/skia/web/JsiSkPath.js +300 -110
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathBuilder.d.ts +45 -0
- package/lib/module/skia/web/JsiSkPathBuilder.js +186 -0
- package/lib/module/skia/web/JsiSkPathBuilder.js.map +1 -0
- package/lib/module/skia/web/JsiSkPathBuilderFactory.d.ts +9 -0
- package/lib/module/skia/web/JsiSkPathBuilderFactory.js +19 -0
- package/lib/module/skia/web/JsiSkPathBuilderFactory.js.map +1 -0
- package/lib/module/skia/web/JsiSkPathEffectFactory.js +6 -2
- package/lib/module/skia/web/JsiSkPathEffectFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathFactory.d.ts +13 -1
- package/lib/module/skia/web/JsiSkPathFactory.js +141 -6
- package/lib/module/skia/web/JsiSkPathFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +8 -1
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/sksg/Recorder/commands/Drawing.js +18 -6
- package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
- package/lib/module/specs/SkiaPictureViewNativeComponent.d.ts +2 -2
- package/lib/module/specs/SkiaPictureViewNativeComponent.js +1 -1
- package/lib/module/specs/SkiaPictureViewNativeComponent.js.map +1 -1
- package/lib/module/specs/WebGPUViewNativeComponent.d.ts +2 -2
- package/lib/module/specs/WebGPUViewNativeComponent.js +2 -2
- package/lib/module/specs/WebGPUViewNativeComponent.js.map +1 -1
- package/lib/module/specs/WebGPUViewNativeComponent.web.js +2 -0
- package/lib/module/specs/WebGPUViewNativeComponent.web.js.map +1 -1
- package/lib/typescript/lib/commonjs/animation/functions/interpolatePaths.d.ts +1 -1
- package/lib/typescript/lib/commonjs/external/reanimated/interpolators.d.ts +1 -1
- package/lib/typescript/lib/commonjs/skia/types/Path/PathBuilder.d.ts +1 -0
- package/lib/typescript/lib/commonjs/skia/types/Path/PathBuilderFactory.d.ts +1 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkPath.d.ts +33 -25
- package/lib/typescript/lib/commonjs/skia/web/JsiSkPathBuilder.d.ts +46 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkPathBuilderFactory.d.ts +7 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkPathFactory.d.ts +12 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +2 -0
- package/lib/typescript/lib/commonjs/specs/SkiaPictureViewNativeComponent.d.ts +2 -1
- package/lib/typescript/lib/commonjs/specs/WebGPUViewNativeComponent.d.ts +2 -1
- package/lib/typescript/lib/module/animation/functions/interpolatePaths.d.ts +1 -1
- package/lib/typescript/lib/module/external/reanimated/interpolators.d.ts +1 -1
- package/lib/typescript/lib/module/mock/index.d.ts +1 -1
- package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -0
- package/lib/typescript/lib/module/skia/types/Path/PathBuilder.d.ts +1 -0
- package/lib/typescript/lib/module/skia/types/Path/PathBuilderFactory.d.ts +1 -0
- package/lib/typescript/lib/module/skia/types/Path/index.d.ts +2 -0
- package/lib/typescript/lib/module/skia/web/JsiSkPath.d.ts +38 -25
- package/lib/typescript/lib/module/skia/web/JsiSkPathBuilder.d.ts +45 -0
- package/lib/typescript/lib/module/skia/web/JsiSkPathBuilderFactory.d.ts +6 -0
- package/lib/typescript/lib/module/skia/web/JsiSkPathFactory.d.ts +12 -0
- package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +2 -0
- package/lib/typescript/lib/module/specs/SkiaPictureViewNativeComponent.d.ts +1 -1
- package/lib/typescript/lib/module/specs/WebGPUViewNativeComponent.d.ts +1 -1
- package/lib/typescript/src/animation/functions/interpolatePaths.d.ts +1 -1
- package/lib/typescript/src/external/reanimated/interpolators.d.ts +11 -2
- package/lib/typescript/src/skia/types/Path/PathBuilder.d.ts +201 -0
- package/lib/typescript/src/skia/types/Path/PathBuilderFactory.d.ts +13 -0
- package/lib/typescript/src/skia/types/Path/PathFactory.d.ts +87 -1
- package/lib/typescript/src/skia/types/Path/index.d.ts +2 -0
- package/lib/typescript/src/skia/types/Skia.d.ts +2 -1
- package/lib/typescript/src/skia/web/JsiSkPath.d.ts +42 -30
- package/lib/typescript/src/skia/web/JsiSkPathBuilder.d.ts +45 -0
- package/lib/typescript/src/skia/web/JsiSkPathBuilderFactory.d.ts +9 -0
- package/lib/typescript/src/skia/web/JsiSkPathFactory.d.ts +13 -1
- package/lib/typescript/src/specs/SkiaPictureViewNativeComponent.d.ts +2 -2
- package/lib/typescript/src/specs/WebGPUViewNativeComponent.d.ts +2 -2
- package/package.json +4 -3
- package/scripts/install-libs.js +16 -6
- package/src/animation/functions/interpolatePaths.ts +5 -6
- package/src/external/reanimated/interpolators.ts +25 -5
- package/src/skia/types/Path/PathBuilder.ts +303 -0
- package/src/skia/types/Path/PathBuilderFactory.ts +15 -0
- package/src/skia/types/Path/PathFactory.ts +108 -1
- package/src/skia/types/Path/index.ts +2 -0
- package/src/skia/types/Skia.ts +2 -1
- package/src/skia/web/Host.ts +7 -1
- package/src/skia/web/JsiSkCanvas.ts +6 -6
- package/src/skia/web/JsiSkContourMeasure.ts +4 -4
- package/src/skia/web/JsiSkPath.ts +451 -168
- package/src/skia/web/JsiSkPathBuilder.ts +293 -0
- package/src/skia/web/JsiSkPathBuilderFactory.ts +32 -0
- package/src/skia/web/JsiSkPathEffectFactory.ts +6 -2
- package/src/skia/web/JsiSkPathFactory.ts +231 -8
- package/src/skia/web/JsiSkia.ts +11 -8
- package/src/sksg/Recorder/commands/Drawing.ts +20 -7
- package/src/specs/SkiaPictureViewNativeComponent.ts +1 -2
- package/src/specs/WebGPUViewNativeComponent.ts +3 -3
- package/src/specs/WebGPUViewNativeComponent.web.ts +2 -0
|
@@ -6,37 +6,172 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.JsiSkPathFactory = void 0;
|
|
7
7
|
var _Host = require("./Host");
|
|
8
8
|
var _JsiSkPath = require("./JsiSkPath");
|
|
9
|
+
var _JsiSkPoint = require("./JsiSkPoint");
|
|
10
|
+
var _JsiSkRect = require("./JsiSkRect");
|
|
11
|
+
var _JsiSkRRect = require("./JsiSkRRect");
|
|
12
|
+
const pinT = t => Math.min(Math.max(t, 0), 1);
|
|
9
13
|
class JsiSkPathFactory extends _Host.Host {
|
|
10
14
|
constructor(CanvasKit) {
|
|
11
15
|
super(CanvasKit);
|
|
12
16
|
}
|
|
13
17
|
Make() {
|
|
14
|
-
return new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.
|
|
18
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder());
|
|
15
19
|
}
|
|
16
20
|
MakeFromSVGString(str) {
|
|
17
21
|
const path = this.CanvasKit.Path.MakeFromSVGString(str);
|
|
18
22
|
if (path === null) {
|
|
19
23
|
return null;
|
|
20
24
|
}
|
|
21
|
-
|
|
25
|
+
const result = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(path));
|
|
26
|
+
path.delete();
|
|
27
|
+
return result;
|
|
22
28
|
}
|
|
23
29
|
MakeFromOp(one, two, op) {
|
|
24
|
-
const
|
|
30
|
+
const p1 = _JsiSkPath.JsiSkPath.fromValue(one).snapshot();
|
|
31
|
+
const p2 = _JsiSkPath.JsiSkPath.fromValue(two).snapshot();
|
|
32
|
+
const path = this.CanvasKit.Path.MakeFromOp(p1, p2, (0, _Host.getEnum)(this.CanvasKit, "PathOp", op));
|
|
33
|
+
p1.delete();
|
|
34
|
+
p2.delete();
|
|
25
35
|
if (path === null) {
|
|
26
36
|
return null;
|
|
27
37
|
}
|
|
28
|
-
|
|
38
|
+
const result = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(path));
|
|
39
|
+
path.delete();
|
|
40
|
+
return result;
|
|
29
41
|
}
|
|
30
42
|
MakeFromCmds(cmds) {
|
|
31
43
|
const path = this.CanvasKit.Path.MakeFromCmds(cmds.flat());
|
|
32
44
|
if (path === null) {
|
|
33
45
|
return null;
|
|
34
46
|
}
|
|
35
|
-
|
|
47
|
+
const result = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(path));
|
|
48
|
+
path.delete();
|
|
49
|
+
return result;
|
|
36
50
|
}
|
|
37
51
|
MakeFromText(_text, _x, _y, _font) {
|
|
38
52
|
return (0, _Host.throwNotImplementedOnRNWeb)();
|
|
39
53
|
}
|
|
54
|
+
|
|
55
|
+
// Static shape factories
|
|
56
|
+
|
|
57
|
+
Rect(rect, isCCW) {
|
|
58
|
+
const builder = new this.CanvasKit.PathBuilder();
|
|
59
|
+
builder.addRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);
|
|
60
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
|
|
61
|
+
}
|
|
62
|
+
Oval(rect, isCCW, startIndex) {
|
|
63
|
+
const builder = new this.CanvasKit.PathBuilder();
|
|
64
|
+
builder.addOval(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), isCCW, startIndex);
|
|
65
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
|
|
66
|
+
}
|
|
67
|
+
Circle(x, y, r) {
|
|
68
|
+
const builder = new this.CanvasKit.PathBuilder();
|
|
69
|
+
builder.addCircle(x, y, r);
|
|
70
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
|
|
71
|
+
}
|
|
72
|
+
RRect(rrect, isCCW) {
|
|
73
|
+
const builder = new this.CanvasKit.PathBuilder();
|
|
74
|
+
builder.addRRect(_JsiSkRRect.JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);
|
|
75
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
|
|
76
|
+
}
|
|
77
|
+
Line(p1, p2) {
|
|
78
|
+
const builder = new this.CanvasKit.PathBuilder();
|
|
79
|
+
const pt1 = _JsiSkPoint.JsiSkPoint.fromValue(p1);
|
|
80
|
+
const pt2 = _JsiSkPoint.JsiSkPoint.fromValue(p2);
|
|
81
|
+
builder.moveTo(pt1[0], pt1[1]);
|
|
82
|
+
builder.lineTo(pt2[0], pt2[1]);
|
|
83
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
|
|
84
|
+
}
|
|
85
|
+
Polygon(points, close) {
|
|
86
|
+
const builder = new this.CanvasKit.PathBuilder();
|
|
87
|
+
builder.addPolygon(points.map(p => Array.from(_JsiSkPoint.JsiSkPoint.fromValue(p))).flat(), close);
|
|
88
|
+
return new _JsiSkPath.JsiSkPath(this.CanvasKit, builder);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Static path operations
|
|
92
|
+
|
|
93
|
+
Stroke(srcPath, opts) {
|
|
94
|
+
const path = _JsiSkPath.JsiSkPath.fromValue(srcPath).snapshot();
|
|
95
|
+
const result = path.makeStroked(opts === undefined ? undefined : {
|
|
96
|
+
width: opts.width,
|
|
97
|
+
// eslint-disable-next-line camelcase
|
|
98
|
+
miter_limit: opts.miter_limit,
|
|
99
|
+
precision: opts.precision,
|
|
100
|
+
join: (0, _Host.optEnum)(this.CanvasKit, "StrokeJoin", opts.join),
|
|
101
|
+
cap: (0, _Host.optEnum)(this.CanvasKit, "StrokeCap", opts.cap)
|
|
102
|
+
});
|
|
103
|
+
path.delete();
|
|
104
|
+
if (result === null) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(result));
|
|
108
|
+
result.delete();
|
|
109
|
+
return r;
|
|
110
|
+
}
|
|
111
|
+
Trim(srcPath, start, end, isComplement) {
|
|
112
|
+
const startT = pinT(start);
|
|
113
|
+
const stopT = pinT(end);
|
|
114
|
+
const path = _JsiSkPath.JsiSkPath.fromValue(srcPath).snapshot();
|
|
115
|
+
if (startT <= 0 && stopT >= 1 && !isComplement) {
|
|
116
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(path));
|
|
117
|
+
path.delete();
|
|
118
|
+
return r;
|
|
119
|
+
}
|
|
120
|
+
const result = path.makeTrimmed(startT, stopT, isComplement);
|
|
121
|
+
path.delete();
|
|
122
|
+
if (result === null) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(result));
|
|
126
|
+
result.delete();
|
|
127
|
+
return r;
|
|
128
|
+
}
|
|
129
|
+
Simplify(srcPath) {
|
|
130
|
+
const path = _JsiSkPath.JsiSkPath.fromValue(srcPath).snapshot();
|
|
131
|
+
const result = path.makeSimplified();
|
|
132
|
+
path.delete();
|
|
133
|
+
if (result === null) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(result));
|
|
137
|
+
result.delete();
|
|
138
|
+
return r;
|
|
139
|
+
}
|
|
140
|
+
Dash(srcPath, on, off, phase) {
|
|
141
|
+
const path = _JsiSkPath.JsiSkPath.fromValue(srcPath).snapshot();
|
|
142
|
+
const result = path.makeDashed(on, off, phase);
|
|
143
|
+
path.delete();
|
|
144
|
+
if (result === null) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(result));
|
|
148
|
+
result.delete();
|
|
149
|
+
return r;
|
|
150
|
+
}
|
|
151
|
+
AsWinding(srcPath) {
|
|
152
|
+
const path = _JsiSkPath.JsiSkPath.fromValue(srcPath).snapshot();
|
|
153
|
+
const result = path.makeAsWinding();
|
|
154
|
+
path.delete();
|
|
155
|
+
if (result === null) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(result));
|
|
159
|
+
result.delete();
|
|
160
|
+
return r;
|
|
161
|
+
}
|
|
162
|
+
Interpolate(start, end, weight) {
|
|
163
|
+
const p1 = _JsiSkPath.JsiSkPath.fromValue(start).snapshot();
|
|
164
|
+
const p2 = _JsiSkPath.JsiSkPath.fromValue(end).snapshot();
|
|
165
|
+
const path = this.CanvasKit.Path.MakeFromPathInterpolation(p1, p2, weight);
|
|
166
|
+
p1.delete();
|
|
167
|
+
p2.delete();
|
|
168
|
+
if (path === null) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
const r = new _JsiSkPath.JsiSkPath(this.CanvasKit, new this.CanvasKit.PathBuilder(path));
|
|
172
|
+
path.delete();
|
|
173
|
+
return r;
|
|
174
|
+
}
|
|
40
175
|
}
|
|
41
176
|
exports.JsiSkPathFactory = JsiSkPathFactory;
|
|
42
177
|
//# sourceMappingURL=JsiSkPathFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Host","require","_JsiSkPath","JsiSkPathFactory","Host","constructor","CanvasKit","Make","JsiSkPath","Path","MakeFromSVGString","str","path","MakeFromOp","one","two","op","fromValue","getEnum","MakeFromCmds","cmds","flat","MakeFromText","_text","_x","_y","_font","throwNotImplementedOnRNWeb","exports"],"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,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,SAASC,UAAI,CAAwB;EAChEC,WAAWA,CAACC,SAAoB,EAAE;IAChC,KAAK,CAACA,SAAS,CAAC;EAClB;EAEAC,IAAIA,CAAA,EAAG;IACL,OAAO,IAAIC,oBAAS,CAAC,IAAI,CAACF,SAAS,EAAE,IAAI,IAAI,CAACA,SAAS,CAACG,IAAI,CAAC,CAAC,CAAC;EACjE;EAEAC,iBAAiBA,CAACC,GAAW,EAAE;IAC7B,MAAMC,IAAI,GAAG,IAAI,CAACN,SAAS,CAACG,IAAI,CAACC,iBAAiB,CAACC,GAAG,CAAC;IACvD,IAAIC,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACA,OAAO,IAAIJ,oBAAS,CAAC,IAAI,CAACF,SAAS,EAAEM,IAAI,CAAC;EAC5C;EAEAC,UAAUA,CAACC,GAAW,EAAEC,GAAW,EAAEC,EAAU,EAAE;IAC/C,MAAMJ,IAAI,GAAG,IAAI,CAACN,SAAS,CAACG,IAAI,CAACI,UAAU,CACzCL,oBAAS,CAACS,SAAS,CAACH,GAAG,CAAC,EACxBN,oBAAS,CAACS,SAAS,CAACF,GAAG,CAAC,EACxB,IAAAG,aAAO,EAAC,IAAI,CAACZ,SAAS,EAAE,QAAQ,EAAEU,EAAE,CACtC,CAAC;IACD,IAAIJ,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACA,OAAO,IAAIJ,oBAAS,CAAC,IAAI,CAACF,SAAS,EAAEM,IAAI,CAAC;EAC5C;EAEAO,YAAYA,CAACC,IAAmB,EAAE;IAChC,MAAMR,IAAI,GAAG,IAAI,CAACN,SAAS,CAACG,IAAI,CAACU,YAAY,CAACC,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAIT,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,IAAI;IACb;IACA,OAAO,IAAIJ,oBAAS,CAAC,IAAI,CAACF,SAAS,EAAEM,IAAI,CAAC;EAC5C;EAEAU,YAAYA,CAACC,KAAa,EAAEC,EAAU,EAAEC,EAAU,EAAEC,KAAa,EAAE;IACjE,OAAO,IAAAC,gCAA0B,EAAS,CAAC;EAC7C;AACF;AAACC,OAAA,CAAAzB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_Host","require","_JsiSkPath","_JsiSkPoint","_JsiSkRect","_JsiSkRRect","pinT","t","Math","min","max","JsiSkPathFactory","Host","constructor","CanvasKit","Make","JsiSkPath","PathBuilder","MakeFromSVGString","str","path","Path","result","delete","MakeFromOp","one","two","op","p1","fromValue","snapshot","p2","getEnum","MakeFromCmds","cmds","flat","MakeFromText","_text","_x","_y","_font","throwNotImplementedOnRNWeb","Rect","rect","isCCW","builder","addRect","JsiSkRect","Oval","startIndex","addOval","Circle","x","y","r","addCircle","RRect","rrect","addRRect","JsiSkRRect","Line","pt1","JsiSkPoint","pt2","moveTo","lineTo","Polygon","points","close","addPolygon","map","p","Array","from","Stroke","srcPath","opts","makeStroked","undefined","width","miter_limit","precision","join","optEnum","cap","Trim","start","end","isComplement","startT","stopT","makeTrimmed","Simplify","makeSimplified","Dash","on","off","phase","makeDashed","AsWinding","makeAsWinding","Interpolate","weight","MakeFromPathInterpolation","exports"],"sources":["JsiSkPathFactory.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n InputRRect,\n PathCommand,\n PathOp,\n SkFont,\n SkPath,\n SkPoint,\n SkRect,\n StrokeOpts,\n} from \"../types\";\nimport type { PathFactory } from \"../types/Path/PathFactory\";\n\nimport { Host, getEnum, optEnum, throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\nconst pinT = (t: number) => Math.min(Math.max(t, 0), 1);\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.PathBuilder());\n }\n\n MakeFromSVGString(str: string) {\n const path = this.CanvasKit.Path.MakeFromSVGString(str);\n if (path === null) {\n return null;\n }\n const result = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return result;\n }\n\n MakeFromOp(one: SkPath, two: SkPath, op: PathOp) {\n const p1 =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n one\n ).snapshot();\n const p2 =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n two\n ).snapshot();\n const path = this.CanvasKit.Path.MakeFromOp(\n p1,\n p2,\n getEnum(this.CanvasKit, \"PathOp\", op)\n );\n p1.delete();\n p2.delete();\n if (path === null) {\n return null;\n }\n const result = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return result;\n }\n\n MakeFromCmds(cmds: PathCommand[]) {\n const path = this.CanvasKit.Path.MakeFromCmds(cmds.flat());\n if (path === null) {\n return null;\n }\n const result = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return result;\n }\n\n MakeFromText(_text: string, _x: number, _y: number, _font: SkFont) {\n return throwNotImplementedOnRNWeb<SkPath>();\n }\n\n // Static shape factories\n\n Rect(rect: SkRect, isCCW?: boolean) {\n const builder = new this.CanvasKit.PathBuilder();\n builder.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n Oval(rect: SkRect, isCCW?: boolean, startIndex?: number) {\n const builder = new this.CanvasKit.PathBuilder();\n builder.addOval(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n isCCW,\n startIndex\n );\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n Circle(x: number, y: number, r: number) {\n const builder = new this.CanvasKit.PathBuilder();\n builder.addCircle(x, y, r);\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n RRect(rrect: InputRRect, isCCW?: boolean) {\n const builder = new this.CanvasKit.PathBuilder();\n builder.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n Line(p1: SkPoint, p2: SkPoint) {\n const builder = new this.CanvasKit.PathBuilder();\n const pt1 = JsiSkPoint.fromValue(p1);\n const pt2 = JsiSkPoint.fromValue(p2);\n builder.moveTo(pt1[0], pt1[1]);\n builder.lineTo(pt2[0], pt2[1]);\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n Polygon(points: SkPoint[], close: boolean) {\n const builder = new this.CanvasKit.PathBuilder();\n builder.addPolygon(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return new JsiSkPath(this.CanvasKit, builder);\n }\n\n // Static path operations\n\n Stroke(srcPath: SkPath, opts?: StrokeOpts) {\n const path =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n srcPath\n ).snapshot();\n const result = path.makeStroked(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.miter_limit,\n precision: opts.precision,\n join: optEnum(this.CanvasKit, \"StrokeJoin\", opts.join),\n cap: optEnum(this.CanvasKit, \"StrokeCap\", opts.cap),\n }\n );\n path.delete();\n if (result === null) {\n return null;\n }\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(result)\n );\n result.delete();\n return r;\n }\n\n Trim(srcPath: SkPath, start: number, end: number, isComplement: boolean) {\n const startT = pinT(start);\n const stopT = pinT(end);\n const path =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n srcPath\n ).snapshot();\n if (startT <= 0 && stopT >= 1 && !isComplement) {\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return r;\n }\n const result = path.makeTrimmed(startT, stopT, isComplement);\n path.delete();\n if (result === null) {\n return null;\n }\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(result)\n );\n result.delete();\n return r;\n }\n\n Simplify(srcPath: SkPath) {\n const path =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n srcPath\n ).snapshot();\n const result = path.makeSimplified();\n path.delete();\n if (result === null) {\n return null;\n }\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(result)\n );\n result.delete();\n return r;\n }\n\n Dash(srcPath: SkPath, on: number, off: number, phase: number) {\n const path =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n srcPath\n ).snapshot();\n const result = path.makeDashed(on, off, phase);\n path.delete();\n if (result === null) {\n return null;\n }\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(result)\n );\n result.delete();\n return r;\n }\n\n AsWinding(srcPath: SkPath) {\n const path =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n srcPath\n ).snapshot();\n const result = path.makeAsWinding();\n path.delete();\n if (result === null) {\n return null;\n }\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(result)\n );\n result.delete();\n return r;\n }\n\n Interpolate(start: SkPath, end: SkPath, weight: number) {\n const p1 =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n start\n ).snapshot();\n const p2 =\n JsiSkPath.fromValue<CanvasKit[\"PathBuilder\"][\"prototype\"]>(\n end\n ).snapshot();\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(p1, p2, weight);\n p1.delete();\n p2.delete();\n if (path === null) {\n return null;\n }\n const r = new JsiSkPath(\n this.CanvasKit,\n new this.CanvasKit.PathBuilder(path)\n );\n path.delete();\n return r;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,6 +15,7 @@ var _JsiSkContourMeasureIter = require("./JsiSkContourMeasureIter");
|
|
|
15
15
|
var _JsiSkPictureRecorder = require("./JsiSkPictureRecorder");
|
|
16
16
|
var _JsiSkPictureFactory = require("./JsiSkPictureFactory");
|
|
17
17
|
var _JsiSkPathFactory = require("./JsiSkPathFactory");
|
|
18
|
+
var _JsiSkPathBuilderFactory = require("./JsiSkPathBuilderFactory");
|
|
18
19
|
var _JsiSkMatrix = require("./JsiSkMatrix");
|
|
19
20
|
var _JsiSkColorFilterFactory = require("./JsiSkColorFilterFactory");
|
|
20
21
|
var _JsiSkTypefaceFactory = require("./JsiSkTypefaceFactory");
|
|
@@ -52,7 +53,12 @@ const JsiSkApi = CanvasKit => ({
|
|
|
52
53
|
return new _JsiSkRSXform.JsiSkRSXform(CanvasKit, Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py));
|
|
53
54
|
},
|
|
54
55
|
Color: _JsiSkColor.Color,
|
|
55
|
-
ContourMeasureIter: (path, forceClosed, resScale) =>
|
|
56
|
+
ContourMeasureIter: (path, forceClosed, resScale) => (() => {
|
|
57
|
+
const p = _JsiSkPath.JsiSkPath.pathFromValue(path);
|
|
58
|
+
const iter = new _JsiSkContourMeasureIter.JsiSkContourMeasureIter(CanvasKit, new CanvasKit.ContourMeasureIter(p, forceClosed, resScale));
|
|
59
|
+
p.delete();
|
|
60
|
+
return iter;
|
|
61
|
+
})(),
|
|
56
62
|
Paint: () => {
|
|
57
63
|
const paint = new _JsiSkPaint.JsiSkPaint(CanvasKit, new CanvasKit.Paint());
|
|
58
64
|
paint.setAntiAlias(true);
|
|
@@ -61,6 +67,7 @@ const JsiSkApi = CanvasKit => ({
|
|
|
61
67
|
PictureRecorder: () => new _JsiSkPictureRecorder.JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),
|
|
62
68
|
Picture: new _JsiSkPictureFactory.JsiSkPictureFactory(CanvasKit),
|
|
63
69
|
Path: new _JsiSkPathFactory.JsiSkPathFactory(CanvasKit),
|
|
70
|
+
PathBuilder: new _JsiSkPathBuilderFactory.JsiSkPathBuilderFactory(CanvasKit),
|
|
64
71
|
Matrix: matrix => new _JsiSkMatrix.JsiSkMatrix(CanvasKit, matrix ? Float32Array.of(...matrix) : Float32Array.of(...CanvasKit.Matrix.identity())),
|
|
65
72
|
ColorFilter: new _JsiSkColorFilterFactory.JsiSkColorFilterFactory(CanvasKit),
|
|
66
73
|
Font: (typeface, size) => new _JsiSkFont.JsiSkFont(CanvasKit, new CanvasKit.Font(typeface === undefined ? null : _JsiSkTypeface.JsiSkTypeface.fromValue(typeface), size)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_JsiSkPoint","require","_JsiSkPaint","_JsiSkRect","_JsiSkColor","_JsiSkSurfaceFactory","_JsiSkRRect","_JsiSkRSXform","_JsiSkContourMeasureIter","_JsiSkPictureRecorder","_JsiSkPictureFactory","_JsiSkPathFactory","_JsiSkMatrix","_JsiSkColorFilterFactory","_JsiSkTypefaceFactory","_JsiSkMaskFilterFactory","_JsiSkRuntimeEffectFactory","_JsiSkImageFilterFactory","_JsiSkShaderFactory","_JsiSkPathEffectFactory","_JsiSkDataFactory","_JsiSkImageFactory","_JsiSkSVGFactory","_JsiSkTextBlobFactory","_JsiSkFont","_JsiSkVerticesFactory","_JsiSkPath","_JsiSkTypeface","_JsiSkTypefaceFontProviderFactory","_JsiSkFontMgrFactory","_JsiSkAnimatedImageFactory","_JsiSkParagraphBuilderFactory","_JsiSkNativeBufferFactory","_JsiVideo","_Host","_JsiSkottieFactory","JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","throwNotImplementedOnRNWeb","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","RSXformFromRadians","scale","r","px","py","s","Math","sin","c","cos","Color","ContourMeasureIter","path","forceClosed","resScale","JsiSkContourMeasureIter","JsiSkPath","fromValue","Paint","paint","JsiSkPaint","setAntiAlias","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","JsiSkTypeface","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","AnimatedImage","JsiSkAnimatedImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory","TypefaceFontProvider","JsiSkTypefaceFontProviderFactory","FontMgr","JsiSkFontMgrFactory","ParagraphBuilder","JsiSkParagraphBuilderFactory","NativeBuffer","JsiSkNativeBufferFactory","Skottie","JsiSkottieFactory","Video","createVideo","Context","_surface","_width","_height","Recorder","getDevice","hasDevice","exports"],"sources":["JsiSkia.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n JsiRecorder,\n SkContourMeasureIter,\n Skia,\n SkiaContext,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { JsiSkTypefaceFontProviderFactory } from \"./JsiSkTypefaceFontProviderFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkAnimatedImageFactory } from \"./JsiSkAnimatedImageFactory\";\nimport { JsiSkParagraphBuilderFactory } from \"./JsiSkParagraphBuilderFactory\";\nimport { JsiSkNativeBufferFactory } from \"./JsiSkNativeBufferFactory\";\nimport { createVideo } from \"./JsiVideo\";\nimport { throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkottieFactory } from \"./JsiSkottieFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect) => {\n return throwNotImplementedOnRNWeb<SkRuntimeShaderBuilder>();\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, rect, rx, ry),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n RSXformFromRadians: (\n scale: number,\n r: number,\n tx: number,\n ty: number,\n px: number,\n py: number\n ) => {\n const s = Math.sin(r) * scale;\n const c = Math.cos(r) * scale;\n return new JsiSkRSXform(\n CanvasKit,\n Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py)\n );\n },\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(\n JsiSkPath.fromValue(path),\n forceClosed,\n resScale\n )\n ),\n Paint: () => {\n const paint = new JsiSkPaint(CanvasKit, new CanvasKit.Paint());\n paint.setAntiAlias(true);\n return paint;\n },\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : JsiSkTypeface.fromValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n AnimatedImage: new JsiSkAnimatedImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n TypefaceFontProvider: new JsiSkTypefaceFontProviderFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),\n NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),\n Skottie: new JsiSkottieFactory(CanvasKit),\n Video: createVideo.bind(null, CanvasKit),\n Context: (_surface: bigint, _width: number, _height: number) => {\n return throwNotImplementedOnRNWeb<SkiaContext>();\n },\n Recorder: () => {\n return throwNotImplementedOnRNWeb<JsiRecorder>();\n },\n getDevice: () => {\n return throwNotImplementedOnRNWeb<GPUDevice>();\n },\n hasDevice: () => {\n return false;\n },\n});\n"],"mappings":";;;;;;AAcA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,wBAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,iBAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA;AACA,IAAAY,wBAAA,GAAAZ,OAAA;AACA,IAAAa,qBAAA,GAAAb,OAAA;AACA,IAAAc,uBAAA,GAAAd,OAAA;AACA,IAAAe,0BAAA,GAAAf,OAAA;AACA,IAAAgB,wBAAA,GAAAhB,OAAA;AACA,IAAAiB,mBAAA,GAAAjB,OAAA;AACA,IAAAkB,uBAAA,GAAAlB,OAAA;AACA,IAAAmB,iBAAA,GAAAnB,OAAA;AACA,IAAAoB,kBAAA,GAAApB,OAAA;AACA,IAAAqB,gBAAA,GAAArB,OAAA;AACA,IAAAsB,qBAAA,GAAAtB,OAAA;AACA,IAAAuB,UAAA,GAAAvB,OAAA;AACA,IAAAwB,qBAAA,GAAAxB,OAAA;AACA,IAAAyB,UAAA,GAAAzB,OAAA;AACA,IAAA0B,cAAA,GAAA1B,OAAA;AACA,IAAA2B,iCAAA,GAAA3B,OAAA;AACA,IAAA4B,oBAAA,GAAA5B,OAAA;AACA,IAAA6B,0BAAA,GAAA7B,OAAA;AACA,IAAA8B,6BAAA,GAAA9B,OAAA;AACA,IAAA+B,yBAAA,GAAA/B,OAAA;AACA,IAAAgC,SAAA,GAAAhC,OAAA;AACA,IAAAiC,KAAA,GAAAjC,OAAA;AACA,IAAAkC,kBAAA,GAAAlC,OAAA;AAEO,MAAMmC,QAAQ,GAAIC,SAAoB,KAAY;EACvDC,KAAK,EAAEA,CAACC,CAAS,EAAEC,CAAS,KAC1B,IAAIC,sBAAU,CAACJ,SAAS,EAAEK,YAAY,CAACC,EAAE,CAACJ,CAAC,EAAEC,CAAC,CAAC,CAAC;EAClDI,oBAAoB,EAAGC,CAAkB,IAAK;IAC5C,OAAO,IAAAC,gCAA0B,EAAyB,CAAC;EAC7D,CAAC;EACDC,OAAO,EAAEA,CAACC,IAAY,EAAEC,EAAU,EAAEC,EAAU,KAC5C,IAAIC,sBAAU,CAACd,SAAS,EAAEW,IAAI,EAAEC,EAAE,EAAEC,EAAE,CAAC;EACzCE,OAAO,EAAEA,CAACC,IAAY,EAAEC,IAAY,EAAEC,EAAU,EAAEC,EAAU,KAC1D,IAAIC,0BAAY,CAACpB,SAAS,EAAEK,YAAY,CAACC,EAAE,CAACU,IAAI,EAAEC,IAAI,EAAEC,EAAE,EAAEC,EAAE,CAAC,CAAC;EAClEE,kBAAkB,EAAEA,CAClBC,KAAa,EACbC,CAAS,EACTL,EAAU,EACVC,EAAU,EACVK,EAAU,EACVC,EAAU,KACP;IACH,MAAMC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACL,CAAC,CAAC,GAAGD,KAAK;IAC7B,MAAMO,CAAC,GAAGF,IAAI,CAACG,GAAG,CAACP,CAAC,CAAC,GAAGD,KAAK;IAC7B,OAAO,IAAIF,0BAAY,CACrBpB,SAAS,EACTK,YAAY,CAACC,EAAE,CAACuB,CAAC,EAAEH,CAAC,EAAER,EAAE,GAAGW,CAAC,GAAGL,EAAE,GAAGE,CAAC,GAAGD,EAAE,EAAEN,EAAE,GAAGO,CAAC,GAAGF,EAAE,GAAGK,CAAC,GAAGJ,EAAE,CAClE,CAAC;EACH,CAAC;EACDM,KAAK,EAALA,iBAAK;EACLC,kBAAkB,EAAEA,CAClBC,IAAY,EACZC,WAAoB,EACpBC,QAAgB,KAEhB,IAAIC,gDAAuB,CACzBpC,SAAS,EACT,IAAIA,SAAS,CAACgC,kBAAkB,CAC9BK,oBAAS,CAACC,SAAS,CAACL,IAAI,CAAC,EACzBC,WAAW,EACXC,QACF,CACF,CAAC;EACHI,KAAK,EAAEA,CAAA,KAAM;IACX,MAAMC,KAAK,GAAG,IAAIC,sBAAU,CAACzC,SAAS,EAAE,IAAIA,SAAS,CAACuC,KAAK,CAAC,CAAC,CAAC;IAC9DC,KAAK,CAACE,YAAY,CAAC,IAAI,CAAC;IACxB,OAAOF,KAAK;EACd,CAAC;EACDG,eAAe,EAAEA,CAAA,KACf,IAAIC,0CAAoB,CAAC5C,SAAS,EAAE,IAAIA,SAAS,CAAC2C,eAAe,CAAC,CAAC,CAAC;EACtEE,OAAO,EAAE,IAAIC,wCAAmB,CAAC9C,SAAS,CAAC;EAC3C+C,IAAI,EAAE,IAAIC,kCAAgB,CAAChD,SAAS,CAAC;EACrCiD,MAAM,EAAGC,MAA0B,IACjC,IAAIC,wBAAW,CACbnD,SAAS,EACTkD,MAAM,GACF7C,YAAY,CAACC,EAAE,CAAC,GAAG4C,MAAM,CAAC,GAC1B7C,YAAY,CAACC,EAAE,CAAC,GAAGN,SAAS,CAACiD,MAAM,CAACG,QAAQ,CAAC,CAAC,CACpD,CAAC;EACHC,WAAW,EAAE,IAAIC,gDAAuB,CAACtD,SAAS,CAAC;EACnDuD,IAAI,EAAEA,CAACC,QAAqB,EAAEC,IAAa,KACzC,IAAIC,oBAAS,CACX1D,SAAS,EACT,IAAIA,SAAS,CAACuD,IAAI,CAChBC,QAAQ,KAAKG,SAAS,GAAG,IAAI,GAAGC,4BAAa,CAACtB,SAAS,CAACkB,QAAQ,CAAC,EACjEC,IACF,CACF,CAAC;EACHI,QAAQ,EAAE,IAAIC,0CAAoB,CAAC9D,SAAS,CAAC;EAC7C+D,UAAU,EAAE,IAAIC,8CAAsB,CAAChE,SAAS,CAAC;EACjDiE,aAAa,EAAE,IAAIC,oDAAyB,CAAClE,SAAS,CAAC;EACvDmE,WAAW,EAAE,IAAIC,gDAAuB,CAACpE,SAAS,CAAC;EACnDqE,MAAM,EAAE,IAAIC,sCAAkB,CAACtE,SAAS,CAAC;EACzCuE,UAAU,EAAE,IAAIC,8CAAsB,CAACxE,SAAS,CAAC;EACjDyE,YAAY,EAAEA,kCAAY,CAACC,IAAI,CAAC,IAAI,EAAE1E,SAAS,CAAC;EAChD2E,IAAI,EAAE,IAAIC,kCAAgB,CAAC5E,SAAS,CAAC;EACrC6E,KAAK,EAAE,IAAIC,oCAAiB,CAAC9E,SAAS,CAAC;EACvC+E,aAAa,EAAE,IAAIC,oDAAyB,CAAChF,SAAS,CAAC;EACvDiF,GAAG,EAAE,IAAIC,gCAAe,CAAClF,SAAS,CAAC;EACnCmF,QAAQ,EAAE,IAAIC,0CAAoB,CAACpF,SAAS,CAAC;EAC7CqF,QAAQ,EAAEA,CAACnF,CAAS,EAAEC,CAAS,EAAEmF,KAAa,EAAEC,MAAc,KAAK;IACjE,OAAO,IAAIC,oBAAS,CAACxF,SAAS,EAAEA,SAAS,CAACqF,QAAQ,CAACnF,CAAC,EAAEC,CAAC,EAAEmF,KAAK,EAAEC,MAAM,CAAC,CAAC;EAC1E,CAAC;EACDE,OAAO,EAAE,IAAIC,wCAAmB,CAAC1F,SAAS,CAAC;EAC3C2F,oBAAoB,EAAE,IAAIC,kEAAgC,CAAC5F,SAAS,CAAC;EACrE6F,OAAO,EAAE,IAAIC,wCAAmB,CAAC9F,SAAS,CAAC;EAC3C+F,gBAAgB,EAAE,IAAIC,0DAA4B,CAAChG,SAAS,CAAC;EAC7DiG,YAAY,EAAE,IAAIC,kDAAwB,CAAClG,SAAS,CAAC;EACrDmG,OAAO,EAAE,IAAIC,oCAAiB,CAACpG,SAAS,CAAC;EACzCqG,KAAK,EAAEC,qBAAW,CAAC5B,IAAI,CAAC,IAAI,EAAE1E,SAAS,CAAC;EACxCuG,OAAO,EAAEA,CAACC,QAAgB,EAAEC,MAAc,EAAEC,OAAe,KAAK;IAC9D,OAAO,IAAAjG,gCAA0B,EAAc,CAAC;EAClD,CAAC;EACDkG,QAAQ,EAAEA,CAAA,KAAM;IACd,OAAO,IAAAlG,gCAA0B,EAAc,CAAC;EAClD,CAAC;EACDmG,SAAS,EAAEA,CAAA,KAAM;IACf,OAAO,IAAAnG,gCAA0B,EAAY,CAAC;EAChD,CAAC;EACDoG,SAAS,EAAEA,CAAA,KAAM;IACf,OAAO,KAAK;EACd;AACF,CAAC,CAAC;AAACC,OAAA,CAAA/G,QAAA,GAAAA,QAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_JsiSkPoint","require","_JsiSkPaint","_JsiSkRect","_JsiSkColor","_JsiSkSurfaceFactory","_JsiSkRRect","_JsiSkRSXform","_JsiSkContourMeasureIter","_JsiSkPictureRecorder","_JsiSkPictureFactory","_JsiSkPathFactory","_JsiSkPathBuilderFactory","_JsiSkMatrix","_JsiSkColorFilterFactory","_JsiSkTypefaceFactory","_JsiSkMaskFilterFactory","_JsiSkRuntimeEffectFactory","_JsiSkImageFilterFactory","_JsiSkShaderFactory","_JsiSkPathEffectFactory","_JsiSkDataFactory","_JsiSkImageFactory","_JsiSkSVGFactory","_JsiSkTextBlobFactory","_JsiSkFont","_JsiSkVerticesFactory","_JsiSkPath","_JsiSkTypeface","_JsiSkTypefaceFontProviderFactory","_JsiSkFontMgrFactory","_JsiSkAnimatedImageFactory","_JsiSkParagraphBuilderFactory","_JsiSkNativeBufferFactory","_JsiVideo","_Host","_JsiSkottieFactory","JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","throwNotImplementedOnRNWeb","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","RSXformFromRadians","scale","r","px","py","s","Math","sin","c","cos","Color","ContourMeasureIter","path","forceClosed","resScale","p","JsiSkPath","pathFromValue","iter","JsiSkContourMeasureIter","delete","Paint","paint","JsiSkPaint","setAntiAlias","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","PathBuilder","JsiSkPathBuilderFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","JsiSkTypeface","fromValue","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","AnimatedImage","JsiSkAnimatedImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory","TypefaceFontProvider","JsiSkTypefaceFontProviderFactory","FontMgr","JsiSkFontMgrFactory","ParagraphBuilder","JsiSkParagraphBuilderFactory","NativeBuffer","JsiSkNativeBufferFactory","Skottie","JsiSkottieFactory","Video","createVideo","Context","_surface","_width","_height","Recorder","getDevice","hasDevice","exports"],"sources":["JsiSkia.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n JsiRecorder,\n SkContourMeasureIter,\n Skia,\n SkiaContext,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkPathBuilderFactory } from \"./JsiSkPathBuilderFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { JsiSkTypefaceFontProviderFactory } from \"./JsiSkTypefaceFontProviderFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkAnimatedImageFactory } from \"./JsiSkAnimatedImageFactory\";\nimport { JsiSkParagraphBuilderFactory } from \"./JsiSkParagraphBuilderFactory\";\nimport { JsiSkNativeBufferFactory } from \"./JsiSkNativeBufferFactory\";\nimport { createVideo } from \"./JsiVideo\";\nimport { throwNotImplementedOnRNWeb } from \"./Host\";\nimport { JsiSkottieFactory } from \"./JsiSkottieFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect) => {\n return throwNotImplementedOnRNWeb<SkRuntimeShaderBuilder>();\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, rect, rx, ry),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n RSXformFromRadians: (\n scale: number,\n r: number,\n tx: number,\n ty: number,\n px: number,\n py: number\n ) => {\n const s = Math.sin(r) * scale;\n const c = Math.cos(r) * scale;\n return new JsiSkRSXform(\n CanvasKit,\n Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py)\n );\n },\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n (() => {\n const p = JsiSkPath.pathFromValue(path);\n const iter = new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(p, forceClosed, resScale)\n );\n p.delete();\n return iter;\n })(),\n Paint: () => {\n const paint = new JsiSkPaint(CanvasKit, new CanvasKit.Paint());\n paint.setAntiAlias(true);\n return paint;\n },\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n PathBuilder: new JsiSkPathBuilderFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : JsiSkTypeface.fromValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n AnimatedImage: new JsiSkAnimatedImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n TypefaceFontProvider: new JsiSkTypefaceFontProviderFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),\n NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),\n Skottie: new JsiSkottieFactory(CanvasKit),\n Video: createVideo.bind(null, CanvasKit),\n Context: (_surface: bigint, _width: number, _height: number) => {\n return throwNotImplementedOnRNWeb<SkiaContext>();\n },\n Recorder: () => {\n return throwNotImplementedOnRNWeb<JsiRecorder>();\n },\n getDevice: () => {\n return throwNotImplementedOnRNWeb<GPUDevice>();\n },\n hasDevice: () => {\n return false;\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -186,17 +186,29 @@ const drawPath = (ctx, props) => {
|
|
|
186
186
|
const hasEndOffset = end !== 1;
|
|
187
187
|
const hasStrokeOptions = stroke !== undefined;
|
|
188
188
|
const hasFillType = !!fillType;
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
let path = (0, _nodes.processPath)(ctx.Skia, pathProps.path);
|
|
190
|
+
|
|
191
|
+
// Apply fill type using PathBuilder
|
|
192
192
|
if (hasFillType) {
|
|
193
|
-
|
|
193
|
+
const builder = ctx.Skia.PathBuilder.MakeFromPath(path);
|
|
194
|
+
builder.setFillType(_types.FillType[(0, _nodes.enumKey)(fillType)]);
|
|
195
|
+
path = builder.build();
|
|
194
196
|
}
|
|
197
|
+
|
|
198
|
+
// Apply stroke using static Path.Stroke
|
|
195
199
|
if (hasStrokeOptions) {
|
|
196
|
-
|
|
200
|
+
const stroked = ctx.Skia.Path.Stroke(path, stroke);
|
|
201
|
+
if (stroked) {
|
|
202
|
+
path = stroked;
|
|
203
|
+
}
|
|
197
204
|
}
|
|
205
|
+
|
|
206
|
+
// Apply trim using static Path.Trim
|
|
198
207
|
if (hasStartOffset || hasEndOffset) {
|
|
199
|
-
|
|
208
|
+
const trimmed = ctx.Skia.Path.Trim(path, start, end, false);
|
|
209
|
+
if (trimmed) {
|
|
210
|
+
path = trimmed;
|
|
211
|
+
}
|
|
200
212
|
}
|
|
201
213
|
ctx.canvas.drawPath(path, ctx.paint);
|
|
202
214
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nodes","require","_processors","_types","drawLine","ctx","props","p1","p2","canvas","x","y","paint","exports","drawOval","rect","processRect","Skia","drawImage","image","sampling","_props$fit","fit","src","dst","fitRects","width","height","isCubicSampling","drawImageRectCubic","B","C","_sampling$filter","_sampling$mipmap","drawImageRectOptions","filter","FilterMode","Linear","mipmap","MipmapMode","None","drawPoints","points","mode","PointMode","enumKey","drawVertices","textures","colors","indices","blendMode","vertexMode","VertexMode","Triangles","vertices","MakeVertices","map","c","processColor","undefined","defaultBlendMode","BlendMode","DstOver","SrcOver","blend","drawDiffRect","outer","inner","drawDRRect","drawTextPath","path","processPath","font","initialOffset","text","ids","getGlyphIDs","widths","getGlyphWidths","rsx","meas","ContourMeasureIter","cont","next","dist","i","length","substring","p","t","getPosTan","adjustedX","adjustedY","push","RSXform","derived","TextBlob","MakeFromRSXform","drawTextBlob","drawText","drawPatch","texture","patch","pos","c2","c1","drawPath","start","trimStart","end","trimEnd","fillType","stroke","pathProps","Math","fround","saturate","hasStartOffset","hasEndOffset","hasStrokeOptions","hasFillType","willMutatePath","pristinePath","copy","setFillType","FillType","trim","drawRect","drawRRect","processRRect","blob","drawGlyphs","glyphs","reduce","acc","glyph","id","positions","drawImageSVG","svg","save","translate","drawSvg","restore","drawParagraph","paragraph","layout","drawPicture","picture","drawAtlas","sprites","transforms","colorBlendMode","drawCircle","processCircle","r","drawSkottie","animation","frame","seekFrame","render"],"sources":["Drawing.ts"],"sourcesContent":["import {\n enumKey,\n fitRects,\n processCircle,\n processColor,\n processPath,\n processRect,\n processRRect,\n} from \"../../../dom/nodes\";\nimport type {\n AtlasProps,\n CircleProps,\n DiffRectProps,\n GlyphsProps,\n ImageProps,\n ImageSVGProps,\n LineProps,\n OvalProps,\n ParagraphProps,\n PatchProps,\n PathProps,\n PictureProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n SkottieProps,\n TextBlobProps,\n TextPathProps,\n TextProps,\n VerticesProps,\n} from \"../../../dom/types\";\nimport { saturate } from \"../../../renderer/processors\";\nimport type { SkPoint, SkRSXform } from \"../../../skia/types\";\nimport {\n BlendMode,\n FillType,\n FilterMode,\n isCubicSampling,\n MipmapMode,\n PointMode,\n VertexMode,\n} from \"../../../skia/types\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\nexport const drawLine = (ctx: DrawingContext, props: LineProps) => {\n \"worklet\";\n const { p1, p2 } = props;\n ctx.canvas.drawLine(p1.x, p1.y, p2.x, p2.y, ctx.paint);\n};\n\nexport const drawOval = (ctx: DrawingContext, props: OvalProps) => {\n \"worklet\";\n const rect = processRect(ctx.Skia, props);\n ctx.canvas.drawOval(rect, ctx.paint);\n};\n\nexport const drawImage = (ctx: DrawingContext, props: ImageProps) => {\n \"worklet\";\n const { image, sampling } = props;\n if (image) {\n const fit = props.fit ?? \"contain\";\n const rect = processRect(ctx.Skia, props);\n const { src, dst } = fitRects(\n fit,\n {\n x: 0,\n y: 0,\n width: image.width(),\n height: image.height(),\n },\n rect\n );\n if (sampling && isCubicSampling(sampling)) {\n ctx.canvas.drawImageRectCubic(\n image,\n src,\n dst,\n sampling.B,\n sampling.C,\n ctx.paint\n );\n } else {\n ctx.canvas.drawImageRectOptions(\n image,\n src,\n dst,\n sampling?.filter ?? FilterMode.Linear,\n sampling?.mipmap ?? MipmapMode.None,\n ctx.paint\n );\n }\n }\n};\n\nexport const drawPoints = (ctx: DrawingContext, props: PointsProps) => {\n \"worklet\";\n const { points, mode } = props;\n ctx.canvas.drawPoints(PointMode[enumKey(mode)], points, ctx.paint);\n};\n\nexport const drawVertices = (ctx: DrawingContext, props: VerticesProps) => {\n \"worklet\";\n const { mode, textures, colors, indices, blendMode } = props;\n const vertexMode = mode ? VertexMode[enumKey(mode)] : VertexMode.Triangles;\n const vertices = ctx.Skia.MakeVertices(\n vertexMode,\n props.vertices,\n textures,\n colors ? colors.map((c) => processColor(ctx.Skia, c)) : undefined,\n indices\n );\n const defaultBlendMode = colors ? BlendMode.DstOver : BlendMode.SrcOver;\n const blend = blendMode ? BlendMode[enumKey(blendMode)] : defaultBlendMode;\n\n ctx.canvas.drawVertices(vertices, blend, ctx.paint);\n};\n\nexport const drawDiffRect = (ctx: DrawingContext, props: DiffRectProps) => {\n \"worklet\";\n const { outer, inner } = props;\n ctx.canvas.drawDRRect(outer, inner, ctx.paint);\n};\n\nexport const drawTextPath = (ctx: DrawingContext, props: TextPathProps) => {\n \"worklet\";\n const path = processPath(ctx.Skia, props.path);\n const { font, initialOffset } = props;\n if (font) {\n let { text } = props;\n const ids = font.getGlyphIDs(text);\n const widths = font.getGlyphWidths(ids);\n const rsx: SkRSXform[] = [];\n const meas = ctx.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(ctx.Skia.RSXform(t.x, t.y, adjustedX, adjustedY));\n dist += width / 2;\n }\n const derived = ctx.Skia.TextBlob.MakeFromRSXform(text, rsx, font);\n ctx.canvas.drawTextBlob(derived, 0, 0, ctx.paint);\n }\n};\n\nexport const drawText = (ctx: DrawingContext, props: TextProps) => {\n \"worklet\";\n const { text, x, y, font } = props;\n if (font != null) {\n ctx.canvas.drawText(text, x, y, ctx.paint, font);\n }\n};\n\nexport const drawPatch = (ctx: DrawingContext, props: PatchProps) => {\n \"worklet\";\n const { texture, blendMode, patch } = props;\n const defaultBlendMode = props.colors ? BlendMode.DstOver : BlendMode.SrcOver;\n const mode = blendMode ? BlendMode[enumKey(blendMode)] : defaultBlendMode;\n // Patch requires a path with the following constraints:\n // M tl\n // C c1 c2 br\n // C c1 c2 bl\n // C c1 c2 tl (the redundant point in the last command is removed)\n\n const points = [\n patch[0].pos,\n patch[0].c2,\n patch[1].c1,\n patch[1].pos,\n patch[1].c2,\n patch[2].c1,\n patch[2].pos,\n patch[2].c2,\n patch[3].c1,\n patch[3].pos,\n patch[3].c2,\n patch[0].c1,\n ];\n const colors = props.colors\n ? props.colors.map((c) => processColor(ctx.Skia, c))\n : undefined;\n ctx.canvas.drawPatch(points, colors, texture, mode, ctx.paint);\n};\n\nexport const drawPath = (ctx: DrawingContext, props: PathProps) => {\n \"worklet\";\n const {\n start: trimStart,\n end: trimEnd,\n fillType,\n stroke,\n ...pathProps\n } = props;\n const start = Math.fround(saturate(trimStart));\n const end = Math.fround(saturate(trimEnd));\n const hasStartOffset = start !== 0;\n const hasEndOffset = end !== 1;\n const hasStrokeOptions = stroke !== undefined;\n const hasFillType = !!fillType;\n const willMutatePath =\n hasStartOffset || hasEndOffset || hasStrokeOptions || hasFillType;\n const pristinePath = processPath(ctx.Skia, pathProps.path);\n const path = willMutatePath ? pristinePath.copy() : pristinePath;\n if (hasFillType) {\n path.setFillType(FillType[enumKey(fillType)]);\n }\n if (hasStrokeOptions) {\n path.stroke(stroke);\n }\n if (hasStartOffset || hasEndOffset) {\n path.trim(start, end, false);\n }\n ctx.canvas.drawPath(path, ctx.paint);\n};\n\nexport const drawRect = (ctx: DrawingContext, props: RectProps) => {\n \"worklet\";\n const derived = processRect(ctx.Skia, props);\n ctx.canvas.drawRect(derived, ctx.paint);\n};\n\nexport const drawRRect = (ctx: DrawingContext, props: RoundedRectProps) => {\n \"worklet\";\n const derived = processRRect(ctx.Skia, props);\n ctx.canvas.drawRRect(derived, ctx.paint);\n};\n\nexport const drawTextBlob = (ctx: DrawingContext, props: TextBlobProps) => {\n \"worklet\";\n const { blob, x, y } = props;\n ctx.canvas.drawTextBlob(blob, x, y, ctx.paint);\n};\n\ninterface ProcessedGlyphs {\n glyphs: number[];\n positions: SkPoint[];\n}\n\nexport const drawGlyphs = (ctx: DrawingContext, props: GlyphsProps) => {\n \"worklet\";\n const derived = 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 const { glyphs, positions } = derived;\n const { x, y, font } = props;\n if (font) {\n ctx.canvas.drawGlyphs(glyphs, positions, x, y, font, ctx.paint);\n }\n};\n\nexport const drawImageSVG = (ctx: DrawingContext, props: ImageSVGProps) => {\n \"worklet\";\n const { canvas } = ctx;\n const { svg } = props;\n const { x, y, width, height } = props.rect\n ? props.rect\n : { x: props.x, y: props.y, width: props.width, height: props.height };\n if (svg === null) {\n return;\n }\n canvas.save();\n if (x && y) {\n canvas.translate(x, y);\n }\n canvas.drawSvg(svg, width, height);\n canvas.restore();\n};\n\nexport const drawParagraph = (ctx: DrawingContext, props: ParagraphProps) => {\n \"worklet\";\n const { paragraph, x, y, width } = props;\n if (paragraph) {\n paragraph.layout(width);\n paragraph.paint(ctx.canvas, x, y);\n }\n};\n\nexport const drawPicture = (ctx: DrawingContext, props: PictureProps) => {\n \"worklet\";\n const { picture } = props;\n ctx.canvas.drawPicture(picture);\n};\n\nexport const drawAtlas = (ctx: DrawingContext, props: AtlasProps) => {\n \"worklet\";\n const { image, sprites, transforms, colors, colorBlendMode, sampling } =\n props;\n const blend = colorBlendMode ? BlendMode[enumKey(colorBlendMode)] : undefined;\n if (image) {\n ctx.canvas.drawAtlas(\n image,\n sprites,\n transforms,\n ctx.paint,\n blend,\n colors,\n sampling\n );\n }\n};\n\nexport const drawCircle = (ctx: DrawingContext, props: CircleProps) => {\n \"worklet\";\n const { c } = processCircle(props);\n const { r } = props;\n ctx.canvas.drawCircle(c.x, c.y, r, ctx.paint);\n};\n\nexport const drawSkottie = (ctx: DrawingContext, props: SkottieProps) => {\n \"worklet\";\n const { animation, frame } = props;\n if (animation) {\n props.animation.seekFrame(frame);\n props.animation.render(ctx.canvas);\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_nodes","require","_processors","_types","drawLine","ctx","props","p1","p2","canvas","x","y","paint","exports","drawOval","rect","processRect","Skia","drawImage","image","sampling","_props$fit","fit","src","dst","fitRects","width","height","isCubicSampling","drawImageRectCubic","B","C","_sampling$filter","_sampling$mipmap","drawImageRectOptions","filter","FilterMode","Linear","mipmap","MipmapMode","None","drawPoints","points","mode","PointMode","enumKey","drawVertices","textures","colors","indices","blendMode","vertexMode","VertexMode","Triangles","vertices","MakeVertices","map","c","processColor","undefined","defaultBlendMode","BlendMode","DstOver","SrcOver","blend","drawDiffRect","outer","inner","drawDRRect","drawTextPath","path","processPath","font","initialOffset","text","ids","getGlyphIDs","widths","getGlyphWidths","rsx","meas","ContourMeasureIter","cont","next","dist","i","length","substring","p","t","getPosTan","adjustedX","adjustedY","push","RSXform","derived","TextBlob","MakeFromRSXform","drawTextBlob","drawText","drawPatch","texture","patch","pos","c2","c1","drawPath","start","trimStart","end","trimEnd","fillType","stroke","pathProps","Math","fround","saturate","hasStartOffset","hasEndOffset","hasStrokeOptions","hasFillType","builder","PathBuilder","MakeFromPath","setFillType","FillType","build","stroked","Path","Stroke","trimmed","Trim","drawRect","drawRRect","processRRect","blob","drawGlyphs","glyphs","reduce","acc","glyph","id","positions","drawImageSVG","svg","save","translate","drawSvg","restore","drawParagraph","paragraph","layout","drawPicture","picture","drawAtlas","sprites","transforms","colorBlendMode","drawCircle","processCircle","r","drawSkottie","animation","frame","seekFrame","render"],"sources":["Drawing.ts"],"sourcesContent":["import {\n enumKey,\n fitRects,\n processCircle,\n processColor,\n processPath,\n processRect,\n processRRect,\n} from \"../../../dom/nodes\";\nimport type {\n AtlasProps,\n CircleProps,\n DiffRectProps,\n GlyphsProps,\n ImageProps,\n ImageSVGProps,\n LineProps,\n OvalProps,\n ParagraphProps,\n PatchProps,\n PathProps,\n PictureProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n SkottieProps,\n TextBlobProps,\n TextPathProps,\n TextProps,\n VerticesProps,\n} from \"../../../dom/types\";\nimport { saturate } from \"../../../renderer/processors\";\nimport type { SkPoint, SkRSXform } from \"../../../skia/types\";\nimport {\n BlendMode,\n FillType,\n FilterMode,\n isCubicSampling,\n MipmapMode,\n PointMode,\n VertexMode,\n} from \"../../../skia/types\";\nimport type { DrawingContext } from \"../DrawingContext\";\n\nexport const drawLine = (ctx: DrawingContext, props: LineProps) => {\n \"worklet\";\n const { p1, p2 } = props;\n ctx.canvas.drawLine(p1.x, p1.y, p2.x, p2.y, ctx.paint);\n};\n\nexport const drawOval = (ctx: DrawingContext, props: OvalProps) => {\n \"worklet\";\n const rect = processRect(ctx.Skia, props);\n ctx.canvas.drawOval(rect, ctx.paint);\n};\n\nexport const drawImage = (ctx: DrawingContext, props: ImageProps) => {\n \"worklet\";\n const { image, sampling } = props;\n if (image) {\n const fit = props.fit ?? \"contain\";\n const rect = processRect(ctx.Skia, props);\n const { src, dst } = fitRects(\n fit,\n {\n x: 0,\n y: 0,\n width: image.width(),\n height: image.height(),\n },\n rect\n );\n if (sampling && isCubicSampling(sampling)) {\n ctx.canvas.drawImageRectCubic(\n image,\n src,\n dst,\n sampling.B,\n sampling.C,\n ctx.paint\n );\n } else {\n ctx.canvas.drawImageRectOptions(\n image,\n src,\n dst,\n sampling?.filter ?? FilterMode.Linear,\n sampling?.mipmap ?? MipmapMode.None,\n ctx.paint\n );\n }\n }\n};\n\nexport const drawPoints = (ctx: DrawingContext, props: PointsProps) => {\n \"worklet\";\n const { points, mode } = props;\n ctx.canvas.drawPoints(PointMode[enumKey(mode)], points, ctx.paint);\n};\n\nexport const drawVertices = (ctx: DrawingContext, props: VerticesProps) => {\n \"worklet\";\n const { mode, textures, colors, indices, blendMode } = props;\n const vertexMode = mode ? VertexMode[enumKey(mode)] : VertexMode.Triangles;\n const vertices = ctx.Skia.MakeVertices(\n vertexMode,\n props.vertices,\n textures,\n colors ? colors.map((c) => processColor(ctx.Skia, c)) : undefined,\n indices\n );\n const defaultBlendMode = colors ? BlendMode.DstOver : BlendMode.SrcOver;\n const blend = blendMode ? BlendMode[enumKey(blendMode)] : defaultBlendMode;\n\n ctx.canvas.drawVertices(vertices, blend, ctx.paint);\n};\n\nexport const drawDiffRect = (ctx: DrawingContext, props: DiffRectProps) => {\n \"worklet\";\n const { outer, inner } = props;\n ctx.canvas.drawDRRect(outer, inner, ctx.paint);\n};\n\nexport const drawTextPath = (ctx: DrawingContext, props: TextPathProps) => {\n \"worklet\";\n const path = processPath(ctx.Skia, props.path);\n const { font, initialOffset } = props;\n if (font) {\n let { text } = props;\n const ids = font.getGlyphIDs(text);\n const widths = font.getGlyphWidths(ids);\n const rsx: SkRSXform[] = [];\n const meas = ctx.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(ctx.Skia.RSXform(t.x, t.y, adjustedX, adjustedY));\n dist += width / 2;\n }\n const derived = ctx.Skia.TextBlob.MakeFromRSXform(text, rsx, font);\n ctx.canvas.drawTextBlob(derived, 0, 0, ctx.paint);\n }\n};\n\nexport const drawText = (ctx: DrawingContext, props: TextProps) => {\n \"worklet\";\n const { text, x, y, font } = props;\n if (font != null) {\n ctx.canvas.drawText(text, x, y, ctx.paint, font);\n }\n};\n\nexport const drawPatch = (ctx: DrawingContext, props: PatchProps) => {\n \"worklet\";\n const { texture, blendMode, patch } = props;\n const defaultBlendMode = props.colors ? BlendMode.DstOver : BlendMode.SrcOver;\n const mode = blendMode ? BlendMode[enumKey(blendMode)] : defaultBlendMode;\n // Patch requires a path with the following constraints:\n // M tl\n // C c1 c2 br\n // C c1 c2 bl\n // C c1 c2 tl (the redundant point in the last command is removed)\n\n const points = [\n patch[0].pos,\n patch[0].c2,\n patch[1].c1,\n patch[1].pos,\n patch[1].c2,\n patch[2].c1,\n patch[2].pos,\n patch[2].c2,\n patch[3].c1,\n patch[3].pos,\n patch[3].c2,\n patch[0].c1,\n ];\n const colors = props.colors\n ? props.colors.map((c) => processColor(ctx.Skia, c))\n : undefined;\n ctx.canvas.drawPatch(points, colors, texture, mode, ctx.paint);\n};\n\nexport const drawPath = (ctx: DrawingContext, props: PathProps) => {\n \"worklet\";\n const {\n start: trimStart,\n end: trimEnd,\n fillType,\n stroke,\n ...pathProps\n } = props;\n const start = Math.fround(saturate(trimStart));\n const end = Math.fround(saturate(trimEnd));\n const hasStartOffset = start !== 0;\n const hasEndOffset = end !== 1;\n const hasStrokeOptions = stroke !== undefined;\n const hasFillType = !!fillType;\n\n let path = processPath(ctx.Skia, pathProps.path);\n\n // Apply fill type using PathBuilder\n if (hasFillType) {\n const builder = ctx.Skia.PathBuilder.MakeFromPath(path);\n builder.setFillType(FillType[enumKey(fillType)]);\n path = builder.build();\n }\n\n // Apply stroke using static Path.Stroke\n if (hasStrokeOptions) {\n const stroked = ctx.Skia.Path.Stroke(path, stroke);\n if (stroked) {\n path = stroked;\n }\n }\n\n // Apply trim using static Path.Trim\n if (hasStartOffset || hasEndOffset) {\n const trimmed = ctx.Skia.Path.Trim(path, start, end, false);\n if (trimmed) {\n path = trimmed;\n }\n }\n\n ctx.canvas.drawPath(path, ctx.paint);\n};\n\nexport const drawRect = (ctx: DrawingContext, props: RectProps) => {\n \"worklet\";\n const derived = processRect(ctx.Skia, props);\n ctx.canvas.drawRect(derived, ctx.paint);\n};\n\nexport const drawRRect = (ctx: DrawingContext, props: RoundedRectProps) => {\n \"worklet\";\n const derived = processRRect(ctx.Skia, props);\n ctx.canvas.drawRRect(derived, ctx.paint);\n};\n\nexport const drawTextBlob = (ctx: DrawingContext, props: TextBlobProps) => {\n \"worklet\";\n const { blob, x, y } = props;\n ctx.canvas.drawTextBlob(blob, x, y, ctx.paint);\n};\n\ninterface ProcessedGlyphs {\n glyphs: number[];\n positions: SkPoint[];\n}\n\nexport const drawGlyphs = (ctx: DrawingContext, props: GlyphsProps) => {\n \"worklet\";\n const derived = 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 const { glyphs, positions } = derived;\n const { x, y, font } = props;\n if (font) {\n ctx.canvas.drawGlyphs(glyphs, positions, x, y, font, ctx.paint);\n }\n};\n\nexport const drawImageSVG = (ctx: DrawingContext, props: ImageSVGProps) => {\n \"worklet\";\n const { canvas } = ctx;\n const { svg } = props;\n const { x, y, width, height } = props.rect\n ? props.rect\n : { x: props.x, y: props.y, width: props.width, height: props.height };\n if (svg === null) {\n return;\n }\n canvas.save();\n if (x && y) {\n canvas.translate(x, y);\n }\n canvas.drawSvg(svg, width, height);\n canvas.restore();\n};\n\nexport const drawParagraph = (ctx: DrawingContext, props: ParagraphProps) => {\n \"worklet\";\n const { paragraph, x, y, width } = props;\n if (paragraph) {\n paragraph.layout(width);\n paragraph.paint(ctx.canvas, x, y);\n }\n};\n\nexport const drawPicture = (ctx: DrawingContext, props: PictureProps) => {\n \"worklet\";\n const { picture } = props;\n ctx.canvas.drawPicture(picture);\n};\n\nexport const drawAtlas = (ctx: DrawingContext, props: AtlasProps) => {\n \"worklet\";\n const { image, sprites, transforms, colors, colorBlendMode, sampling } =\n props;\n const blend = colorBlendMode ? BlendMode[enumKey(colorBlendMode)] : undefined;\n if (image) {\n ctx.canvas.drawAtlas(\n image,\n sprites,\n transforms,\n ctx.paint,\n blend,\n colors,\n sampling\n );\n }\n};\n\nexport const drawCircle = (ctx: DrawingContext, props: CircleProps) => {\n \"worklet\";\n const { c } = processCircle(props);\n const { r } = props;\n ctx.canvas.drawCircle(c.x, c.y, r, ctx.paint);\n};\n\nexport const drawSkottie = (ctx: DrawingContext, props: SkottieProps) => {\n \"worklet\";\n const { animation, frame } = props;\n if (animation) {\n props.animation.seekFrame(frame);\n props.animation.render(ctx.canvas);\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ViewProps } from "react-native";
|
|
2
2
|
import type { WithDefault } from "react-native/Libraries/Types/CodegenTypes";
|
|
3
3
|
export interface NativeProps extends ViewProps {
|
|
4
4
|
debug?: boolean;
|
|
@@ -7,5 +7,5 @@ export interface NativeProps extends ViewProps {
|
|
|
7
7
|
androidWarmup?: boolean;
|
|
8
8
|
pointerEvents?: WithDefault<"auto" | "none" | "box-none" | "box-only", "auto">;
|
|
9
9
|
}
|
|
10
|
-
declare const _default: import("react-native
|
|
10
|
+
declare const _default: import("react-native").HostComponent<NativeProps>;
|
|
11
11
|
export default _default;
|
|
@@ -4,10 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
var _reactNative = require("react-native");
|
|
9
8
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
10
9
|
// @ts-ignore - pointerEvents needs to be redeclared for codegen to generate native bindings
|
|
11
10
|
// eslint-disable-next-line import/no-default-export
|
|
12
|
-
var _default = exports.default = (0,
|
|
11
|
+
var _default = exports.default = (0, _reactNative.codegenNativeComponent)("SkiaPictureView");
|
|
13
12
|
//# sourceMappingURL=SkiaPictureViewNativeComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","codegenNativeComponent"],"sources":["SkiaPictureViewNativeComponent.ts"],"sourcesContent":["import { codegenNativeComponent, type ViewProps } from \"react-native\";\nimport type { WithDefault } from \"react-native/Libraries/Types/CodegenTypes\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore - pointerEvents needs to be redeclared for codegen to generate native bindings\nexport interface NativeProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n colorSpace?: string;\n androidWarmup?: boolean;\n pointerEvents?: WithDefault<\n \"auto\" | \"none\" | \"box-none\" | \"box-only\",\n \"auto\"\n >;\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default codegenNativeComponent<NativeProps>(\"SkiaPictureView\");\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA;AACA;AAYA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACe,IAAAC,mCAAsB,EAAc,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Int32 } from "react-native/Libraries/Types/CodegenTypes";
|
|
2
1
|
import type { ViewProps } from "react-native";
|
|
2
|
+
import type { Int32 } from "react-native/Libraries/Types/CodegenTypes";
|
|
3
3
|
export interface NativeProps extends ViewProps {
|
|
4
4
|
contextId: Int32;
|
|
5
5
|
transparent: boolean;
|
|
6
6
|
}
|
|
7
|
-
declare const _default: import("react-native
|
|
7
|
+
declare const _default: import("react-native").HostComponent<NativeProps>;
|
|
8
8
|
export default _default;
|
|
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
var _reactNative = require("react-native");
|
|
9
8
|
// eslint-disable-next-line import/no-default-export
|
|
10
|
-
var _default = exports.default = (0,
|
|
9
|
+
var _default = exports.default = (0, _reactNative.codegenNativeComponent)("SkiaWebGPUView");
|
|
11
10
|
//# sourceMappingURL=WebGPUViewNativeComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","codegenNativeComponent"],"sources":["WebGPUViewNativeComponent.ts"],"sourcesContent":["import { codegenNativeComponent } from \"react-native\";\nimport type { ViewProps } from \"react-native\";\nimport type { Int32 } from \"react-native/Libraries/Types/CodegenTypes\";\n\nexport interface NativeProps extends ViewProps {\n contextId: Int32;\n transparent: boolean;\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default codegenNativeComponent<NativeProps>(\"SkiaWebGPUView\");\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AASA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACe,IAAAC,mCAAsB,EAAc,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -83,6 +83,8 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
83
83
|
view: {
|
|
84
84
|
alignItems: "stretch",
|
|
85
85
|
backgroundColor: "transparent",
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
87
|
+
// @ts-expect-error
|
|
86
88
|
border: "0 solid black",
|
|
87
89
|
boxSizing: "border-box",
|
|
88
90
|
display: "flex",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","debounce","func","wait","immediate","timeout","debounced","args","context","callNow","clearTimeout","setTimeout","undefined","apply","resizeCanvas","canvas","dpr","window","devicePixelRatio","height","width","getBoundingClientRect","setAttribute","toString","WebGPUViewNativeComponent","props","contextId","style","transparent","rest","canvasElm","useRef","useEffect","onResize","current","addEventListener","removeEventListener","React","createElement","id","contextIdToId","styles","view","flex1","backgroundColor","ref","StyleSheet","create","flex","alignItems","border","boxSizing","display","flexBasis","flexDirection","flexShrink","listStyle","margin","minHeight","minWidth","padding","position","zIndex"],"sources":["WebGPUViewNativeComponent.web.ts"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport type { Int32 } from \"react-native/Libraries/Types/CodegenTypes\";\nimport type { ViewProps } from \"react-native\";\n\nimport { contextIdToId } from \"./utils\";\n\nexport interface NativeProps extends ViewProps {\n contextId: Int32;\n transparent: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction debounce<T extends (...args: any[]) => void>(\n func: T,\n wait: number,\n immediate = false\n) {\n let timeout: ReturnType<typeof setTimeout> | undefined;\n return function debounced(\n this: ThisParameterType<T>,\n ...args: Parameters<T>\n ) {\n const context = this;\n const callNow = immediate && !timeout;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n timeout = undefined;\n if (!immediate) {\n func.apply(context, args);\n }\n }, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nfunction resizeCanvas(canvas: HTMLCanvasElement | null) {\n if (!canvas) {\n return;\n }\n\n const dpr = window.devicePixelRatio || 1;\n\n const { height, width } = canvas.getBoundingClientRect();\n canvas.setAttribute(\"height\", (height * dpr).toString());\n canvas.setAttribute(\"width\", (width * dpr).toString());\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default function WebGPUViewNativeComponent(\n props: NativeProps\n): React.JSX.Element {\n const { contextId, style, transparent, ...rest } = props;\n\n const canvasElm = useRef<HTMLCanvasElement>(null);\n\n useEffect(() => {\n const onResize = debounce(() => resizeCanvas(canvasElm.current), 100);\n window.addEventListener(\"resize\", onResize);\n return () => {\n window.removeEventListener(\"resize\", onResize);\n };\n }, []);\n\n return React.createElement(\"canvas\", {\n ...rest,\n id: contextIdToId(contextId),\n style: {\n ...styles.view,\n ...styles.flex1,\n ...(transparent === false ? { backgroundColor: \"white\" } : {}),\n ...(typeof style === \"object\" ? style : {}),\n },\n ref: (ref: HTMLCanvasElement) => {\n canvasElm.current = ref;\n if (ref) {\n resizeCanvas(ref);\n }\n },\n });\n}\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n view: {\n alignItems: \"stretch\",\n backgroundColor: \"transparent\",\n border: \"0 solid black\",\n boxSizing: \"border-box\",\n display: \"flex\",\n flexBasis: \"auto\",\n flexDirection: \"column\",\n flexShrink: 0,\n listStyle: \"none\",\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: \"relative\",\n zIndex: 0,\n },\n});\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","debounce","func","wait","immediate","timeout","debounced","args","context","callNow","clearTimeout","setTimeout","undefined","apply","resizeCanvas","canvas","dpr","window","devicePixelRatio","height","width","getBoundingClientRect","setAttribute","toString","WebGPUViewNativeComponent","props","contextId","style","transparent","rest","canvasElm","useRef","useEffect","onResize","current","addEventListener","removeEventListener","React","createElement","id","contextIdToId","styles","view","flex1","backgroundColor","ref","StyleSheet","create","flex","alignItems","border","boxSizing","display","flexBasis","flexDirection","flexShrink","listStyle","margin","minHeight","minWidth","padding","position","zIndex"],"sources":["WebGPUViewNativeComponent.web.ts"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport type { Int32 } from \"react-native/Libraries/Types/CodegenTypes\";\nimport type { ViewProps } from \"react-native\";\n\nimport { contextIdToId } from \"./utils\";\n\nexport interface NativeProps extends ViewProps {\n contextId: Int32;\n transparent: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction debounce<T extends (...args: any[]) => void>(\n func: T,\n wait: number,\n immediate = false\n) {\n let timeout: ReturnType<typeof setTimeout> | undefined;\n return function debounced(\n this: ThisParameterType<T>,\n ...args: Parameters<T>\n ) {\n const context = this;\n const callNow = immediate && !timeout;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n timeout = undefined;\n if (!immediate) {\n func.apply(context, args);\n }\n }, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nfunction resizeCanvas(canvas: HTMLCanvasElement | null) {\n if (!canvas) {\n return;\n }\n\n const dpr = window.devicePixelRatio || 1;\n\n const { height, width } = canvas.getBoundingClientRect();\n canvas.setAttribute(\"height\", (height * dpr).toString());\n canvas.setAttribute(\"width\", (width * dpr).toString());\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default function WebGPUViewNativeComponent(\n props: NativeProps\n): React.JSX.Element {\n const { contextId, style, transparent, ...rest } = props;\n\n const canvasElm = useRef<HTMLCanvasElement>(null);\n\n useEffect(() => {\n const onResize = debounce(() => resizeCanvas(canvasElm.current), 100);\n window.addEventListener(\"resize\", onResize);\n return () => {\n window.removeEventListener(\"resize\", onResize);\n };\n }, []);\n\n return React.createElement(\"canvas\", {\n ...rest,\n id: contextIdToId(contextId),\n style: {\n ...styles.view,\n ...styles.flex1,\n ...(transparent === false ? { backgroundColor: \"white\" } : {}),\n ...(typeof style === \"object\" ? style : {}),\n },\n ref: (ref: HTMLCanvasElement) => {\n canvasElm.current = ref;\n if (ref) {\n resizeCanvas(ref);\n }\n },\n });\n}\n\nconst styles = StyleSheet.create({\n flex1: {\n flex: 1,\n },\n view: {\n alignItems: \"stretch\",\n backgroundColor: \"transparent\",\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n border: \"0 solid black\",\n boxSizing: \"border-box\",\n display: \"flex\",\n flexBasis: \"auto\",\n flexDirection: \"column\",\n flexShrink: 0,\n listStyle: \"none\",\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: \"relative\",\n zIndex: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,4 +16,4 @@ import type { ExtrapolationType } from "./interpolate";
|
|
|
16
16
|
* path2.lineTo(0, 100);
|
|
17
17
|
* const path = interpolatePath(0.5, [0, 1], [path1, path2]);
|
|
18
18
|
*/
|
|
19
|
-
export declare const interpolatePaths: (value: number, input: number[], outputRange: SkPath[], options?: ExtrapolationType,
|
|
19
|
+
export declare const interpolatePaths: (value: number, input: number[], outputRange: SkPath[], options?: ExtrapolationType, _output?: SkPath) => SkPath;
|