@leafer/worker 1.12.1 → 1.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/worker.js +347 -202
- package/dist/worker.min.js +1 -1
- package/dist/worker.min.js.map +1 -1
- package/dist/worker.module.js +357 -202
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +23 -23
package/dist/worker.module.js
CHANGED
|
@@ -216,7 +216,7 @@ class LeafData {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
const {floor: floor$3, max: max$
|
|
219
|
+
const {floor: floor$3, max: max$7} = Math;
|
|
220
220
|
|
|
221
221
|
const Platform = {
|
|
222
222
|
toURL(text, fileType) {
|
|
@@ -242,7 +242,7 @@ const Platform = {
|
|
|
242
242
|
return url;
|
|
243
243
|
},
|
|
244
244
|
resize(image, width, height, xGap, yGap, clip, smooth, opacity, _filters) {
|
|
245
|
-
const canvas = Platform.origin.createCanvas(max$
|
|
245
|
+
const canvas = Platform.origin.createCanvas(max$7(floor$3(width + (xGap || 0)), 1), max$7(floor$3(height + (yGap || 0)), 1));
|
|
246
246
|
const ctx = canvas.getContext("2d");
|
|
247
247
|
if (opacity) ctx.globalAlpha = opacity;
|
|
248
248
|
ctx.imageSmoothingEnabled = smooth === false ? false : true;
|
|
@@ -289,7 +289,7 @@ const I$2 = IncrementId;
|
|
|
289
289
|
|
|
290
290
|
let tempA, tempB, tempTo;
|
|
291
291
|
|
|
292
|
-
const {max: max$
|
|
292
|
+
const {max: max$6} = Math, tempFour = [ 0, 0, 0, 0 ];
|
|
293
293
|
|
|
294
294
|
const FourNumberHelper = {
|
|
295
295
|
zero: [ ...tempFour ],
|
|
@@ -341,9 +341,9 @@ const FourNumberHelper = {
|
|
|
341
341
|
return data;
|
|
342
342
|
},
|
|
343
343
|
max(t, other, change) {
|
|
344
|
-
if (isNumber(t) && isNumber(other)) return max$
|
|
344
|
+
if (isNumber(t) && isNumber(other)) return max$6(t, other);
|
|
345
345
|
toTempAB(t, other, change);
|
|
346
|
-
return set$2(tempTo, max$
|
|
346
|
+
return set$2(tempTo, max$6(tempA[0], tempB[0]), max$6(tempA[1], tempB[1]), max$6(tempA[2], tempB[2]), max$6(tempA[3], tempB[3]));
|
|
347
347
|
},
|
|
348
348
|
add(t, other, change) {
|
|
349
349
|
if (isNumber(t) && isNumber(other)) return t + other;
|
|
@@ -360,7 +360,7 @@ const FourNumberHelper = {
|
|
|
360
360
|
|
|
361
361
|
const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumberHelper;
|
|
362
362
|
|
|
363
|
-
const {round: round$6, pow: pow$2, max: max$
|
|
363
|
+
const {round: round$6, pow: pow$2, max: max$5, floor: floor$2, PI: PI$4} = Math;
|
|
364
364
|
|
|
365
365
|
const MathHelper = {
|
|
366
366
|
within(value, min, max) {
|
|
@@ -414,7 +414,7 @@ const MathHelper = {
|
|
|
414
414
|
}
|
|
415
415
|
},
|
|
416
416
|
getFloorScale(num, min = 1) {
|
|
417
|
-
return max$
|
|
417
|
+
return max$5(floor$2(num), min) / num;
|
|
418
418
|
},
|
|
419
419
|
randInt: randInt,
|
|
420
420
|
randColor(opacity) {
|
|
@@ -461,9 +461,9 @@ function getMatrixData() {
|
|
|
461
461
|
|
|
462
462
|
const {sin: sin$6, cos: cos$6, acos: acos, sqrt: sqrt$5} = Math;
|
|
463
463
|
|
|
464
|
-
const {float: float$
|
|
464
|
+
const {float: float$5} = MathHelper;
|
|
465
465
|
|
|
466
|
-
const tempPoint$
|
|
466
|
+
const tempPoint$5 = {};
|
|
467
467
|
|
|
468
468
|
function getWorld() {
|
|
469
469
|
return Object.assign(Object.assign(Object.assign({}, getMatrixData()), getBoundsData()), {
|
|
@@ -522,8 +522,8 @@ const MatrixHelper = {
|
|
|
522
522
|
to.f = t.f * pixelRatio;
|
|
523
523
|
},
|
|
524
524
|
scaleOfOuter(t, origin, scaleX, scaleY) {
|
|
525
|
-
M$b.toInnerPoint(t, origin, tempPoint$
|
|
526
|
-
M$b.scaleOfInner(t, tempPoint$
|
|
525
|
+
M$b.toInnerPoint(t, origin, tempPoint$5);
|
|
526
|
+
M$b.scaleOfInner(t, tempPoint$5, scaleX, scaleY);
|
|
527
527
|
},
|
|
528
528
|
scaleOfInner(t, origin, scaleX, scaleY = scaleX) {
|
|
529
529
|
M$b.translateInner(t, origin.x, origin.y);
|
|
@@ -541,8 +541,8 @@ const MatrixHelper = {
|
|
|
541
541
|
t.d = c * sinR + d * cosR;
|
|
542
542
|
},
|
|
543
543
|
rotateOfOuter(t, origin, rotation) {
|
|
544
|
-
M$b.toInnerPoint(t, origin, tempPoint$
|
|
545
|
-
M$b.rotateOfInner(t, tempPoint$
|
|
544
|
+
M$b.toInnerPoint(t, origin, tempPoint$5);
|
|
545
|
+
M$b.rotateOfInner(t, tempPoint$5, rotation);
|
|
546
546
|
},
|
|
547
547
|
rotateOfInner(t, origin, rotation) {
|
|
548
548
|
M$b.translateInner(t, origin.x, origin.y);
|
|
@@ -563,8 +563,8 @@ const MatrixHelper = {
|
|
|
563
563
|
}
|
|
564
564
|
},
|
|
565
565
|
skewOfOuter(t, origin, skewX, skewY) {
|
|
566
|
-
M$b.toInnerPoint(t, origin, tempPoint$
|
|
567
|
-
M$b.skewOfInner(t, tempPoint$
|
|
566
|
+
M$b.toInnerPoint(t, origin, tempPoint$5);
|
|
567
|
+
M$b.skewOfInner(t, tempPoint$5, skewX, skewY);
|
|
568
568
|
},
|
|
569
569
|
skewOfInner(t, origin, skewX, skewY = 0) {
|
|
570
570
|
M$b.translateInner(t, origin.x, origin.y);
|
|
@@ -712,12 +712,12 @@ const MatrixHelper = {
|
|
|
712
712
|
const cosR = c / scaleY;
|
|
713
713
|
rotation = PI_2 - (d > 0 ? acos(-cosR) : -acos(cosR));
|
|
714
714
|
}
|
|
715
|
-
const cosR = float$
|
|
715
|
+
const cosR = float$5(cos$6(rotation));
|
|
716
716
|
const sinR = sin$6(rotation);
|
|
717
|
-
scaleX = float$
|
|
718
|
-
skewX = cosR ? float$
|
|
719
|
-
skewY = cosR ? float$
|
|
720
|
-
rotation = float$
|
|
717
|
+
scaleX = float$5(scaleX), scaleY = float$5(scaleY);
|
|
718
|
+
skewX = cosR ? float$5((c / scaleY + sinR) / cosR / OneRadian, 9) : 0;
|
|
719
|
+
skewY = cosR ? float$5((b / scaleX - sinR) / cosR / OneRadian, 9) : 0;
|
|
720
|
+
rotation = float$5(rotation / OneRadian);
|
|
721
721
|
} else {
|
|
722
722
|
scaleX = a;
|
|
723
723
|
scaleY = d;
|
|
@@ -761,9 +761,11 @@ const MatrixHelper = {
|
|
|
761
761
|
|
|
762
762
|
const M$b = MatrixHelper;
|
|
763
763
|
|
|
764
|
+
const {float: float$4} = MathHelper;
|
|
765
|
+
|
|
764
766
|
const {toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$3} = MatrixHelper;
|
|
765
767
|
|
|
766
|
-
const {sin: sin$5, cos: cos$5, abs: abs$a, sqrt: sqrt$4, atan2: atan2$2, min: min$
|
|
768
|
+
const {sin: sin$5, cos: cos$5, abs: abs$a, sqrt: sqrt$4, atan2: atan2$2, min: min$3, round: round$5} = Math;
|
|
767
769
|
|
|
768
770
|
const PointHelper = {
|
|
769
771
|
defaultPoint: getPointData(),
|
|
@@ -812,22 +814,27 @@ const PointHelper = {
|
|
|
812
814
|
},
|
|
813
815
|
tempToInnerOf(t, matrix) {
|
|
814
816
|
const {tempPoint: temp} = P$7;
|
|
815
|
-
copy$
|
|
817
|
+
copy$c(temp, t);
|
|
816
818
|
toInnerPoint$2(matrix, temp, temp);
|
|
817
819
|
return temp;
|
|
818
820
|
},
|
|
819
821
|
tempToOuterOf(t, matrix) {
|
|
820
822
|
const {tempPoint: temp} = P$7;
|
|
821
|
-
copy$
|
|
823
|
+
copy$c(temp, t);
|
|
822
824
|
toOuterPoint$3(matrix, temp, temp);
|
|
823
825
|
return temp;
|
|
824
826
|
},
|
|
825
827
|
tempToInnerRadiusPointOf(t, matrix) {
|
|
826
828
|
const {tempRadiusPoint: temp} = P$7;
|
|
827
|
-
copy$
|
|
829
|
+
copy$c(temp, t);
|
|
828
830
|
P$7.toInnerRadiusPointOf(t, matrix, temp);
|
|
829
831
|
return temp;
|
|
830
832
|
},
|
|
833
|
+
copyRadiusPoint(t, point, x, y) {
|
|
834
|
+
copy$c(t, point);
|
|
835
|
+
setRadius(t, x, y);
|
|
836
|
+
return t;
|
|
837
|
+
},
|
|
831
838
|
toInnerRadiusPointOf(t, matrix, to) {
|
|
832
839
|
to || (to = t);
|
|
833
840
|
toInnerPoint$2(matrix, t, to);
|
|
@@ -861,7 +868,7 @@ const PointHelper = {
|
|
|
861
868
|
return sqrt$4(x * x + y * y);
|
|
862
869
|
},
|
|
863
870
|
getMinDistanceFrom(x1, y1, x2, y2, x3, y3) {
|
|
864
|
-
return min$
|
|
871
|
+
return min$3(getDistanceFrom(x1, y1, x2, y2), getDistanceFrom(x2, y2, x3, y3));
|
|
865
872
|
},
|
|
866
873
|
getAngle(t, to) {
|
|
867
874
|
return getAtan2(t, to) / OneRadian;
|
|
@@ -895,7 +902,7 @@ const PointHelper = {
|
|
|
895
902
|
return points;
|
|
896
903
|
},
|
|
897
904
|
isSame(t, point) {
|
|
898
|
-
return t.x === point.x && t.y === point.y;
|
|
905
|
+
return float$4(t.x) === float$4(point.x) && float$4(t.y) === float$4(point.y);
|
|
899
906
|
},
|
|
900
907
|
reset(t) {
|
|
901
908
|
P$7.reset(t);
|
|
@@ -904,7 +911,7 @@ const PointHelper = {
|
|
|
904
911
|
|
|
905
912
|
const P$7 = PointHelper;
|
|
906
913
|
|
|
907
|
-
const {getDistanceFrom: getDistanceFrom, copy: copy$
|
|
914
|
+
const {getDistanceFrom: getDistanceFrom, copy: copy$c, setRadius: setRadius, getAtan2: getAtan2} = P$7;
|
|
908
915
|
|
|
909
916
|
class Point {
|
|
910
917
|
constructor(x, y) {
|
|
@@ -979,7 +986,7 @@ class Point {
|
|
|
979
986
|
}
|
|
980
987
|
}
|
|
981
988
|
|
|
982
|
-
const tempPoint$
|
|
989
|
+
const tempPoint$4 = new Point;
|
|
983
990
|
|
|
984
991
|
class Matrix {
|
|
985
992
|
constructor(a, b, c, d, e, f) {
|
|
@@ -1250,7 +1257,7 @@ const {tempPointBounds: tempPointBounds$1, setPoint: setPoint$5, addPoint: addPo
|
|
|
1250
1257
|
|
|
1251
1258
|
const {toOuterPoint: toOuterPoint$2} = MatrixHelper;
|
|
1252
1259
|
|
|
1253
|
-
const {float: float$
|
|
1260
|
+
const {float: float$3, fourNumber: fourNumber$1} = MathHelper;
|
|
1254
1261
|
|
|
1255
1262
|
const {floor: floor$1, ceil: ceil$2} = Math;
|
|
1256
1263
|
|
|
@@ -1315,7 +1322,7 @@ const BoundsHelper = {
|
|
|
1315
1322
|
return t;
|
|
1316
1323
|
},
|
|
1317
1324
|
toOffsetOutBounds(t, to, offsetBounds) {
|
|
1318
|
-
if (!to) to = t; else copy$
|
|
1325
|
+
if (!to) to = t; else copy$b(to, t);
|
|
1319
1326
|
if (!offsetBounds) offsetBounds = t;
|
|
1320
1327
|
to.offsetX = B.maxX(offsetBounds);
|
|
1321
1328
|
to.offsetY = B.maxY(offsetBounds);
|
|
@@ -1425,10 +1432,10 @@ const BoundsHelper = {
|
|
|
1425
1432
|
}
|
|
1426
1433
|
},
|
|
1427
1434
|
float(t, maxLength) {
|
|
1428
|
-
t.x = float$
|
|
1429
|
-
t.y = float$
|
|
1430
|
-
t.width = float$
|
|
1431
|
-
t.height = float$
|
|
1435
|
+
t.x = float$3(t.x, maxLength);
|
|
1436
|
+
t.y = float$3(t.y, maxLength);
|
|
1437
|
+
t.width = float$3(t.width, maxLength);
|
|
1438
|
+
t.height = float$3(t.height, maxLength);
|
|
1432
1439
|
},
|
|
1433
1440
|
add(t, bounds, isPoint) {
|
|
1434
1441
|
right$4 = t.x + t.width;
|
|
@@ -1462,7 +1469,7 @@ const BoundsHelper = {
|
|
|
1462
1469
|
if (bounds && (bounds.width || bounds.height)) {
|
|
1463
1470
|
if (first) {
|
|
1464
1471
|
first = false;
|
|
1465
|
-
if (!addMode) copy$
|
|
1472
|
+
if (!addMode) copy$b(t, bounds);
|
|
1466
1473
|
} else {
|
|
1467
1474
|
add$2(t, bounds);
|
|
1468
1475
|
}
|
|
@@ -1549,7 +1556,7 @@ const BoundsHelper = {
|
|
|
1549
1556
|
|
|
1550
1557
|
const B = BoundsHelper;
|
|
1551
1558
|
|
|
1552
|
-
const {add: add$2, copy: copy$
|
|
1559
|
+
const {add: add$2, copy: copy$b} = B;
|
|
1553
1560
|
|
|
1554
1561
|
class Bounds {
|
|
1555
1562
|
get minX() {
|
|
@@ -2247,7 +2254,7 @@ __decorate([ contextMethod() ], Canvas$1.prototype, "measureText", null);
|
|
|
2247
2254
|
|
|
2248
2255
|
__decorate([ contextMethod() ], Canvas$1.prototype, "strokeText", null);
|
|
2249
2256
|
|
|
2250
|
-
const {copy: copy$
|
|
2257
|
+
const {copy: copy$a, multiplyParent: multiplyParent$4, pixelScale: pixelScale} = MatrixHelper, {round: round$4} = Math, tempPixelBounds = new Bounds, tempPixelBounds2 = new Bounds;
|
|
2251
2258
|
|
|
2252
2259
|
const minSize = {
|
|
2253
2260
|
width: 1,
|
|
@@ -2407,7 +2414,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2407
2414
|
const {pixelRatio: pixelRatio} = this;
|
|
2408
2415
|
this.filter = `blur(${blur * pixelRatio}px)`;
|
|
2409
2416
|
}
|
|
2410
|
-
copyWorld(canvas, from, to, blendMode, ceilPixel
|
|
2417
|
+
copyWorld(canvas, from, to, blendMode, ceilPixel) {
|
|
2411
2418
|
if (blendMode) this.blendMode = blendMode;
|
|
2412
2419
|
if (from) {
|
|
2413
2420
|
this.setTempPixelBounds(from, ceilPixel);
|
|
@@ -2418,7 +2425,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2418
2425
|
}
|
|
2419
2426
|
if (blendMode) this.blendMode = "source-over";
|
|
2420
2427
|
}
|
|
2421
|
-
copyWorldToInner(canvas, fromWorld, toInnerBounds, blendMode, ceilPixel
|
|
2428
|
+
copyWorldToInner(canvas, fromWorld, toInnerBounds, blendMode, ceilPixel) {
|
|
2422
2429
|
if (fromWorld.b || fromWorld.c) {
|
|
2423
2430
|
this.save();
|
|
2424
2431
|
this.resetTransform();
|
|
@@ -2431,7 +2438,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2431
2438
|
if (blendMode) this.blendMode = "source-over";
|
|
2432
2439
|
}
|
|
2433
2440
|
}
|
|
2434
|
-
copyWorldByReset(canvas, from, to, blendMode, onlyResetTransform, ceilPixel
|
|
2441
|
+
copyWorldByReset(canvas, from, to, blendMode, onlyResetTransform, ceilPixel) {
|
|
2435
2442
|
this.resetTransform();
|
|
2436
2443
|
this.copyWorld(canvas, from, to, blendMode, ceilPixel);
|
|
2437
2444
|
if (!onlyResetTransform) this.useWorldTransform();
|
|
@@ -2501,7 +2508,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2501
2508
|
getSameCanvas(useSameWorldTransform, useSameSmooth) {
|
|
2502
2509
|
const {size: size, pixelSnap: pixelSnap} = this, canvas = this.manager ? this.manager.get(size) : Creator.canvas(Object.assign({}, size));
|
|
2503
2510
|
canvas.save();
|
|
2504
|
-
if (useSameWorldTransform) copy$
|
|
2511
|
+
if (useSameWorldTransform) copy$a(canvas.worldTransform, this.worldTransform), canvas.useWorldTransform();
|
|
2505
2512
|
if (useSameSmooth) canvas.smooth = this.smooth;
|
|
2506
2513
|
canvas.pixelSnap !== pixelSnap && (canvas.pixelSnap = pixelSnap);
|
|
2507
2514
|
return canvas;
|
|
@@ -2642,7 +2649,7 @@ const RectHelper = {
|
|
|
2642
2649
|
}
|
|
2643
2650
|
};
|
|
2644
2651
|
|
|
2645
|
-
const {sin: sin$4, cos: cos$4, hypot: hypot, atan2: atan2$1, ceil: ceil$1, abs: abs$9, PI: PI$3, sqrt: sqrt$3, pow: pow$1} = Math;
|
|
2652
|
+
const {sin: sin$4, cos: cos$4, hypot: hypot$1, atan2: atan2$1, ceil: ceil$1, abs: abs$9, PI: PI$3, sqrt: sqrt$3, pow: pow$1} = Math;
|
|
2646
2653
|
|
|
2647
2654
|
const {setPoint: setPoint$4, addPoint: addPoint$2} = TwoPointBoundsHelper;
|
|
2648
2655
|
|
|
@@ -2650,7 +2657,7 @@ const {set: set$1, toNumberPoints: toNumberPoints$1} = PointHelper;
|
|
|
2650
2657
|
|
|
2651
2658
|
const {M: M$a, L: L$a, C: C$8, Q: Q$7, Z: Z$8} = PathCommandMap;
|
|
2652
2659
|
|
|
2653
|
-
const tempPoint$
|
|
2660
|
+
const tempPoint$3 = {};
|
|
2654
2661
|
|
|
2655
2662
|
const BezierHelper = {
|
|
2656
2663
|
points(data, originPoints, curve, close) {
|
|
@@ -2658,7 +2665,7 @@ const BezierHelper = {
|
|
|
2658
2665
|
data.push(M$a, points[0], points[1]);
|
|
2659
2666
|
if (curve && points.length > 5) {
|
|
2660
2667
|
let aX, aY, bX, bY, cX, cY, c1X, c1Y, c2X, c2Y;
|
|
2661
|
-
let ba, cb, d, len = points.length;
|
|
2668
|
+
let baX, baY, ba, cb, d, len = points.length;
|
|
2662
2669
|
const t = curve === true ? .5 : curve;
|
|
2663
2670
|
if (close) {
|
|
2664
2671
|
points = [ points[len - 2], points[len - 1], ...points, points[0], points[1], points[2], points[3] ];
|
|
@@ -2671,7 +2678,9 @@ const BezierHelper = {
|
|
|
2671
2678
|
bY = points[i + 1];
|
|
2672
2679
|
cX = points[i + 2];
|
|
2673
2680
|
cY = points[i + 3];
|
|
2674
|
-
|
|
2681
|
+
baX = bX - aX;
|
|
2682
|
+
baY = bY - aY;
|
|
2683
|
+
ba = sqrt$3(pow$1(baX, 2) + pow$1(baY, 2));
|
|
2675
2684
|
cb = sqrt$3(pow$1(cX - bX, 2) + pow$1(cY - bY, 2));
|
|
2676
2685
|
if (!ba && !cb) continue;
|
|
2677
2686
|
d = ba + cb;
|
|
@@ -2684,7 +2693,7 @@ const BezierHelper = {
|
|
|
2684
2693
|
if (i === 2) {
|
|
2685
2694
|
if (!close) data.push(Q$7, c1X, c1Y, bX, bY);
|
|
2686
2695
|
} else {
|
|
2687
|
-
data.push(C$8, c2X, c2Y, c1X, c1Y, bX, bY);
|
|
2696
|
+
if (baX || baY) data.push(C$8, c2X, c2Y, c1X, c1Y, bX, bY);
|
|
2688
2697
|
}
|
|
2689
2698
|
c2X = bX + cb * cX;
|
|
2690
2699
|
c2Y = bY + cb * cY;
|
|
@@ -2713,8 +2722,8 @@ const BezierHelper = {
|
|
|
2713
2722
|
const CBy = toY - y1;
|
|
2714
2723
|
let startRadian = atan2$1(BAy, BAx);
|
|
2715
2724
|
let endRadian = atan2$1(CBy, CBx);
|
|
2716
|
-
const lenBA = hypot(BAx, BAy);
|
|
2717
|
-
const lenCB = hypot(CBx, CBy);
|
|
2725
|
+
const lenBA = hypot$1(BAx, BAy);
|
|
2726
|
+
const lenCB = hypot$1(CBx, CBy);
|
|
2718
2727
|
let totalRadian = endRadian - startRadian;
|
|
2719
2728
|
if (totalRadian < 0) totalRadian += PI2;
|
|
2720
2729
|
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$9(totalRadian - PI$3) < 1e-12) {
|
|
@@ -2819,8 +2828,8 @@ const BezierHelper = {
|
|
|
2819
2828
|
addMode ? addPoint$2(pointBounds, fromX, fromY) : setPoint$4(pointBounds, fromX, fromY);
|
|
2820
2829
|
addPoint$2(pointBounds, toX, toY);
|
|
2821
2830
|
for (let i = 0, len = tList.length; i < len; i++) {
|
|
2822
|
-
getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$
|
|
2823
|
-
addPoint$2(pointBounds, tempPoint$
|
|
2831
|
+
getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$3);
|
|
2832
|
+
addPoint$2(pointBounds, tempPoint$3.x, tempPoint$3.y);
|
|
2824
2833
|
}
|
|
2825
2834
|
},
|
|
2826
2835
|
getPointAndSet(t, fromX, fromY, x1, y1, x2, y2, toX, toY, setPoint) {
|
|
@@ -3230,7 +3239,7 @@ const {M: M$8, L: L$8, C: C$6, Q: Q$5, Z: Z$6, N: N$4, D: D$5, X: X$4, G: G$4, F
|
|
|
3230
3239
|
|
|
3231
3240
|
const {getMinDistanceFrom: getMinDistanceFrom, getRadianFrom: getRadianFrom} = PointHelper;
|
|
3232
3241
|
|
|
3233
|
-
const {tan: tan, min: min$
|
|
3242
|
+
const {tan: tan, min: min$2, abs: abs$8} = Math;
|
|
3234
3243
|
|
|
3235
3244
|
const startPoint = {};
|
|
3236
3245
|
|
|
@@ -3269,6 +3278,7 @@ const PathCommandDataHelper = {
|
|
|
3269
3278
|
}
|
|
3270
3279
|
},
|
|
3271
3280
|
ellipse(data, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise) {
|
|
3281
|
+
if (radiusX === radiusY) return arc$2(data, x, y, radiusX, startAngle, endAngle, anticlockwise);
|
|
3272
3282
|
if (isNull(rotation)) {
|
|
3273
3283
|
data.push(F$5, x, y, radiusX, radiusY);
|
|
3274
3284
|
} else {
|
|
@@ -3281,6 +3291,7 @@ const PathCommandDataHelper = {
|
|
|
3281
3291
|
if (isNull(startAngle)) {
|
|
3282
3292
|
data.push(P$4, x, y, radius);
|
|
3283
3293
|
} else {
|
|
3294
|
+
if (isNull(startAngle)) startAngle = 0;
|
|
3284
3295
|
if (isNull(endAngle)) endAngle = 360;
|
|
3285
3296
|
data.push(O$5, x, y, radius, startAngle, endAngle, anticlockwise ? 1 : 0);
|
|
3286
3297
|
}
|
|
@@ -3288,7 +3299,7 @@ const PathCommandDataHelper = {
|
|
|
3288
3299
|
arcTo(data, x1, y1, x2, y2, radius, lastX, lastY) {
|
|
3289
3300
|
if (!isUndefined(lastX)) {
|
|
3290
3301
|
const d = getMinDistanceFrom(lastX, lastY, x1, y1, x2, y2);
|
|
3291
|
-
radius = min$
|
|
3302
|
+
radius = min$2(radius, min$2(d / 2, d / 2 * abs$8(tan(getRadianFrom(lastX, lastY, x1, y1, x2, y2) / 2))));
|
|
3292
3303
|
}
|
|
3293
3304
|
data.push(U$4, x1, y1, x2, y2, radius);
|
|
3294
3305
|
},
|
|
@@ -3490,7 +3501,7 @@ const {M: M$6, L: L$6, C: C$4, Q: Q$3, Z: Z$4, N: N$2, D: D$3, X: X$2, G: G$2, F
|
|
|
3490
3501
|
|
|
3491
3502
|
const {toTwoPointBounds: toTwoPointBounds, toTwoPointBoundsByQuadraticCurve: toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc: arc, ellipse: ellipse$1} = BezierHelper;
|
|
3492
3503
|
|
|
3493
|
-
const {addPointBounds: addPointBounds, copy: copy$
|
|
3504
|
+
const {addPointBounds: addPointBounds, copy: copy$9, addPoint: addPoint$1, setPoint: setPoint$3, addBounds: addBounds, toBounds: toBounds$2} = TwoPointBoundsHelper;
|
|
3494
3505
|
|
|
3495
3506
|
const debug$d = Debug.get("PathBounds");
|
|
3496
3507
|
|
|
@@ -3572,7 +3583,7 @@ const PathBounds = {
|
|
|
3572
3583
|
|
|
3573
3584
|
case G$2:
|
|
3574
3585
|
ellipse$1(null, data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5], data[i + 6], data[i + 7], data[i + 8], tempPointBounds, setEndPoint);
|
|
3575
|
-
i === 0 ? copy$
|
|
3586
|
+
i === 0 ? copy$9(setPointBounds, tempPointBounds) : addPointBounds(setPointBounds, tempPointBounds);
|
|
3576
3587
|
x = setEndPoint.x;
|
|
3577
3588
|
y = setEndPoint.y;
|
|
3578
3589
|
i += 9;
|
|
@@ -3590,7 +3601,7 @@ const PathBounds = {
|
|
|
3590
3601
|
|
|
3591
3602
|
case O$3:
|
|
3592
3603
|
arc(null, data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5], data[i + 6], tempPointBounds, setEndPoint);
|
|
3593
|
-
i === 0 ? copy$
|
|
3604
|
+
i === 0 ? copy$9(setPointBounds, tempPointBounds) : addPointBounds(setPointBounds, tempPointBounds);
|
|
3594
3605
|
x = setEndPoint.x;
|
|
3595
3606
|
y = setEndPoint.y;
|
|
3596
3607
|
i += 7;
|
|
@@ -3607,7 +3618,7 @@ const PathBounds = {
|
|
|
3607
3618
|
|
|
3608
3619
|
case U$2:
|
|
3609
3620
|
arcTo$1(null, x, y, data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5], tempPointBounds, setEndPoint);
|
|
3610
|
-
i === 0 ? copy$
|
|
3621
|
+
i === 0 ? copy$9(setPointBounds, tempPointBounds) : addPointBounds(setPointBounds, tempPointBounds);
|
|
3611
3622
|
x = setEndPoint.x;
|
|
3612
3623
|
y = setEndPoint.y;
|
|
3613
3624
|
i += 6;
|
|
@@ -3631,6 +3642,7 @@ const PathCorner = {
|
|
|
3631
3642
|
smooth(data, cornerRadius, _cornerSmoothing) {
|
|
3632
3643
|
let command, lastCommand, commandLen;
|
|
3633
3644
|
let i = 0, x = 0, y = 0, startX = 0, startY = 0, secondX = 0, secondY = 0, lastX = 0, lastY = 0;
|
|
3645
|
+
if (isArray(cornerRadius)) cornerRadius = cornerRadius[0] || 0;
|
|
3634
3646
|
const len = data.length;
|
|
3635
3647
|
const smooth = [];
|
|
3636
3648
|
while (i < len) {
|
|
@@ -4046,7 +4058,9 @@ const R = Resource;
|
|
|
4046
4058
|
const ImageManager = {
|
|
4047
4059
|
maxRecycled: 10,
|
|
4048
4060
|
recycledList: [],
|
|
4049
|
-
patternTasker: new TaskProcessor
|
|
4061
|
+
patternTasker: new TaskProcessor({
|
|
4062
|
+
parallel: 1
|
|
4063
|
+
}),
|
|
4050
4064
|
get(config) {
|
|
4051
4065
|
let image = Resource.get(config.url);
|
|
4052
4066
|
if (!image) Resource.set(config.url, image = Creator.image(config));
|
|
@@ -4103,6 +4117,10 @@ class LeaferImage {
|
|
|
4103
4117
|
get url() {
|
|
4104
4118
|
return this.config.url;
|
|
4105
4119
|
}
|
|
4120
|
+
get crossOrigin() {
|
|
4121
|
+
const {crossOrigin: crossOrigin} = this.config;
|
|
4122
|
+
return isUndefined(crossOrigin) ? Platform.image.crossOrigin : crossOrigin;
|
|
4123
|
+
}
|
|
4106
4124
|
get completed() {
|
|
4107
4125
|
return this.ready || !!this.error;
|
|
4108
4126
|
}
|
|
@@ -4120,12 +4138,14 @@ class LeaferImage {
|
|
|
4120
4138
|
ImageManager.isFormat("svg", config) && (this.isSVG = true);
|
|
4121
4139
|
ImageManager.hasAlphaPixel(config) && (this.hasAlphaPixel = true);
|
|
4122
4140
|
}
|
|
4123
|
-
load(onSuccess, onError) {
|
|
4141
|
+
load(onSuccess, onError, thumbSize) {
|
|
4124
4142
|
if (!this.loading) {
|
|
4125
4143
|
this.loading = true;
|
|
4126
|
-
const {crossOrigin: crossOrigin} = this.config;
|
|
4127
4144
|
Resource.tasker.add(() => __awaiter(this, void 0, void 0, function*() {
|
|
4128
|
-
return yield Platform.origin.loadImage(this.
|
|
4145
|
+
return yield Platform.origin.loadImage(this.getLoadUrl(thumbSize), this.crossOrigin, this).then(img => {
|
|
4146
|
+
if (thumbSize) this.setThumbView(img);
|
|
4147
|
+
this.setView(img);
|
|
4148
|
+
}).catch(e => {
|
|
4129
4149
|
this.error = e;
|
|
4130
4150
|
this.onComplete(false);
|
|
4131
4151
|
});
|
|
@@ -4146,9 +4166,11 @@ class LeaferImage {
|
|
|
4146
4166
|
}
|
|
4147
4167
|
setView(img) {
|
|
4148
4168
|
this.ready = true;
|
|
4149
|
-
this.width
|
|
4150
|
-
|
|
4151
|
-
|
|
4169
|
+
if (!this.width) {
|
|
4170
|
+
this.width = img.width;
|
|
4171
|
+
this.height = img.height;
|
|
4172
|
+
this.view = img;
|
|
4173
|
+
}
|
|
4152
4174
|
this.onComplete(true);
|
|
4153
4175
|
}
|
|
4154
4176
|
onComplete(isSuccess) {
|
|
@@ -4194,6 +4216,19 @@ class LeaferImage {
|
|
|
4194
4216
|
Platform.image.setPatternTransform(pattern, transform, paint);
|
|
4195
4217
|
return pattern;
|
|
4196
4218
|
}
|
|
4219
|
+
getLoadUrl(_thumbSize) {
|
|
4220
|
+
return this.url;
|
|
4221
|
+
}
|
|
4222
|
+
setThumbView(_view) {}
|
|
4223
|
+
getThumbSize() {
|
|
4224
|
+
return undefined;
|
|
4225
|
+
}
|
|
4226
|
+
getMinLevel() {
|
|
4227
|
+
return undefined;
|
|
4228
|
+
}
|
|
4229
|
+
getLevelData(_level) {
|
|
4230
|
+
return undefined;
|
|
4231
|
+
}
|
|
4197
4232
|
clearLevels(_checkUse) {}
|
|
4198
4233
|
destroy() {
|
|
4199
4234
|
this.clearLevels();
|
|
@@ -4627,7 +4662,7 @@ function registerUIEvent() {
|
|
|
4627
4662
|
};
|
|
4628
4663
|
}
|
|
4629
4664
|
|
|
4630
|
-
const {copy: copy$
|
|
4665
|
+
const {copy: copy$8, toInnerPoint: toInnerPoint$1, toOuterPoint: toOuterPoint$1, scaleOfOuter: scaleOfOuter$2, rotateOfOuter: rotateOfOuter$2, skewOfOuter: skewOfOuter, multiplyParent: multiplyParent$3, divideParent: divideParent, getLayout: getLayout} = MatrixHelper;
|
|
4631
4666
|
|
|
4632
4667
|
const matrix$3 = {}, {round: round$3} = Math;
|
|
4633
4668
|
|
|
@@ -4725,7 +4760,7 @@ const LeafHelper = {
|
|
|
4725
4760
|
if (scaleY) transition = scaleY;
|
|
4726
4761
|
scaleY = scaleX;
|
|
4727
4762
|
}
|
|
4728
|
-
copy$
|
|
4763
|
+
copy$8(matrix$3, o);
|
|
4729
4764
|
scaleOfOuter$2(matrix$3, origin, scaleX, scaleY);
|
|
4730
4765
|
if (L$4.hasHighPosition(t)) {
|
|
4731
4766
|
L$4.setTransform(t, matrix$3, resize, transition);
|
|
@@ -4744,7 +4779,7 @@ const LeafHelper = {
|
|
|
4744
4779
|
},
|
|
4745
4780
|
rotateOfLocal(t, origin, angle, transition) {
|
|
4746
4781
|
const o = t.__localMatrix;
|
|
4747
|
-
copy$
|
|
4782
|
+
copy$8(matrix$3, o);
|
|
4748
4783
|
rotateOfOuter$2(matrix$3, origin, angle);
|
|
4749
4784
|
if (L$4.hasHighPosition(t)) L$4.setTransform(t, matrix$3, false, transition); else t.set({
|
|
4750
4785
|
x: t.x + matrix$3.e - o.e,
|
|
@@ -4756,18 +4791,18 @@ const LeafHelper = {
|
|
|
4756
4791
|
L$4.skewOfLocal(t, getTempLocal(t, origin), skewX, skewY, resize, transition);
|
|
4757
4792
|
},
|
|
4758
4793
|
skewOfLocal(t, origin, skewX, skewY = 0, resize, transition) {
|
|
4759
|
-
copy$
|
|
4794
|
+
copy$8(matrix$3, t.__localMatrix);
|
|
4760
4795
|
skewOfOuter(matrix$3, origin, skewX, skewY);
|
|
4761
4796
|
L$4.setTransform(t, matrix$3, resize, transition);
|
|
4762
4797
|
},
|
|
4763
4798
|
transformWorld(t, transform, resize, transition) {
|
|
4764
|
-
copy$
|
|
4799
|
+
copy$8(matrix$3, t.worldTransform);
|
|
4765
4800
|
multiplyParent$3(matrix$3, transform);
|
|
4766
4801
|
if (t.parent) divideParent(matrix$3, t.parent.scrollWorldTransform);
|
|
4767
4802
|
L$4.setTransform(t, matrix$3, resize, transition);
|
|
4768
4803
|
},
|
|
4769
4804
|
transform(t, transform, resize, transition) {
|
|
4770
|
-
copy$
|
|
4805
|
+
copy$8(matrix$3, t.localTransform);
|
|
4771
4806
|
multiplyParent$3(matrix$3, transform);
|
|
4772
4807
|
L$4.setTransform(t, matrix$3, resize, transition);
|
|
4773
4808
|
},
|
|
@@ -4805,7 +4840,7 @@ const LeafHelper = {
|
|
|
4805
4840
|
return innerOrigin;
|
|
4806
4841
|
},
|
|
4807
4842
|
getRelativeWorld(t, relative, temp) {
|
|
4808
|
-
copy$
|
|
4843
|
+
copy$8(matrix$3, t.worldTransform);
|
|
4809
4844
|
divideParent(matrix$3, relative.scrollWorldTransform);
|
|
4810
4845
|
return temp ? matrix$3 : Object.assign({}, matrix$3);
|
|
4811
4846
|
},
|
|
@@ -5013,7 +5048,7 @@ const WaitHelper = {
|
|
|
5013
5048
|
|
|
5014
5049
|
const {getRelativeWorld: getRelativeWorld$1, updateBounds: updateBounds$3} = LeafHelper;
|
|
5015
5050
|
|
|
5016
|
-
const {toOuterOf: toOuterOf$3, getPoints: getPoints, copy: copy$
|
|
5051
|
+
const {toOuterOf: toOuterOf$3, getPoints: getPoints, copy: copy$7} = BoundsHelper;
|
|
5017
5052
|
|
|
5018
5053
|
const localContent = "_localContentBounds";
|
|
5019
5054
|
|
|
@@ -5252,7 +5287,7 @@ class LeafLayout {
|
|
|
5252
5287
|
matrix = getRelativeWorld$1(leaf, relative, true);
|
|
5253
5288
|
}
|
|
5254
5289
|
if (!layoutBounds) layoutBounds = MatrixHelper.getLayout(matrix);
|
|
5255
|
-
copy$
|
|
5290
|
+
copy$7(layoutBounds, bounds);
|
|
5256
5291
|
PointHelper.copy(layoutBounds, point);
|
|
5257
5292
|
if (unscale) {
|
|
5258
5293
|
const {scaleX: scaleX, scaleY: scaleY} = layoutBounds;
|
|
@@ -5874,7 +5909,7 @@ const LeafDataProxy = {
|
|
|
5874
5909
|
|
|
5875
5910
|
const {setLayout: setLayout, multiplyParent: multiplyParent$2, translateInner: translateInner, defaultWorld: defaultWorld} = MatrixHelper;
|
|
5876
5911
|
|
|
5877
|
-
const {toPoint: toPoint$4, tempPoint: tempPoint$
|
|
5912
|
+
const {toPoint: toPoint$4, tempPoint: tempPoint$2} = AroundHelper;
|
|
5878
5913
|
|
|
5879
5914
|
const LeafMatrix = {
|
|
5880
5915
|
__updateWorldMatrix() {
|
|
@@ -5894,8 +5929,8 @@ const LeafMatrix = {
|
|
|
5894
5929
|
local.e = data.x + data.offsetX;
|
|
5895
5930
|
local.f = data.y + data.offsetY;
|
|
5896
5931
|
if (data.around || data.origin) {
|
|
5897
|
-
toPoint$4(data.around || data.origin, layout.boxBounds, tempPoint$
|
|
5898
|
-
translateInner(local, -tempPoint$
|
|
5932
|
+
toPoint$4(data.around || data.origin, layout.boxBounds, tempPoint$2);
|
|
5933
|
+
translateInner(local, -tempPoint$2.x, -tempPoint$2.y, !data.around);
|
|
5899
5934
|
}
|
|
5900
5935
|
}
|
|
5901
5936
|
this.__layout.matrixChanged = undefined;
|
|
@@ -5906,7 +5941,7 @@ const {updateMatrix: updateMatrix$3, updateAllMatrix: updateAllMatrix$3} = LeafH
|
|
|
5906
5941
|
|
|
5907
5942
|
const {updateBounds: updateBounds$2} = BranchHelper;
|
|
5908
5943
|
|
|
5909
|
-
const {toOuterOf: toOuterOf$2, copyAndSpread: copyAndSpread$3, copy: copy$
|
|
5944
|
+
const {toOuterOf: toOuterOf$2, copyAndSpread: copyAndSpread$3, copy: copy$6} = BoundsHelper;
|
|
5910
5945
|
|
|
5911
5946
|
const {toBounds: toBounds$1} = PathBounds;
|
|
5912
5947
|
|
|
@@ -6017,7 +6052,7 @@ const LeafBounds = {
|
|
|
6017
6052
|
},
|
|
6018
6053
|
__updateRenderBounds(_bounds) {
|
|
6019
6054
|
const layout = this.__layout, {renderSpread: renderSpread} = layout;
|
|
6020
|
-
isNumber(renderSpread) && renderSpread <= 0 ? copy$
|
|
6055
|
+
isNumber(renderSpread) && renderSpread <= 0 ? copy$6(layout.renderBounds, layout.strokeBounds) : copyAndSpread$3(layout.renderBounds, layout.boxBounds, renderSpread);
|
|
6021
6056
|
}
|
|
6022
6057
|
};
|
|
6023
6058
|
|
|
@@ -6122,7 +6157,7 @@ const {toInnerPoint: toInnerPoint, toOuterPoint: toOuterPoint, multiplyParent: m
|
|
|
6122
6157
|
|
|
6123
6158
|
const {toOuterOf: toOuterOf$1} = BoundsHelper;
|
|
6124
6159
|
|
|
6125
|
-
const {copy: copy$
|
|
6160
|
+
const {copy: copy$5, move: move$8} = PointHelper;
|
|
6126
6161
|
|
|
6127
6162
|
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;
|
|
6128
6163
|
|
|
@@ -6441,14 +6476,14 @@ let Leaf = class Leaf {
|
|
|
6441
6476
|
if (this.parent) {
|
|
6442
6477
|
this.parent.worldToInner(world, to, distance, relative);
|
|
6443
6478
|
} else {
|
|
6444
|
-
if (to) copy$
|
|
6479
|
+
if (to) copy$5(to, world);
|
|
6445
6480
|
}
|
|
6446
6481
|
}
|
|
6447
6482
|
localToWorld(local, to, distance, relative) {
|
|
6448
6483
|
if (this.parent) {
|
|
6449
6484
|
this.parent.innerToWorld(local, to, distance, relative);
|
|
6450
6485
|
} else {
|
|
6451
|
-
if (to) copy$
|
|
6486
|
+
if (to) copy$5(to, local);
|
|
6452
6487
|
}
|
|
6453
6488
|
}
|
|
6454
6489
|
worldToInner(world, to, distance, relative) {
|
|
@@ -6923,7 +6958,7 @@ class LeafLevelList {
|
|
|
6923
6958
|
}
|
|
6924
6959
|
}
|
|
6925
6960
|
|
|
6926
|
-
const version = "1.12.
|
|
6961
|
+
const version = "1.12.3";
|
|
6927
6962
|
|
|
6928
6963
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6929
6964
|
get allowBackgroundColor() {
|
|
@@ -7572,6 +7607,10 @@ class Renderer {
|
|
|
7572
7607
|
|
|
7573
7608
|
Renderer.clipSpread = 10;
|
|
7574
7609
|
|
|
7610
|
+
const tempPoint$1 = {};
|
|
7611
|
+
|
|
7612
|
+
const {copyRadiusPoint: copyRadiusPoint$1} = PointHelper;
|
|
7613
|
+
|
|
7575
7614
|
const {hitRadiusPoint: hitRadiusPoint$1} = BoundsHelper;
|
|
7576
7615
|
|
|
7577
7616
|
class Picker {
|
|
@@ -7698,15 +7737,15 @@ class Picker {
|
|
|
7698
7737
|
this.eachFind(branch.children, branch.__onlyHitMask);
|
|
7699
7738
|
}
|
|
7700
7739
|
eachFind(children, hitMask) {
|
|
7701
|
-
let child, hit;
|
|
7740
|
+
let child, hit, data;
|
|
7702
7741
|
const {point: point} = this, len = children.length;
|
|
7703
7742
|
for (let i = len - 1; i > -1; i--) {
|
|
7704
|
-
child = children[i];
|
|
7705
|
-
if (!
|
|
7706
|
-
hit = child.
|
|
7743
|
+
child = children[i], data = child.__;
|
|
7744
|
+
if (!data.visible || hitMask && !data.mask) continue;
|
|
7745
|
+
hit = hitRadiusPoint$1(child.__world, data.hitRadius ? copyRadiusPoint$1(tempPoint$1, point, data.hitRadius) : point);
|
|
7707
7746
|
if (child.isBranch) {
|
|
7708
7747
|
if (hit || child.__ignoreHitWorld) {
|
|
7709
|
-
if (child.isBranchLeaf &&
|
|
7748
|
+
if (child.isBranchLeaf && data.__clipAfterFill && !child.__hitWorld(point, true)) continue;
|
|
7710
7749
|
if (child.topChildren) this.eachFind(child.topChildren, false);
|
|
7711
7750
|
this.eachFind(child.children, child.__onlyHitMask);
|
|
7712
7751
|
if (child.isBranchLeaf) this.hitChild(child, point);
|
|
@@ -8193,7 +8232,7 @@ class CanvasData extends RectData {
|
|
|
8193
8232
|
}
|
|
8194
8233
|
}
|
|
8195
8234
|
|
|
8196
|
-
const {max: max$
|
|
8235
|
+
const {max: max$4, add: add$1} = FourNumberHelper;
|
|
8197
8236
|
|
|
8198
8237
|
const UIBounds = {
|
|
8199
8238
|
__updateStrokeSpread() {
|
|
@@ -8209,7 +8248,7 @@ const UIBounds = {
|
|
|
8209
8248
|
}
|
|
8210
8249
|
if (data.__useArrow) spread += strokeWidth * 5;
|
|
8211
8250
|
if (box) {
|
|
8212
|
-
spread = max$
|
|
8251
|
+
spread = max$4(spread, box.__layout.strokeSpread = box.__updateStrokeSpread());
|
|
8213
8252
|
boxSpread = Math.max(boxSpread, box.__layout.strokeBoxSpread);
|
|
8214
8253
|
}
|
|
8215
8254
|
this.__layout.strokeBoxSpread = boxSpread;
|
|
@@ -8219,15 +8258,15 @@ const UIBounds = {
|
|
|
8219
8258
|
let spread = 0;
|
|
8220
8259
|
const {shadow: shadow, innerShadow: innerShadow, blur: blur, backgroundBlur: backgroundBlur, filter: filter, renderSpread: renderSpread} = this.__, {strokeSpread: strokeSpread} = this.__layout, box = this.__box;
|
|
8221
8260
|
if (shadow) spread = Effect.getShadowRenderSpread(this, shadow);
|
|
8222
|
-
if (blur) spread = max$
|
|
8261
|
+
if (blur) spread = max$4(spread, blur);
|
|
8223
8262
|
if (filter) spread = add$1(spread, Filter.getSpread(filter));
|
|
8224
8263
|
if (renderSpread) spread = add$1(spread, renderSpread);
|
|
8225
8264
|
if (strokeSpread) spread = add$1(spread, strokeSpread);
|
|
8226
8265
|
let shapeSpread = spread;
|
|
8227
|
-
if (innerShadow) shapeSpread = max$
|
|
8228
|
-
if (backgroundBlur) shapeSpread = max$
|
|
8266
|
+
if (innerShadow) shapeSpread = max$4(shapeSpread, Effect.getInnerShadowSpread(this, innerShadow));
|
|
8267
|
+
if (backgroundBlur) shapeSpread = max$4(shapeSpread, backgroundBlur);
|
|
8229
8268
|
this.__layout.renderShapeSpread = shapeSpread;
|
|
8230
|
-
return box ? max$
|
|
8269
|
+
return box ? max$4(box.__updateRenderSpread(), spread) : spread;
|
|
8231
8270
|
}
|
|
8232
8271
|
};
|
|
8233
8272
|
|
|
@@ -8283,7 +8322,7 @@ const UIRender = {
|
|
|
8283
8322
|
if (stroke && !__fillAfterStroke) data.__isStrokes ? Paint.strokes(stroke, this, canvas, options) : Paint.stroke(stroke, this, canvas, options);
|
|
8284
8323
|
}
|
|
8285
8324
|
} else {
|
|
8286
|
-
if (data.
|
|
8325
|
+
if (data.__pathForRender) drawFast(this, canvas, options); else this.__drawFast(canvas, options);
|
|
8287
8326
|
}
|
|
8288
8327
|
},
|
|
8289
8328
|
__drawShape(canvas, options) {
|
|
@@ -8407,7 +8446,7 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8407
8446
|
getPath(curve, pathForRender) {
|
|
8408
8447
|
this.__layout.update();
|
|
8409
8448
|
let path = pathForRender ? this.__.__pathForRender : this.__.path;
|
|
8410
|
-
if (!path) pen.set(path = []), this.__drawPathByBox(pen);
|
|
8449
|
+
if (!path) pen.set(path = []), this.__drawPathByBox(pen, !pathForRender);
|
|
8411
8450
|
return curve ? PathConvert.toCanvasData(path, true) : path;
|
|
8412
8451
|
}
|
|
8413
8452
|
getPathString(curve, pathForRender, floatLength) {
|
|
@@ -8435,17 +8474,18 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8435
8474
|
}
|
|
8436
8475
|
__drawPath(canvas) {
|
|
8437
8476
|
canvas.beginPath();
|
|
8438
|
-
this.__drawPathByData(canvas, this.__.path);
|
|
8477
|
+
this.__drawPathByData(canvas, this.__.path, true);
|
|
8439
8478
|
}
|
|
8440
|
-
__drawPathByData(drawer, data) {
|
|
8441
|
-
data ? PathDrawer.drawPathByData(drawer, data) : this.__drawPathByBox(drawer);
|
|
8479
|
+
__drawPathByData(drawer, data, ignoreCornerRadius) {
|
|
8480
|
+
data ? PathDrawer.drawPathByData(drawer, data) : this.__drawPathByBox(drawer, ignoreCornerRadius);
|
|
8442
8481
|
}
|
|
8443
|
-
__drawPathByBox(drawer) {
|
|
8482
|
+
__drawPathByBox(drawer, ignoreCornerRadius) {
|
|
8444
8483
|
const {x: x, y: y, width: width, height: height} = this.__layout.boxBounds;
|
|
8445
|
-
if (this.__.cornerRadius) {
|
|
8484
|
+
if (this.__.cornerRadius && !ignoreCornerRadius) {
|
|
8446
8485
|
const {cornerRadius: cornerRadius} = this.__;
|
|
8447
8486
|
drawer.roundRect(x, y, width, height, isNumber(cornerRadius) ? [ cornerRadius ] : cornerRadius);
|
|
8448
8487
|
} else drawer.rect(x, y, width, height);
|
|
8488
|
+
drawer.closePath();
|
|
8449
8489
|
}
|
|
8450
8490
|
drawImagePlaceholder(_paint, canvas, renderOptions) {
|
|
8451
8491
|
Paint.fill(this.__.placeholderColor, this, canvas, renderOptions);
|
|
@@ -8714,6 +8754,9 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8714
8754
|
get layoutLocked() {
|
|
8715
8755
|
return !this.layouter.running;
|
|
8716
8756
|
}
|
|
8757
|
+
get view() {
|
|
8758
|
+
return this.canvas && this.canvas.view;
|
|
8759
|
+
}
|
|
8717
8760
|
get FPS() {
|
|
8718
8761
|
return this.renderer ? this.renderer.FPS : 60;
|
|
8719
8762
|
}
|
|
@@ -8765,7 +8808,6 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8765
8808
|
this.__controllers.push(this.renderer = Creator.renderer(this, canvas, config), this.watcher = Creator.watcher(this, config), this.layouter = Creator.layouter(this, config));
|
|
8766
8809
|
if (this.isApp) this.__setApp();
|
|
8767
8810
|
this.__checkAutoLayout();
|
|
8768
|
-
this.view = canvas.view;
|
|
8769
8811
|
if (!parentApp) {
|
|
8770
8812
|
this.selector = Creator.selector(this);
|
|
8771
8813
|
this.interaction = Creator.interaction(this, canvas, this.selector, config);
|
|
@@ -9045,7 +9087,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
9045
9087
|
if (this.canvasManager) this.canvasManager.destroy();
|
|
9046
9088
|
}
|
|
9047
9089
|
if (this.canvas) this.canvas.destroy();
|
|
9048
|
-
this.config.view = this.
|
|
9090
|
+
this.config.view = this.parentApp = null;
|
|
9049
9091
|
if (this.userConfig) this.userConfig.view = null;
|
|
9050
9092
|
super.destroy();
|
|
9051
9093
|
setTimeout(() => {
|
|
@@ -9229,7 +9271,6 @@ let Ellipse = class Ellipse extends UI {
|
|
|
9229
9271
|
if (startAngle || endAngle) {
|
|
9230
9272
|
if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false);
|
|
9231
9273
|
ellipse(path, rx, ry, rx, ry, 0, endAngle, startAngle, true);
|
|
9232
|
-
if (innerRadius < 1) closePath$2(path);
|
|
9233
9274
|
} else {
|
|
9234
9275
|
if (innerRadius < 1) {
|
|
9235
9276
|
ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius);
|
|
@@ -9237,16 +9278,16 @@ let Ellipse = class Ellipse extends UI {
|
|
|
9237
9278
|
}
|
|
9238
9279
|
ellipse(path, rx, ry, rx, ry, 0, 360, 0, true);
|
|
9239
9280
|
}
|
|
9240
|
-
if (Platform.ellipseToCurve) this.__.path = this.getPath(true);
|
|
9241
9281
|
} else {
|
|
9242
9282
|
if (startAngle || endAngle) {
|
|
9243
9283
|
moveTo$3(path, rx, ry);
|
|
9244
9284
|
ellipse(path, rx, ry, rx, ry, 0, startAngle, endAngle, false);
|
|
9245
|
-
closePath$2(path);
|
|
9246
9285
|
} else {
|
|
9247
9286
|
ellipse(path, rx, ry, rx, ry);
|
|
9248
9287
|
}
|
|
9249
9288
|
}
|
|
9289
|
+
closePath$2(path);
|
|
9290
|
+
if (Platform.ellipseToCurve) this.__.path = this.getPath(true);
|
|
9250
9291
|
}
|
|
9251
9292
|
};
|
|
9252
9293
|
|
|
@@ -9897,7 +9938,7 @@ class UIEvent extends Event {
|
|
|
9897
9938
|
}
|
|
9898
9939
|
}
|
|
9899
9940
|
|
|
9900
|
-
const {min: min, max: max$
|
|
9941
|
+
const {min: min$1, max: max$3, abs: abs$7} = Math, {float: float$2, sign: sign$2} = MathHelper, {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = BoundsHelper;
|
|
9901
9942
|
|
|
9902
9943
|
const tempContent = new Bounds, tempDragBounds = new Bounds;
|
|
9903
9944
|
|
|
@@ -9937,8 +9978,8 @@ const DragBoundsHelper = {
|
|
|
9937
9978
|
} else {
|
|
9938
9979
|
if (y < dragBounds.y) move.y += dragBounds.y - y; else if (bottom > boundsBottom) move.y += boundsBottom - bottom;
|
|
9939
9980
|
}
|
|
9940
|
-
move.x = float$
|
|
9941
|
-
move.y = float$
|
|
9981
|
+
move.x = float$2(move.x);
|
|
9982
|
+
move.y = float$2(move.y);
|
|
9942
9983
|
return move;
|
|
9943
9984
|
},
|
|
9944
9985
|
getValidScaleOf(content, dragBounds, dragBoundsType, origin, scale, lockRatio, change) {
|
|
@@ -9950,44 +9991,44 @@ const DragBoundsHelper = {
|
|
|
9950
9991
|
let correctScaleX = 1, correctScaleY = 1, aScale, bScale, aSize, bSize;
|
|
9951
9992
|
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
9952
9993
|
if (scale.x < 0) tempContent.scaleOf(origin, correctScaleX = 1 / scale.x, 1);
|
|
9953
|
-
aSize = float$
|
|
9954
|
-
bSize = float$
|
|
9994
|
+
aSize = float$2(tempContent.minX - tempDragBounds.minX);
|
|
9995
|
+
bSize = float$2(tempDragBounds.maxX - tempContent.maxX);
|
|
9955
9996
|
aScale = originLeftScale && aSize > 0 ? 1 + aSize / (originLeftScale * tempContent.width) : 1;
|
|
9956
9997
|
bScale = originRightScale && bSize > 0 ? 1 + bSize / (originRightScale * tempContent.width) : 1;
|
|
9957
|
-
correctScaleX *= max$
|
|
9998
|
+
correctScaleX *= max$3(aScale, bScale);
|
|
9958
9999
|
} else {
|
|
9959
10000
|
if (scale.x < 0) {
|
|
9960
|
-
if (float$
|
|
10001
|
+
if (float$2(minX(content) - minX(dragBounds)) <= 0 || float$2(maxX(dragBounds) - maxX(content)) <= 0) tempContent.scaleOf(origin, correctScaleX = 1 / scale.x, 1);
|
|
9961
10002
|
tempContent.unsign();
|
|
9962
10003
|
}
|
|
9963
|
-
aSize = float$
|
|
9964
|
-
bSize = float$
|
|
10004
|
+
aSize = float$2(tempDragBounds.minX - tempContent.minX);
|
|
10005
|
+
bSize = float$2(tempContent.maxX - tempDragBounds.maxX);
|
|
9965
10006
|
aScale = originLeftScale && aSize > 0 ? 1 - aSize / (originLeftScale * tempContent.width) : 1;
|
|
9966
10007
|
bScale = originRightScale && bSize > 0 ? 1 - bSize / (originRightScale * tempContent.width) : 1;
|
|
9967
|
-
correctScaleX *= min(aScale, bScale);
|
|
10008
|
+
correctScaleX *= min$1(aScale, bScale);
|
|
9968
10009
|
}
|
|
9969
10010
|
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
9970
10011
|
if (scale.y < 0) tempContent.scaleOf(origin, 1, correctScaleY = 1 / scale.y);
|
|
9971
|
-
aSize = float$
|
|
9972
|
-
bSize = float$
|
|
10012
|
+
aSize = float$2(tempContent.minY - tempDragBounds.minY);
|
|
10013
|
+
bSize = float$2(tempDragBounds.maxY - tempContent.maxY);
|
|
9973
10014
|
aScale = originTopScale && aSize > 0 ? 1 + aSize / (originTopScale * tempContent.height) : 1;
|
|
9974
10015
|
bScale = originBottomScale && bSize > 0 ? 1 + bSize / (originBottomScale * tempContent.height) : 1;
|
|
9975
|
-
correctScaleY *= max$
|
|
10016
|
+
correctScaleY *= max$3(aScale, bScale);
|
|
9976
10017
|
if (lockRatio) {
|
|
9977
|
-
aScale = max$
|
|
10018
|
+
aScale = max$3(abs$7(correctScaleX), abs$7(correctScaleY));
|
|
9978
10019
|
correctScaleX = sign$2(correctScaleX) * aScale;
|
|
9979
10020
|
correctScaleY = sign$2(correctScaleY) * aScale;
|
|
9980
10021
|
}
|
|
9981
10022
|
} else {
|
|
9982
10023
|
if (scale.y < 0) {
|
|
9983
|
-
if (float$
|
|
10024
|
+
if (float$2(minY(content) - minY(dragBounds)) <= 0 || float$2(maxY(dragBounds) - maxY(content)) <= 0) tempContent.scaleOf(origin, 1, correctScaleY = 1 / scale.y);
|
|
9984
10025
|
tempContent.unsign();
|
|
9985
10026
|
}
|
|
9986
|
-
aSize = float$
|
|
9987
|
-
bSize = float$
|
|
10027
|
+
aSize = float$2(tempDragBounds.minY - tempContent.minY);
|
|
10028
|
+
bSize = float$2(tempContent.maxY - tempDragBounds.maxY);
|
|
9988
10029
|
aScale = originTopScale && aSize > 0 ? 1 - aSize / (originTopScale * tempContent.height) : 1;
|
|
9989
10030
|
bScale = originBottomScale && bSize > 0 ? 1 - bSize / (originBottomScale * tempContent.height) : 1;
|
|
9990
|
-
correctScaleY *= min(aScale, bScale);
|
|
10031
|
+
correctScaleY *= min$1(aScale, bScale);
|
|
9991
10032
|
}
|
|
9992
10033
|
scale.x *= isFinite$1(correctScaleX) ? correctScaleX : 1;
|
|
9993
10034
|
scale.y *= isFinite$1(correctScaleY) ? correctScaleY : 1;
|
|
@@ -10136,8 +10177,14 @@ MoveEvent.START = "move.start";
|
|
|
10136
10177
|
|
|
10137
10178
|
MoveEvent.MOVE = "move";
|
|
10138
10179
|
|
|
10180
|
+
MoveEvent.DRAG_ANIMATE = "move.drag_animate";
|
|
10181
|
+
|
|
10139
10182
|
MoveEvent.END = "move.end";
|
|
10140
10183
|
|
|
10184
|
+
MoveEvent.PULL_DOWN = "move.pull_down";
|
|
10185
|
+
|
|
10186
|
+
MoveEvent.REACH_BOTTOM = "move.reach_bottom";
|
|
10187
|
+
|
|
10141
10188
|
MoveEvent = __decorate([ registerUIEvent() ], MoveEvent);
|
|
10142
10189
|
|
|
10143
10190
|
let TouchEvent = class TouchEvent extends UIEvent {};
|
|
@@ -10234,6 +10281,7 @@ const InteractionHelper = {
|
|
|
10234
10281
|
ctrlKey: e.ctrlKey,
|
|
10235
10282
|
shiftKey: e.shiftKey,
|
|
10236
10283
|
metaKey: e.metaKey,
|
|
10284
|
+
time: Date.now(),
|
|
10237
10285
|
buttons: isUndefined(e.buttons) ? 1 : e.buttons === 0 ? pointerUpButtons : e.buttons,
|
|
10238
10286
|
origin: e
|
|
10239
10287
|
};
|
|
@@ -10269,6 +10317,7 @@ const {getDragEventData: getDragEventData, getDropEventData: getDropEventData, g
|
|
|
10269
10317
|
|
|
10270
10318
|
class Dragger {
|
|
10271
10319
|
constructor(interaction) {
|
|
10320
|
+
this.dragDataList = [];
|
|
10272
10321
|
this.interaction = interaction;
|
|
10273
10322
|
}
|
|
10274
10323
|
setDragData(data) {
|
|
@@ -10331,6 +10380,7 @@ class Dragger {
|
|
|
10331
10380
|
this.dragData = getDragEventData(downData, dragData, data);
|
|
10332
10381
|
if (throughPath) this.dragData.throughPath = throughPath;
|
|
10333
10382
|
this.dragData.path = path;
|
|
10383
|
+
this.dragDataList.push(this.dragData);
|
|
10334
10384
|
if (this.moving) {
|
|
10335
10385
|
data.moving = true;
|
|
10336
10386
|
this.dragData.moveType = "drag";
|
|
@@ -10381,9 +10431,9 @@ class Dragger {
|
|
|
10381
10431
|
interaction.emit(DragEvent.ENTER, data, path, dragEnterPath);
|
|
10382
10432
|
this.dragEnterPath = path;
|
|
10383
10433
|
}
|
|
10384
|
-
dragEnd(data
|
|
10434
|
+
dragEnd(data) {
|
|
10385
10435
|
if (!this.dragging && !this.moving) return;
|
|
10386
|
-
if (this.checkDragEndAnimate(data
|
|
10436
|
+
if (this.checkDragEndAnimate(data)) return;
|
|
10387
10437
|
this.dragEndReal(data);
|
|
10388
10438
|
}
|
|
10389
10439
|
dragEndReal(data) {
|
|
@@ -10425,11 +10475,13 @@ class Dragger {
|
|
|
10425
10475
|
}
|
|
10426
10476
|
dragReset() {
|
|
10427
10477
|
DragEvent.list = DragEvent.data = this.draggableList = this.dragData = this.downData = this.dragOverPath = this.dragEnterPath = null;
|
|
10478
|
+
this.dragDataList = [];
|
|
10428
10479
|
}
|
|
10429
10480
|
checkDragEndAnimate(_data, _speed) {
|
|
10430
10481
|
return false;
|
|
10431
10482
|
}
|
|
10432
10483
|
animate(_func, _off) {}
|
|
10484
|
+
stopAnimate() {}
|
|
10433
10485
|
checkDragOut(_data) {}
|
|
10434
10486
|
autoMoveOnDragOut(_data) {}
|
|
10435
10487
|
autoMoveCancel() {}
|
|
@@ -10823,6 +10875,9 @@ class InteractionBase {
|
|
|
10823
10875
|
this.pointerHover(hoverData);
|
|
10824
10876
|
}
|
|
10825
10877
|
}
|
|
10878
|
+
stopDragAnimate() {
|
|
10879
|
+
this.dragger.stopAnimate();
|
|
10880
|
+
}
|
|
10826
10881
|
updateDownData(data, options, merge) {
|
|
10827
10882
|
const {downData: downData} = this;
|
|
10828
10883
|
if (!data && downData) data = downData;
|
|
@@ -11006,7 +11061,7 @@ Platform.getSelector = function(leaf) {
|
|
|
11006
11061
|
return leaf.leafer ? leaf.leafer.selector : Platform.selector || (Platform.selector = Creator.selector());
|
|
11007
11062
|
};
|
|
11008
11063
|
|
|
11009
|
-
const {toInnerRadiusPointOf: toInnerRadiusPointOf,
|
|
11064
|
+
const {toInnerRadiusPointOf: toInnerRadiusPointOf, copyRadiusPoint: copyRadiusPoint} = PointHelper;
|
|
11010
11065
|
|
|
11011
11066
|
const {hitRadiusPoint: hitRadiusPoint, hitPoint: hitPoint} = BoundsHelper;
|
|
11012
11067
|
|
|
@@ -11016,8 +11071,7 @@ const leaf$1 = Leaf.prototype;
|
|
|
11016
11071
|
|
|
11017
11072
|
leaf$1.hit = function(worldPoint, hitRadius = 0) {
|
|
11018
11073
|
this.updateLayout();
|
|
11019
|
-
|
|
11020
|
-
setRadius(worldRadiusPoint, hitRadius);
|
|
11074
|
+
copyRadiusPoint(worldRadiusPoint, worldPoint, hitRadius);
|
|
11021
11075
|
const world = this.__world;
|
|
11022
11076
|
if (hitRadius ? !hitRadiusPoint(world, worldRadiusPoint) : !hitPoint(world, worldRadiusPoint)) return false;
|
|
11023
11077
|
return this.isBranch ? Platform.getSelector(this).hitPoint(Object.assign({}, worldRadiusPoint), hitRadius, {
|
|
@@ -11031,8 +11085,8 @@ leaf$1.__hitWorld = function(point, forceHitFill) {
|
|
|
11031
11085
|
const world = this.__world, layout = this.__layout;
|
|
11032
11086
|
const isSmall = world.width < 10 && world.height < 10;
|
|
11033
11087
|
if (data.hitRadius) {
|
|
11034
|
-
|
|
11035
|
-
|
|
11088
|
+
copyRadiusPoint(inner, point, data.hitRadius);
|
|
11089
|
+
point = inner;
|
|
11036
11090
|
}
|
|
11037
11091
|
toInnerRadiusPointOf(point, world, inner);
|
|
11038
11092
|
if (data.hitBox || isSmall) {
|
|
@@ -11600,7 +11654,7 @@ function image(ui, attrName, paint, boxBounds, firstUse) {
|
|
|
11600
11654
|
ignoreRender(ui, false);
|
|
11601
11655
|
onLoadError(ui, event, error);
|
|
11602
11656
|
leafPaint.loadId = undefined;
|
|
11603
|
-
});
|
|
11657
|
+
}, paint.lod && image.getThumbSize());
|
|
11604
11658
|
if (ui.placeholderColor) {
|
|
11605
11659
|
if (!ui.placeholderDelay) image.isPlacehold = true; else setTimeout(() => {
|
|
11606
11660
|
if (!image.ready) {
|
|
@@ -11840,10 +11894,12 @@ const {getFloorScale: getFloorScale} = MathHelper, {abs: abs$6} = Math;
|
|
|
11840
11894
|
function createPatternTask(paint, ui, canvas, renderOptions) {
|
|
11841
11895
|
if (!paint.patternTask) {
|
|
11842
11896
|
paint.patternTask = ImageManager.patternTasker.add(() => __awaiter(this, void 0, void 0, function*() {
|
|
11843
|
-
paint
|
|
11844
|
-
if (canvas.bounds.hit(ui.__nowWorld)) PaintImage.createPattern(paint, ui, canvas, renderOptions);
|
|
11897
|
+
PaintImage.createPattern(paint, ui, canvas, renderOptions);
|
|
11845
11898
|
ui.forceUpdate("surface");
|
|
11846
|
-
}),
|
|
11899
|
+
}), 0, () => {
|
|
11900
|
+
paint.patternTask = null;
|
|
11901
|
+
return canvas.bounds.hit(ui.__nowWorld);
|
|
11902
|
+
});
|
|
11847
11903
|
}
|
|
11848
11904
|
}
|
|
11849
11905
|
|
|
@@ -12093,7 +12149,7 @@ const PaintGradientModule = {
|
|
|
12093
12149
|
getTransform: getTransform
|
|
12094
12150
|
};
|
|
12095
12151
|
|
|
12096
|
-
const {copy: copy$3, move: move$6, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max$
|
|
12152
|
+
const {copy: copy$3, move: move$6, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max$2, abs: abs$5} = Math;
|
|
12097
12153
|
|
|
12098
12154
|
const tempBounds = {}, tempMatrix = new Matrix;
|
|
12099
12155
|
|
|
@@ -12138,10 +12194,10 @@ function getShadowRenderSpread(_ui, shadow) {
|
|
|
12138
12194
|
let top = 0, right = 0, bottom = 0, left = 0, x, y, spread, blur;
|
|
12139
12195
|
shadow.forEach(item => {
|
|
12140
12196
|
x = item.x || 0, y = item.y || 0, blur = (item.blur || 0) * 1.5, spread = abs$5(item.spread || 0);
|
|
12141
|
-
top = max$
|
|
12142
|
-
right = max$
|
|
12143
|
-
bottom = max$
|
|
12144
|
-
left = max$
|
|
12197
|
+
top = max$2(top, spread + blur - y);
|
|
12198
|
+
right = max$2(right, spread + blur + x);
|
|
12199
|
+
bottom = max$2(bottom, spread + blur + y);
|
|
12200
|
+
left = max$2(left, spread + blur - x);
|
|
12145
12201
|
});
|
|
12146
12202
|
return top === right && right === bottom && bottom === left ? top : [ top, right, bottom, left ];
|
|
12147
12203
|
}
|
|
@@ -13020,7 +13076,11 @@ class Stroker extends UI {
|
|
|
13020
13076
|
matrix$1.half = strokeWidth % 2;
|
|
13021
13077
|
canvas.setWorld(matrix$1, options.matrix);
|
|
13022
13078
|
canvas.beginPath();
|
|
13023
|
-
if (
|
|
13079
|
+
if (this.strokePathType === "path") {
|
|
13080
|
+
leaf.__drawPath(canvas);
|
|
13081
|
+
} else {
|
|
13082
|
+
if (leaf.__.__useArrow) leaf.__drawPath(canvas); else leaf.__.__pathForRender ? leaf.__drawRenderPath(canvas) : leaf.__drawPathByBox(canvas);
|
|
13083
|
+
}
|
|
13024
13084
|
data.strokeWidth = strokeWidth / Math.max(aScaleX, aScaleY);
|
|
13025
13085
|
if (stroke) isString(stroke) ? Paint.stroke(stroke, this, canvas, options) : Paint.strokes(stroke, this, canvas, options);
|
|
13026
13086
|
if (fill) isString(fill) ? Paint.fill(fill, this, canvas, options) : Paint.fills(fill, this, canvas, options);
|
|
@@ -13037,6 +13097,8 @@ class Stroker extends UI {
|
|
|
13037
13097
|
|
|
13038
13098
|
__decorate([ targetAttr(onTarget$1) ], Stroker.prototype, "target", void 0);
|
|
13039
13099
|
|
|
13100
|
+
__decorate([ surfaceType("render-path") ], Stroker.prototype, "strokePathType", void 0);
|
|
13101
|
+
|
|
13040
13102
|
function onTarget$1(stroker) {
|
|
13041
13103
|
const value = stroker.target;
|
|
13042
13104
|
stroker.list = value ? isArray(value) ? value : [ value ] : [];
|
|
@@ -13151,10 +13213,11 @@ class EditSelect extends Group {
|
|
|
13151
13213
|
}
|
|
13152
13214
|
update() {
|
|
13153
13215
|
this.hoverStroker.update();
|
|
13154
|
-
const {stroke: stroke, strokeWidth: strokeWidth, selectedStyle: selectedStyle} = this.editor.mergedConfig;
|
|
13216
|
+
const {stroke: stroke, strokeWidth: strokeWidth, selectedPathType: selectedPathType, selectedStyle: selectedStyle} = this.editor.mergedConfig;
|
|
13155
13217
|
this.targetStroker.update(Object.assign({
|
|
13156
13218
|
stroke: stroke,
|
|
13157
|
-
strokeWidth: strokeWidth && Math.max(1, strokeWidth / 2)
|
|
13219
|
+
strokeWidth: strokeWidth && Math.max(1, strokeWidth / 2),
|
|
13220
|
+
strokePathType: selectedPathType
|
|
13158
13221
|
}, selectedStyle || {}));
|
|
13159
13222
|
}
|
|
13160
13223
|
onPointerMove(e) {
|
|
@@ -14539,7 +14602,7 @@ class TransformTool {
|
|
|
14539
14602
|
const {target: target, mergeConfig: mergeConfig, single: single, dragStartData: dragStartData} = this.editBox;
|
|
14540
14603
|
let {around: around, lockRatio: lockRatio, flipable: flipable, editSize: editSize} = mergeConfig, totalMove;
|
|
14541
14604
|
if (e instanceof ZoomEvent) {
|
|
14542
|
-
around = target.getBoxPoint(e);
|
|
14605
|
+
if (!around) around = target.getBoxPoint(e);
|
|
14543
14606
|
totalMove = e.totalScale;
|
|
14544
14607
|
} else {
|
|
14545
14608
|
totalMove = e.getInnerTotal(target);
|
|
@@ -15846,11 +15909,28 @@ TextEditor = __decorate([ registerInnerEditor() ], TextEditor);
|
|
|
15846
15909
|
|
|
15847
15910
|
Plugin.add("text-editor", "editor");
|
|
15848
15911
|
|
|
15912
|
+
function getScrollType(leafer) {
|
|
15913
|
+
const {scroll: scroll, disabled: disabled} = leafer.app.config.move;
|
|
15914
|
+
return !scroll || disabled ? "" : scroll === true ? "free" : scroll;
|
|
15915
|
+
}
|
|
15916
|
+
|
|
15849
15917
|
function addViewport(leafer, mergeConfig, custom) {
|
|
15850
15918
|
addViewportConfig(leafer.parentApp ? leafer.parentApp : leafer, mergeConfig);
|
|
15851
15919
|
if (leafer.isApp || custom) return;
|
|
15852
15920
|
leafer.__eventIds.push(leafer.on_(MoveEvent.BEFORE_MOVE, e => {
|
|
15853
|
-
|
|
15921
|
+
const move = leafer.getValidMove(e.moveX, e.moveY, false);
|
|
15922
|
+
if (getScrollType(leafer).includes("limit")) {
|
|
15923
|
+
const testMove = leafer.getValidMove(0, 0);
|
|
15924
|
+
if (testMove.x || testMove.y) {
|
|
15925
|
+
const maxX = 100, maxY = 200, resistance = e.moveType === "drag" ? .3 : .05;
|
|
15926
|
+
if (Math.abs(testMove.x) > maxX) move.x = 0; else move.x *= resistance;
|
|
15927
|
+
if (Math.abs(testMove.y) > maxY) move.y = 0; else move.y *= resistance;
|
|
15928
|
+
}
|
|
15929
|
+
}
|
|
15930
|
+
leafer.zoomLayer.move(move);
|
|
15931
|
+
}), leafer.on_(MoveEvent.DRAG_ANIMATE, () => {
|
|
15932
|
+
const testMove = leafer.getValidMove(0, 0);
|
|
15933
|
+
if (testMove.x || testMove.y) leafer.interaction.stopDragAnimate();
|
|
15854
15934
|
}), leafer.on_(MoveEvent.END, e => {
|
|
15855
15935
|
LeafHelper.animateMove(leafer.zoomLayer, leafer.getValidMove(e.moveX, e.moveY));
|
|
15856
15936
|
}), leafer.on_(ZoomEvent.BEFORE_ZOOM, e => {
|
|
@@ -16001,7 +16081,7 @@ const MultiTouchHelper = {
|
|
|
16001
16081
|
|
|
16002
16082
|
const M$3 = MultiTouchHelper;
|
|
16003
16083
|
|
|
16004
|
-
const {abs: abs$2, max: max} = Math, {sign: sign, within: within$2} = MathHelper;
|
|
16084
|
+
const {abs: abs$2, max: max$1} = Math, {sign: sign, within: within$2} = MathHelper;
|
|
16005
16085
|
|
|
16006
16086
|
const WheelEventHelper = {
|
|
16007
16087
|
getMove(event, config) {
|
|
@@ -16012,8 +16092,8 @@ const WheelEventHelper = {
|
|
|
16012
16092
|
deltaY = 0;
|
|
16013
16093
|
}
|
|
16014
16094
|
const absX = abs$2(deltaX), absY = abs$2(deltaY);
|
|
16015
|
-
if (absX > 50) deltaX = max(50, absX / 3) * sign(deltaX);
|
|
16016
|
-
if (absY > 50) deltaY = max(50, absY / 3) * sign(deltaY);
|
|
16095
|
+
if (absX > 50) deltaX = max$1(50, absX / 3) * sign(deltaX);
|
|
16096
|
+
if (absY > 50) deltaY = max$1(50, absY / 3) * sign(deltaY);
|
|
16017
16097
|
return {
|
|
16018
16098
|
x: -deltaX * moveSpeed * 2,
|
|
16019
16099
|
y: -deltaY * moveSpeed * 2
|
|
@@ -16156,15 +16236,15 @@ leafer.initType = function(type) {
|
|
|
16156
16236
|
};
|
|
16157
16237
|
|
|
16158
16238
|
leafer.getValidMove = function(moveX, moveY, checkLimit = true) {
|
|
16159
|
-
const {
|
|
16239
|
+
const {disabled: disabled} = this.app.config.move;
|
|
16160
16240
|
move$4.set(moveX, moveY);
|
|
16161
|
-
|
|
16162
|
-
|
|
16163
|
-
if (
|
|
16164
|
-
if (checkLimit &&
|
|
16241
|
+
const scrollType = getScrollType(this);
|
|
16242
|
+
if (scrollType) {
|
|
16243
|
+
if (scrollType.includes("x")) move$4.y = 0; else if (scrollType.includes("y")) move$4.x = 0; else Math.abs(move$4.x) > Math.abs(move$4.y) ? move$4.y = 0 : move$4.x = 0;
|
|
16244
|
+
if (checkLimit && scrollType.includes("limit")) {
|
|
16165
16245
|
bounds.set(this.__world).addPoint(this.zoomLayer);
|
|
16166
|
-
DragBoundsHelper.getValidMove(bounds, this.canvas.bounds, "
|
|
16167
|
-
if (
|
|
16246
|
+
DragBoundsHelper.getValidMove(bounds, this.canvas.bounds, "auto", move$4, true);
|
|
16247
|
+
if (scrollType.includes("x")) move$4.y = 0; else if (scrollType.includes("y")) move$4.x = 0;
|
|
16168
16248
|
}
|
|
16169
16249
|
}
|
|
16170
16250
|
return {
|
|
@@ -16271,22 +16351,52 @@ interaction.multiTouch = function(data, list) {
|
|
|
16271
16351
|
|
|
16272
16352
|
const dragger = Dragger.prototype;
|
|
16273
16353
|
|
|
16274
|
-
const {abs: abs$1} = Math;
|
|
16354
|
+
const {abs: abs$1, min: min, max: max, hypot: hypot} = Math;
|
|
16275
16355
|
|
|
16276
|
-
dragger.checkDragEndAnimate = function(data
|
|
16277
|
-
const {
|
|
16278
|
-
const
|
|
16279
|
-
const dragAnimate = this.canAnimate && this.moving && (absMoveX > minMove || absMoveY > minMove) && this.interaction.m.dragAnimate;
|
|
16356
|
+
dragger.checkDragEndAnimate = function(data) {
|
|
16357
|
+
const {interaction: interaction} = this;
|
|
16358
|
+
const dragAnimate = this.canAnimate && this.moving && interaction.m.dragAnimate;
|
|
16280
16359
|
if (dragAnimate) {
|
|
16281
|
-
const inertia =
|
|
16282
|
-
|
|
16283
|
-
|
|
16284
|
-
|
|
16285
|
-
|
|
16286
|
-
this.
|
|
16287
|
-
|
|
16288
|
-
|
|
16289
|
-
|
|
16360
|
+
const inertia = isNumber(dragAnimate) ? dragAnimate : .95;
|
|
16361
|
+
const stopMove = .15;
|
|
16362
|
+
const maxMove = 150;
|
|
16363
|
+
let moveX = 0, moveY = 0, flickSpeed = 0;
|
|
16364
|
+
let totalWeight = 0, weight, w = 3, s, frame;
|
|
16365
|
+
const {dragDataList: dragDataList} = this, len = dragDataList.length;
|
|
16366
|
+
for (let i = len - 1; i >= max(len - 3, 0); i--) {
|
|
16367
|
+
frame = dragDataList[i];
|
|
16368
|
+
if (frame.time && Date.now() - frame.time > 100) break;
|
|
16369
|
+
weight = w--;
|
|
16370
|
+
moveX += frame.moveX * weight;
|
|
16371
|
+
moveY += frame.moveY * weight;
|
|
16372
|
+
totalWeight += weight;
|
|
16373
|
+
s = hypot(frame.moveX, frame.moveY);
|
|
16374
|
+
if (s > flickSpeed) flickSpeed = s;
|
|
16375
|
+
}
|
|
16376
|
+
if (totalWeight) moveX /= totalWeight, moveY /= totalWeight;
|
|
16377
|
+
if (flickSpeed > 8) {
|
|
16378
|
+
const t = min((flickSpeed - 8) / 17, 1);
|
|
16379
|
+
const boost = 1.15 + t * (1.6 - 1.15);
|
|
16380
|
+
moveX *= boost;
|
|
16381
|
+
moveY *= boost;
|
|
16382
|
+
}
|
|
16383
|
+
const maxAbs = max(abs$1(moveX), abs$1(moveY));
|
|
16384
|
+
if (maxAbs > maxMove) {
|
|
16385
|
+
s = maxMove / maxAbs;
|
|
16386
|
+
moveX *= s;
|
|
16387
|
+
moveY *= s;
|
|
16388
|
+
}
|
|
16389
|
+
const step = () => {
|
|
16390
|
+
moveX *= inertia;
|
|
16391
|
+
moveY *= inertia;
|
|
16392
|
+
data = Object.assign({}, data);
|
|
16393
|
+
if (abs$1(moveX) < stopMove && abs$1(moveY) < stopMove) return this.dragEndReal(data);
|
|
16394
|
+
PointHelper.move(data, moveX, moveY);
|
|
16395
|
+
this.drag(data);
|
|
16396
|
+
this.animate(step);
|
|
16397
|
+
interaction.emit(MoveEvent.DRAG_ANIMATE, data);
|
|
16398
|
+
};
|
|
16399
|
+
this.animate(step);
|
|
16290
16400
|
}
|
|
16291
16401
|
return dragAnimate;
|
|
16292
16402
|
};
|
|
@@ -16297,6 +16407,13 @@ dragger.animate = function(func, off) {
|
|
|
16297
16407
|
this.animateWait = func;
|
|
16298
16408
|
};
|
|
16299
16409
|
|
|
16410
|
+
dragger.stopAnimate = function() {
|
|
16411
|
+
this.animate(null, "off");
|
|
16412
|
+
this.interaction.target.nextRender(() => {
|
|
16413
|
+
if (this.dragData) this.dragEndReal(this.dragData);
|
|
16414
|
+
});
|
|
16415
|
+
};
|
|
16416
|
+
|
|
16300
16417
|
dragger.checkDragOut = function(data) {
|
|
16301
16418
|
const {interaction: interaction} = this;
|
|
16302
16419
|
this.autoMoveCancel();
|
|
@@ -16368,7 +16485,6 @@ function getFixBounds(bounds, scaleBounds) {
|
|
|
16368
16485
|
Plugin.add("view");
|
|
16369
16486
|
|
|
16370
16487
|
Leafer.prototype.zoom = function(zoomType, optionsOrPadding, scroll, transition) {
|
|
16371
|
-
this.killAnimate();
|
|
16372
16488
|
let padding;
|
|
16373
16489
|
if (isData(optionsOrPadding)) {
|
|
16374
16490
|
padding = optionsOrPadding.padding;
|
|
@@ -16381,8 +16497,9 @@ Leafer.prototype.zoom = function(zoomType, optionsOrPadding, scroll, transition)
|
|
|
16381
16497
|
x: limitBounds.x + limitBounds.width / 2,
|
|
16382
16498
|
y: limitBounds.y + limitBounds.height / 2
|
|
16383
16499
|
};
|
|
16500
|
+
zoomLayer.killAnimate();
|
|
16384
16501
|
let changeScale;
|
|
16385
|
-
const {x: x, y: y, scaleX: scaleX, scaleY: scaleY} = zoomLayer.__;
|
|
16502
|
+
const {x: x, y: y, scaleX: scaleX, scaleY: scaleY} = zoomLayer.__, {boxBounds: boxBounds} = zoomLayer;
|
|
16386
16503
|
if (isString(zoomType)) {
|
|
16387
16504
|
switch (zoomType) {
|
|
16388
16505
|
case "in":
|
|
@@ -16394,16 +16511,16 @@ Leafer.prototype.zoom = function(zoomType, optionsOrPadding, scroll, transition)
|
|
|
16394
16511
|
break;
|
|
16395
16512
|
|
|
16396
16513
|
case "fit":
|
|
16397
|
-
zoomType =
|
|
16514
|
+
zoomType = boxBounds;
|
|
16398
16515
|
break;
|
|
16399
16516
|
|
|
16400
16517
|
case "fit-width":
|
|
16401
|
-
zoomType = new Bounds(
|
|
16518
|
+
zoomType = new Bounds(boxBounds);
|
|
16402
16519
|
zoomType.height = 0;
|
|
16403
16520
|
break;
|
|
16404
16521
|
|
|
16405
16522
|
case "fit-height":
|
|
16406
|
-
zoomType = new Bounds(
|
|
16523
|
+
zoomType = new Bounds(boxBounds);
|
|
16407
16524
|
zoomType.width = 0;
|
|
16408
16525
|
break;
|
|
16409
16526
|
}
|
|
@@ -17805,6 +17922,8 @@ let Animate = class Animate extends Eventer {
|
|
|
17805
17922
|
}
|
|
17806
17923
|
constructor(target, keyframe, options, isTemp) {
|
|
17807
17924
|
super();
|
|
17925
|
+
this.nowIndex = 0;
|
|
17926
|
+
this.playedTotalTime = 0;
|
|
17808
17927
|
if (keyframe) {
|
|
17809
17928
|
if (keyframe.keyframes) options = keyframe, keyframe = keyframe.keyframes; else if (keyframe.style) options = keyframe,
|
|
17810
17929
|
keyframe = keyframe.style;
|
|
@@ -17851,7 +17970,7 @@ let Animate = class Animate extends Eventer {
|
|
|
17851
17970
|
play() {
|
|
17852
17971
|
if (this.destroyed) return;
|
|
17853
17972
|
this.running = true;
|
|
17854
|
-
if (!this.started) this.clearTimer(), this.start(); else if (!this.timer) this.
|
|
17973
|
+
if (!this.started) this.clearTimer(), this.start(); else if (!this.timer) this.startRequestAnimate();
|
|
17855
17974
|
this.emitType(AnimateEvent.PLAY);
|
|
17856
17975
|
}
|
|
17857
17976
|
pause() {
|
|
@@ -17865,14 +17984,28 @@ let Animate = class Animate extends Eventer {
|
|
|
17865
17984
|
this.complete();
|
|
17866
17985
|
this.emitType(AnimateEvent.STOP);
|
|
17867
17986
|
}
|
|
17868
|
-
seek(time) {
|
|
17987
|
+
seek(time, includeDelay) {
|
|
17869
17988
|
if (this.destroyed) return;
|
|
17870
|
-
|
|
17989
|
+
const {delay: delay} = this;
|
|
17990
|
+
if (isObject(time)) time = UnitConvert.number(time, this.duration + (includeDelay ? delay : 0));
|
|
17991
|
+
if (includeDelay) time -= delay;
|
|
17871
17992
|
if (time) time /= this.speed;
|
|
17872
|
-
|
|
17993
|
+
let waitBeginTime;
|
|
17994
|
+
if (time < 0) {
|
|
17995
|
+
waitBeginTime = -time;
|
|
17996
|
+
time = 0;
|
|
17997
|
+
}
|
|
17998
|
+
if (!this.started || time < this.time || !time) this.start(true);
|
|
17873
17999
|
this.time = time;
|
|
17874
|
-
this.animate(0, true);
|
|
17875
|
-
this.clearTimer(() =>
|
|
18000
|
+
if (!waitBeginTime) this.animate(0, true);
|
|
18001
|
+
this.clearTimer(() => {
|
|
18002
|
+
if (waitBeginTime) {
|
|
18003
|
+
this.timer = setTimeout(() => {
|
|
18004
|
+
this.timer = 0;
|
|
18005
|
+
this.begin();
|
|
18006
|
+
}, waitBeginTime * 1e3);
|
|
18007
|
+
} else this.startRequestAnimate();
|
|
18008
|
+
});
|
|
17876
18009
|
this.emitType(AnimateEvent.SEEK);
|
|
17877
18010
|
}
|
|
17878
18011
|
kill(complete = true, killStyle) {
|
|
@@ -17955,14 +18088,24 @@ let Animate = class Animate extends Eventer {
|
|
|
17955
18088
|
}
|
|
17956
18089
|
}
|
|
17957
18090
|
}
|
|
17958
|
-
|
|
18091
|
+
startRequestAnimate() {
|
|
17959
18092
|
this.requestAnimateTime = Date.now();
|
|
18093
|
+
this.requestAnimatePageTime = 0;
|
|
18094
|
+
if (!this.waitRequestRender) this.requestAnimate();
|
|
18095
|
+
}
|
|
18096
|
+
requestAnimate() {
|
|
18097
|
+
this.waitRequestRender = true;
|
|
17960
18098
|
Platform.requestRender(this.animate.bind(this));
|
|
17961
18099
|
}
|
|
17962
|
-
animate(
|
|
18100
|
+
animate(pageTime, seek) {
|
|
17963
18101
|
if (!seek) {
|
|
18102
|
+
this.waitRequestRender = false;
|
|
17964
18103
|
if (!this.running) return;
|
|
17965
|
-
|
|
18104
|
+
let frameTime;
|
|
18105
|
+
if (pageTime && this.requestAnimatePageTime) frameTime = pageTime - this.requestAnimatePageTime; else frameTime = Date.now() - this.requestAnimateTime;
|
|
18106
|
+
this.time += frameTime / 1e3;
|
|
18107
|
+
this.requestAnimatePageTime = pageTime;
|
|
18108
|
+
this.requestAnimateTime = Date.now();
|
|
17966
18109
|
}
|
|
17967
18110
|
const {duration: duration} = this, realTime = this.time * this.speed;
|
|
17968
18111
|
if (realTime < duration) {
|
|
@@ -18003,21 +18146,24 @@ let Animate = class Animate extends Eventer {
|
|
|
18003
18146
|
}
|
|
18004
18147
|
start(seek) {
|
|
18005
18148
|
this.requestAnimateTime = 1;
|
|
18006
|
-
const {reverse: reverse} = this;
|
|
18149
|
+
const {reverse: reverse, jump: jump} = this;
|
|
18007
18150
|
if (reverse || this.mainReverse) this.mainReverse = reverse;
|
|
18008
18151
|
if (this.looped) this.looped = 0;
|
|
18009
18152
|
if (seek) this.begin(true); else {
|
|
18010
18153
|
const {delay: delay} = this;
|
|
18011
|
-
if (delay)
|
|
18012
|
-
this.
|
|
18013
|
-
this.
|
|
18014
|
-
|
|
18154
|
+
if (delay) {
|
|
18155
|
+
if (jump) this.begin(true);
|
|
18156
|
+
this.timer = setTimeout(() => {
|
|
18157
|
+
this.timer = 0;
|
|
18158
|
+
this.begin();
|
|
18159
|
+
}, delay / this.speed * 1e3);
|
|
18160
|
+
} else this.begin();
|
|
18015
18161
|
}
|
|
18016
18162
|
}
|
|
18017
18163
|
begin(seek) {
|
|
18018
18164
|
this.playedTotalTime = this.time = 0;
|
|
18019
18165
|
this.mainReverse ? this.setTo() : this.setFrom();
|
|
18020
|
-
if (!seek) this.
|
|
18166
|
+
if (!seek) this.startRequestAnimate();
|
|
18021
18167
|
}
|
|
18022
18168
|
end() {
|
|
18023
18169
|
this.mainReverse ? this.setFrom() : this.setTo();
|
|
@@ -18133,6 +18279,8 @@ __decorate([ animateAttr(true) ], Animate.prototype, "autoplay", void 0);
|
|
|
18133
18279
|
|
|
18134
18280
|
__decorate([ animateAttr() ], Animate.prototype, "join", void 0);
|
|
18135
18281
|
|
|
18282
|
+
__decorate([ animateAttr() ], Animate.prototype, "jump", void 0);
|
|
18283
|
+
|
|
18136
18284
|
__decorate([ animateAttr() ], Animate.prototype, "attrs", void 0);
|
|
18137
18285
|
|
|
18138
18286
|
Animate = __decorate([ useModule(LeafEventer) ], Animate);
|
|
@@ -18179,8 +18327,8 @@ let AnimateList = class AnimateList extends Animate {
|
|
|
18179
18327
|
this.each(item => item.stop());
|
|
18180
18328
|
this.emitType(AnimateEvent.STOP);
|
|
18181
18329
|
}
|
|
18182
|
-
seek(time) {
|
|
18183
|
-
this.each(item => item.seek(time));
|
|
18330
|
+
seek(time, includeDelay) {
|
|
18331
|
+
this.each(item => item.seek(time, includeDelay));
|
|
18184
18332
|
this.emitType(AnimateEvent.SEEK);
|
|
18185
18333
|
}
|
|
18186
18334
|
kill(complete, killStyle) {
|
|
@@ -18371,7 +18519,7 @@ const hslMatch = /^hsl\((\d+),\s*(\d+)%\s*,\s*(\d+)%/i;
|
|
|
18371
18519
|
|
|
18372
18520
|
const hslaMatch = /^hsla\((\d+),\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d*\.?\d+)/i;
|
|
18373
18521
|
|
|
18374
|
-
const int = parseInt, float = parseFloat, {round: round$1} = Math;
|
|
18522
|
+
const int = parseInt, float$1 = parseFloat, {round: round$1} = Math;
|
|
18375
18523
|
|
|
18376
18524
|
let cache = {}, totalCache = 0;
|
|
18377
18525
|
|
|
@@ -18484,18 +18632,18 @@ function rgbaToRGBA(color) {
|
|
|
18484
18632
|
r: int(match[1]),
|
|
18485
18633
|
g: int(match[2]),
|
|
18486
18634
|
b: int(match[3]),
|
|
18487
|
-
a: float(match[4])
|
|
18635
|
+
a: float$1(match[4])
|
|
18488
18636
|
};
|
|
18489
18637
|
}
|
|
18490
18638
|
|
|
18491
18639
|
function hslToRGBA(color) {
|
|
18492
18640
|
const match = hslMatch.exec(color);
|
|
18493
|
-
return hsla(float(match[1]), float(match[2]), float(match[3]), 1);
|
|
18641
|
+
return hsla(float$1(match[1]), float$1(match[2]), float$1(match[3]), 1);
|
|
18494
18642
|
}
|
|
18495
18643
|
|
|
18496
18644
|
function hslaToRGBA(color) {
|
|
18497
18645
|
const match = hslaMatch.exec(color);
|
|
18498
|
-
return hsla(float(match[1]), float(match[2]), float(match[3]), float(match[4]));
|
|
18646
|
+
return hsla(float$1(match[1]), float$1(match[2]), float$1(match[3]), float$1(match[4]));
|
|
18499
18647
|
}
|
|
18500
18648
|
|
|
18501
18649
|
const n1 = 1 / 6, n2 = .5, n3 = 2 / 3, n4 = 1 / 3;
|
|
@@ -18734,7 +18882,7 @@ const HighBezierHelper = {
|
|
|
18734
18882
|
|
|
18735
18883
|
const {getDistance: getDistance} = HighBezierHelper;
|
|
18736
18884
|
|
|
18737
|
-
const {M: M, L: L, C: C, Z: Z} = PathCommandMap;
|
|
18885
|
+
const {M: M, L: L, C: C, Z: Z} = PathCommandMap, {float: float} = MathHelper;
|
|
18738
18886
|
|
|
18739
18887
|
const tempPoint = {}, tempFrom = {};
|
|
18740
18888
|
|
|
@@ -18871,7 +19019,7 @@ const HighCurveHelper = {
|
|
|
18871
19019
|
getDistancePath(distanceData, motionDistance, motionPrecision) {
|
|
18872
19020
|
const {segments: segments, data: data} = distanceData, path = [];
|
|
18873
19021
|
motionDistance = UnitConvert.number(motionDistance, distanceData.total);
|
|
18874
|
-
let total = 0, distance, to = {};
|
|
19022
|
+
let total = 0, distance, cutDistance, to = {};
|
|
18875
19023
|
let i = 0, index = 0, x = 0, y = 0, toX, toY, command;
|
|
18876
19024
|
let x1, y1, x2, y2, t;
|
|
18877
19025
|
const len = data.length;
|
|
@@ -18883,14 +19031,17 @@ const HighCurveHelper = {
|
|
|
18883
19031
|
toX = data[i + 1];
|
|
18884
19032
|
toY = data[i + 2];
|
|
18885
19033
|
distance = segments[index];
|
|
18886
|
-
if (total + distance
|
|
19034
|
+
if (total + distance > motionDistance || !distanceData.total) {
|
|
18887
19035
|
if (!i) x = toX, y = toY;
|
|
18888
19036
|
tempFrom.x = x;
|
|
18889
19037
|
tempFrom.y = y;
|
|
18890
19038
|
to.x = toX;
|
|
18891
19039
|
to.y = toY;
|
|
18892
|
-
|
|
18893
|
-
|
|
19040
|
+
cutDistance = float(motionDistance - total);
|
|
19041
|
+
if (cutDistance) {
|
|
19042
|
+
PointHelper.getDistancePoint(tempFrom, to, cutDistance, true);
|
|
19043
|
+
path.push(command, to.x, to.y);
|
|
19044
|
+
}
|
|
18894
19045
|
return path;
|
|
18895
19046
|
}
|
|
18896
19047
|
x = toX;
|
|
@@ -18904,9 +19055,12 @@ const HighCurveHelper = {
|
|
|
18904
19055
|
toX = data[i + 5];
|
|
18905
19056
|
toY = data[i + 6];
|
|
18906
19057
|
distance = segments[index];
|
|
18907
|
-
if (total + distance
|
|
18908
|
-
|
|
18909
|
-
|
|
19058
|
+
if (total + distance > motionDistance) {
|
|
19059
|
+
cutDistance = float(motionDistance - total);
|
|
19060
|
+
if (cutDistance) {
|
|
19061
|
+
t = HighBezierHelper.getT(cutDistance, distance, x, y, x1, y1, x2, y2, toX, toY, motionPrecision);
|
|
19062
|
+
HighBezierHelper.cut(path, t, x, y, x1, y1, x2, y2, toX, toY);
|
|
19063
|
+
}
|
|
18910
19064
|
return path;
|
|
18911
19065
|
}
|
|
18912
19066
|
x = toX;
|
|
@@ -19637,6 +19791,7 @@ class Finder {
|
|
|
19637
19791
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
19638
19792
|
child = children[i];
|
|
19639
19793
|
result = method(child, options);
|
|
19794
|
+
if (typeof result === "boolean") result = result ? 1 : 0;
|
|
19640
19795
|
if (result === Yes || result === YesAndSkip) {
|
|
19641
19796
|
if (list) {
|
|
19642
19797
|
list.push(child);
|
|
@@ -19980,4 +20135,4 @@ Plugin.add("bright");
|
|
|
19980
20135
|
|
|
19981
20136
|
UI.addAttr("bright", false, dimType);
|
|
19982
20137
|
|
|
19983
|
-
export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, Answer, App, AroundHelper, Arrow, ArrowData, 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, EditBox, EditDataHelper, EditPoint, EditSelect, EditSelectHelper, EditTool, EditToolCreator, Editor, EditorEvent, EditorGroupEvent, EditorHelper, EditorMoveEvent, EditorRotateEvent, EditorScaleEvent, EditorSkewEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Finder, Flow, FourNumberHelper, Frame, FrameData, Group, GroupData, HTMLText, HTMLTextData, HighBezierHelper, HighCurveHelper, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InnerEditor, InnerEditorEvent, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, LineEditTool, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathArrowModule, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathMatrixHelper, PathNodeHandleType, PathNumberCommandLengthMap, PathNumberCommandMap, PathScaler, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, RotateEvent, Run, ScrollBar, SelectArea, Selector, Star, StarData, State, StringNumberMap, Stroker, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TextEditor, TouchEvent, TransformTool, Transformer, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, WheelEventHelper, ZoomEvent, addViewport, addViewportConfig, affectRenderBoundsType, affectStrokeBoundsType, arrowType, 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$1 as isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerEditTool, registerInnerEditor, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$
|
|
20138
|
+
export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, Answer, App, AroundHelper, Arrow, ArrowData, 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, EditBox, EditDataHelper, EditPoint, EditSelect, EditSelectHelper, EditTool, EditToolCreator, Editor, EditorEvent, EditorGroupEvent, EditorHelper, EditorMoveEvent, EditorRotateEvent, EditorScaleEvent, EditorSkewEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Finder, Flow, FourNumberHelper, Frame, FrameData, Group, GroupData, HTMLText, HTMLTextData, HighBezierHelper, HighCurveHelper, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InnerEditor, InnerEditorEvent, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, LineEditTool, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathArrowModule, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathMatrixHelper, PathNodeHandleType, PathNumberCommandLengthMap, PathNumberCommandMap, PathScaler, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, RotateEvent, Run, ScrollBar, SelectArea, Selector, Star, StarData, State, StringNumberMap, Stroker, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TextEditor, TouchEvent, TransformTool, Transformer, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, WheelEventHelper, ZoomEvent, addViewport, addViewportConfig, affectRenderBoundsType, affectStrokeBoundsType, arrowType, 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$1 as isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerEditTool, registerInnerEditor, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$4 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|