@leafer-ui/worker 1.0.0 → 1.0.2
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 +2667 -0
- package/dist/worker.esm.js +37 -35
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.js +267 -143
- package/dist/worker.min.cjs +1 -0
- package/dist/worker.min.js +1 -1
- package/dist/worker.module.js +265 -144
- package/dist/worker.module.min.js +1 -1
- package/package.json +16 -10
package/dist/worker.module.js
CHANGED
|
@@ -48,6 +48,8 @@ const I$2 = IncrementId;
|
|
|
48
48
|
const { round, pow: pow$1, PI: PI$4 } = Math;
|
|
49
49
|
const MathHelper = {
|
|
50
50
|
within(value, min, max) {
|
|
51
|
+
if (typeof min === 'object')
|
|
52
|
+
max = min.max, min = min.min;
|
|
51
53
|
if (min !== undefined && value < min)
|
|
52
54
|
value = min;
|
|
53
55
|
if (max !== undefined && value > max)
|
|
@@ -109,6 +111,19 @@ const MathHelper = {
|
|
|
109
111
|
const a = maxLength ? pow$1(10, maxLength) : 1000000000000;
|
|
110
112
|
num = round(num * a) / a;
|
|
111
113
|
return num === -0 ? 0 : num;
|
|
114
|
+
},
|
|
115
|
+
getScaleData(scale, size, originSize, scaleData) {
|
|
116
|
+
if (!scaleData)
|
|
117
|
+
scaleData = {};
|
|
118
|
+
if (size) {
|
|
119
|
+
scaleData.scaleX = (typeof size === 'number' ? size : size.width) / originSize.width;
|
|
120
|
+
scaleData.scaleY = (typeof size === 'number' ? size : size.height) / originSize.height;
|
|
121
|
+
}
|
|
122
|
+
else if (scale) {
|
|
123
|
+
scaleData.scaleX = typeof scale === 'number' ? scale : scale.x;
|
|
124
|
+
scaleData.scaleY = typeof scale === 'number' ? scale : scale.y;
|
|
125
|
+
}
|
|
126
|
+
return scaleData;
|
|
112
127
|
}
|
|
113
128
|
};
|
|
114
129
|
const OneRadian = PI$4 / 180;
|
|
@@ -150,10 +165,10 @@ const MatrixHelper = {
|
|
|
150
165
|
t.e += x;
|
|
151
166
|
t.f += y;
|
|
152
167
|
},
|
|
153
|
-
translateInner(t, x, y,
|
|
168
|
+
translateInner(t, x, y, hasOrigin) {
|
|
154
169
|
t.e += t.a * x + t.c * y;
|
|
155
170
|
t.f += t.b * x + t.d * y;
|
|
156
|
-
if (
|
|
171
|
+
if (hasOrigin)
|
|
157
172
|
t.e -= x, t.f -= y;
|
|
158
173
|
},
|
|
159
174
|
scale(t, scaleX, scaleY = scaleX) {
|
|
@@ -312,7 +327,7 @@ const MatrixHelper = {
|
|
|
312
327
|
to.y -= (f * a - e * b) * s;
|
|
313
328
|
}
|
|
314
329
|
},
|
|
315
|
-
setLayout(t, layout, origin, bcChanged) {
|
|
330
|
+
setLayout(t, layout, origin, around, bcChanged) {
|
|
316
331
|
const { x, y, scaleX, scaleY } = layout;
|
|
317
332
|
if (bcChanged === undefined)
|
|
318
333
|
bcChanged = layout.rotation || layout.skewX || layout.skewY;
|
|
@@ -344,10 +359,10 @@ const MatrixHelper = {
|
|
|
344
359
|
}
|
|
345
360
|
t.e = x;
|
|
346
361
|
t.f = y;
|
|
347
|
-
if (origin)
|
|
348
|
-
M$6.translateInner(t, -origin.x, -origin.y,
|
|
362
|
+
if (origin = origin || around)
|
|
363
|
+
M$6.translateInner(t, -origin.x, -origin.y, !around);
|
|
349
364
|
},
|
|
350
|
-
getLayout(t, origin, firstSkewY) {
|
|
365
|
+
getLayout(t, origin, around, firstSkewY) {
|
|
351
366
|
const { a, b, c, d, e, f } = t;
|
|
352
367
|
let x = e, y = f, scaleX, scaleY, rotation, skewX, skewY;
|
|
353
368
|
if (b || c) {
|
|
@@ -376,9 +391,11 @@ const MatrixHelper = {
|
|
|
376
391
|
scaleY = d;
|
|
377
392
|
rotation = skewX = skewY = 0;
|
|
378
393
|
}
|
|
379
|
-
if (origin) {
|
|
394
|
+
if (origin = around || origin) {
|
|
380
395
|
x += origin.x * a + origin.y * c;
|
|
381
396
|
y += origin.x * b + origin.y * d;
|
|
397
|
+
if (!around)
|
|
398
|
+
x -= origin.x, y -= origin.y;
|
|
382
399
|
}
|
|
383
400
|
return { x, y, scaleX, scaleY, rotation, skewX, skewY };
|
|
384
401
|
},
|
|
@@ -405,7 +422,7 @@ const MatrixHelper = {
|
|
|
405
422
|
};
|
|
406
423
|
const M$6 = MatrixHelper;
|
|
407
424
|
|
|
408
|
-
const { toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$
|
|
425
|
+
const { toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$3 } = MatrixHelper;
|
|
409
426
|
const { sin: sin$4, cos: cos$4, abs: abs$4, sqrt: sqrt$2, atan2: atan2$2, min: min$1, PI: PI$3 } = Math;
|
|
410
427
|
const PointHelper = {
|
|
411
428
|
defaultPoint: getPointData(),
|
|
@@ -461,7 +478,7 @@ const PointHelper = {
|
|
|
461
478
|
tempToOuterOf(t, matrix) {
|
|
462
479
|
const { tempPoint: temp } = P$5;
|
|
463
480
|
copy$b(temp, t);
|
|
464
|
-
toOuterPoint$
|
|
481
|
+
toOuterPoint$3(matrix, temp, temp);
|
|
465
482
|
return temp;
|
|
466
483
|
},
|
|
467
484
|
tempToInnerRadiusPointOf(t, matrix) {
|
|
@@ -480,7 +497,7 @@ const PointHelper = {
|
|
|
480
497
|
toInnerPoint$2(matrix, t, to);
|
|
481
498
|
},
|
|
482
499
|
toOuterOf(t, matrix, to) {
|
|
483
|
-
toOuterPoint$
|
|
500
|
+
toOuterPoint$3(matrix, t, to);
|
|
484
501
|
},
|
|
485
502
|
getCenter(t, to) {
|
|
486
503
|
return { x: t.x + (to.x - t.x) / 2, y: t.y + (to.y - t.y) / 2 };
|
|
@@ -706,12 +723,12 @@ class Matrix {
|
|
|
706
723
|
toInnerPoint(outer, to, distance) {
|
|
707
724
|
MatrixHelper.toInnerPoint(this, outer, to, distance);
|
|
708
725
|
}
|
|
709
|
-
setLayout(data, origin) {
|
|
710
|
-
MatrixHelper.setLayout(this, data, origin);
|
|
726
|
+
setLayout(data, origin, around) {
|
|
727
|
+
MatrixHelper.setLayout(this, data, origin, around);
|
|
711
728
|
return this;
|
|
712
729
|
}
|
|
713
|
-
getLayout(origin, firstSkewY) {
|
|
714
|
-
return MatrixHelper.getLayout(this, origin, firstSkewY);
|
|
730
|
+
getLayout(origin, around, firstSkewY) {
|
|
731
|
+
return MatrixHelper.getLayout(this, origin, around, firstSkewY);
|
|
715
732
|
}
|
|
716
733
|
withScale(scaleX, scaleY) {
|
|
717
734
|
return MatrixHelper.withScale(this, scaleX, scaleY);
|
|
@@ -760,7 +777,7 @@ const TwoPointBoundsHelper = {
|
|
|
760
777
|
const { addPoint: addPoint$4 } = TwoPointBoundsHelper;
|
|
761
778
|
|
|
762
779
|
const { tempPointBounds: tempPointBounds$1, setPoint: setPoint$3, addPoint: addPoint$3, toBounds: toBounds$4 } = TwoPointBoundsHelper;
|
|
763
|
-
const { toOuterPoint: toOuterPoint$
|
|
780
|
+
const { toOuterPoint: toOuterPoint$2 } = MatrixHelper;
|
|
764
781
|
const { float, fourNumber } = MathHelper;
|
|
765
782
|
const { floor, ceil: ceil$2 } = Math;
|
|
766
783
|
let right$1, bottom$1, boundsRight, boundsBottom;
|
|
@@ -780,17 +797,24 @@ const BoundsHelper = {
|
|
|
780
797
|
t.width = bounds.width;
|
|
781
798
|
t.height = bounds.height;
|
|
782
799
|
},
|
|
783
|
-
copyAndSpread(t, bounds, spread, isShrink) {
|
|
800
|
+
copyAndSpread(t, bounds, spread, isShrink, side) {
|
|
801
|
+
const { x, y, width, height } = bounds;
|
|
784
802
|
if (spread instanceof Array) {
|
|
785
803
|
const four = fourNumber(spread);
|
|
786
804
|
isShrink
|
|
787
|
-
? B.set(t,
|
|
788
|
-
: B.set(t,
|
|
805
|
+
? B.set(t, x + four[3], y + four[0], width - four[1] - four[3], height - four[2] - four[0])
|
|
806
|
+
: B.set(t, x - four[3], y - four[0], width + four[1] + four[3], height + four[2] + four[0]);
|
|
789
807
|
}
|
|
790
808
|
else {
|
|
791
809
|
if (isShrink)
|
|
792
810
|
spread = -spread;
|
|
793
|
-
B.set(t,
|
|
811
|
+
B.set(t, x - spread, y - spread, width + spread * 2, height + spread * 2);
|
|
812
|
+
}
|
|
813
|
+
if (side) {
|
|
814
|
+
if (side === 'width')
|
|
815
|
+
t.y = y, t.height = height;
|
|
816
|
+
else
|
|
817
|
+
t.x = x, t.width = width;
|
|
794
818
|
}
|
|
795
819
|
},
|
|
796
820
|
minX(t) { return t.width > 0 ? t.x : t.x + t.width; },
|
|
@@ -867,16 +891,16 @@ const BoundsHelper = {
|
|
|
867
891
|
else {
|
|
868
892
|
point.x = t.x;
|
|
869
893
|
point.y = t.y;
|
|
870
|
-
toOuterPoint$
|
|
894
|
+
toOuterPoint$2(matrix, point, toPoint$5);
|
|
871
895
|
setPoint$3(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
872
896
|
point.x = t.x + t.width;
|
|
873
|
-
toOuterPoint$
|
|
897
|
+
toOuterPoint$2(matrix, point, toPoint$5);
|
|
874
898
|
addPoint$3(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
875
899
|
point.y = t.y + t.height;
|
|
876
|
-
toOuterPoint$
|
|
900
|
+
toOuterPoint$2(matrix, point, toPoint$5);
|
|
877
901
|
addPoint$3(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
878
902
|
point.x = t.x;
|
|
879
|
-
toOuterPoint$
|
|
903
|
+
toOuterPoint$2(matrix, point, toPoint$5);
|
|
880
904
|
addPoint$3(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
881
905
|
toBounds$4(tempPointBounds$1, to);
|
|
882
906
|
}
|
|
@@ -890,16 +914,16 @@ const BoundsHelper = {
|
|
|
890
914
|
const scale = Math.min(baseScale, Math.min(t.width / put.width, t.height / put.height));
|
|
891
915
|
return new Matrix(scale, 0, 0, scale, -put.x * scale, -put.y * scale);
|
|
892
916
|
},
|
|
893
|
-
getSpread(t, spread) {
|
|
917
|
+
getSpread(t, spread, side) {
|
|
894
918
|
const n = {};
|
|
895
|
-
B.copyAndSpread(n, t, spread);
|
|
919
|
+
B.copyAndSpread(n, t, spread, false, side);
|
|
896
920
|
return n;
|
|
897
921
|
},
|
|
898
|
-
spread(t, spread) {
|
|
899
|
-
B.copyAndSpread(t, t, spread);
|
|
922
|
+
spread(t, spread, side) {
|
|
923
|
+
B.copyAndSpread(t, t, spread, false, side);
|
|
900
924
|
},
|
|
901
|
-
shrink(t, shrink) {
|
|
902
|
-
B.copyAndSpread(t, t, shrink, true);
|
|
925
|
+
shrink(t, shrink, side) {
|
|
926
|
+
B.copyAndSpread(t, t, shrink, true, side);
|
|
903
927
|
},
|
|
904
928
|
ceil(t) {
|
|
905
929
|
const { x, y } = t;
|
|
@@ -1082,12 +1106,12 @@ class Bounds {
|
|
|
1082
1106
|
getFitMatrix(put, baseScale) {
|
|
1083
1107
|
return BoundsHelper.getFitMatrix(this, put, baseScale);
|
|
1084
1108
|
}
|
|
1085
|
-
spread(fourNumber) {
|
|
1086
|
-
BoundsHelper.spread(this, fourNumber);
|
|
1109
|
+
spread(fourNumber, side) {
|
|
1110
|
+
BoundsHelper.spread(this, fourNumber, side);
|
|
1087
1111
|
return this;
|
|
1088
1112
|
}
|
|
1089
|
-
shrink(fourNumber) {
|
|
1090
|
-
BoundsHelper.shrink(this, fourNumber);
|
|
1113
|
+
shrink(fourNumber, side) {
|
|
1114
|
+
BoundsHelper.shrink(this, fourNumber, side);
|
|
1091
1115
|
return this;
|
|
1092
1116
|
}
|
|
1093
1117
|
ceil() {
|
|
@@ -1999,7 +2023,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
1999
2023
|
DataHelper.copyAttrs(this.size, size, canvasSizeAttrs);
|
|
2000
2024
|
this.size.pixelRatio || (this.size.pixelRatio = 1);
|
|
2001
2025
|
this.bounds = new Bounds(0, 0, this.width, this.height);
|
|
2002
|
-
if (!this.unreal) {
|
|
2026
|
+
if (this.context && !this.unreal) {
|
|
2003
2027
|
this.updateViewSize();
|
|
2004
2028
|
this.smooth = this.config.smooth;
|
|
2005
2029
|
}
|
|
@@ -2172,7 +2196,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2172
2196
|
this.manager ? this.manager.recycle(this) : this.destroy();
|
|
2173
2197
|
}
|
|
2174
2198
|
}
|
|
2175
|
-
updateRender() { }
|
|
2199
|
+
updateRender(_bounds) { }
|
|
2176
2200
|
unrealCanvas() { }
|
|
2177
2201
|
destroy() {
|
|
2178
2202
|
this.manager = this.view = this.parentView = null;
|
|
@@ -2904,60 +2928,75 @@ class PathCreator {
|
|
|
2904
2928
|
}
|
|
2905
2929
|
beginPath() {
|
|
2906
2930
|
beginPath(this.__path);
|
|
2931
|
+
this.paint();
|
|
2907
2932
|
return this;
|
|
2908
2933
|
}
|
|
2909
2934
|
moveTo(x, y) {
|
|
2910
2935
|
moveTo$4(this.__path, x, y);
|
|
2936
|
+
this.paint();
|
|
2911
2937
|
return this;
|
|
2912
2938
|
}
|
|
2913
2939
|
lineTo(x, y) {
|
|
2914
2940
|
lineTo$3(this.__path, x, y);
|
|
2941
|
+
this.paint();
|
|
2915
2942
|
return this;
|
|
2916
2943
|
}
|
|
2917
2944
|
bezierCurveTo(x1, y1, x2, y2, x, y) {
|
|
2918
2945
|
bezierCurveTo(this.__path, x1, y1, x2, y2, x, y);
|
|
2946
|
+
this.paint();
|
|
2919
2947
|
return this;
|
|
2920
2948
|
}
|
|
2921
2949
|
quadraticCurveTo(x1, y1, x, y) {
|
|
2922
2950
|
quadraticCurveTo(this.__path, x1, y1, x, y);
|
|
2951
|
+
this.paint();
|
|
2923
2952
|
return this;
|
|
2924
2953
|
}
|
|
2925
2954
|
closePath() {
|
|
2926
2955
|
closePath$3(this.__path);
|
|
2956
|
+
this.paint();
|
|
2927
2957
|
return this;
|
|
2928
2958
|
}
|
|
2929
2959
|
rect(x, y, width, height) {
|
|
2930
2960
|
rect$2(this.__path, x, y, width, height);
|
|
2961
|
+
this.paint();
|
|
2931
2962
|
return this;
|
|
2932
2963
|
}
|
|
2933
2964
|
roundRect(x, y, width, height, cornerRadius) {
|
|
2934
2965
|
roundRect$1(this.__path, x, y, width, height, cornerRadius);
|
|
2966
|
+
this.paint();
|
|
2935
2967
|
return this;
|
|
2936
2968
|
}
|
|
2937
2969
|
ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise) {
|
|
2938
2970
|
ellipse$2(this.__path, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
|
|
2971
|
+
this.paint();
|
|
2939
2972
|
return this;
|
|
2940
2973
|
}
|
|
2941
2974
|
arc(x, y, radius, startAngle, endAngle, anticlockwise) {
|
|
2942
2975
|
arc$1(this.__path, x, y, radius, startAngle, endAngle, anticlockwise);
|
|
2976
|
+
this.paint();
|
|
2943
2977
|
return this;
|
|
2944
2978
|
}
|
|
2945
2979
|
arcTo(x1, y1, x2, y2, radius) {
|
|
2946
2980
|
arcTo$2(this.__path, x1, y1, x2, y2, radius);
|
|
2981
|
+
this.paint();
|
|
2947
2982
|
return this;
|
|
2948
2983
|
}
|
|
2949
2984
|
drawEllipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise) {
|
|
2950
2985
|
drawEllipse(this.__path, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
|
|
2986
|
+
this.paint();
|
|
2951
2987
|
return this;
|
|
2952
2988
|
}
|
|
2953
2989
|
drawArc(x, y, radius, startAngle, endAngle, anticlockwise) {
|
|
2954
2990
|
drawArc(this.__path, x, y, radius, startAngle, endAngle, anticlockwise);
|
|
2991
|
+
this.paint();
|
|
2955
2992
|
return this;
|
|
2956
2993
|
}
|
|
2957
2994
|
drawPoints(points, curve, close) {
|
|
2958
2995
|
drawPoints$2(this.__path, points, curve, close);
|
|
2996
|
+
this.paint();
|
|
2959
2997
|
return this;
|
|
2960
2998
|
}
|
|
2999
|
+
paint() { }
|
|
2961
3000
|
}
|
|
2962
3001
|
|
|
2963
3002
|
const { M: M$2, L: L$3, C: C$2, Q: Q$1, Z: Z$2, N: N$1, D: D$1, X: X$1, G: G$1, F: F$2, O: O$1, P: P$1, U: U$1 } = PathCommandMap;
|
|
@@ -3979,7 +4018,7 @@ function registerUIEvent() {
|
|
|
3979
4018
|
};
|
|
3980
4019
|
}
|
|
3981
4020
|
|
|
3982
|
-
const { copy: copy$7, toInnerPoint: toInnerPoint$1, scaleOfOuter: scaleOfOuter$2, rotateOfOuter: rotateOfOuter$2, skewOfOuter, multiplyParent: multiplyParent$2, divideParent, getLayout } = MatrixHelper;
|
|
4021
|
+
const { copy: copy$7, toInnerPoint: toInnerPoint$1, toOuterPoint: toOuterPoint$1, scaleOfOuter: scaleOfOuter$2, rotateOfOuter: rotateOfOuter$2, skewOfOuter, multiplyParent: multiplyParent$2, divideParent, getLayout } = MatrixHelper;
|
|
3983
4022
|
const matrix$1 = {};
|
|
3984
4023
|
const LeafHelper = {
|
|
3985
4024
|
updateAllMatrix(leaf, checkAutoLayout, waitAutoLayout) {
|
|
@@ -4044,10 +4083,9 @@ const LeafHelper = {
|
|
|
4044
4083
|
}
|
|
4045
4084
|
return true;
|
|
4046
4085
|
},
|
|
4047
|
-
moveWorld(t, x, y = 0) {
|
|
4086
|
+
moveWorld(t, x, y = 0, isInnerPoint) {
|
|
4048
4087
|
const local = typeof x === 'object' ? Object.assign({}, x) : { x, y };
|
|
4049
|
-
|
|
4050
|
-
toInnerPoint$1(t.parent.worldTransform, local, local, true);
|
|
4088
|
+
isInnerPoint ? toOuterPoint$1(t.localTransform, local, local, true) : (t.parent && toInnerPoint$1(t.parent.worldTransform, local, local, true));
|
|
4051
4089
|
L.moveLocal(t, local.x, local.y);
|
|
4052
4090
|
},
|
|
4053
4091
|
moveLocal(t, x, y = 0) {
|
|
@@ -4066,8 +4104,13 @@ const LeafHelper = {
|
|
|
4066
4104
|
zoomOfLocal(t, origin, scaleX, scaleY = scaleX, resize) {
|
|
4067
4105
|
copy$7(matrix$1, t.__localMatrix);
|
|
4068
4106
|
scaleOfOuter$2(matrix$1, origin, scaleX, scaleY);
|
|
4069
|
-
|
|
4070
|
-
|
|
4107
|
+
if (t.origin || t.around) {
|
|
4108
|
+
L.setTransform(t, matrix$1, resize);
|
|
4109
|
+
}
|
|
4110
|
+
else {
|
|
4111
|
+
moveByMatrix(t, matrix$1);
|
|
4112
|
+
t.scaleResize(scaleX, scaleY, resize !== true);
|
|
4113
|
+
}
|
|
4071
4114
|
},
|
|
4072
4115
|
rotateOfWorld(t, origin, angle) {
|
|
4073
4116
|
L.rotateOfLocal(t, getTempLocal(t, origin), angle);
|
|
@@ -4075,8 +4118,13 @@ const LeafHelper = {
|
|
|
4075
4118
|
rotateOfLocal(t, origin, angle) {
|
|
4076
4119
|
copy$7(matrix$1, t.__localMatrix);
|
|
4077
4120
|
rotateOfOuter$2(matrix$1, origin, angle);
|
|
4078
|
-
|
|
4079
|
-
|
|
4121
|
+
if (t.origin || t.around) {
|
|
4122
|
+
L.setTransform(t, matrix$1);
|
|
4123
|
+
}
|
|
4124
|
+
else {
|
|
4125
|
+
moveByMatrix(t, matrix$1);
|
|
4126
|
+
t.rotation = MathHelper.formatRotation(t.rotation + angle);
|
|
4127
|
+
}
|
|
4080
4128
|
},
|
|
4081
4129
|
skewOfWorld(t, origin, skewX, skewY, resize) {
|
|
4082
4130
|
L.skewOfLocal(t, getTempLocal(t, origin), skewX, skewY, resize);
|
|
@@ -4099,7 +4147,7 @@ const LeafHelper = {
|
|
|
4099
4147
|
L.setTransform(t, matrix$1, resize);
|
|
4100
4148
|
},
|
|
4101
4149
|
setTransform(t, transform, resize) {
|
|
4102
|
-
const layout = getLayout(transform);
|
|
4150
|
+
const layout = getLayout(transform, t.origin && L.getInnerOrigin(t, t.origin), t.around && L.getInnerOrigin(t, t.around));
|
|
4103
4151
|
if (resize) {
|
|
4104
4152
|
const scaleX = layout.scaleX / t.scaleX;
|
|
4105
4153
|
const scaleY = layout.scaleY / t.scaleY;
|
|
@@ -4112,13 +4160,19 @@ const LeafHelper = {
|
|
|
4112
4160
|
t.set(layout);
|
|
4113
4161
|
}
|
|
4114
4162
|
},
|
|
4163
|
+
getFlipTransform(t, axis) {
|
|
4164
|
+
const m = getMatrixData();
|
|
4165
|
+
const sign = axis === 'x' ? 1 : -1;
|
|
4166
|
+
scaleOfOuter$2(m, L.getLocalOrigin(t, 'center'), -1 * sign, 1 * sign);
|
|
4167
|
+
return m;
|
|
4168
|
+
},
|
|
4115
4169
|
getLocalOrigin(t, origin) {
|
|
4116
4170
|
return PointHelper.tempToOuterOf(L.getInnerOrigin(t, origin), t.localTransform);
|
|
4117
4171
|
},
|
|
4118
4172
|
getInnerOrigin(t, origin) {
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
return
|
|
4173
|
+
const innerOrigin = {};
|
|
4174
|
+
AroundHelper.toPoint(origin, t.boxBounds, innerOrigin);
|
|
4175
|
+
return innerOrigin;
|
|
4122
4176
|
},
|
|
4123
4177
|
getRelativeWorld(t, relative, temp) {
|
|
4124
4178
|
copy$7(matrix$1, t.worldTransform);
|
|
@@ -4545,7 +4599,10 @@ const LeafEventer = {
|
|
|
4545
4599
|
on(type, listener, options) {
|
|
4546
4600
|
let capture, once;
|
|
4547
4601
|
if (options) {
|
|
4548
|
-
if (
|
|
4602
|
+
if (options === 'once') {
|
|
4603
|
+
once = true;
|
|
4604
|
+
}
|
|
4605
|
+
else if (typeof options === 'boolean') {
|
|
4549
4606
|
capture = options;
|
|
4550
4607
|
}
|
|
4551
4608
|
else {
|
|
@@ -4576,7 +4633,7 @@ const LeafEventer = {
|
|
|
4576
4633
|
if (listener) {
|
|
4577
4634
|
let capture;
|
|
4578
4635
|
if (options)
|
|
4579
|
-
capture = typeof options === 'boolean' ? options : options.capture;
|
|
4636
|
+
capture = typeof options === 'boolean' ? options : (options === 'once' ? false : options.capture);
|
|
4580
4637
|
let events, index;
|
|
4581
4638
|
const map = __getListenerMap(this, capture);
|
|
4582
4639
|
typeList.forEach(type => {
|
|
@@ -4878,7 +4935,7 @@ const LeafMatrix = {
|
|
|
4878
4935
|
const layout = this.__layout, local = this.__local, data = this.__;
|
|
4879
4936
|
if (layout.affectScaleOrRotation) {
|
|
4880
4937
|
if (layout.scaleChanged || layout.rotationChanged) {
|
|
4881
|
-
setLayout(local, data, null, layout.affectRotation);
|
|
4938
|
+
setLayout(local, data, null, null, layout.affectRotation);
|
|
4882
4939
|
layout.scaleChanged = layout.rotationChanged = false;
|
|
4883
4940
|
}
|
|
4884
4941
|
}
|
|
@@ -4886,7 +4943,7 @@ const LeafMatrix = {
|
|
|
4886
4943
|
local.f = data.y + data.offsetY;
|
|
4887
4944
|
if (data.around || data.origin) {
|
|
4888
4945
|
toPoint$3(data.around || data.origin, layout.boxBounds, tempPoint$1);
|
|
4889
|
-
translateInner(local, -tempPoint$1.x, -tempPoint$1.y, data.
|
|
4946
|
+
translateInner(local, -tempPoint$1.x, -tempPoint$1.y, !data.around);
|
|
4890
4947
|
}
|
|
4891
4948
|
}
|
|
4892
4949
|
this.__layout.matrixChanged = false;
|
|
@@ -4895,7 +4952,7 @@ const LeafMatrix = {
|
|
|
4895
4952
|
|
|
4896
4953
|
const { updateMatrix: updateMatrix$1, updateAllMatrix: updateAllMatrix$2 } = LeafHelper;
|
|
4897
4954
|
const { updateBounds: updateBounds$1 } = BranchHelper;
|
|
4898
|
-
const { toOuterOf: toOuterOf$1, copyAndSpread: copyAndSpread$
|
|
4955
|
+
const { toOuterOf: toOuterOf$1, copyAndSpread: copyAndSpread$2, copy: copy$5 } = BoundsHelper;
|
|
4899
4956
|
const { toBounds: toBounds$2 } = PathBounds;
|
|
4900
4957
|
const LeafBounds = {
|
|
4901
4958
|
__updateWorldBounds() {
|
|
@@ -4996,7 +5053,7 @@ const LeafBounds = {
|
|
|
4996
5053
|
updateAllMatrix$2(this);
|
|
4997
5054
|
updateBounds$1(this, this);
|
|
4998
5055
|
if (this.__.__autoSide)
|
|
4999
|
-
this.__updateBoxBounds();
|
|
5056
|
+
this.__updateBoxBounds(true);
|
|
5000
5057
|
}
|
|
5001
5058
|
else {
|
|
5002
5059
|
updateAllMatrix$2(this);
|
|
@@ -5014,11 +5071,11 @@ const LeafBounds = {
|
|
|
5014
5071
|
},
|
|
5015
5072
|
__updateStrokeBounds() {
|
|
5016
5073
|
const layout = this.__layout;
|
|
5017
|
-
copyAndSpread$
|
|
5074
|
+
copyAndSpread$2(layout.strokeBounds, layout.boxBounds, layout.strokeBoxSpread);
|
|
5018
5075
|
},
|
|
5019
5076
|
__updateRenderBounds() {
|
|
5020
5077
|
const layout = this.__layout;
|
|
5021
|
-
layout.renderSpread > 0 ? copyAndSpread$
|
|
5078
|
+
layout.renderSpread > 0 ? copyAndSpread$2(layout.renderBounds, layout.boxBounds, layout.renderSpread) : copy$5(layout.renderBounds, layout.strokeBounds);
|
|
5022
5079
|
}
|
|
5023
5080
|
};
|
|
5024
5081
|
|
|
@@ -5115,7 +5172,7 @@ const { LEAF, create } = IncrementId;
|
|
|
5115
5172
|
const { toInnerPoint, toOuterPoint, multiplyParent } = MatrixHelper;
|
|
5116
5173
|
const { toOuterOf } = BoundsHelper;
|
|
5117
5174
|
const { copy: copy$4 } = PointHelper;
|
|
5118
|
-
const { moveLocal, zoomOfLocal, rotateOfLocal, skewOfLocal, moveWorld, zoomOfWorld, rotateOfWorld, skewOfWorld, transform, transformWorld, setTransform, getLocalOrigin, getRelativeWorld, drop } = LeafHelper;
|
|
5175
|
+
const { moveLocal, zoomOfLocal, rotateOfLocal, skewOfLocal, moveWorld, zoomOfWorld, rotateOfWorld, skewOfWorld, transform, transformWorld, setTransform, getFlipTransform, getLocalOrigin, getRelativeWorld, drop } = LeafHelper;
|
|
5119
5176
|
let Leaf = class Leaf {
|
|
5120
5177
|
get tag() { return this.__tag; }
|
|
5121
5178
|
set tag(_value) { }
|
|
@@ -5141,6 +5198,8 @@ let Leaf = class Leaf {
|
|
|
5141
5198
|
get __ignoreHitWorld() { return (this.__hasMask || this.__hasEraser) && this.__.hitChildren; }
|
|
5142
5199
|
get __inLazyBounds() { const { leafer } = this; return leafer && leafer.created && leafer.lazyBounds.hit(this.__world); }
|
|
5143
5200
|
get pathInputed() { return this.__.__pathInputed; }
|
|
5201
|
+
set event(map) { let event; for (let key in map)
|
|
5202
|
+
event = map[key], event instanceof Array ? this.on(key, event[0], event[1]) : this.on(key, event); }
|
|
5144
5203
|
constructor(data) {
|
|
5145
5204
|
this.innerId = create(LEAF);
|
|
5146
5205
|
this.reset(data);
|
|
@@ -5376,6 +5435,9 @@ let Leaf = class Leaf {
|
|
|
5376
5435
|
move(x, y) {
|
|
5377
5436
|
moveLocal(this, x, y);
|
|
5378
5437
|
}
|
|
5438
|
+
moveInner(x, y) {
|
|
5439
|
+
moveWorld(this, x, y, true);
|
|
5440
|
+
}
|
|
5379
5441
|
scaleOf(origin, scaleX, scaleY, resize) {
|
|
5380
5442
|
zoomOfLocal(this, getLocalOrigin(this, origin), scaleX, scaleY, resize);
|
|
5381
5443
|
}
|
|
@@ -5400,6 +5462,9 @@ let Leaf = class Leaf {
|
|
|
5400
5462
|
skewOfWorld(worldOrigin, skewX, skewY, resize) {
|
|
5401
5463
|
skewOfWorld(this, worldOrigin, skewX, skewY, resize);
|
|
5402
5464
|
}
|
|
5465
|
+
flip(axis) {
|
|
5466
|
+
transform(this, getFlipTransform(this, axis));
|
|
5467
|
+
}
|
|
5403
5468
|
scaleResize(scaleX, scaleY = scaleX, _noResize) {
|
|
5404
5469
|
this.scaleX *= scaleX;
|
|
5405
5470
|
this.scaleY *= scaleY;
|
|
@@ -5757,7 +5822,7 @@ class LeafLevelList {
|
|
|
5757
5822
|
}
|
|
5758
5823
|
}
|
|
5759
5824
|
|
|
5760
|
-
const version = "1.0.
|
|
5825
|
+
const version = "1.0.1";
|
|
5761
5826
|
const inviteCode = {};
|
|
5762
5827
|
|
|
5763
5828
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
@@ -5827,7 +5892,7 @@ function useCanvas(_canvasType, _power) {
|
|
|
5827
5892
|
Platform.name = 'web';
|
|
5828
5893
|
Platform.isWorker = true;
|
|
5829
5894
|
Platform.requestRender = function (render) { requestAnimationFrame(render); };
|
|
5830
|
-
Platform
|
|
5895
|
+
defineKey(Platform, 'devicePixelRatio', { get() { return 1; } });
|
|
5831
5896
|
const { userAgent } = navigator;
|
|
5832
5897
|
if (userAgent.indexOf("Firefox") > -1) {
|
|
5833
5898
|
Platform.conicGradientRotate90 = true;
|
|
@@ -6323,14 +6388,14 @@ class Renderer {
|
|
|
6323
6388
|
if (Debug.showRepaint)
|
|
6324
6389
|
this.canvas.strokeWorld(bounds, 'red');
|
|
6325
6390
|
this.target.__render(this.canvas, options);
|
|
6326
|
-
this.renderBounds = realBounds || bounds;
|
|
6391
|
+
this.renderBounds = realBounds = realBounds || bounds;
|
|
6327
6392
|
this.renderOptions = options;
|
|
6328
|
-
this.totalBounds.isEmpty() ? this.totalBounds =
|
|
6393
|
+
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
6329
6394
|
if (Debug.showHitView)
|
|
6330
6395
|
this.renderHitView(options);
|
|
6331
6396
|
if (Debug.showBoundsView)
|
|
6332
6397
|
this.renderBoundsView(options);
|
|
6333
|
-
this.canvas.updateRender();
|
|
6398
|
+
this.canvas.updateRender(realBounds);
|
|
6334
6399
|
}
|
|
6335
6400
|
renderHitView(_options) { }
|
|
6336
6401
|
renderBoundsView(_options) { }
|
|
@@ -6910,6 +6975,11 @@ class BoxData extends GroupData {
|
|
|
6910
6975
|
}
|
|
6911
6976
|
|
|
6912
6977
|
class LeaferData extends GroupData {
|
|
6978
|
+
__getInputData() {
|
|
6979
|
+
const data = super.__getInputData();
|
|
6980
|
+
canvasSizeAttrs.forEach(key => delete data[key]);
|
|
6981
|
+
return data;
|
|
6982
|
+
}
|
|
6913
6983
|
}
|
|
6914
6984
|
|
|
6915
6985
|
class FrameData extends BoxData {
|
|
@@ -6987,6 +7057,11 @@ class ImageData extends RectData {
|
|
|
6987
7057
|
}
|
|
6988
7058
|
|
|
6989
7059
|
class CanvasData extends RectData {
|
|
7060
|
+
__getInputData() {
|
|
7061
|
+
const data = super.__getInputData();
|
|
7062
|
+
data.url = this.__leaf.canvas.toDataURL('image/png');
|
|
7063
|
+
return data;
|
|
7064
|
+
}
|
|
6990
7065
|
}
|
|
6991
7066
|
|
|
6992
7067
|
const UIBounds = {
|
|
@@ -7652,7 +7727,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7652
7727
|
this.__controllers.push(this.renderer = Creator.renderer(this, canvas, config), this.watcher = Creator.watcher(this, config), this.layouter = Creator.layouter(this, config));
|
|
7653
7728
|
if (this.isApp)
|
|
7654
7729
|
this.__setApp();
|
|
7655
|
-
this.__checkAutoLayout(config);
|
|
7730
|
+
this.__checkAutoLayout(config, parentApp);
|
|
7656
7731
|
this.view = canvas.view;
|
|
7657
7732
|
if (parentApp) {
|
|
7658
7733
|
this.__bindApp(parentApp);
|
|
@@ -7753,9 +7828,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7753
7828
|
this.leafer = leafer;
|
|
7754
7829
|
this.__level = 1;
|
|
7755
7830
|
}
|
|
7756
|
-
__checkAutoLayout(config) {
|
|
7757
|
-
if (!
|
|
7758
|
-
|
|
7831
|
+
__checkAutoLayout(config, parentApp) {
|
|
7832
|
+
if (!parentApp) {
|
|
7833
|
+
if (!config.width || !config.height)
|
|
7834
|
+
this.autoLayout = new AutoBounds(config);
|
|
7759
7835
|
this.canvas.startAutoLayout(this.autoLayout, this.__onResize.bind(this));
|
|
7760
7836
|
}
|
|
7761
7837
|
}
|
|
@@ -7890,12 +7966,21 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7890
7966
|
list.push(item);
|
|
7891
7967
|
}
|
|
7892
7968
|
}
|
|
7893
|
-
zoom(_zoomType, _padding, _fixedScale) {
|
|
7969
|
+
zoom(_zoomType, _padding, _fixedScale) {
|
|
7970
|
+
return debug$3.error('need @leafer-in/view');
|
|
7971
|
+
}
|
|
7894
7972
|
getValidMove(moveX, moveY) { return { x: moveX, y: moveY }; }
|
|
7895
7973
|
getValidScale(changeScale) { return changeScale; }
|
|
7896
7974
|
getWorldPointByClient(clientPoint, updateClient) {
|
|
7897
7975
|
return this.interaction && this.interaction.getLocal(clientPoint, updateClient);
|
|
7898
7976
|
}
|
|
7977
|
+
getPagePointByClient(clientPoint, updateClient) {
|
|
7978
|
+
return this.getPagePoint(this.getWorldPointByClient(clientPoint, updateClient));
|
|
7979
|
+
}
|
|
7980
|
+
updateClientBounds() {
|
|
7981
|
+
this.canvas && this.canvas.updateClientBounds();
|
|
7982
|
+
}
|
|
7983
|
+
receiveEvent(_event) { }
|
|
7899
7984
|
__checkUpdateLayout() {
|
|
7900
7985
|
this.__layout.update();
|
|
7901
7986
|
}
|
|
@@ -7979,7 +8064,7 @@ Rect = __decorate([
|
|
|
7979
8064
|
const rect$1 = Rect.prototype;
|
|
7980
8065
|
const group$1 = Group.prototype;
|
|
7981
8066
|
const childrenRenderBounds = {};
|
|
7982
|
-
const { copy: copy$3, add, includes: includes$1 } = BoundsHelper;
|
|
8067
|
+
const { copy: copy$3, add, includes: includes$1, copyAndSpread: copyAndSpread$1 } = BoundsHelper;
|
|
7983
8068
|
let Box = class Box extends Group {
|
|
7984
8069
|
get __tag() { return 'Box'; }
|
|
7985
8070
|
get isBranchLeaf() { return true; }
|
|
@@ -7993,20 +8078,23 @@ let Box = class Box extends Group {
|
|
|
7993
8078
|
return this.__updateRectRenderSpread() || -1;
|
|
7994
8079
|
}
|
|
7995
8080
|
__updateRectBoxBounds() { }
|
|
7996
|
-
__updateBoxBounds() {
|
|
8081
|
+
__updateBoxBounds(secondLayout) {
|
|
7997
8082
|
const data = this.__;
|
|
7998
8083
|
if (this.children.length) {
|
|
7999
8084
|
if (data.__autoSide) {
|
|
8000
8085
|
if (this.leafer && this.leafer.ready)
|
|
8001
8086
|
this.leafer.layouter.addExtra(this);
|
|
8002
8087
|
super.__updateBoxBounds();
|
|
8088
|
+
const { boxBounds } = this.__layout;
|
|
8003
8089
|
if (!data.__autoSize) {
|
|
8004
|
-
|
|
8005
|
-
|
|
8006
|
-
|
|
8007
|
-
|
|
8008
|
-
b.width += b.x, b.height = data.height, b.y = b.x = 0;
|
|
8090
|
+
if (data.__autoWidth)
|
|
8091
|
+
boxBounds.width += boxBounds.x, boxBounds.height = data.height, boxBounds.y = boxBounds.x = 0;
|
|
8092
|
+
else
|
|
8093
|
+
boxBounds.height += boxBounds.y, boxBounds.width = data.width, boxBounds.x = boxBounds.y = 0;
|
|
8009
8094
|
}
|
|
8095
|
+
if (secondLayout && data.flow && data.padding)
|
|
8096
|
+
copyAndSpread$1(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : (data.__autoWidth ? 'width' : 'height'));
|
|
8097
|
+
this.__updateNaturalSize();
|
|
8010
8098
|
}
|
|
8011
8099
|
else {
|
|
8012
8100
|
this.__updateRectBoxBounds();
|
|
@@ -8026,13 +8114,13 @@ let Box = class Box extends Group {
|
|
|
8026
8114
|
super.__updateRenderBounds();
|
|
8027
8115
|
copy$3(childrenRenderBounds, renderBounds);
|
|
8028
8116
|
this.__updateRectRenderBounds();
|
|
8029
|
-
isOverflow = !includes$1(renderBounds, childrenRenderBounds) ||
|
|
8117
|
+
isOverflow = !includes$1(renderBounds, childrenRenderBounds) || !this.pathInputed || !this.__.cornerRadius;
|
|
8030
8118
|
}
|
|
8031
8119
|
else {
|
|
8032
8120
|
this.__updateRectRenderBounds();
|
|
8033
8121
|
}
|
|
8034
8122
|
this.isOverflow !== isOverflow && (this.isOverflow = isOverflow);
|
|
8035
|
-
if (
|
|
8123
|
+
if (!(this.__.__drawAfterFill = this.__.overflow === 'hide') && isOverflow)
|
|
8036
8124
|
add(renderBounds, childrenRenderBounds);
|
|
8037
8125
|
}
|
|
8038
8126
|
__updateRectRenderBounds() { }
|
|
@@ -8366,14 +8454,26 @@ __decorate([
|
|
|
8366
8454
|
Image = __decorate([
|
|
8367
8455
|
registerUI()
|
|
8368
8456
|
], Image);
|
|
8457
|
+
const MyImage = Image;
|
|
8369
8458
|
|
|
8370
8459
|
let Canvas = class Canvas extends Rect {
|
|
8371
8460
|
get __tag() { return 'Canvas'; }
|
|
8461
|
+
get ready() { return !this.url; }
|
|
8372
8462
|
constructor(data) {
|
|
8373
8463
|
super(data);
|
|
8374
8464
|
this.canvas = Creator.canvas(this.__);
|
|
8375
8465
|
this.context = this.canvas.context;
|
|
8376
8466
|
this.__.__isCanvas = this.__.__drawAfterFill = true;
|
|
8467
|
+
if (data && data.url)
|
|
8468
|
+
this.drawImage(data.url);
|
|
8469
|
+
}
|
|
8470
|
+
drawImage(url) {
|
|
8471
|
+
new LeaferImage({ url }).load((image) => {
|
|
8472
|
+
this.context.drawImage(image.view, 0, 0);
|
|
8473
|
+
this.url = undefined;
|
|
8474
|
+
this.paint();
|
|
8475
|
+
this.emitEvent(new ImageEvent(ImageEvent.LOADED, { image }));
|
|
8476
|
+
});
|
|
8377
8477
|
}
|
|
8378
8478
|
draw(ui, offset, scale, rotation) {
|
|
8379
8479
|
ui.__layout.update();
|
|
@@ -8417,8 +8517,7 @@ let Canvas = class Canvas extends Rect {
|
|
|
8417
8517
|
destroy() {
|
|
8418
8518
|
if (this.canvas) {
|
|
8419
8519
|
this.canvas.destroy();
|
|
8420
|
-
this.canvas = null;
|
|
8421
|
-
this.context = null;
|
|
8520
|
+
this.canvas = this.context = null;
|
|
8422
8521
|
}
|
|
8423
8522
|
super.destroy();
|
|
8424
8523
|
}
|
|
@@ -8433,7 +8532,7 @@ __decorate([
|
|
|
8433
8532
|
resizeType(100)
|
|
8434
8533
|
], Canvas.prototype, "height", void 0);
|
|
8435
8534
|
__decorate([
|
|
8436
|
-
resizeType(
|
|
8535
|
+
resizeType(1)
|
|
8437
8536
|
], Canvas.prototype, "pixelRatio", void 0);
|
|
8438
8537
|
__decorate([
|
|
8439
8538
|
resizeType(true)
|
|
@@ -8457,13 +8556,13 @@ let Text = class Text extends UI {
|
|
|
8457
8556
|
super(data);
|
|
8458
8557
|
}
|
|
8459
8558
|
__drawHitPath(canvas) {
|
|
8460
|
-
const { __lineHeight, __baseLine, __textDrawData: data } = this.__;
|
|
8559
|
+
const { __lineHeight, fontSize, __baseLine, __textDrawData: data } = this.__;
|
|
8461
8560
|
canvas.beginPath();
|
|
8462
8561
|
if (this.__.__letterSpacing < 0) {
|
|
8463
8562
|
this.__drawPathByData(canvas);
|
|
8464
8563
|
}
|
|
8465
8564
|
else {
|
|
8466
|
-
data.rows.forEach(row => canvas.rect(row.x, row.y - __baseLine, row.width, __lineHeight));
|
|
8565
|
+
data.rows.forEach(row => canvas.rect(row.x, row.y - __baseLine, row.width, __lineHeight < fontSize ? fontSize : __lineHeight));
|
|
8467
8566
|
}
|
|
8468
8567
|
}
|
|
8469
8568
|
__drawPathByData(drawer, _data) {
|
|
@@ -8656,7 +8755,8 @@ let Pen = class Pen extends Group {
|
|
|
8656
8755
|
drawPoints(_points, _curve, _close) { return this; }
|
|
8657
8756
|
clearPath() { return this; }
|
|
8658
8757
|
paint() {
|
|
8659
|
-
this.pathElement.
|
|
8758
|
+
if (!this.pathElement.__layout.boxChanged)
|
|
8759
|
+
this.pathElement.forceUpdate('path');
|
|
8660
8760
|
}
|
|
8661
8761
|
};
|
|
8662
8762
|
__decorate([
|
|
@@ -8666,7 +8766,7 @@ __decorate([
|
|
|
8666
8766
|
penPathType()
|
|
8667
8767
|
], Pen.prototype, "path", void 0);
|
|
8668
8768
|
Pen = __decorate([
|
|
8669
|
-
useModule(PathCreator, ['set', 'beginPath', 'path']),
|
|
8769
|
+
useModule(PathCreator, ['set', 'beginPath', 'path', 'paint']),
|
|
8670
8770
|
registerUI()
|
|
8671
8771
|
], Pen);
|
|
8672
8772
|
function penPathType() {
|
|
@@ -8771,11 +8871,13 @@ let App = class App extends Leafer {
|
|
|
8771
8871
|
this.renderer.update();
|
|
8772
8872
|
}
|
|
8773
8873
|
__render(canvas, options) {
|
|
8774
|
-
if (
|
|
8775
|
-
|
|
8776
|
-
|
|
8874
|
+
if (canvas.context) {
|
|
8875
|
+
if (options.matrix) {
|
|
8876
|
+
const { a, b, c, d, e, f } = options.matrix;
|
|
8877
|
+
canvas.setTransform(a, b, c, d, e, f);
|
|
8878
|
+
}
|
|
8879
|
+
this.children.forEach(leafer => canvas.copyWorld(leafer.canvas));
|
|
8777
8880
|
}
|
|
8778
|
-
this.children.forEach(leafer => canvas.copyWorld(leafer.canvas));
|
|
8779
8881
|
}
|
|
8780
8882
|
__onResize(event) {
|
|
8781
8883
|
this.children.forEach(leafer => leafer.resize(event));
|
|
@@ -8887,6 +8989,7 @@ PointerEvent.MENU_TAP = 'pointer.menu_tap';
|
|
|
8887
8989
|
PointerEvent = __decorate([
|
|
8888
8990
|
registerUIEvent()
|
|
8889
8991
|
], PointerEvent);
|
|
8992
|
+
const MyPointerEvent = PointerEvent;
|
|
8890
8993
|
|
|
8891
8994
|
const move = {};
|
|
8892
8995
|
let DragEvent = class DragEvent extends PointerEvent {
|
|
@@ -8986,6 +9089,7 @@ DragEvent.LEAVE = 'drag.leave';
|
|
|
8986
9089
|
DragEvent = __decorate([
|
|
8987
9090
|
registerUIEvent()
|
|
8988
9091
|
], DragEvent);
|
|
9092
|
+
const MyDragEvent = DragEvent;
|
|
8989
9093
|
|
|
8990
9094
|
let DropEvent = class DropEvent extends PointerEvent {
|
|
8991
9095
|
static setList(data) {
|
|
@@ -9067,36 +9171,32 @@ function addInteractionWindow(leafer) {
|
|
|
9067
9171
|
|
|
9068
9172
|
function document(leafer) {
|
|
9069
9173
|
addInteractionWindow(leafer);
|
|
9070
|
-
|
|
9071
|
-
|
|
9174
|
+
const { move, zoom } = leafer.config;
|
|
9175
|
+
move.scroll = 'limit';
|
|
9176
|
+
zoom.min = 1;
|
|
9177
|
+
}
|
|
9178
|
+
|
|
9179
|
+
function block(leafer) {
|
|
9180
|
+
const { config } = leafer;
|
|
9181
|
+
(config.wheel || (config.wheel = {})).preventDefault = false;
|
|
9182
|
+
(config.touch || (config.touch = {})).preventDefault = 'auto';
|
|
9072
9183
|
}
|
|
9073
9184
|
|
|
9074
9185
|
const debug$2 = Debug.get('LeaferTypeCreator');
|
|
9075
9186
|
const LeaferTypeCreator = {
|
|
9076
9187
|
list: {},
|
|
9077
9188
|
register(name, fn) {
|
|
9078
|
-
|
|
9079
|
-
debug$2.repeat(name);
|
|
9080
|
-
}
|
|
9081
|
-
else {
|
|
9082
|
-
list[name] = fn;
|
|
9083
|
-
}
|
|
9189
|
+
list[name] ? debug$2.repeat(name) : list[name] = fn;
|
|
9084
9190
|
},
|
|
9085
9191
|
run(name, leafer) {
|
|
9086
9192
|
const fn = list[name];
|
|
9087
|
-
|
|
9088
|
-
fn(leafer);
|
|
9089
|
-
}
|
|
9090
|
-
else {
|
|
9091
|
-
debug$2.error('no', name);
|
|
9092
|
-
}
|
|
9193
|
+
fn && fn(leafer);
|
|
9093
9194
|
}
|
|
9094
9195
|
};
|
|
9095
9196
|
const { list, register } = LeaferTypeCreator;
|
|
9096
|
-
register('draw', () => { });
|
|
9097
|
-
register('custom', () => { });
|
|
9098
9197
|
register('design', addInteractionWindow);
|
|
9099
9198
|
register('document', document);
|
|
9199
|
+
register('block', block);
|
|
9100
9200
|
|
|
9101
9201
|
const leafer = Leafer.prototype;
|
|
9102
9202
|
leafer.initType = function (type) {
|
|
@@ -9142,11 +9242,14 @@ leafer.getValidScale = function (changeScale) {
|
|
|
9142
9242
|
};
|
|
9143
9243
|
|
|
9144
9244
|
class Transformer {
|
|
9245
|
+
get transforming() { return !!(this.moveData || this.zoomData || this.rotateData); }
|
|
9145
9246
|
constructor(interaction) {
|
|
9146
9247
|
this.interaction = interaction;
|
|
9147
9248
|
}
|
|
9148
9249
|
move(data) {
|
|
9149
9250
|
const { interaction } = this;
|
|
9251
|
+
if (!data.moveType)
|
|
9252
|
+
data.moveType = 'move';
|
|
9150
9253
|
if (!this.moveData) {
|
|
9151
9254
|
const { path } = interaction.selector.getByPoint(data, interaction.hitRadius);
|
|
9152
9255
|
data.path = path;
|
|
@@ -9282,7 +9385,13 @@ const InteractionHelper = {
|
|
|
9282
9385
|
find.add(list[i]);
|
|
9283
9386
|
}
|
|
9284
9387
|
return find;
|
|
9285
|
-
}
|
|
9388
|
+
},
|
|
9389
|
+
pathCanDrag(path) {
|
|
9390
|
+
return path && path.list.some(item => item.draggable || item.editable || (!item.isLeafer && item.hasEvent(DragEvent.DRAG)));
|
|
9391
|
+
},
|
|
9392
|
+
pathHasOutside(path) {
|
|
9393
|
+
return path && path.list.some(item => item.isOutside);
|
|
9394
|
+
},
|
|
9286
9395
|
};
|
|
9287
9396
|
const I = InteractionHelper;
|
|
9288
9397
|
|
|
@@ -9311,8 +9420,10 @@ class Dragger {
|
|
|
9311
9420
|
return;
|
|
9312
9421
|
}
|
|
9313
9422
|
if (!this.moving && canDrag) {
|
|
9314
|
-
if (this.moving = interaction.canMove(this.downData) || interaction.isHoldRightKey || interaction.isMobileDragEmpty)
|
|
9423
|
+
if (this.moving = interaction.canMove(this.downData) || interaction.isHoldRightKey || interaction.isMobileDragEmpty) {
|
|
9424
|
+
this.dragData.moveType = 'drag';
|
|
9315
9425
|
interaction.emit(MoveEvent.START, this.dragData);
|
|
9426
|
+
}
|
|
9316
9427
|
}
|
|
9317
9428
|
if (!this.moving) {
|
|
9318
9429
|
this.dragStart(data, canDrag);
|
|
@@ -9351,6 +9462,7 @@ class Dragger {
|
|
|
9351
9462
|
this.dragData.throughPath = throughPath;
|
|
9352
9463
|
this.dragData.path = path;
|
|
9353
9464
|
if (this.moving) {
|
|
9465
|
+
this.dragData.moveType = 'drag';
|
|
9354
9466
|
interaction.emit(MoveEvent.BEFORE_MOVE, this.dragData);
|
|
9355
9467
|
interaction.emit(MoveEvent.MOVE, this.dragData);
|
|
9356
9468
|
}
|
|
@@ -9417,6 +9529,7 @@ class Dragger {
|
|
|
9417
9529
|
endDragData.path = path;
|
|
9418
9530
|
if (this.moving) {
|
|
9419
9531
|
this.moving = false;
|
|
9532
|
+
endDragData.moveType = 'drag';
|
|
9420
9533
|
interaction.emit(MoveEvent.END, endDragData);
|
|
9421
9534
|
}
|
|
9422
9535
|
if (this.dragging) {
|
|
@@ -9475,7 +9588,7 @@ class Dragger {
|
|
|
9475
9588
|
totalY += moveY;
|
|
9476
9589
|
PointHelper.move(downData, moveX, moveY);
|
|
9477
9590
|
PointHelper.move(this.dragData, moveX, moveY);
|
|
9478
|
-
interaction.move(Object.assign(Object.assign({}, data), { moveX, moveY, totalX, totalY }));
|
|
9591
|
+
interaction.move(Object.assign(Object.assign({}, data), { moveX, moveY, totalX, totalY, moveType: 'drag' }));
|
|
9479
9592
|
interaction.pointerMoveReal(data);
|
|
9480
9593
|
}, 10);
|
|
9481
9594
|
}
|
|
@@ -9588,22 +9701,27 @@ const config = {
|
|
|
9588
9701
|
swipeDistance: 20,
|
|
9589
9702
|
preventDefaultMenu: true
|
|
9590
9703
|
},
|
|
9704
|
+
touch: {
|
|
9705
|
+
preventDefault: true
|
|
9706
|
+
},
|
|
9591
9707
|
cursor: true,
|
|
9592
9708
|
keyEvent: true
|
|
9593
9709
|
};
|
|
9594
9710
|
|
|
9595
|
-
const { pathHasEventType, getMoveEventData, getZoomEventData, getRotateEventData } = InteractionHelper;
|
|
9711
|
+
const { pathHasEventType, getMoveEventData, getZoomEventData, getRotateEventData, pathCanDrag, pathHasOutside } = InteractionHelper;
|
|
9596
9712
|
class InteractionBase {
|
|
9597
9713
|
get dragging() { return this.dragger.dragging; }
|
|
9598
|
-
get
|
|
9714
|
+
get transforming() { return this.transformer.transforming; }
|
|
9715
|
+
get moveMode() { return this.config.move.drag === true || this.isHoldSpaceKey || this.isHoldMiddleKey || (this.isHoldRightKey && this.dragger.moving) || this.isDragEmpty; }
|
|
9716
|
+
get canHover() { return this.config.pointer.hover && !this.config.mobile; }
|
|
9599
9717
|
get isDragEmpty() { return this.config.move.dragEmpty && this.isRootPath(this.hoverData) && (!this.downData || this.isRootPath(this.downData)); }
|
|
9600
|
-
get isMobileDragEmpty() { return this.config.move.dragEmpty && !this.
|
|
9718
|
+
get isMobileDragEmpty() { return this.config.move.dragEmpty && !this.canHover && this.downData && this.isTreePath(this.downData); }
|
|
9601
9719
|
get isHoldMiddleKey() { return this.config.move.holdMiddleKey && this.downData && PointerButton.middle(this.downData); }
|
|
9602
9720
|
get isHoldRightKey() { return this.config.move.holdRightKey && this.downData && PointerButton.right(this.downData); }
|
|
9603
9721
|
get isHoldSpaceKey() { return this.config.move.holdSpaceKey && Keyboard.isHoldSpaceKey(); }
|
|
9604
9722
|
get hitRadius() { return this.config.pointer.hitRadius; }
|
|
9605
9723
|
constructor(target, canvas, selector, userConfig) {
|
|
9606
|
-
this.config = config;
|
|
9724
|
+
this.config = DataHelper.clone(config);
|
|
9607
9725
|
this.tapCount = 0;
|
|
9608
9726
|
this.downKeyMap = {};
|
|
9609
9727
|
this.target = target;
|
|
@@ -9690,6 +9808,7 @@ class InteractionBase {
|
|
|
9690
9808
|
if (!downData)
|
|
9691
9809
|
return;
|
|
9692
9810
|
PointerButton.defaultLeft(data);
|
|
9811
|
+
data.multiTouch = downData.multiTouch;
|
|
9693
9812
|
this.findPath(data);
|
|
9694
9813
|
const upData = Object.assign(Object.assign({}, data), { path: data.path.clone() });
|
|
9695
9814
|
data.path.addList(downData.path.list);
|
|
@@ -9762,7 +9881,7 @@ class InteractionBase {
|
|
|
9762
9881
|
this.updateCursor();
|
|
9763
9882
|
}
|
|
9764
9883
|
pointerHover(data) {
|
|
9765
|
-
if (this.
|
|
9884
|
+
if (this.canHover) {
|
|
9766
9885
|
this.pointerOverOrOut(data);
|
|
9767
9886
|
this.pointerEnterOrLeave(data);
|
|
9768
9887
|
}
|
|
@@ -9854,11 +9973,11 @@ class InteractionBase {
|
|
|
9854
9973
|
return app.editor && (!data.path.has(app.editor) && data.path.has(app.tree) && !data.target.syncEventer);
|
|
9855
9974
|
}
|
|
9856
9975
|
checkPath(data, useDefaultPath) {
|
|
9857
|
-
if (useDefaultPath || this.
|
|
9976
|
+
if (useDefaultPath || (this.moveMode && !pathHasOutside(data.path)))
|
|
9858
9977
|
data.path = this.defaultPath;
|
|
9859
9978
|
}
|
|
9860
9979
|
canMove(data) {
|
|
9861
|
-
return this.moveMode
|
|
9980
|
+
return data && (this.moveMode || (this.config.move.drag === 'auto' && !pathCanDrag(data.path))) && !pathHasOutside(data.path);
|
|
9862
9981
|
}
|
|
9863
9982
|
isDrag(leaf) {
|
|
9864
9983
|
return this.dragger.getList().has(leaf);
|
|
@@ -9899,7 +10018,7 @@ class InteractionBase {
|
|
|
9899
10018
|
this.hoverData = data;
|
|
9900
10019
|
}
|
|
9901
10020
|
updateCursor(data) {
|
|
9902
|
-
if (!this.config.cursor || !this.
|
|
10021
|
+
if (!this.config.cursor || !this.canHover)
|
|
9903
10022
|
return;
|
|
9904
10023
|
if (!data) {
|
|
9905
10024
|
this.updateHoverData();
|
|
@@ -10553,10 +10672,13 @@ function repeatMode(data, box, width, height, x, y, scaleX, scaleY, rotation, al
|
|
|
10553
10672
|
const { get: get$2, translate } = MatrixHelper;
|
|
10554
10673
|
const tempBox = new Bounds();
|
|
10555
10674
|
const tempPoint = {};
|
|
10675
|
+
const tempScaleData = {};
|
|
10556
10676
|
function createData(leafPaint, image, paint, box) {
|
|
10557
|
-
const { blendMode } = paint;
|
|
10677
|
+
const { blendMode, sync } = paint;
|
|
10558
10678
|
if (blendMode)
|
|
10559
10679
|
leafPaint.blendMode = blendMode;
|
|
10680
|
+
if (sync)
|
|
10681
|
+
leafPaint.sync = sync;
|
|
10560
10682
|
leafPaint.data = getPatternData(paint, box, image);
|
|
10561
10683
|
}
|
|
10562
10684
|
function getPatternData(paint, box, image) {
|
|
@@ -10576,13 +10698,10 @@ function getPatternData(paint, box, image) {
|
|
|
10576
10698
|
x += (box.width - width * scaleX) / 2, y += (box.height - height * scaleY) / 2;
|
|
10577
10699
|
}
|
|
10578
10700
|
}
|
|
10579
|
-
else if (size) {
|
|
10580
|
-
|
|
10581
|
-
|
|
10582
|
-
|
|
10583
|
-
else if (scale) {
|
|
10584
|
-
scaleX = typeof scale === 'number' ? scale : scale.x;
|
|
10585
|
-
scaleY = typeof scale === 'number' ? scale : scale.y;
|
|
10701
|
+
else if (scale || size) {
|
|
10702
|
+
MathHelper.getScaleData(scale, size, image, tempScaleData);
|
|
10703
|
+
scaleX = tempScaleData.scaleX;
|
|
10704
|
+
scaleY = tempScaleData.scaleY;
|
|
10586
10705
|
}
|
|
10587
10706
|
if (align) {
|
|
10588
10707
|
const imageBounds = { x, y, width: swapWidth, height: swapHeight };
|
|
@@ -10787,7 +10906,7 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
10787
10906
|
const { abs } = Math;
|
|
10788
10907
|
function checkImage(ui, canvas, paint, allowPaint) {
|
|
10789
10908
|
const { scaleX, scaleY } = ImageManager.patternLocked ? ui.__world : ui.__nowWorld;
|
|
10790
|
-
if (!paint.data || paint.patternId === scaleX + '-' + scaleY) {
|
|
10909
|
+
if (!paint.data || (paint.patternId === scaleX + '-' + scaleY && !Export.running)) {
|
|
10791
10910
|
return false;
|
|
10792
10911
|
}
|
|
10793
10912
|
else {
|
|
@@ -10821,7 +10940,7 @@ function checkImage(ui, canvas, paint, allowPaint) {
|
|
|
10821
10940
|
return true;
|
|
10822
10941
|
}
|
|
10823
10942
|
else {
|
|
10824
|
-
if (!paint.style || Export.running) {
|
|
10943
|
+
if (!paint.style || paint.sync || Export.running) {
|
|
10825
10944
|
createPattern(ui, paint, canvas.pixelRatio);
|
|
10826
10945
|
}
|
|
10827
10946
|
else {
|
|
@@ -11691,6 +11810,7 @@ const ExportModule = {
|
|
|
11691
11810
|
export(leaf, filename, options) {
|
|
11692
11811
|
this.running = true;
|
|
11693
11812
|
const fileType = FileHelper.fileType(filename);
|
|
11813
|
+
const isDownload = filename.includes('.');
|
|
11694
11814
|
options = FileHelper.getExportOptions(options);
|
|
11695
11815
|
return addTask((success) => new Promise((resolve) => {
|
|
11696
11816
|
const over = (result) => {
|
|
@@ -11700,19 +11820,13 @@ const ExportModule = {
|
|
|
11700
11820
|
};
|
|
11701
11821
|
const { toURL } = Platform;
|
|
11702
11822
|
const { download } = Platform.origin;
|
|
11703
|
-
if (
|
|
11704
|
-
|
|
11705
|
-
|
|
11706
|
-
else if (fileType === 'json') {
|
|
11707
|
-
download(toURL(JSON.stringify(leaf.toJSON(options.json)), 'text'), filename);
|
|
11708
|
-
return over({ data: true });
|
|
11823
|
+
if (fileType === 'json') {
|
|
11824
|
+
isDownload && download(toURL(JSON.stringify(leaf.toJSON(options.json)), 'text'), filename);
|
|
11825
|
+
return over({ data: isDownload ? true : leaf.toJSON(options.json) });
|
|
11709
11826
|
}
|
|
11710
|
-
if (
|
|
11711
|
-
|
|
11712
|
-
|
|
11713
|
-
else if (fileType === 'svg') {
|
|
11714
|
-
download(toURL(leaf.toSVG(), 'svg'), filename);
|
|
11715
|
-
return over({ data: true });
|
|
11827
|
+
if (fileType === 'svg') {
|
|
11828
|
+
isDownload && download(toURL(leaf.toSVG(), 'svg'), filename);
|
|
11829
|
+
return over({ data: isDownload ? true : leaf.toSVG() });
|
|
11716
11830
|
}
|
|
11717
11831
|
const { leafer } = leaf;
|
|
11718
11832
|
if (leafer) {
|
|
@@ -11721,14 +11835,8 @@ const ExportModule = {
|
|
|
11721
11835
|
let renderBounds, trimBounds, scaleX = 1, scaleY = 1;
|
|
11722
11836
|
const { worldTransform, isLeafer, isFrame } = leaf;
|
|
11723
11837
|
const { slice, trim, onCanvas } = options;
|
|
11724
|
-
let scale = options.scale || 1;
|
|
11725
|
-
let pixelRatio = options.pixelRatio || 1;
|
|
11726
11838
|
const smooth = options.smooth === undefined ? leafer.config.smooth : options.smooth;
|
|
11727
11839
|
const contextSettings = options.contextSettings || leafer.config.contextSettings;
|
|
11728
|
-
if (leaf.isApp) {
|
|
11729
|
-
scale *= pixelRatio;
|
|
11730
|
-
pixelRatio = leaf.app.pixelRatio;
|
|
11731
|
-
}
|
|
11732
11840
|
const screenshot = options.screenshot || leaf.isApp;
|
|
11733
11841
|
const fill = (isLeafer && screenshot) ? (options.fill === undefined ? leaf.fill : options.fill) : options.fill;
|
|
11734
11842
|
const needFill = FileHelper.isOpaqueImage(filename) || fill, matrix = new Matrix();
|
|
@@ -11762,10 +11870,21 @@ const ExportModule = {
|
|
|
11762
11870
|
}
|
|
11763
11871
|
renderBounds = leaf.getBounds('render', relative);
|
|
11764
11872
|
}
|
|
11765
|
-
const {
|
|
11873
|
+
const scaleData = { scaleX: 1, scaleY: 1 };
|
|
11874
|
+
MathHelper.getScaleData(options.scale, options.size, renderBounds, scaleData);
|
|
11875
|
+
let pixelRatio = options.pixelRatio || 1;
|
|
11876
|
+
if (leaf.isApp) {
|
|
11877
|
+
scaleData.scaleX *= pixelRatio;
|
|
11878
|
+
scaleData.scaleY *= pixelRatio;
|
|
11879
|
+
pixelRatio = leaf.app.pixelRatio;
|
|
11880
|
+
}
|
|
11881
|
+
const { x, y, width, height } = new Bounds(renderBounds).scale(scaleData.scaleX, scaleData.scaleY);
|
|
11882
|
+
const renderOptions = { matrix: matrix.scale(1 / scaleData.scaleX, 1 / scaleData.scaleY).invert().translate(-x, -y).withScale(1 / scaleX * scaleData.scaleX, 1 / scaleY * scaleData.scaleY) };
|
|
11766
11883
|
let canvas = Creator.canvas({ width: Math.round(width), height: Math.round(height), pixelRatio, smooth, contextSettings });
|
|
11767
|
-
|
|
11884
|
+
let sliceLeaf;
|
|
11768
11885
|
if (slice) {
|
|
11886
|
+
sliceLeaf = leaf;
|
|
11887
|
+
sliceLeaf.__worldOpacity = 0;
|
|
11769
11888
|
leaf = leafer;
|
|
11770
11889
|
renderOptions.bounds = canvas.bounds;
|
|
11771
11890
|
}
|
|
@@ -11780,6 +11899,8 @@ const ExportModule = {
|
|
|
11780
11899
|
leaf.__render(canvas, renderOptions);
|
|
11781
11900
|
}
|
|
11782
11901
|
canvas.restore();
|
|
11902
|
+
if (sliceLeaf)
|
|
11903
|
+
sliceLeaf.__updateWorldOpacity();
|
|
11783
11904
|
if (trim) {
|
|
11784
11905
|
trimBounds = getTrimBounds(canvas);
|
|
11785
11906
|
const old = canvas, { width, height } = trimBounds;
|
|
@@ -11869,4 +11990,4 @@ Object.assign(Creator, {
|
|
|
11869
11990
|
});
|
|
11870
11991
|
useCanvas();
|
|
11871
11992
|
|
|
11872
|
-
export { AlignHelper, AnimateEvent, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Export, FileHelper, 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, LeaferTypeCreator, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Platform, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, addInteractionWindow, affectRenderBoundsType, affectStrokeBoundsType, arrowType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, inviteCode, layoutProcessor, maskType, naturalBoundsType, opacityType, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, stateType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };
|
|
11993
|
+
export { AlignHelper, AnimateEvent, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragEvent, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Export, FileHelper, 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, LeaferTypeCreator, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, 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, Platform, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, addInteractionWindow, affectRenderBoundsType, affectStrokeBoundsType, arrowType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, inviteCode, layoutProcessor, maskType, naturalBoundsType, opacityType, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, sortType, stateType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix, tempPoint$3 as tempPoint, useCanvas, useModule, version, visibleType, zoomLayerType };
|