@leafer-ui/worker 1.9.6 → 1.9.8
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/dist/worker.cjs +116 -80
- package/dist/worker.esm.js +118 -82
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +280 -187
- package/dist/worker.min.cjs +1 -1
- package/dist/worker.min.cjs.map +1 -1
- package/dist/worker.min.js +1 -1
- package/dist/worker.min.js.map +1 -1
- package/dist/worker.module.js +289 -187
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +11 -11
package/dist/worker.module.js
CHANGED
|
@@ -247,18 +247,34 @@ class LeafData {
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
250
|
+
let tempA, tempB, tempTo;
|
|
251
|
+
|
|
252
|
+
const {max: max$4} = Math, tempFour = [ 0, 0, 0, 0 ];
|
|
253
|
+
|
|
254
|
+
const FourNumberHelper = {
|
|
255
|
+
zero: [ ...tempFour ],
|
|
256
|
+
tempFour: tempFour,
|
|
257
|
+
set(to, top, right, bottom, left) {
|
|
258
|
+
if (right === undefined) right = bottom = left = top;
|
|
259
|
+
to[0] = top;
|
|
260
|
+
to[1] = right;
|
|
261
|
+
to[2] = bottom;
|
|
262
|
+
to[3] = left;
|
|
263
|
+
return to;
|
|
258
264
|
},
|
|
259
|
-
|
|
265
|
+
setTemp(top, right, bottom, left) {
|
|
266
|
+
return set$1(tempFour, top, right, bottom, left);
|
|
267
|
+
},
|
|
268
|
+
toTempAB(a, b, change) {
|
|
269
|
+
tempTo = change ? isNumber(a) ? b : a : [];
|
|
270
|
+
if (isNumber(a)) tempA = setTemp(a), tempB = b; else if (isNumber(b)) tempA = a,
|
|
271
|
+
tempB = setTemp(b); else tempA = a, tempB = b;
|
|
272
|
+
if (tempA.length !== 4) tempA = get$5(tempA);
|
|
273
|
+
if (tempB.length !== 4) tempB = get$5(tempB);
|
|
274
|
+
},
|
|
275
|
+
get(num, maxValue) {
|
|
260
276
|
let data;
|
|
261
|
-
if (
|
|
277
|
+
if (!isNumber(num)) {
|
|
262
278
|
switch (num.length) {
|
|
263
279
|
case 4:
|
|
264
280
|
data = isUndefined(maxValue) ? num : [ ...num ];
|
|
@@ -281,9 +297,39 @@ const MathHelper = {
|
|
|
281
297
|
}
|
|
282
298
|
}
|
|
283
299
|
if (!data) data = [ num, num, num, num ];
|
|
284
|
-
if (maxValue) for (let i = 0; i < 4; i++) if (data[i] > maxValue) data[i] = maxValue;
|
|
300
|
+
if (!isUndefined(maxValue)) for (let i = 0; i < 4; i++) if (data[i] > maxValue) data[i] = maxValue;
|
|
285
301
|
return data;
|
|
286
302
|
},
|
|
303
|
+
max(t, other, change) {
|
|
304
|
+
if (isNumber(t) && isNumber(other)) return max$4(t, other);
|
|
305
|
+
toTempAB(t, other, change);
|
|
306
|
+
return set$1(tempTo, max$4(tempA[0], tempB[0]), max$4(tempA[1], tempB[1]), max$4(tempA[2], tempB[2]), max$4(tempA[3], tempB[3]));
|
|
307
|
+
},
|
|
308
|
+
add(t, other, change) {
|
|
309
|
+
if (isNumber(t) && isNumber(other)) return t + other;
|
|
310
|
+
toTempAB(t, other, change);
|
|
311
|
+
return set$1(tempTo, tempA[0] + tempB[0], tempA[1] + tempB[1], tempA[2] + tempB[2], tempA[3] + tempB[3]);
|
|
312
|
+
},
|
|
313
|
+
swapAndScale(t, scaleX, scaleY, change) {
|
|
314
|
+
if (isNumber(t)) return scaleX === scaleY ? t * scaleX : [ t * scaleY, t * scaleX ];
|
|
315
|
+
const to = change ? t : [];
|
|
316
|
+
const [top, right, bottom, left] = t.length === 4 ? t : get$5(t);
|
|
317
|
+
return set$1(to, bottom * scaleY, left * scaleX, top * scaleY, right * scaleX);
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
const {set: set$1, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumberHelper;
|
|
322
|
+
|
|
323
|
+
const {round: round$3, pow: pow$1, PI: PI$3} = Math;
|
|
324
|
+
|
|
325
|
+
const MathHelper = {
|
|
326
|
+
within(value, min, max) {
|
|
327
|
+
if (isObject(min)) max = min.max, min = min.min;
|
|
328
|
+
if (!isUndefined(min) && value < min) value = min;
|
|
329
|
+
if (!isUndefined(max) && value > max) value = max;
|
|
330
|
+
return value;
|
|
331
|
+
},
|
|
332
|
+
fourNumber: FourNumberHelper.get,
|
|
287
333
|
formatRotation(rotation, unsign) {
|
|
288
334
|
rotation %= 360;
|
|
289
335
|
if (unsign) {
|
|
@@ -423,6 +469,15 @@ const MatrixHelper = {
|
|
|
423
469
|
t.c *= scaleY;
|
|
424
470
|
t.d *= scaleY;
|
|
425
471
|
},
|
|
472
|
+
pixelScale(t, pixelRatio, to) {
|
|
473
|
+
to || (to = t);
|
|
474
|
+
to.a = t.a * pixelRatio;
|
|
475
|
+
to.b = t.b * pixelRatio;
|
|
476
|
+
to.c = t.c * pixelRatio;
|
|
477
|
+
to.d = t.d * pixelRatio;
|
|
478
|
+
to.e = t.e * pixelRatio;
|
|
479
|
+
to.f = t.f * pixelRatio;
|
|
480
|
+
},
|
|
426
481
|
scaleOfOuter(t, origin, scaleX, scaleY) {
|
|
427
482
|
M$6.toInnerPoint(t, origin, tempPoint$3);
|
|
428
483
|
M$6.scaleOfInner(t, tempPoint$3, scaleX, scaleY);
|
|
@@ -922,6 +977,10 @@ class Matrix {
|
|
|
922
977
|
this.scaleY *= y || x;
|
|
923
978
|
return this;
|
|
924
979
|
}
|
|
980
|
+
pixelScale(pixelRatio) {
|
|
981
|
+
MatrixHelper.pixelScale(this, pixelRatio);
|
|
982
|
+
return this;
|
|
983
|
+
}
|
|
925
984
|
scaleOfOuter(origin, x, y) {
|
|
926
985
|
MatrixHelper.scaleOfOuter(this, origin, x, y);
|
|
927
986
|
return this;
|
|
@@ -1001,7 +1060,7 @@ class Matrix {
|
|
|
1001
1060
|
}
|
|
1002
1061
|
}
|
|
1003
1062
|
|
|
1004
|
-
const tempMatrix$
|
|
1063
|
+
const tempMatrix$2 = new Matrix;
|
|
1005
1064
|
|
|
1006
1065
|
const TwoPointBoundsHelper = {
|
|
1007
1066
|
tempPointBounds: {},
|
|
@@ -1151,10 +1210,10 @@ const point = {};
|
|
|
1151
1210
|
|
|
1152
1211
|
const toPoint$4 = {};
|
|
1153
1212
|
|
|
1154
|
-
const tempBounds$
|
|
1213
|
+
const tempBounds$3 = {};
|
|
1155
1214
|
|
|
1156
1215
|
const BoundsHelper = {
|
|
1157
|
-
tempBounds: tempBounds$
|
|
1216
|
+
tempBounds: tempBounds$3,
|
|
1158
1217
|
set(t, x = 0, y = 0, width = 0, height = 0) {
|
|
1159
1218
|
t.x = x;
|
|
1160
1219
|
t.y = y;
|
|
@@ -1205,19 +1264,11 @@ const BoundsHelper = {
|
|
|
1205
1264
|
B.move(t, x, y);
|
|
1206
1265
|
return t;
|
|
1207
1266
|
},
|
|
1208
|
-
toOffsetOutBounds(t, to,
|
|
1209
|
-
if (!to)
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
}
|
|
1214
|
-
if (parent) {
|
|
1215
|
-
to.offsetX = -(B.maxX(parent) - t.x);
|
|
1216
|
-
to.offsetY = -(B.maxY(parent) - t.y);
|
|
1217
|
-
} else {
|
|
1218
|
-
to.offsetX = t.x + t.width;
|
|
1219
|
-
to.offsetY = t.y + t.height;
|
|
1220
|
-
}
|
|
1267
|
+
toOffsetOutBounds(t, to, offsetBounds) {
|
|
1268
|
+
if (!to) to = t; else copy$9(to, t);
|
|
1269
|
+
if (!offsetBounds) offsetBounds = t;
|
|
1270
|
+
to.offsetX = B.maxX(offsetBounds);
|
|
1271
|
+
to.offsetY = B.maxY(offsetBounds);
|
|
1221
1272
|
B.move(to, -to.offsetX, -to.offsetY);
|
|
1222
1273
|
},
|
|
1223
1274
|
scale(t, scaleX, scaleY = scaleX, onlySize) {
|
|
@@ -1231,9 +1282,9 @@ const BoundsHelper = {
|
|
|
1231
1282
|
t.height *= scaleY;
|
|
1232
1283
|
},
|
|
1233
1284
|
tempToOuterOf(t, matrix) {
|
|
1234
|
-
B.copy(tempBounds$
|
|
1235
|
-
B.toOuterOf(tempBounds$
|
|
1236
|
-
return tempBounds$
|
|
1285
|
+
B.copy(tempBounds$3, t);
|
|
1286
|
+
B.toOuterOf(tempBounds$3, matrix);
|
|
1287
|
+
return tempBounds$3;
|
|
1237
1288
|
},
|
|
1238
1289
|
getOuterOf(t, matrix) {
|
|
1239
1290
|
t = Object.assign({}, t);
|
|
@@ -1291,9 +1342,9 @@ const BoundsHelper = {
|
|
|
1291
1342
|
put(t, put, align = "center", putScale = 1, changeSize = true, to) {
|
|
1292
1343
|
to || (to = put);
|
|
1293
1344
|
if (isString(putScale)) putScale = B.getFitScale(t, put, putScale === "cover");
|
|
1294
|
-
tempBounds$
|
|
1295
|
-
tempBounds$
|
|
1296
|
-
AlignHelper.toPoint(align, tempBounds$
|
|
1345
|
+
tempBounds$3.width = changeSize ? put.width *= putScale : put.width * putScale;
|
|
1346
|
+
tempBounds$3.height = changeSize ? put.height *= putScale : put.height * putScale;
|
|
1347
|
+
AlignHelper.toPoint(align, tempBounds$3, t, to, true, true);
|
|
1297
1348
|
},
|
|
1298
1349
|
getSpread(t, spread, side) {
|
|
1299
1350
|
const n = {};
|
|
@@ -1363,7 +1414,7 @@ const BoundsHelper = {
|
|
|
1363
1414
|
first = false;
|
|
1364
1415
|
if (!addMode) copy$9(t, bounds);
|
|
1365
1416
|
} else {
|
|
1366
|
-
add$
|
|
1417
|
+
add$2(t, bounds);
|
|
1367
1418
|
}
|
|
1368
1419
|
}
|
|
1369
1420
|
}
|
|
@@ -1377,7 +1428,7 @@ const BoundsHelper = {
|
|
|
1377
1428
|
B.set(t, point.x, point.y);
|
|
1378
1429
|
},
|
|
1379
1430
|
addPoint(t, point) {
|
|
1380
|
-
add$
|
|
1431
|
+
add$2(t, point, true);
|
|
1381
1432
|
},
|
|
1382
1433
|
getPoints(t) {
|
|
1383
1434
|
const {x: x, y: y, width: width, height: height} = t;
|
|
@@ -1448,7 +1499,7 @@ const BoundsHelper = {
|
|
|
1448
1499
|
|
|
1449
1500
|
const B = BoundsHelper;
|
|
1450
1501
|
|
|
1451
|
-
const {add: add$
|
|
1502
|
+
const {add: add$2, copy: copy$9} = B;
|
|
1452
1503
|
|
|
1453
1504
|
class Bounds {
|
|
1454
1505
|
get minX() {
|
|
@@ -1593,7 +1644,7 @@ class Bounds {
|
|
|
1593
1644
|
}
|
|
1594
1645
|
}
|
|
1595
1646
|
|
|
1596
|
-
const tempBounds$
|
|
1647
|
+
const tempBounds$2 = new Bounds;
|
|
1597
1648
|
|
|
1598
1649
|
class AutoBounds {
|
|
1599
1650
|
constructor(top, right, bottom, left, width, height) {
|
|
@@ -2146,7 +2197,7 @@ __decorate([ contextMethod() ], Canvas$1.prototype, "measureText", null);
|
|
|
2146
2197
|
|
|
2147
2198
|
__decorate([ contextMethod() ], Canvas$1.prototype, "strokeText", null);
|
|
2148
2199
|
|
|
2149
|
-
const {copy: copy$8, multiplyParent: multiplyParent$4} = MatrixHelper, {round: round$1} = Math, tempPixelBounds = new Bounds, tempPixelBounds2 = new Bounds;
|
|
2200
|
+
const {copy: copy$8, multiplyParent: multiplyParent$4, pixelScale: pixelScale} = MatrixHelper, {round: round$1} = Math, tempPixelBounds = new Bounds, tempPixelBounds2 = new Bounds;
|
|
2150
2201
|
|
|
2151
2202
|
const minSize = {
|
|
2152
2203
|
width: 1,
|
|
@@ -2247,13 +2298,8 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2247
2298
|
setWorld(matrix, parentMatrix) {
|
|
2248
2299
|
const {pixelRatio: pixelRatio, pixelSnap: pixelSnap} = this, w = this.worldTransform;
|
|
2249
2300
|
if (parentMatrix) multiplyParent$4(matrix, parentMatrix, w);
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
w.c = matrix.c * pixelRatio;
|
|
2253
|
-
w.d = matrix.d * pixelRatio;
|
|
2254
|
-
w.e = matrix.e * pixelRatio;
|
|
2255
|
-
w.f = matrix.f * pixelRatio;
|
|
2256
|
-
if (pixelSnap) {
|
|
2301
|
+
pixelScale(matrix, pixelRatio, w);
|
|
2302
|
+
if (pixelSnap && !matrix.ignorePixelSnap) {
|
|
2257
2303
|
if (matrix.half && matrix.half * pixelRatio % 2) w.e = round$1(w.e - .5) + .5, w.f = round$1(w.f - .5) + .5; else w.e = round$1(w.e),
|
|
2258
2304
|
w.f = round$1(w.f);
|
|
2259
2305
|
}
|
|
@@ -3977,7 +4023,7 @@ const I$1 = ImageManager;
|
|
|
3977
4023
|
|
|
3978
4024
|
const {IMAGE: IMAGE, create: create$1} = IncrementId;
|
|
3979
4025
|
|
|
3980
|
-
const {floor: floor$1, max: max$
|
|
4026
|
+
const {floor: floor$1, max: max$3} = Math;
|
|
3981
4027
|
|
|
3982
4028
|
class LeaferImage {
|
|
3983
4029
|
get url() {
|
|
@@ -4066,7 +4112,7 @@ class LeaferImage {
|
|
|
4066
4112
|
}
|
|
4067
4113
|
if (data) return data;
|
|
4068
4114
|
}
|
|
4069
|
-
const canvas = Platform.origin.createCanvas(max$
|
|
4115
|
+
const canvas = Platform.origin.createCanvas(max$3(floor$1(width + (xGap || 0)), 1), max$3(floor$1(height + (yGap || 0)), 1));
|
|
4070
4116
|
const ctx = canvas.getContext("2d");
|
|
4071
4117
|
if (opacity) ctx.globalAlpha = opacity;
|
|
4072
4118
|
ctx.imageSmoothingEnabled = smooth === false ? false : true;
|
|
@@ -4265,6 +4311,18 @@ function surfaceType(defaultValue) {
|
|
|
4265
4311
|
}));
|
|
4266
4312
|
}
|
|
4267
4313
|
|
|
4314
|
+
function dimType(defaultValue) {
|
|
4315
|
+
return decorateLeafAttr(defaultValue, key => attr({
|
|
4316
|
+
set(value) {
|
|
4317
|
+
if (this.__setAttr(key, value)) {
|
|
4318
|
+
const data = this.__;
|
|
4319
|
+
DataHelper.stintSet(data, "__useDim", data.dim || data.bright || data.dimskip);
|
|
4320
|
+
this.__layout.surfaceChange();
|
|
4321
|
+
}
|
|
4322
|
+
}
|
|
4323
|
+
}));
|
|
4324
|
+
}
|
|
4325
|
+
|
|
4268
4326
|
function opacityType(defaultValue) {
|
|
4269
4327
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4270
4328
|
set(value) {
|
|
@@ -4309,7 +4367,7 @@ function sortType(defaultValue) {
|
|
|
4309
4367
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4310
4368
|
set(value) {
|
|
4311
4369
|
if (this.__setAttr(key, value)) {
|
|
4312
|
-
this.__layout.
|
|
4370
|
+
this.__layout.surfaceChange();
|
|
4313
4371
|
this.waitParent(() => {
|
|
4314
4372
|
this.parent.__layout.childrenSortChange();
|
|
4315
4373
|
});
|
|
@@ -4346,7 +4404,7 @@ function hitType(defaultValue) {
|
|
|
4346
4404
|
set(value) {
|
|
4347
4405
|
if (this.__setAttr(key, value)) {
|
|
4348
4406
|
this.__layout.hitCanvasChanged = true;
|
|
4349
|
-
if (Debug.showBounds === "hit") this.__layout.
|
|
4407
|
+
if (Debug.showBounds === "hit") this.__layout.surfaceChange();
|
|
4350
4408
|
if (this.leafer) this.leafer.updateCursor();
|
|
4351
4409
|
}
|
|
4352
4410
|
}
|
|
@@ -4848,7 +4906,7 @@ const WaitHelper = {
|
|
|
4848
4906
|
|
|
4849
4907
|
const {getRelativeWorld: getRelativeWorld$1, updateBounds: updateBounds$2} = LeafHelper;
|
|
4850
4908
|
|
|
4851
|
-
const {toOuterOf: toOuterOf$
|
|
4909
|
+
const {toOuterOf: toOuterOf$3, getPoints: getPoints, copy: copy$5} = BoundsHelper;
|
|
4852
4910
|
|
|
4853
4911
|
const localContent = "_localContentBounds";
|
|
4854
4912
|
|
|
@@ -4871,7 +4929,7 @@ class LeafLayout {
|
|
|
4871
4929
|
this._renderBounds = bounds;
|
|
4872
4930
|
}
|
|
4873
4931
|
get localContentBounds() {
|
|
4874
|
-
toOuterOf$
|
|
4932
|
+
toOuterOf$3(this.contentBounds, this.leaf.__localMatrix, this[localContent] || (this[localContent] = {}));
|
|
4875
4933
|
return this[localContent];
|
|
4876
4934
|
}
|
|
4877
4935
|
get localStrokeBounds() {
|
|
@@ -4881,15 +4939,15 @@ class LeafLayout {
|
|
|
4881
4939
|
return this._localRenderBounds || this;
|
|
4882
4940
|
}
|
|
4883
4941
|
get worldContentBounds() {
|
|
4884
|
-
toOuterOf$
|
|
4942
|
+
toOuterOf$3(this.contentBounds, this.leaf.__world, this[worldContent] || (this[worldContent] = {}));
|
|
4885
4943
|
return this[worldContent];
|
|
4886
4944
|
}
|
|
4887
4945
|
get worldBoxBounds() {
|
|
4888
|
-
toOuterOf$
|
|
4946
|
+
toOuterOf$3(this.boxBounds, this.leaf.__world, this[worldBox] || (this[worldBox] = {}));
|
|
4889
4947
|
return this[worldBox];
|
|
4890
4948
|
}
|
|
4891
4949
|
get worldStrokeBounds() {
|
|
4892
|
-
toOuterOf$
|
|
4950
|
+
toOuterOf$3(this.strokeBounds, this.leaf.__world, this[worldStroke] || (this[worldStroke] = {}));
|
|
4893
4951
|
return this[worldStroke];
|
|
4894
4952
|
}
|
|
4895
4953
|
get a() {
|
|
@@ -5741,14 +5799,14 @@ const {updateMatrix: updateMatrix$1, updateAllMatrix: updateAllMatrix$2} = LeafH
|
|
|
5741
5799
|
|
|
5742
5800
|
const {updateBounds: updateBounds$1} = BranchHelper;
|
|
5743
5801
|
|
|
5744
|
-
const {toOuterOf: toOuterOf$
|
|
5802
|
+
const {toOuterOf: toOuterOf$2, copyAndSpread: copyAndSpread$2, copy: copy$4} = BoundsHelper;
|
|
5745
5803
|
|
|
5746
5804
|
const {toBounds: toBounds} = PathBounds;
|
|
5747
5805
|
|
|
5748
5806
|
const LeafBounds = {
|
|
5749
5807
|
__updateWorldBounds() {
|
|
5750
5808
|
const layout = this.__layout;
|
|
5751
|
-
toOuterOf$
|
|
5809
|
+
toOuterOf$2(layout.renderBounds, this.__world, this.__world);
|
|
5752
5810
|
if (layout.resized) {
|
|
5753
5811
|
if (layout.resized === "inner") this.__onUpdateSize();
|
|
5754
5812
|
if (this.__hasLocalEvent) BoundsEvent.emitLocal(this);
|
|
@@ -5804,13 +5862,13 @@ const LeafBounds = {
|
|
|
5804
5862
|
__updateLocalBoxBounds() {
|
|
5805
5863
|
if (this.__hasMotionPath) this.__updateMotionPath();
|
|
5806
5864
|
if (this.__hasAutoLayout) this.__updateAutoLayout();
|
|
5807
|
-
toOuterOf$
|
|
5865
|
+
toOuterOf$2(this.__layout.boxBounds, this.__local, this.__local);
|
|
5808
5866
|
},
|
|
5809
5867
|
__updateLocalStrokeBounds() {
|
|
5810
|
-
toOuterOf$
|
|
5868
|
+
toOuterOf$2(this.__layout.strokeBounds, this.__localMatrix, this.__layout.localStrokeBounds);
|
|
5811
5869
|
},
|
|
5812
5870
|
__updateLocalRenderBounds() {
|
|
5813
|
-
toOuterOf$
|
|
5871
|
+
toOuterOf$2(this.__layout.renderBounds, this.__localMatrix, this.__layout.localRenderBounds);
|
|
5814
5872
|
},
|
|
5815
5873
|
__updateBoxBounds(_secondLayout, _bounds) {
|
|
5816
5874
|
const b = this.__layout.boxBounds;
|
|
@@ -5848,11 +5906,11 @@ const LeafBounds = {
|
|
|
5848
5906
|
},
|
|
5849
5907
|
__updateStrokeBounds(_bounds) {
|
|
5850
5908
|
const layout = this.__layout;
|
|
5851
|
-
copyAndSpread$
|
|
5909
|
+
copyAndSpread$2(layout.strokeBounds, layout.boxBounds, layout.strokeBoxSpread);
|
|
5852
5910
|
},
|
|
5853
5911
|
__updateRenderBounds(_bounds) {
|
|
5854
|
-
const layout = this.__layout;
|
|
5855
|
-
|
|
5912
|
+
const layout = this.__layout, {renderSpread: renderSpread} = layout;
|
|
5913
|
+
isNumber(renderSpread) && renderSpread <= 0 ? copy$4(layout.renderBounds, layout.strokeBounds) : copyAndSpread$2(layout.renderBounds, layout.boxBounds, renderSpread);
|
|
5856
5914
|
}
|
|
5857
5915
|
};
|
|
5858
5916
|
|
|
@@ -5861,6 +5919,7 @@ const LeafRender = {
|
|
|
5861
5919
|
if (options.shape) return this.__renderShape(canvas, options);
|
|
5862
5920
|
if (this.__worldOpacity) {
|
|
5863
5921
|
const data = this.__;
|
|
5922
|
+
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
5864
5923
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
5865
5924
|
canvas.opacity = options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
5866
5925
|
if (this.__.__single) {
|
|
@@ -5909,7 +5968,9 @@ const BranchRender = {
|
|
|
5909
5968
|
this.__nowWorld = this.__getNowWorld(options);
|
|
5910
5969
|
if (this.__worldOpacity) {
|
|
5911
5970
|
const data = this.__;
|
|
5912
|
-
if (data.
|
|
5971
|
+
if (data.__useDim) {
|
|
5972
|
+
if (data.dim) options.dimOpacity = data.dim === true ? .2 : data.dim; else if (data.bright && !options.topRendering) return options.topList.add(this); else if (data.dimskip) options.dimOpacity && (options.dimOpacity = 0);
|
|
5973
|
+
}
|
|
5913
5974
|
if (data.__single && !this.isBranchLeaf) {
|
|
5914
5975
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
5915
5976
|
const tempCanvas = canvas.getSameCanvas(false, true);
|
|
@@ -5947,11 +6008,13 @@ const tempScaleData$1 = {};
|
|
|
5947
6008
|
|
|
5948
6009
|
const {LEAF: LEAF, create: create} = IncrementId;
|
|
5949
6010
|
|
|
6011
|
+
const {stintSet: stintSet$3} = DataHelper;
|
|
6012
|
+
|
|
5950
6013
|
const {toInnerPoint: toInnerPoint, toOuterPoint: toOuterPoint, multiplyParent: multiplyParent$1} = MatrixHelper;
|
|
5951
6014
|
|
|
5952
|
-
const {toOuterOf: toOuterOf} = BoundsHelper;
|
|
6015
|
+
const {toOuterOf: toOuterOf$1} = BoundsHelper;
|
|
5953
6016
|
|
|
5954
|
-
const {copy: copy$3, move: move} = PointHelper;
|
|
6017
|
+
const {copy: copy$3, move: move$2} = PointHelper;
|
|
5955
6018
|
|
|
5956
6019
|
const {moveLocal: moveLocal, zoomOfLocal: zoomOfLocal, rotateOfLocal: rotateOfLocal, skewOfLocal: skewOfLocal, moveWorld: moveWorld, zoomOfWorld: zoomOfWorld, rotateOfWorld: rotateOfWorld, skewOfWorld: skewOfWorld, transform: transform, transformWorld: transformWorld, setTransform: setTransform, getFlipTransform: getFlipTransform, getLocalOrigin: getLocalOrigin, getRelativeWorld: getRelativeWorld, drop: drop} = LeafHelper;
|
|
5957
6020
|
|
|
@@ -6227,8 +6290,9 @@ let Leaf = class Leaf {
|
|
|
6227
6290
|
if (!this.__cameraWorld) this.__cameraWorld = {};
|
|
6228
6291
|
const cameraWorld = this.__cameraWorld, world = this.__world;
|
|
6229
6292
|
multiplyParent$1(world, options.matrix, cameraWorld, undefined, world);
|
|
6230
|
-
toOuterOf(this.__layout.renderBounds, cameraWorld, cameraWorld);
|
|
6231
|
-
cameraWorld
|
|
6293
|
+
toOuterOf$1(this.__layout.renderBounds, cameraWorld, cameraWorld);
|
|
6294
|
+
stintSet$3(cameraWorld, "half", world.half);
|
|
6295
|
+
stintSet$3(cameraWorld, "ignorePixelSnap", world.ignorePixelSnap);
|
|
6232
6296
|
return cameraWorld;
|
|
6233
6297
|
} else {
|
|
6234
6298
|
return this.__world;
|
|
@@ -6262,7 +6326,7 @@ let Leaf = class Leaf {
|
|
|
6262
6326
|
getWorldBounds(inner, relative, change) {
|
|
6263
6327
|
const matrix = relative ? getRelativeWorld(this, relative) : this.worldTransform;
|
|
6264
6328
|
const to = change ? inner : {};
|
|
6265
|
-
toOuterOf(inner, matrix, to);
|
|
6329
|
+
toOuterOf$1(inner, matrix, to);
|
|
6266
6330
|
return to;
|
|
6267
6331
|
}
|
|
6268
6332
|
worldToLocal(world, to, distance, relative) {
|
|
@@ -6295,7 +6359,7 @@ let Leaf = class Leaf {
|
|
|
6295
6359
|
}
|
|
6296
6360
|
getBoxPointByInner(inner, _relative, _distance, change) {
|
|
6297
6361
|
const point = change ? inner : Object.assign({}, inner), {x: x, y: y} = this.boxBounds;
|
|
6298
|
-
move(point, -x, -y);
|
|
6362
|
+
move$2(point, -x, -y);
|
|
6299
6363
|
return point;
|
|
6300
6364
|
}
|
|
6301
6365
|
getInnerPoint(world, relative, distance, change) {
|
|
@@ -6305,7 +6369,7 @@ let Leaf = class Leaf {
|
|
|
6305
6369
|
}
|
|
6306
6370
|
getInnerPointByBox(box, _relative, _distance, change) {
|
|
6307
6371
|
const point = change ? box : Object.assign({}, box), {x: x, y: y} = this.boxBounds;
|
|
6308
|
-
move(point, x, y);
|
|
6372
|
+
move$2(point, x, y);
|
|
6309
6373
|
return point;
|
|
6310
6374
|
}
|
|
6311
6375
|
getInnerPointByLocal(local, _relative, distance, change) {
|
|
@@ -6751,7 +6815,7 @@ class LeafLevelList {
|
|
|
6751
6815
|
}
|
|
6752
6816
|
}
|
|
6753
6817
|
|
|
6754
|
-
const version = "1.9.
|
|
6818
|
+
const version = "1.9.8";
|
|
6755
6819
|
|
|
6756
6820
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6757
6821
|
get allowBackgroundColor() {
|
|
@@ -7176,6 +7240,7 @@ class Renderer {
|
|
|
7176
7240
|
usePartRender: true,
|
|
7177
7241
|
maxFPS: 120
|
|
7178
7242
|
};
|
|
7243
|
+
this.frames = [];
|
|
7179
7244
|
this.target = target;
|
|
7180
7245
|
this.canvas = canvas;
|
|
7181
7246
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
@@ -7305,7 +7370,7 @@ class Renderer {
|
|
|
7305
7370
|
};
|
|
7306
7371
|
if (this.needFill) canvas.fillWorld(bounds, this.config.fill);
|
|
7307
7372
|
if (Debug.showRepaint) Debug.drawRepaint(canvas, bounds);
|
|
7308
|
-
this.target
|
|
7373
|
+
Platform.render(this.target, canvas, options);
|
|
7309
7374
|
this.renderBounds = realBounds = realBounds || bounds;
|
|
7310
7375
|
this.renderOptions = options;
|
|
7311
7376
|
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
@@ -7328,12 +7393,15 @@ class Renderer {
|
|
|
7328
7393
|
const target = this.target;
|
|
7329
7394
|
if (this.requestTime || !target) return;
|
|
7330
7395
|
if (target.parentApp) return target.parentApp.requestRender(false);
|
|
7331
|
-
|
|
7396
|
+
this.requestTime = this.frameTime || Date.now();
|
|
7332
7397
|
const render = () => {
|
|
7333
|
-
const nowFPS = 1e3 / (Date.now() - requestTime);
|
|
7398
|
+
const nowFPS = 1e3 / ((this.frameTime = Date.now()) - this.requestTime);
|
|
7334
7399
|
const {maxFPS: maxFPS} = this.config;
|
|
7335
|
-
if (maxFPS && nowFPS > maxFPS
|
|
7336
|
-
|
|
7400
|
+
if (maxFPS && nowFPS > maxFPS) return Platform.requestRender(render);
|
|
7401
|
+
const {frames: frames} = this;
|
|
7402
|
+
if (frames.length > 30) frames.shift();
|
|
7403
|
+
frames.push(nowFPS);
|
|
7404
|
+
this.FPS = Math.round(frames.reduce((a, b) => a + b, 0) / frames.length);
|
|
7337
7405
|
this.requestTime = 0;
|
|
7338
7406
|
this.checkRender();
|
|
7339
7407
|
};
|
|
@@ -7581,6 +7649,15 @@ Object.assign(Creator, {
|
|
|
7581
7649
|
|
|
7582
7650
|
Platform.layout = Layouter.fullLayout;
|
|
7583
7651
|
|
|
7652
|
+
Platform.render = function(target, canvas, options) {
|
|
7653
|
+
const topOptions = Object.assign(Object.assign({}, options), {
|
|
7654
|
+
topRendering: true
|
|
7655
|
+
});
|
|
7656
|
+
options.topList = new LeafList;
|
|
7657
|
+
target.__render(canvas, options);
|
|
7658
|
+
if (options.topList.length) options.topList.forEach(item => item.__render(canvas, topOptions));
|
|
7659
|
+
};
|
|
7660
|
+
|
|
7584
7661
|
function effectType(defaultValue) {
|
|
7585
7662
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
7586
7663
|
set(value) {
|
|
@@ -7980,39 +8057,41 @@ class CanvasData extends RectData {
|
|
|
7980
8057
|
}
|
|
7981
8058
|
}
|
|
7982
8059
|
|
|
8060
|
+
const {max: max$2, add: add$1} = FourNumberHelper;
|
|
8061
|
+
|
|
7983
8062
|
const UIBounds = {
|
|
7984
8063
|
__updateStrokeSpread() {
|
|
7985
|
-
let
|
|
8064
|
+
let spread = 0, boxSpread = 0;
|
|
7986
8065
|
const data = this.__, {strokeAlign: strokeAlign, __maxStrokeWidth: strokeWidth} = data, box = this.__box;
|
|
7987
8066
|
if ((data.stroke || data.hitStroke === "all") && strokeWidth && strokeAlign !== "inside") {
|
|
7988
|
-
|
|
8067
|
+
boxSpread = spread = strokeAlign === "center" ? strokeWidth / 2 : strokeWidth;
|
|
7989
8068
|
if (!data.__boxStroke) {
|
|
7990
|
-
const miterLimitAddWidth = data.__isLinePath ? 0 : 10 *
|
|
8069
|
+
const miterLimitAddWidth = data.__isLinePath ? 0 : 10 * spread;
|
|
7991
8070
|
const storkeCapAddWidth = data.strokeCap === "none" ? 0 : strokeWidth;
|
|
7992
|
-
|
|
8071
|
+
spread += Math.max(miterLimitAddWidth, storkeCapAddWidth);
|
|
7993
8072
|
}
|
|
7994
8073
|
}
|
|
7995
|
-
if (data.__useArrow)
|
|
8074
|
+
if (data.__useArrow) spread += strokeWidth * 5;
|
|
7996
8075
|
if (box) {
|
|
7997
|
-
|
|
7998
|
-
|
|
8076
|
+
spread = max$2(spread, box.__layout.strokeSpread = box.__updateStrokeSpread());
|
|
8077
|
+
boxSpread = Math.max(boxSpread, box.__layout.strokeBoxSpread);
|
|
7999
8078
|
}
|
|
8000
|
-
this.__layout.strokeBoxSpread =
|
|
8001
|
-
return
|
|
8079
|
+
this.__layout.strokeBoxSpread = boxSpread;
|
|
8080
|
+
return spread;
|
|
8002
8081
|
},
|
|
8003
8082
|
__updateRenderSpread() {
|
|
8004
|
-
let
|
|
8005
|
-
const {shadow: shadow, innerShadow: innerShadow, blur: blur, backgroundBlur: backgroundBlur, filter: filter, renderSpread: renderSpread} = this.__;
|
|
8006
|
-
if (shadow)
|
|
8007
|
-
if (blur)
|
|
8008
|
-
if (filter)
|
|
8009
|
-
if (renderSpread)
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
if (
|
|
8013
|
-
|
|
8014
|
-
|
|
8015
|
-
return
|
|
8083
|
+
let spread = 0;
|
|
8084
|
+
const {shadow: shadow, innerShadow: innerShadow, blur: blur, backgroundBlur: backgroundBlur, filter: filter, renderSpread: renderSpread} = this.__, {strokeSpread: strokeSpread} = this.__layout, box = this.__box;
|
|
8085
|
+
if (shadow) spread = Effect.getShadowRenderSpread(this, shadow);
|
|
8086
|
+
if (blur) spread = max$2(spread, blur);
|
|
8087
|
+
if (filter) spread = add$1(spread, Filter.getSpread(filter));
|
|
8088
|
+
if (renderSpread) spread = add$1(spread, renderSpread);
|
|
8089
|
+
if (strokeSpread) spread = add$1(spread, strokeSpread);
|
|
8090
|
+
let shapeSpread = spread;
|
|
8091
|
+
if (innerShadow) shapeSpread = max$2(shapeSpread, Effect.getInnerShadowSpread(this, innerShadow));
|
|
8092
|
+
if (backgroundBlur) shapeSpread = max$2(shapeSpread, backgroundBlur);
|
|
8093
|
+
this.__layout.renderShapeSpread = shapeSpread;
|
|
8094
|
+
return box ? max$2(box.__updateRenderSpread(), spread) : spread;
|
|
8016
8095
|
}
|
|
8017
8096
|
};
|
|
8018
8097
|
|
|
@@ -8356,9 +8435,9 @@ __decorate([ visibleType(true) ], UI.prototype, "visible", void 0);
|
|
|
8356
8435
|
|
|
8357
8436
|
__decorate([ surfaceType(false) ], UI.prototype, "locked", void 0);
|
|
8358
8437
|
|
|
8359
|
-
__decorate([
|
|
8438
|
+
__decorate([ dimType(false) ], UI.prototype, "dim", void 0);
|
|
8360
8439
|
|
|
8361
|
-
__decorate([
|
|
8440
|
+
__decorate([ dimType(false) ], UI.prototype, "dimskip", void 0);
|
|
8362
8441
|
|
|
8363
8442
|
__decorate([ sortType(0) ], UI.prototype, "zIndex", void 0);
|
|
8364
8443
|
|
|
@@ -9323,7 +9402,7 @@ __decorate([ resizeType() ], Canvas.prototype, "contextSettings", void 0);
|
|
|
9323
9402
|
|
|
9324
9403
|
Canvas = __decorate([ registerUI() ], Canvas);
|
|
9325
9404
|
|
|
9326
|
-
const {copyAndSpread: copyAndSpread, includes: includes, spread: spread, setList: setList} = BoundsHelper;
|
|
9405
|
+
const {copyAndSpread: copyAndSpread$1, includes: includes, spread: spread, setList: setList} = BoundsHelper;
|
|
9327
9406
|
|
|
9328
9407
|
let Text = class Text extends UI {
|
|
9329
9408
|
get __tag() {
|
|
@@ -9370,13 +9449,13 @@ let Text = class Text extends UI {
|
|
|
9370
9449
|
if (this.isOverflow) setList(data.__textBoxBounds = {}, [ b, contentBounds ]), layout.renderChanged = true; else data.__textBoxBounds = b;
|
|
9371
9450
|
}
|
|
9372
9451
|
__updateRenderSpread() {
|
|
9373
|
-
let
|
|
9374
|
-
if (!
|
|
9375
|
-
return
|
|
9452
|
+
let spread = super.__updateRenderSpread();
|
|
9453
|
+
if (!spread) spread = this.isOverflow ? 1 : 0;
|
|
9454
|
+
return spread;
|
|
9376
9455
|
}
|
|
9377
9456
|
__updateRenderBounds() {
|
|
9378
9457
|
const {renderBounds: renderBounds, renderSpread: renderSpread} = this.__layout;
|
|
9379
|
-
copyAndSpread(renderBounds, this.__.__textBoxBounds, renderSpread);
|
|
9458
|
+
copyAndSpread$1(renderBounds, this.__.__textBoxBounds, renderSpread);
|
|
9380
9459
|
if (this.__box) this.__box.__layout.renderBounds = renderBounds;
|
|
9381
9460
|
}
|
|
9382
9461
|
__updateChange() {
|
|
@@ -9802,9 +9881,9 @@ let DragEvent = class DragEvent extends PointerEvent {
|
|
|
9802
9881
|
static setData(data) {
|
|
9803
9882
|
this.data = data;
|
|
9804
9883
|
}
|
|
9805
|
-
static getValidMove(leaf,
|
|
9806
|
-
const move = leaf.getLocalPoint(
|
|
9807
|
-
PointHelper.move(move,
|
|
9884
|
+
static getValidMove(leaf, localStart, worldTotal, checkLimit = true) {
|
|
9885
|
+
const move = leaf.getLocalPoint(worldTotal, null, true);
|
|
9886
|
+
PointHelper.move(move, localStart.x - leaf.x, localStart.y - leaf.y);
|
|
9808
9887
|
if (checkLimit) this.limitMove(leaf, move);
|
|
9809
9888
|
DragBoundsHelper.axisMove(leaf, move);
|
|
9810
9889
|
return move;
|
|
@@ -10834,8 +10913,8 @@ ui$1.__updateHitCanvas = function() {
|
|
|
10834
10913
|
if (isHitPixel) {
|
|
10835
10914
|
const {renderBounds: renderBounds} = this.__layout;
|
|
10836
10915
|
const size = Platform.image.hitCanvasSize;
|
|
10837
|
-
const scale = h.hitScale = tempBounds$
|
|
10838
|
-
const {x: x, y: y, width: width, height: height} = tempBounds$
|
|
10916
|
+
const scale = h.hitScale = tempBounds$2.set(0, 0, size, size).getFitMatrix(renderBounds).a;
|
|
10917
|
+
const {x: x, y: y, width: width, height: height} = tempBounds$2.set(renderBounds).scale(scale);
|
|
10839
10918
|
h.resize({
|
|
10840
10919
|
width: width,
|
|
10841
10920
|
height: height,
|
|
@@ -10932,8 +11011,8 @@ canvas.hitStroke = function(point, strokeWidth) {
|
|
|
10932
11011
|
canvas.hitPixel = function(radiusPoint, offset, scale = 1) {
|
|
10933
11012
|
let {x: x, y: y, radiusX: radiusX, radiusY: radiusY} = radiusPoint;
|
|
10934
11013
|
if (offset) x -= offset.x, y -= offset.y;
|
|
10935
|
-
tempBounds$
|
|
10936
|
-
const {data: data} = this.context.getImageData(tempBounds$
|
|
11014
|
+
tempBounds$2.set(x - radiusX, y - radiusY, radiusX * 2, radiusY * 2).scale(scale).ceil();
|
|
11015
|
+
const {data: data} = this.context.getImageData(tempBounds$2.x, tempBounds$2.y, tempBounds$2.width || 1, tempBounds$2.height || 1);
|
|
10937
11016
|
for (let i = 0, len = data.length; i < len; i += 4) {
|
|
10938
11017
|
if (data[i + 3] > 0) return true;
|
|
10939
11018
|
}
|
|
@@ -11133,24 +11212,29 @@ function drawOutside(stroke, ui, canvas) {
|
|
|
11133
11212
|
}
|
|
11134
11213
|
}
|
|
11135
11214
|
|
|
11136
|
-
const {getSpread: getSpread, getOuterOf: getOuterOf, getByMove: getByMove, getIntersectData: getIntersectData} = BoundsHelper;
|
|
11215
|
+
const {getSpread: getSpread, copyAndSpread: copyAndSpread, toOuterOf: toOuterOf, getOuterOf: getOuterOf, getByMove: getByMove, move: move$1, getIntersectData: getIntersectData} = BoundsHelper;
|
|
11216
|
+
|
|
11217
|
+
const tempBounds$1 = {};
|
|
11137
11218
|
|
|
11138
11219
|
function shape(ui, current, options) {
|
|
11139
11220
|
const canvas = current.getSameCanvas();
|
|
11140
|
-
const nowWorld = ui.__nowWorld,
|
|
11141
|
-
|
|
11221
|
+
const currentBounds = current.bounds, nowWorld = ui.__nowWorld, layout = ui.__layout;
|
|
11222
|
+
const nowWorldShapeBounds = ui.__nowWorldShapeBounds || (ui.__nowWorldShapeBounds = {});
|
|
11223
|
+
toOuterOf(layout.strokeSpread ? (copyAndSpread(tempBounds$1, layout.boxBounds, layout.strokeSpread),
|
|
11224
|
+
tempBounds$1) : layout.boxBounds, nowWorld, nowWorldShapeBounds);
|
|
11225
|
+
let bounds, renderBounds, matrix, fitMatrix, shapeBounds, worldCanvas;
|
|
11142
11226
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
|
|
11143
|
-
if (currentBounds.includes(
|
|
11227
|
+
if (currentBounds.includes(nowWorldShapeBounds)) {
|
|
11144
11228
|
worldCanvas = canvas;
|
|
11145
|
-
bounds = shapeBounds =
|
|
11229
|
+
bounds = shapeBounds = nowWorldShapeBounds;
|
|
11230
|
+
renderBounds = nowWorld;
|
|
11146
11231
|
} else {
|
|
11147
|
-
const {renderShapeSpread: spread} = ui.__layout;
|
|
11148
11232
|
let worldClipBounds;
|
|
11149
11233
|
if (Platform.fullImageShadow) {
|
|
11150
|
-
worldClipBounds =
|
|
11234
|
+
worldClipBounds = nowWorldShapeBounds;
|
|
11151
11235
|
} else {
|
|
11152
|
-
const spreadBounds =
|
|
11153
|
-
worldClipBounds = getIntersectData(spreadBounds,
|
|
11236
|
+
const spreadBounds = layout.renderShapeSpread ? getSpread(currentBounds, FourNumberHelper.swapAndScale(layout.renderShapeSpread, scaleX, scaleY)) : currentBounds;
|
|
11237
|
+
worldClipBounds = getIntersectData(spreadBounds, nowWorldShapeBounds);
|
|
11154
11238
|
}
|
|
11155
11239
|
fitMatrix = currentBounds.getFitMatrix(worldClipBounds);
|
|
11156
11240
|
let {a: fitScaleX, d: fitScaleY} = fitMatrix;
|
|
@@ -11160,8 +11244,10 @@ function shape(ui, current, options) {
|
|
|
11160
11244
|
scaleX *= fitScaleX;
|
|
11161
11245
|
scaleY *= fitScaleY;
|
|
11162
11246
|
}
|
|
11163
|
-
shapeBounds = getOuterOf(
|
|
11247
|
+
shapeBounds = getOuterOf(nowWorldShapeBounds, fitMatrix);
|
|
11164
11248
|
bounds = getByMove(shapeBounds, -fitMatrix.e, -fitMatrix.f);
|
|
11249
|
+
renderBounds = getOuterOf(nowWorld, fitMatrix);
|
|
11250
|
+
move$1(renderBounds, -fitMatrix.e, -fitMatrix.f);
|
|
11165
11251
|
const userMatrix = options.matrix;
|
|
11166
11252
|
if (userMatrix) {
|
|
11167
11253
|
matrix = new Matrix(fitMatrix);
|
|
@@ -11180,6 +11266,7 @@ function shape(ui, current, options) {
|
|
|
11180
11266
|
matrix: matrix,
|
|
11181
11267
|
fitMatrix: fitMatrix,
|
|
11182
11268
|
bounds: bounds,
|
|
11269
|
+
renderBounds: renderBounds,
|
|
11183
11270
|
worldCanvas: worldCanvas,
|
|
11184
11271
|
shapeBounds: shapeBounds,
|
|
11185
11272
|
scaleX: scaleX,
|
|
@@ -11283,7 +11370,7 @@ const PaintModule = {
|
|
|
11283
11370
|
shape: shape
|
|
11284
11371
|
};
|
|
11285
11372
|
|
|
11286
|
-
let origin = {}, tempMatrix = getMatrixData();
|
|
11373
|
+
let origin = {}, tempMatrix$1 = getMatrixData();
|
|
11287
11374
|
|
|
11288
11375
|
const {get: get$3, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, multiplyParent: multiplyParent, scale: scaleHelper, rotate: rotate, skew: skewHelper} = MatrixHelper;
|
|
11289
11376
|
|
|
@@ -11298,12 +11385,12 @@ function fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
|
11298
11385
|
data.transform = transform;
|
|
11299
11386
|
}
|
|
11300
11387
|
|
|
11301
|
-
function clipMode(data, box, x, y, scaleX, scaleY, rotation, skew,
|
|
11388
|
+
function clipMode(data, box, x, y, scaleX, scaleY, rotation, skew, clipScaleX, clipScaleY) {
|
|
11302
11389
|
const transform = get$3();
|
|
11303
11390
|
layout(transform, box, x, y, scaleX, scaleY, rotation, skew);
|
|
11304
|
-
if (
|
|
11305
|
-
tempMatrix.a =
|
|
11306
|
-
multiplyParent(transform, tempMatrix);
|
|
11391
|
+
if (clipScaleX) {
|
|
11392
|
+
tempMatrix$1.a = clipScaleX, tempMatrix$1.d = clipScaleY;
|
|
11393
|
+
multiplyParent(transform, tempMatrix$1);
|
|
11307
11394
|
}
|
|
11308
11395
|
data.transform = transform;
|
|
11309
11396
|
}
|
|
@@ -11404,7 +11491,12 @@ function getPatternData(paint, box, image) {
|
|
|
11404
11491
|
|
|
11405
11492
|
case "normal":
|
|
11406
11493
|
case "clip":
|
|
11407
|
-
if (tempImage.x || tempImage.y || scaleX || clipSize || rotation || skew)
|
|
11494
|
+
if (tempImage.x || tempImage.y || scaleX || clipSize || rotation || skew) {
|
|
11495
|
+
let clipScaleX, clipScaleY;
|
|
11496
|
+
if (clipSize) clipScaleX = box.width / clipSize.width, clipScaleY = box.height / clipSize.height;
|
|
11497
|
+
clipMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation, skew, clipScaleX, clipScaleY);
|
|
11498
|
+
if (clipScaleX) scaleX = scaleX ? scaleX * clipScaleX : scaleX, scaleY = scaleY ? scaleY * clipScaleY : clipScaleY;
|
|
11499
|
+
}
|
|
11408
11500
|
break;
|
|
11409
11501
|
|
|
11410
11502
|
case "repeat":
|
|
@@ -11562,7 +11654,7 @@ function ignoreRender(ui, value) {
|
|
|
11562
11654
|
|
|
11563
11655
|
const {get: get$1, scale: scale, copy: copy$1} = MatrixHelper;
|
|
11564
11656
|
|
|
11565
|
-
const {floor: floor, ceil: ceil, max: max, abs: abs} = Math;
|
|
11657
|
+
const {floor: floor, ceil: ceil, max: max$1, abs: abs} = Math;
|
|
11566
11658
|
|
|
11567
11659
|
function createPattern(ui, paint, pixelRatio) {
|
|
11568
11660
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, paint.scaleFixed);
|
|
@@ -11611,8 +11703,8 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
11611
11703
|
if (transform || scaleX !== 1 || scaleY !== 1) {
|
|
11612
11704
|
const canvasWidth = width + (xGap || 0);
|
|
11613
11705
|
const canvasHeight = height + (yGap || 0);
|
|
11614
|
-
scaleX /= canvasWidth / max(floor(canvasWidth), 1);
|
|
11615
|
-
scaleY /= canvasHeight / max(floor(canvasHeight), 1);
|
|
11706
|
+
scaleX /= canvasWidth / max$1(floor(canvasWidth), 1);
|
|
11707
|
+
scaleY /= canvasHeight / max$1(floor(canvasHeight), 1);
|
|
11616
11708
|
if (!imageMatrix) {
|
|
11617
11709
|
imageMatrix = get$1();
|
|
11618
11710
|
if (transform) copy$1(imageMatrix, transform);
|
|
@@ -11638,17 +11730,15 @@ function checkImage(ui, canvas, paint, allowDraw) {
|
|
|
11638
11730
|
if (allowDraw) {
|
|
11639
11731
|
if (data.repeat) {
|
|
11640
11732
|
allowDraw = false;
|
|
11641
|
-
} else {
|
|
11642
|
-
|
|
11643
|
-
|
|
11644
|
-
|
|
11645
|
-
|
|
11646
|
-
|
|
11647
|
-
|
|
11648
|
-
height *= data.scaleY;
|
|
11649
|
-
}
|
|
11650
|
-
allowDraw = width * height > Platform.image.maxCacheSize;
|
|
11733
|
+
} else if (!(paint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || Export.running)) {
|
|
11734
|
+
let {width: width, height: height} = data;
|
|
11735
|
+
width *= scaleX * pixelRatio;
|
|
11736
|
+
height *= scaleY * pixelRatio;
|
|
11737
|
+
if (data.scaleX) {
|
|
11738
|
+
width *= data.scaleX;
|
|
11739
|
+
height *= data.scaleY;
|
|
11651
11740
|
}
|
|
11741
|
+
allowDraw = width * height > Platform.image.maxCacheSize;
|
|
11652
11742
|
}
|
|
11653
11743
|
}
|
|
11654
11744
|
if (allowDraw) {
|
|
@@ -11828,20 +11918,20 @@ const PaintGradientModule = {
|
|
|
11828
11918
|
getTransform: getTransform
|
|
11829
11919
|
};
|
|
11830
11920
|
|
|
11831
|
-
const {copy: copy, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper;
|
|
11921
|
+
const {copy: copy, move: move, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max} = Math;
|
|
11832
11922
|
|
|
11833
|
-
const tempBounds = {};
|
|
11923
|
+
const tempBounds = {}, tempMatrix = new Matrix;
|
|
11834
11924
|
|
|
11835
11925
|
const offsetOutBounds$1 = {};
|
|
11836
11926
|
|
|
11837
11927
|
function shadow(ui, current, shape) {
|
|
11838
|
-
let copyBounds,
|
|
11839
|
-
const {__nowWorld: nowWorld
|
|
11928
|
+
let copyBounds, transform;
|
|
11929
|
+
const {__nowWorld: nowWorld} = ui;
|
|
11840
11930
|
const {shadow: shadow} = ui.__;
|
|
11841
|
-
const {worldCanvas: worldCanvas, bounds: bounds, shapeBounds: shapeBounds, scaleX: scaleX, scaleY: scaleY} = shape;
|
|
11931
|
+
const {worldCanvas: worldCanvas, bounds: bounds, renderBounds: renderBounds, shapeBounds: shapeBounds, scaleX: scaleX, scaleY: scaleY} = shape;
|
|
11842
11932
|
const other = current.getSameCanvas();
|
|
11843
11933
|
const end = shadow.length - 1;
|
|
11844
|
-
toOffsetOutBounds$1(bounds, offsetOutBounds$1);
|
|
11934
|
+
toOffsetOutBounds$1(bounds, offsetOutBounds$1, renderBounds);
|
|
11845
11935
|
shadow.forEach((item, index) => {
|
|
11846
11936
|
let otherScale = 1;
|
|
11847
11937
|
if (item.scaleFixed) {
|
|
@@ -11849,54 +11939,61 @@ function shadow(ui, current, shape) {
|
|
|
11849
11939
|
if (sx > 1) otherScale = 1 / sx;
|
|
11850
11940
|
}
|
|
11851
11941
|
other.setWorldShadow(offsetOutBounds$1.offsetX + item.x * scaleX * otherScale, offsetOutBounds$1.offsetY + item.y * scaleY * otherScale, item.blur * scaleX * otherScale, ColorConvert.string(item.color));
|
|
11852
|
-
|
|
11853
|
-
|
|
11854
|
-
|
|
11942
|
+
transform = getShadowTransform(ui, other, shape, item, offsetOutBounds$1, otherScale);
|
|
11943
|
+
if (transform) other.setTransform(transform);
|
|
11944
|
+
drawWorldShadow(other, offsetOutBounds$1, shape);
|
|
11945
|
+
if (transform) other.resetTransform();
|
|
11946
|
+
copyBounds = renderBounds;
|
|
11855
11947
|
if (item.box) {
|
|
11856
11948
|
other.restore();
|
|
11857
11949
|
other.save();
|
|
11858
11950
|
if (worldCanvas) {
|
|
11859
|
-
other.copyWorld(other,
|
|
11951
|
+
other.copyWorld(other, renderBounds, nowWorld, "copy");
|
|
11860
11952
|
copyBounds = nowWorld;
|
|
11861
11953
|
}
|
|
11862
11954
|
worldCanvas ? other.copyWorld(worldCanvas, nowWorld, nowWorld, "destination-out") : other.copyWorld(shape.canvas, shapeBounds, bounds, "destination-out");
|
|
11863
11955
|
}
|
|
11864
|
-
|
|
11956
|
+
LeafHelper.copyCanvasByWorld(ui, current, other, copyBounds, item.blendMode);
|
|
11865
11957
|
if (end && index < end) other.clearWorld(copyBounds);
|
|
11866
11958
|
});
|
|
11867
11959
|
other.recycle(copyBounds);
|
|
11868
11960
|
}
|
|
11869
11961
|
|
|
11870
|
-
function
|
|
11871
|
-
let
|
|
11872
|
-
shadow.forEach(item =>
|
|
11873
|
-
|
|
11962
|
+
function getShadowRenderSpread(_ui, shadow) {
|
|
11963
|
+
let top = 0, right = 0, bottom = 0, left = 0, x, y, spread, blur;
|
|
11964
|
+
shadow.forEach(item => {
|
|
11965
|
+
x = item.x || 0, y = item.y || 0, spread = item.spread || 0, blur = (item.blur || 0) * 1.5;
|
|
11966
|
+
top = max(top, spread + blur - y);
|
|
11967
|
+
right = max(right, spread + blur + x);
|
|
11968
|
+
bottom = max(bottom, spread + blur + y);
|
|
11969
|
+
left = max(left, spread + blur - x);
|
|
11970
|
+
});
|
|
11971
|
+
return top === right && right === bottom && bottom === left ? top : [ top, right, bottom, left ];
|
|
11972
|
+
}
|
|
11973
|
+
|
|
11974
|
+
function getShadowTransform(ui, canvas, _shape, shadow, outBounds, otherScale, isInnerShaodw) {
|
|
11975
|
+
if (shadow.spread) {
|
|
11976
|
+
const spreadScale = 1 + shadow.spread * 2 / ui.__layout.strokeBounds.width * otherScale * (isInnerShaodw ? -1 : 1);
|
|
11977
|
+
tempMatrix.set().scaleOfOuter({
|
|
11978
|
+
x: (outBounds.x + outBounds.width / 2) * canvas.pixelRatio,
|
|
11979
|
+
y: (outBounds.y + outBounds.height / 2) * canvas.pixelRatio
|
|
11980
|
+
}, spreadScale);
|
|
11981
|
+
return tempMatrix;
|
|
11982
|
+
}
|
|
11983
|
+
return undefined;
|
|
11874
11984
|
}
|
|
11875
11985
|
|
|
11876
|
-
function drawWorldShadow(canvas, outBounds,
|
|
11877
|
-
const {
|
|
11986
|
+
function drawWorldShadow(canvas, outBounds, shape) {
|
|
11987
|
+
const {shapeBounds: shapeBounds} = shape;
|
|
11988
|
+
let from, to;
|
|
11878
11989
|
if (Platform.fullImageShadow) {
|
|
11879
11990
|
copy(tempBounds, canvas.bounds);
|
|
11880
|
-
tempBounds.x
|
|
11881
|
-
|
|
11882
|
-
if (spreadScale) {
|
|
11883
|
-
const {fitMatrix: fitMatrix} = shape;
|
|
11884
|
-
tempBounds.x -= (bounds.x + (fitMatrix ? fitMatrix.e : 0) + bounds.width / 2) * (spreadScale - 1);
|
|
11885
|
-
tempBounds.y -= (bounds.y + (fitMatrix ? fitMatrix.f : 0) + bounds.height / 2) * (spreadScale - 1);
|
|
11886
|
-
tempBounds.width *= spreadScale;
|
|
11887
|
-
tempBounds.height *= spreadScale;
|
|
11888
|
-
}
|
|
11889
|
-
canvas.copyWorld(shape.canvas, canvas.bounds, tempBounds);
|
|
11991
|
+
move(tempBounds, outBounds.x - shapeBounds.x, outBounds.y - shapeBounds.y);
|
|
11992
|
+
from = canvas.bounds, to = tempBounds;
|
|
11890
11993
|
} else {
|
|
11891
|
-
|
|
11892
|
-
copy(tempBounds, outBounds);
|
|
11893
|
-
tempBounds.x -= outBounds.width / 2 * (spreadScale - 1);
|
|
11894
|
-
tempBounds.y -= outBounds.height / 2 * (spreadScale - 1);
|
|
11895
|
-
tempBounds.width *= spreadScale;
|
|
11896
|
-
tempBounds.height *= spreadScale;
|
|
11897
|
-
}
|
|
11898
|
-
canvas.copyWorld(shape.canvas, shapeBounds, spreadScale ? tempBounds : outBounds);
|
|
11994
|
+
from = shapeBounds, to = outBounds;
|
|
11899
11995
|
}
|
|
11996
|
+
canvas.copyWorld(shape.canvas, from, to);
|
|
11900
11997
|
}
|
|
11901
11998
|
|
|
11902
11999
|
const {toOffsetOutBounds: toOffsetOutBounds} = BoundsHelper;
|
|
@@ -11904,13 +12001,13 @@ const {toOffsetOutBounds: toOffsetOutBounds} = BoundsHelper;
|
|
|
11904
12001
|
const offsetOutBounds = {};
|
|
11905
12002
|
|
|
11906
12003
|
function innerShadow(ui, current, shape) {
|
|
11907
|
-
let copyBounds,
|
|
11908
|
-
const {__nowWorld: nowWorld
|
|
12004
|
+
let copyBounds, transform;
|
|
12005
|
+
const {__nowWorld: nowWorld} = ui;
|
|
11909
12006
|
const {innerShadow: innerShadow} = ui.__;
|
|
11910
|
-
const {worldCanvas: worldCanvas, bounds: bounds, shapeBounds: shapeBounds, scaleX: scaleX, scaleY: scaleY} = shape;
|
|
12007
|
+
const {worldCanvas: worldCanvas, bounds: bounds, renderBounds: renderBounds, shapeBounds: shapeBounds, scaleX: scaleX, scaleY: scaleY} = shape;
|
|
11911
12008
|
const other = current.getSameCanvas();
|
|
11912
12009
|
const end = innerShadow.length - 1;
|
|
11913
|
-
toOffsetOutBounds(bounds, offsetOutBounds);
|
|
12010
|
+
toOffsetOutBounds(bounds, offsetOutBounds, renderBounds);
|
|
11914
12011
|
innerShadow.forEach((item, index) => {
|
|
11915
12012
|
let otherScale = 1;
|
|
11916
12013
|
if (item.scaleFixed) {
|
|
@@ -11919,16 +12016,17 @@ function innerShadow(ui, current, shape) {
|
|
|
11919
12016
|
}
|
|
11920
12017
|
other.save();
|
|
11921
12018
|
other.setWorldShadow(offsetOutBounds.offsetX + item.x * scaleX * otherScale, offsetOutBounds.offsetY + item.y * scaleY * otherScale, item.blur * scaleX * otherScale);
|
|
11922
|
-
|
|
11923
|
-
|
|
12019
|
+
transform = getShadowTransform(ui, other, shape, item, offsetOutBounds, otherScale, true);
|
|
12020
|
+
if (transform) other.setTransform(transform);
|
|
12021
|
+
drawWorldShadow(other, offsetOutBounds, shape);
|
|
11924
12022
|
other.restore();
|
|
11925
12023
|
if (worldCanvas) {
|
|
11926
|
-
other.copyWorld(other,
|
|
12024
|
+
other.copyWorld(other, renderBounds, nowWorld, "copy");
|
|
11927
12025
|
other.copyWorld(worldCanvas, nowWorld, nowWorld, "source-out");
|
|
11928
12026
|
copyBounds = nowWorld;
|
|
11929
12027
|
} else {
|
|
11930
12028
|
other.copyWorld(shape.canvas, shapeBounds, bounds, "source-out");
|
|
11931
|
-
copyBounds =
|
|
12029
|
+
copyBounds = renderBounds;
|
|
11932
12030
|
}
|
|
11933
12031
|
other.fillWorld(copyBounds, ColorConvert.string(item.color), "source-in");
|
|
11934
12032
|
LeafHelper.copyCanvasByWorld(ui, current, other, copyBounds, item.blendMode);
|
|
@@ -11937,6 +12035,8 @@ function innerShadow(ui, current, shape) {
|
|
|
11937
12035
|
other.recycle(copyBounds);
|
|
11938
12036
|
}
|
|
11939
12037
|
|
|
12038
|
+
const getInnerShadowSpread = getShadowRenderSpread;
|
|
12039
|
+
|
|
11940
12040
|
function blur(ui, current, origin) {
|
|
11941
12041
|
const {blur: blur} = ui.__;
|
|
11942
12042
|
origin.setWorldBlur(blur * ui.__nowWorld.a);
|
|
@@ -11951,10 +12051,12 @@ const EffectModule = {
|
|
|
11951
12051
|
innerShadow: innerShadow,
|
|
11952
12052
|
blur: blur,
|
|
11953
12053
|
backgroundBlur: backgroundBlur,
|
|
11954
|
-
|
|
12054
|
+
getShadowRenderSpread: getShadowRenderSpread,
|
|
12055
|
+
getShadowTransform: getShadowTransform,
|
|
11955
12056
|
isTransformShadow(_shadow) {
|
|
11956
12057
|
return undefined;
|
|
11957
|
-
}
|
|
12058
|
+
},
|
|
12059
|
+
getInnerShadowSpread: getInnerShadowSpread
|
|
11958
12060
|
};
|
|
11959
12061
|
|
|
11960
12062
|
const {excludeRenderBounds: excludeRenderBounds} = LeafBoundsHelper;
|
|
@@ -11971,6 +12073,7 @@ Group.prototype.__renderMask = function(canvas, options) {
|
|
|
11971
12073
|
maskEnd(this, currentMask, canvas, contentCanvas, maskCanvas, maskOpacity, undefined, true);
|
|
11972
12074
|
maskCanvas = contentCanvas = null;
|
|
11973
12075
|
}
|
|
12076
|
+
if (mask === "clipping" || mask === "clipping-path") excludeRenderBounds(child, options) || child.__render(canvas, options);
|
|
11974
12077
|
maskOpacity = child.__.opacity;
|
|
11975
12078
|
usedGrayscaleAlpha = false;
|
|
11976
12079
|
if (mask === "path" || mask === "clipping-path") {
|
|
@@ -11988,7 +12091,6 @@ Group.prototype.__renderMask = function(canvas, options) {
|
|
|
11988
12091
|
if (!contentCanvas) contentCanvas = getCanvas(canvas);
|
|
11989
12092
|
child.__render(maskCanvas, options);
|
|
11990
12093
|
}
|
|
11991
|
-
if (mask === "clipping" || mask === "clipping-path") excludeRenderBounds(child, options) || child.__render(canvas, options);
|
|
11992
12094
|
continue;
|
|
11993
12095
|
}
|
|
11994
12096
|
const childBlendMode = maskOpacity === 1 && child.__.__blendMode;
|
|
@@ -12584,4 +12686,4 @@ Object.assign(Creator, {
|
|
|
12584
12686
|
|
|
12585
12687
|
useCanvas();
|
|
12586
12688
|
|
|
12587
|
-
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Frame, FrameData, Group, GroupData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$
|
|
12689
|
+
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|