@leafer-draw/miniapp 1.0.0-rc.21 → 1.0.0-rc.23
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/miniapp.esm.js +79 -53
- package/dist/miniapp.esm.min.js +1 -1
- package/dist/miniapp.module.js +361 -209
- package/dist/miniapp.module.min.js +1 -1
- package/package.json +7 -7
package/dist/miniapp.module.js
CHANGED
|
@@ -3,7 +3,7 @@ const Platform = {
|
|
|
3
3
|
hitCanvasSize: 100,
|
|
4
4
|
maxCacheSize: 2560 * 1600,
|
|
5
5
|
maxPatternSize: 4096 * 2160,
|
|
6
|
-
suffix: '
|
|
6
|
+
suffix: '',
|
|
7
7
|
crossOrigin: 'anonymous'
|
|
8
8
|
}
|
|
9
9
|
};
|
|
@@ -33,24 +33,12 @@ const I$1 = IncrementId;
|
|
|
33
33
|
const { round, pow: pow$1, PI: PI$4 } = Math;
|
|
34
34
|
const MathHelper = {
|
|
35
35
|
within(value, min, max) {
|
|
36
|
-
if (value < min)
|
|
36
|
+
if (min !== undefined && value < min)
|
|
37
37
|
value = min;
|
|
38
|
-
if (value > max)
|
|
38
|
+
if (max !== undefined && value > max)
|
|
39
39
|
value = max;
|
|
40
40
|
return value;
|
|
41
41
|
},
|
|
42
|
-
minus(value, isFourNumber) {
|
|
43
|
-
if (value instanceof Array) {
|
|
44
|
-
if (isFourNumber)
|
|
45
|
-
value = MathHelper.fourNumber(value, 0);
|
|
46
|
-
for (let i = 0; i < value.length; i++)
|
|
47
|
-
value[i] = -value[i];
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
value = -value;
|
|
51
|
-
}
|
|
52
|
-
return value;
|
|
53
|
-
},
|
|
54
42
|
fourNumber(num, maxValue) {
|
|
55
43
|
let data;
|
|
56
44
|
if (num instanceof Array) {
|
|
@@ -117,7 +105,7 @@ function getMatrixData() { return { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; }
|
|
|
117
105
|
|
|
118
106
|
const { sin: sin$5, cos: cos$5, acos, sqrt: sqrt$3 } = Math;
|
|
119
107
|
const { float: float$1 } = MathHelper;
|
|
120
|
-
const tempPoint$
|
|
108
|
+
const tempPoint$4 = {};
|
|
121
109
|
function getWorld() {
|
|
122
110
|
return Object.assign(Object.assign(Object.assign({}, getMatrixData()), getBoundsData()), { scaleX: 1, scaleY: 1, rotation: 0, skewX: 0, skewY: 0 });
|
|
123
111
|
}
|
|
@@ -147,9 +135,11 @@ const MatrixHelper = {
|
|
|
147
135
|
t.e += x;
|
|
148
136
|
t.f += y;
|
|
149
137
|
},
|
|
150
|
-
translateInner(t, x, y) {
|
|
138
|
+
translateInner(t, x, y, isMoveOrigin) {
|
|
151
139
|
t.e += t.a * x + t.c * y;
|
|
152
140
|
t.f += t.b * x + t.d * y;
|
|
141
|
+
if (isMoveOrigin)
|
|
142
|
+
t.e -= x, t.f -= y;
|
|
153
143
|
},
|
|
154
144
|
scale(t, scaleX, scaleY = scaleX) {
|
|
155
145
|
t.a *= scaleX;
|
|
@@ -158,8 +148,8 @@ const MatrixHelper = {
|
|
|
158
148
|
t.d *= scaleY;
|
|
159
149
|
},
|
|
160
150
|
scaleOfOuter(t, origin, scaleX, scaleY) {
|
|
161
|
-
M$6.toInnerPoint(t, origin, tempPoint$
|
|
162
|
-
M$6.scaleOfInner(t, tempPoint$
|
|
151
|
+
M$6.toInnerPoint(t, origin, tempPoint$4);
|
|
152
|
+
M$6.scaleOfInner(t, tempPoint$4, scaleX, scaleY);
|
|
163
153
|
},
|
|
164
154
|
scaleOfInner(t, origin, scaleX, scaleY = scaleX) {
|
|
165
155
|
M$6.translateInner(t, origin.x, origin.y);
|
|
@@ -177,8 +167,8 @@ const MatrixHelper = {
|
|
|
177
167
|
t.d = c * sinR + d * cosR;
|
|
178
168
|
},
|
|
179
169
|
rotateOfOuter(t, origin, rotation) {
|
|
180
|
-
M$6.toInnerPoint(t, origin, tempPoint$
|
|
181
|
-
M$6.rotateOfInner(t, tempPoint$
|
|
170
|
+
M$6.toInnerPoint(t, origin, tempPoint$4);
|
|
171
|
+
M$6.rotateOfInner(t, tempPoint$4, rotation);
|
|
182
172
|
},
|
|
183
173
|
rotateOfInner(t, origin, rotation) {
|
|
184
174
|
M$6.translateInner(t, origin.x, origin.y);
|
|
@@ -199,8 +189,8 @@ const MatrixHelper = {
|
|
|
199
189
|
}
|
|
200
190
|
},
|
|
201
191
|
skewOfOuter(t, origin, skewX, skewY) {
|
|
202
|
-
M$6.toInnerPoint(t, origin, tempPoint$
|
|
203
|
-
M$6.skewOfInner(t, tempPoint$
|
|
192
|
+
M$6.toInnerPoint(t, origin, tempPoint$4);
|
|
193
|
+
M$6.skewOfInner(t, tempPoint$4, skewX, skewY);
|
|
204
194
|
},
|
|
205
195
|
skewOfInner(t, origin, skewX, skewY = 0) {
|
|
206
196
|
M$6.translateInner(t, origin.x, origin.y);
|
|
@@ -216,8 +206,10 @@ const MatrixHelper = {
|
|
|
216
206
|
t.e = child.e * a + child.f * c + e;
|
|
217
207
|
t.f = child.e * b + child.f * d + f;
|
|
218
208
|
},
|
|
219
|
-
multiplyParent(t, parent, to, abcdChanged, childScaleData) {
|
|
220
|
-
|
|
209
|
+
multiplyParent(t, parent, to, abcdChanged, childScaleData, scrollData) {
|
|
210
|
+
let { e, f } = t;
|
|
211
|
+
if (scrollData)
|
|
212
|
+
e += scrollData.scrollX, f += scrollData.scrollY;
|
|
221
213
|
to || (to = t);
|
|
222
214
|
if (abcdChanged === undefined)
|
|
223
215
|
abcdChanged = t.a !== 1 || t.b || t.c || t.d !== 1;
|
|
@@ -338,7 +330,7 @@ const MatrixHelper = {
|
|
|
338
330
|
t.e = x;
|
|
339
331
|
t.f = y;
|
|
340
332
|
if (origin)
|
|
341
|
-
M$6.translateInner(t, -origin.x, -origin.y);
|
|
333
|
+
M$6.translateInner(t, -origin.x, -origin.y, true);
|
|
342
334
|
},
|
|
343
335
|
getLayout(t, origin, firstSkewY) {
|
|
344
336
|
const { a, b, c, d, e, f } = t;
|
|
@@ -594,7 +586,7 @@ class Point {
|
|
|
594
586
|
return this;
|
|
595
587
|
}
|
|
596
588
|
}
|
|
597
|
-
const tempPoint$
|
|
589
|
+
const tempPoint$3 = new Point();
|
|
598
590
|
|
|
599
591
|
class Matrix {
|
|
600
592
|
constructor(a, b, c, d, e, f) {
|
|
@@ -758,7 +750,7 @@ const { float, fourNumber } = MathHelper;
|
|
|
758
750
|
const { floor, ceil: ceil$2 } = Math;
|
|
759
751
|
let right$1, bottom$1, boundsRight, boundsBottom;
|
|
760
752
|
const point = {};
|
|
761
|
-
const toPoint$
|
|
753
|
+
const toPoint$2 = {};
|
|
762
754
|
const BoundsHelper = {
|
|
763
755
|
tempBounds: {},
|
|
764
756
|
set(t, x = 0, y = 0, width = 0, height = 0) {
|
|
@@ -773,15 +765,17 @@ const BoundsHelper = {
|
|
|
773
765
|
t.width = bounds.width;
|
|
774
766
|
t.height = bounds.height;
|
|
775
767
|
},
|
|
776
|
-
copyAndSpread(t, bounds,
|
|
777
|
-
if (
|
|
778
|
-
const four = fourNumber(
|
|
779
|
-
|
|
768
|
+
copyAndSpread(t, bounds, spread, isShrink) {
|
|
769
|
+
if (spread instanceof Array) {
|
|
770
|
+
const four = fourNumber(spread);
|
|
771
|
+
isShrink
|
|
772
|
+
? B.set(t, bounds.x + four[3], bounds.y + four[0], bounds.width - four[1] - four[3], bounds.height - four[2] - four[0])
|
|
773
|
+
: B.set(t, bounds.x - four[3], bounds.y - four[0], bounds.width + four[1] + four[3], bounds.height + four[2] + four[0]);
|
|
780
774
|
}
|
|
781
775
|
else {
|
|
782
|
-
if (
|
|
783
|
-
|
|
784
|
-
B.set(t, bounds.x -
|
|
776
|
+
if (isShrink)
|
|
777
|
+
spread = -spread;
|
|
778
|
+
B.set(t, bounds.x - spread, bounds.y - spread, bounds.width + spread * 2, bounds.height + spread * 2);
|
|
785
779
|
}
|
|
786
780
|
},
|
|
787
781
|
minX(t) { return t.width > 0 ? t.x : t.x + t.width; },
|
|
@@ -858,17 +852,17 @@ const BoundsHelper = {
|
|
|
858
852
|
else {
|
|
859
853
|
point.x = t.x;
|
|
860
854
|
point.y = t.y;
|
|
861
|
-
toOuterPoint$1(matrix, point, toPoint$
|
|
862
|
-
setPoint$3(tempPointBounds$1, toPoint$
|
|
855
|
+
toOuterPoint$1(matrix, point, toPoint$2);
|
|
856
|
+
setPoint$3(tempPointBounds$1, toPoint$2.x, toPoint$2.y);
|
|
863
857
|
point.x = t.x + t.width;
|
|
864
|
-
toOuterPoint$1(matrix, point, toPoint$
|
|
865
|
-
addPoint$3(tempPointBounds$1, toPoint$
|
|
858
|
+
toOuterPoint$1(matrix, point, toPoint$2);
|
|
859
|
+
addPoint$3(tempPointBounds$1, toPoint$2.x, toPoint$2.y);
|
|
866
860
|
point.y = t.y + t.height;
|
|
867
|
-
toOuterPoint$1(matrix, point, toPoint$
|
|
868
|
-
addPoint$3(tempPointBounds$1, toPoint$
|
|
861
|
+
toOuterPoint$1(matrix, point, toPoint$2);
|
|
862
|
+
addPoint$3(tempPointBounds$1, toPoint$2.x, toPoint$2.y);
|
|
869
863
|
point.x = t.x;
|
|
870
|
-
toOuterPoint$1(matrix, point, toPoint$
|
|
871
|
-
addPoint$3(tempPointBounds$1, toPoint$
|
|
864
|
+
toOuterPoint$1(matrix, point, toPoint$2);
|
|
865
|
+
addPoint$3(tempPointBounds$1, toPoint$2.x, toPoint$2.y);
|
|
872
866
|
toBounds$4(tempPointBounds$1, to);
|
|
873
867
|
}
|
|
874
868
|
},
|
|
@@ -881,13 +875,16 @@ const BoundsHelper = {
|
|
|
881
875
|
const scale = Math.min(baseScale, Math.min(t.width / put.width, t.height / put.height));
|
|
882
876
|
return new Matrix(scale, 0, 0, scale, -put.x * scale, -put.y * scale);
|
|
883
877
|
},
|
|
884
|
-
getSpread(t,
|
|
878
|
+
getSpread(t, spread) {
|
|
885
879
|
const n = {};
|
|
886
|
-
B.copyAndSpread(n, t,
|
|
880
|
+
B.copyAndSpread(n, t, spread);
|
|
887
881
|
return n;
|
|
888
882
|
},
|
|
889
|
-
spread(t,
|
|
890
|
-
B.copyAndSpread(t, t,
|
|
883
|
+
spread(t, spread) {
|
|
884
|
+
B.copyAndSpread(t, t, spread);
|
|
885
|
+
},
|
|
886
|
+
shrink(t, shrink) {
|
|
887
|
+
B.copyAndSpread(t, t, shrink, true);
|
|
891
888
|
},
|
|
892
889
|
ceil(t) {
|
|
893
890
|
const { x, y } = t;
|
|
@@ -1067,12 +1064,12 @@ class Bounds {
|
|
|
1067
1064
|
getFitMatrix(put, baseScale) {
|
|
1068
1065
|
return BoundsHelper.getFitMatrix(this, put, baseScale);
|
|
1069
1066
|
}
|
|
1070
|
-
spread(fourNumber
|
|
1071
|
-
BoundsHelper.spread(this, fourNumber
|
|
1067
|
+
spread(fourNumber) {
|
|
1068
|
+
BoundsHelper.spread(this, fourNumber);
|
|
1072
1069
|
return this;
|
|
1073
1070
|
}
|
|
1074
1071
|
shrink(fourNumber) {
|
|
1075
|
-
BoundsHelper.
|
|
1072
|
+
BoundsHelper.shrink(this, fourNumber);
|
|
1076
1073
|
return this;
|
|
1077
1074
|
}
|
|
1078
1075
|
ceil() {
|
|
@@ -1189,6 +1186,10 @@ var Direction9;
|
|
|
1189
1186
|
Direction9[Direction9["bottomLeft"] = 6] = "bottomLeft";
|
|
1190
1187
|
Direction9[Direction9["left"] = 7] = "left";
|
|
1191
1188
|
Direction9[Direction9["center"] = 8] = "center";
|
|
1189
|
+
Direction9[Direction9["top-left"] = 0] = "top-left";
|
|
1190
|
+
Direction9[Direction9["top-right"] = 2] = "top-right";
|
|
1191
|
+
Direction9[Direction9["bottom-right"] = 4] = "bottom-right";
|
|
1192
|
+
Direction9[Direction9["bottom-left"] = 6] = "bottom-left";
|
|
1192
1193
|
})(Direction9 || (Direction9 = {}));
|
|
1193
1194
|
|
|
1194
1195
|
const directionData = [
|
|
@@ -1202,15 +1203,28 @@ const directionData = [
|
|
|
1202
1203
|
{ x: 0, y: 0.5 },
|
|
1203
1204
|
{ x: 0.5, y: 0.5 }
|
|
1204
1205
|
];
|
|
1206
|
+
directionData.forEach(item => item.type = 'percent');
|
|
1205
1207
|
const AroundHelper = {
|
|
1206
1208
|
directionData,
|
|
1207
1209
|
tempPoint: {},
|
|
1208
1210
|
get: get$5,
|
|
1209
|
-
toPoint(around, bounds, to, onlySize) {
|
|
1211
|
+
toPoint(around, bounds, to, onlySize, pointBounds) {
|
|
1210
1212
|
to || (to = {});
|
|
1211
1213
|
const point = get$5(around);
|
|
1212
|
-
to.x = point.x
|
|
1213
|
-
to.y = point.y
|
|
1214
|
+
to.x = point.x;
|
|
1215
|
+
to.y = point.y;
|
|
1216
|
+
if (point.type === 'percent') {
|
|
1217
|
+
to.x *= bounds.width;
|
|
1218
|
+
to.y *= bounds.height;
|
|
1219
|
+
if (pointBounds) {
|
|
1220
|
+
to.x -= pointBounds.x;
|
|
1221
|
+
to.y -= pointBounds.y;
|
|
1222
|
+
if (point.x)
|
|
1223
|
+
to.x -= (point.x === 1) ? pointBounds.width : (point.x === 0.5 ? point.x * pointBounds.width : 0);
|
|
1224
|
+
if (point.y)
|
|
1225
|
+
to.y -= (point.y === 1) ? pointBounds.height : (point.y === 0.5 ? point.y * pointBounds.height : 0);
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1214
1228
|
if (!onlySize) {
|
|
1215
1229
|
to.x += bounds.x;
|
|
1216
1230
|
to.y += bounds.y;
|
|
@@ -1221,6 +1235,13 @@ function get$5(around) {
|
|
|
1221
1235
|
return typeof around === 'string' ? directionData[Direction9[around]] : around;
|
|
1222
1236
|
}
|
|
1223
1237
|
|
|
1238
|
+
const { toPoint: toPoint$1 } = AroundHelper;
|
|
1239
|
+
const AlignHelper = {
|
|
1240
|
+
toPoint(align, contentBounds, bounds, to, onlySize) {
|
|
1241
|
+
toPoint$1(align, bounds, to, onlySize, contentBounds);
|
|
1242
|
+
}
|
|
1243
|
+
};
|
|
1244
|
+
|
|
1224
1245
|
const StringNumberMap = {
|
|
1225
1246
|
'0': 1,
|
|
1226
1247
|
'1': 1,
|
|
@@ -1453,13 +1474,19 @@ const DataHelper = {
|
|
|
1453
1474
|
},
|
|
1454
1475
|
clone(data) {
|
|
1455
1476
|
return JSON.parse(JSON.stringify(data));
|
|
1477
|
+
},
|
|
1478
|
+
toMap(list) {
|
|
1479
|
+
const map = {};
|
|
1480
|
+
for (let i = 0, len = list.length; i < len; i++)
|
|
1481
|
+
map[list[i]] = true;
|
|
1482
|
+
return map;
|
|
1456
1483
|
}
|
|
1457
1484
|
};
|
|
1458
1485
|
const { assign } = DataHelper;
|
|
1459
1486
|
|
|
1460
1487
|
class LeafData {
|
|
1461
1488
|
get __blendMode() {
|
|
1462
|
-
if (this.eraser)
|
|
1489
|
+
if (this.eraser && this.eraser !== 'path')
|
|
1463
1490
|
return 'destination-out';
|
|
1464
1491
|
const { blendMode } = this;
|
|
1465
1492
|
return blendMode === 'pass-through' ? null : blendMode;
|
|
@@ -2089,7 +2116,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2089
2116
|
}
|
|
2090
2117
|
clear() {
|
|
2091
2118
|
const { pixelRatio } = this;
|
|
2092
|
-
this.clearRect(0, 0, this.width * pixelRatio, this.height * pixelRatio);
|
|
2119
|
+
this.clearRect(0, 0, this.width * pixelRatio + 2, this.height * pixelRatio + 2);
|
|
2093
2120
|
}
|
|
2094
2121
|
isSameSize(size) {
|
|
2095
2122
|
return this.width === size.width && this.height === size.height && this.pixelRatio === size.pixelRatio;
|
|
@@ -2208,7 +2235,7 @@ const { sin: sin$3, cos: cos$3, atan2: atan2$1, ceil: ceil$1, abs: abs$3, PI: PI
|
|
|
2208
2235
|
const { setPoint: setPoint$2, addPoint: addPoint$2 } = TwoPointBoundsHelper;
|
|
2209
2236
|
const { set: set$2 } = PointHelper;
|
|
2210
2237
|
const { M: M$5, L: L$6, C: C$5, Q: Q$4, Z: Z$5 } = PathCommandMap;
|
|
2211
|
-
const tempPoint$
|
|
2238
|
+
const tempPoint$2 = {};
|
|
2212
2239
|
const BezierHelper = {
|
|
2213
2240
|
points(data, points, curve, close) {
|
|
2214
2241
|
data.push(M$5, points[0], points[1]);
|
|
@@ -2398,8 +2425,8 @@ const BezierHelper = {
|
|
|
2398
2425
|
addMode ? addPoint$2(pointBounds, fromX, fromY) : setPoint$2(pointBounds, fromX, fromY);
|
|
2399
2426
|
addPoint$2(pointBounds, toX, toY);
|
|
2400
2427
|
for (let i = 0, len = tList.length; i < len; i++) {
|
|
2401
|
-
getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$
|
|
2402
|
-
addPoint$2(pointBounds, tempPoint$
|
|
2428
|
+
getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$2);
|
|
2429
|
+
addPoint$2(pointBounds, tempPoint$2.x, tempPoint$2.y);
|
|
2403
2430
|
}
|
|
2404
2431
|
},
|
|
2405
2432
|
getPointAndSet(t, fromX, fromY, x1, y1, x2, y2, toX, toY, setPoint) {
|
|
@@ -3745,6 +3772,8 @@ function maskType(defaultValue) {
|
|
|
3745
3772
|
this.__setAttr(key, value);
|
|
3746
3773
|
this.__layout.boxChanged || this.__layout.boxChange();
|
|
3747
3774
|
this.waitParent(() => { this.parent.__updateMask(value); });
|
|
3775
|
+
if (typeof value === 'string')
|
|
3776
|
+
this.maskType = value;
|
|
3748
3777
|
}
|
|
3749
3778
|
}));
|
|
3750
3779
|
}
|
|
@@ -3956,15 +3985,21 @@ const LeafHelper = {
|
|
|
3956
3985
|
}
|
|
3957
3986
|
return true;
|
|
3958
3987
|
},
|
|
3959
|
-
moveWorld(t, x, y) {
|
|
3960
|
-
const local = { x, y };
|
|
3988
|
+
moveWorld(t, x, y = 0) {
|
|
3989
|
+
const local = typeof x === 'object' ? Object.assign({}, x) : { x, y };
|
|
3961
3990
|
if (t.parent)
|
|
3962
3991
|
toInnerPoint$1(t.parent.worldTransform, local, local, true);
|
|
3963
3992
|
L.moveLocal(t, local.x, local.y);
|
|
3964
3993
|
},
|
|
3965
3994
|
moveLocal(t, x, y = 0) {
|
|
3966
|
-
|
|
3967
|
-
|
|
3995
|
+
if (typeof x === 'object') {
|
|
3996
|
+
t.x += x.x;
|
|
3997
|
+
t.y += x.y;
|
|
3998
|
+
}
|
|
3999
|
+
else {
|
|
4000
|
+
t.x += x;
|
|
4001
|
+
t.y += y;
|
|
4002
|
+
}
|
|
3968
4003
|
},
|
|
3969
4004
|
zoomOfWorld(t, origin, scaleX, scaleY, resize) {
|
|
3970
4005
|
L.zoomOfLocal(t, getTempLocal(t, origin), scaleX, scaleY, resize);
|
|
@@ -4168,11 +4203,19 @@ const WaitHelper = {
|
|
|
4168
4203
|
|
|
4169
4204
|
const { getRelativeWorld: getRelativeWorld$1 } = LeafHelper;
|
|
4170
4205
|
const { toOuterOf: toOuterOf$2, getPoints, copy: copy$5 } = BoundsHelper;
|
|
4206
|
+
const localContent = '_localContentBounds';
|
|
4207
|
+
const worldContent = '_worldContentBounds', worldBox = '_worldBoxBounds', worldStroke = '_worldStrokeBounds';
|
|
4171
4208
|
class LeafLayout {
|
|
4209
|
+
get contentBounds() { return this._contentBounds || this.boxBounds; }
|
|
4210
|
+
set contentBounds(bounds) { this._contentBounds = bounds; }
|
|
4172
4211
|
get strokeBounds() { return this._strokeBounds || this.boxBounds; }
|
|
4173
4212
|
get renderBounds() { return this._renderBounds || this.boxBounds; }
|
|
4213
|
+
get localContentBounds() { toOuterOf$2(this.contentBounds, this.leaf.__localMatrix, this[localContent] || (this[localContent] = {})); return this[localContent]; }
|
|
4174
4214
|
get localStrokeBounds() { return this._localStrokeBounds || this; }
|
|
4175
4215
|
get localRenderBounds() { return this._localRenderBounds || this; }
|
|
4216
|
+
get worldContentBounds() { toOuterOf$2(this.contentBounds, this.leaf.__world, this[worldContent] || (this[worldContent] = {})); return this[worldContent]; }
|
|
4217
|
+
get worldBoxBounds() { toOuterOf$2(this.boxBounds, this.leaf.__world, this[worldBox] || (this[worldBox] = {})); return this[worldBox]; }
|
|
4218
|
+
get worldStrokeBounds() { toOuterOf$2(this.strokeBounds, this.leaf.__world, this[worldStroke] || (this[worldStroke] = {})); return this[worldStroke]; }
|
|
4176
4219
|
get a() { return 1; }
|
|
4177
4220
|
get b() { return 0; }
|
|
4178
4221
|
get c() { return 0; }
|
|
@@ -4255,7 +4298,6 @@ class LeafLayout {
|
|
|
4255
4298
|
case 'content':
|
|
4256
4299
|
if (this.contentBounds)
|
|
4257
4300
|
return this.contentBounds;
|
|
4258
|
-
case 'margin':
|
|
4259
4301
|
case 'box':
|
|
4260
4302
|
return this.boxBounds;
|
|
4261
4303
|
case 'stroke':
|
|
@@ -4268,8 +4310,9 @@ class LeafLayout {
|
|
|
4268
4310
|
return this.localRenderBounds;
|
|
4269
4311
|
case 'stroke':
|
|
4270
4312
|
return this.localStrokeBounds;
|
|
4271
|
-
case 'margin':
|
|
4272
4313
|
case 'content':
|
|
4314
|
+
if (this.contentBounds)
|
|
4315
|
+
return this.localContentBounds;
|
|
4273
4316
|
case 'box':
|
|
4274
4317
|
return this.leaf.__localBoxBounds;
|
|
4275
4318
|
}
|
|
@@ -4278,15 +4321,13 @@ class LeafLayout {
|
|
|
4278
4321
|
switch (type) {
|
|
4279
4322
|
case 'render':
|
|
4280
4323
|
return this.leaf.__world;
|
|
4324
|
+
case 'stroke':
|
|
4325
|
+
return this.worldStrokeBounds;
|
|
4281
4326
|
case 'content':
|
|
4282
4327
|
if (this.contentBounds)
|
|
4283
|
-
return this.
|
|
4284
|
-
case 'margin':
|
|
4328
|
+
return this.worldContentBounds;
|
|
4285
4329
|
case 'box':
|
|
4286
|
-
return this.
|
|
4287
|
-
case 'margin':
|
|
4288
|
-
case 'stroke':
|
|
4289
|
-
return this.getWorldStrokeBounds();
|
|
4330
|
+
return this.worldBoxBounds;
|
|
4290
4331
|
}
|
|
4291
4332
|
}
|
|
4292
4333
|
getLayoutBounds(type, relative = 'world', unscale) {
|
|
@@ -4349,20 +4390,24 @@ class LeafLayout {
|
|
|
4349
4390
|
points.forEach(point => leaf.innerToWorld(point, null, false, relativeLeaf));
|
|
4350
4391
|
return points;
|
|
4351
4392
|
}
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4393
|
+
shrinkContent() {
|
|
4394
|
+
const { x, y, width, height } = this.boxBounds;
|
|
4395
|
+
this._contentBounds = { x, y, width, height };
|
|
4396
|
+
}
|
|
4397
|
+
spreadStroke() {
|
|
4398
|
+
const { x, y, width, height } = this.strokeBounds;
|
|
4399
|
+
this._strokeBounds = { x, y, width, height };
|
|
4400
|
+
this._localStrokeBounds = { x, y, width, height };
|
|
4401
|
+
if (!this.renderSpread)
|
|
4402
|
+
this.spreadRenderCancel();
|
|
4356
4403
|
}
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4404
|
+
spreadRender() {
|
|
4405
|
+
const { x, y, width, height } = this.renderBounds;
|
|
4406
|
+
this._renderBounds = { x, y, width, height };
|
|
4407
|
+
this._localRenderBounds = { x, y, width, height };
|
|
4361
4408
|
}
|
|
4362
|
-
|
|
4363
|
-
this.
|
|
4364
|
-
toOuterOf$2(this.strokeBounds, this.leaf.__world, this._worldStrokeBounds);
|
|
4365
|
-
return this._worldStrokeBounds;
|
|
4409
|
+
shrinkContentCancel() {
|
|
4410
|
+
this._contentBounds = undefined;
|
|
4366
4411
|
}
|
|
4367
4412
|
spreadStrokeCancel() {
|
|
4368
4413
|
const same = this.renderBounds === this.strokeBounds;
|
|
@@ -4375,18 +4420,6 @@ class LeafLayout {
|
|
|
4375
4420
|
this._renderBounds = this._strokeBounds;
|
|
4376
4421
|
this._localRenderBounds = this._localStrokeBounds;
|
|
4377
4422
|
}
|
|
4378
|
-
spreadStroke() {
|
|
4379
|
-
const { x, y, width, height } = this.strokeBounds;
|
|
4380
|
-
this._strokeBounds = { x, y, width, height };
|
|
4381
|
-
this._localStrokeBounds = { x, y, width, height };
|
|
4382
|
-
if (!this.renderSpread)
|
|
4383
|
-
this.spreadRenderCancel();
|
|
4384
|
-
}
|
|
4385
|
-
spreadRender() {
|
|
4386
|
-
const { x, y, width, height } = this.renderBounds;
|
|
4387
|
-
this._renderBounds = { x, y, width, height };
|
|
4388
|
-
this._localRenderBounds = { x, y, width, height };
|
|
4389
|
-
}
|
|
4390
4423
|
boxChange() {
|
|
4391
4424
|
this.boxChanged = true;
|
|
4392
4425
|
this.localBoxChanged || this.localBoxChange();
|
|
@@ -4473,24 +4506,40 @@ const LeafEventer = {
|
|
|
4473
4506
|
});
|
|
4474
4507
|
},
|
|
4475
4508
|
off(type, listener, options) {
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4509
|
+
if (type) {
|
|
4510
|
+
const typeList = typeof type === 'string' ? type.split(' ') : type;
|
|
4511
|
+
if (listener) {
|
|
4512
|
+
let capture;
|
|
4513
|
+
if (options)
|
|
4514
|
+
capture = typeof options === 'boolean' ? options : options.capture;
|
|
4515
|
+
let events, index;
|
|
4516
|
+
const map = __getListenerMap(this, capture);
|
|
4517
|
+
typeList.forEach(type => {
|
|
4518
|
+
if (type) {
|
|
4519
|
+
events = map[type];
|
|
4520
|
+
if (events) {
|
|
4521
|
+
index = events.findIndex(item => item.listener === listener);
|
|
4522
|
+
if (index > -1)
|
|
4523
|
+
events.splice(index, 1);
|
|
4524
|
+
if (!events.length)
|
|
4525
|
+
delete map[type];
|
|
4526
|
+
}
|
|
4527
|
+
}
|
|
4528
|
+
});
|
|
4492
4529
|
}
|
|
4493
|
-
|
|
4530
|
+
else {
|
|
4531
|
+
const { __bubbleMap: b, __captureMap: c } = this;
|
|
4532
|
+
typeList.forEach(type => {
|
|
4533
|
+
if (b)
|
|
4534
|
+
delete b[type];
|
|
4535
|
+
if (c)
|
|
4536
|
+
delete c[type];
|
|
4537
|
+
});
|
|
4538
|
+
}
|
|
4539
|
+
}
|
|
4540
|
+
else {
|
|
4541
|
+
this.__bubbleMap = this.__captureMap = undefined;
|
|
4542
|
+
}
|
|
4494
4543
|
},
|
|
4495
4544
|
on_(type, listener, bind, options) {
|
|
4496
4545
|
if (bind)
|
|
@@ -4526,12 +4575,15 @@ const LeafEventer = {
|
|
|
4526
4575
|
break;
|
|
4527
4576
|
}
|
|
4528
4577
|
}
|
|
4578
|
+
this.syncEventer && this.syncEventer.emitEvent(event, capture);
|
|
4529
4579
|
},
|
|
4530
4580
|
emitEvent(event, capture) {
|
|
4531
4581
|
event.current = this;
|
|
4532
4582
|
this.emit(event.type, event, capture);
|
|
4533
4583
|
},
|
|
4534
4584
|
hasEvent(type, capture) {
|
|
4585
|
+
if (this.syncEventer && this.syncEventer.hasEvent(type, capture))
|
|
4586
|
+
return true;
|
|
4535
4587
|
const { __bubbleMap: b, __captureMap: c } = this;
|
|
4536
4588
|
const hasB = b && b[type], hasC = c && c[type];
|
|
4537
4589
|
return !!(capture === undefined ? (hasB || hasC) : (capture ? hasC : hasB));
|
|
@@ -4751,10 +4803,10 @@ const LeafDataProxy = {
|
|
|
4751
4803
|
};
|
|
4752
4804
|
|
|
4753
4805
|
const { setLayout, multiplyParent: multiplyParent$1, translateInner, defaultWorld } = MatrixHelper;
|
|
4754
|
-
const { toPoint, tempPoint } = AroundHelper;
|
|
4806
|
+
const { toPoint, tempPoint: tempPoint$1 } = AroundHelper;
|
|
4755
4807
|
const LeafMatrix = {
|
|
4756
4808
|
__updateWorldMatrix() {
|
|
4757
|
-
multiplyParent$1(this.__local || this.__layout, this.parent ? this.parent.__world : defaultWorld, this.__world, !!this.__layout.affectScaleOrRotation, this.__);
|
|
4809
|
+
multiplyParent$1(this.__local || this.__layout, this.parent ? this.parent.__world : defaultWorld, this.__world, !!this.__layout.affectScaleOrRotation, this.__, this.parent && this.parent.__);
|
|
4758
4810
|
},
|
|
4759
4811
|
__updateLocalMatrix() {
|
|
4760
4812
|
if (this.__local) {
|
|
@@ -4765,11 +4817,11 @@ const LeafMatrix = {
|
|
|
4765
4817
|
layout.scaleChanged = layout.rotationChanged = false;
|
|
4766
4818
|
}
|
|
4767
4819
|
}
|
|
4768
|
-
local.e = data.x;
|
|
4769
|
-
local.f = data.y;
|
|
4770
|
-
if (data.around) {
|
|
4771
|
-
toPoint(data.around, layout.boxBounds, tempPoint);
|
|
4772
|
-
translateInner(local, -tempPoint.x, -tempPoint.y);
|
|
4820
|
+
local.e = data.x + data.offsetX;
|
|
4821
|
+
local.f = data.y + data.offsetY;
|
|
4822
|
+
if (data.around || data.origin) {
|
|
4823
|
+
toPoint(data.around || data.origin, layout.boxBounds, tempPoint$1);
|
|
4824
|
+
translateInner(local, -tempPoint$1.x, -tempPoint$1.y, data.origin);
|
|
4773
4825
|
}
|
|
4774
4826
|
}
|
|
4775
4827
|
this.__layout.matrixChanged = false;
|
|
@@ -4875,6 +4927,8 @@ const LeafBounds = {
|
|
|
4875
4927
|
if (this.isBranch) {
|
|
4876
4928
|
if (this.leafer)
|
|
4877
4929
|
this.leafer.layouter.addExtra(this);
|
|
4930
|
+
if (this.__.flow)
|
|
4931
|
+
this.__updateFlowLayout();
|
|
4878
4932
|
if (hasParentAutoLayout(this)) {
|
|
4879
4933
|
updateMatrix$1(this);
|
|
4880
4934
|
}
|
|
@@ -4907,6 +4961,8 @@ const LeafRender = {
|
|
|
4907
4961
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
4908
4962
|
canvas.opacity = this.__.opacity;
|
|
4909
4963
|
if (this.__.__single) {
|
|
4964
|
+
if (this.__.eraser === 'path')
|
|
4965
|
+
return this.__renderEraser(canvas, options);
|
|
4910
4966
|
const tempCanvas = canvas.getSameCanvas(true, true);
|
|
4911
4967
|
this.__draw(tempCanvas, options);
|
|
4912
4968
|
if (this.__worldFlipped) {
|
|
@@ -4949,6 +5005,8 @@ const BranchRender = {
|
|
|
4949
5005
|
__render(canvas, options) {
|
|
4950
5006
|
if (this.__worldOpacity) {
|
|
4951
5007
|
if (this.__.__single) {
|
|
5008
|
+
if (this.__.eraser === 'path')
|
|
5009
|
+
return this.__renderEraser(canvas, options);
|
|
4952
5010
|
const tempCanvas = canvas.getSameCanvas(false, true);
|
|
4953
5011
|
this.__renderBranch(tempCanvas, options);
|
|
4954
5012
|
const nowWorld = this.__getNowWorld(options);
|
|
@@ -5088,7 +5146,9 @@ let Leaf = class Leaf {
|
|
|
5088
5146
|
setProxyAttr(_attrName, _newValue) { }
|
|
5089
5147
|
getProxyAttr(_attrName) { return undefined; }
|
|
5090
5148
|
find(_condition, _options) { return undefined; }
|
|
5149
|
+
findTag(_tag) { return undefined; }
|
|
5091
5150
|
findOne(_condition, _options) { return undefined; }
|
|
5151
|
+
findId(_id) { return undefined; }
|
|
5092
5152
|
focus(_value) { }
|
|
5093
5153
|
forceUpdate(attrName) {
|
|
5094
5154
|
if (attrName === undefined)
|
|
@@ -5110,9 +5170,11 @@ let Leaf = class Leaf {
|
|
|
5110
5170
|
__updateLocalStrokeBounds() { }
|
|
5111
5171
|
__updateLocalRenderBounds() { }
|
|
5112
5172
|
__updateBoxBounds() { }
|
|
5173
|
+
__updateContentBounds() { }
|
|
5113
5174
|
__updateStrokeBounds() { }
|
|
5114
5175
|
__updateRenderBounds() { }
|
|
5115
5176
|
__updateAutoLayout() { }
|
|
5177
|
+
__updateFlowLayout() { }
|
|
5116
5178
|
__updateNaturalSize() { }
|
|
5117
5179
|
__updateStrokeSpread() { return 0; }
|
|
5118
5180
|
__updateRenderSpread() { return 0; }
|
|
@@ -5120,6 +5182,13 @@ let Leaf = class Leaf {
|
|
|
5120
5182
|
__updateEraser(value) {
|
|
5121
5183
|
this.__hasEraser = value ? true : this.children.some(item => item.__.eraser);
|
|
5122
5184
|
}
|
|
5185
|
+
__renderEraser(canvas, options) {
|
|
5186
|
+
canvas.save();
|
|
5187
|
+
this.__clip(canvas, options);
|
|
5188
|
+
const { renderBounds: r } = this.__layout;
|
|
5189
|
+
canvas.clearRect(r.x, r.y, r.width, r.height);
|
|
5190
|
+
canvas.restore();
|
|
5191
|
+
}
|
|
5123
5192
|
__updateMask(value) {
|
|
5124
5193
|
this.__hasMask = value ? true : this.children.some(item => item.__.mask);
|
|
5125
5194
|
}
|
|
@@ -5300,8 +5369,8 @@ let Leaf = class Leaf {
|
|
|
5300
5369
|
emit(_type, _event, _capture) { }
|
|
5301
5370
|
emitEvent(_event, _capture) { }
|
|
5302
5371
|
hasEvent(_type, _capture) { return false; }
|
|
5303
|
-
static changeAttr(attrName, defaultValue) {
|
|
5304
|
-
defineDataProcessor(this.prototype, attrName, defaultValue);
|
|
5372
|
+
static changeAttr(attrName, defaultValue, fn) {
|
|
5373
|
+
fn ? this.addAttr(attrName, defaultValue, fn) : defineDataProcessor(this.prototype, attrName, defaultValue);
|
|
5305
5374
|
}
|
|
5306
5375
|
static addAttr(attrName, defaultValue, fn) {
|
|
5307
5376
|
if (!fn)
|
|
@@ -6347,8 +6416,11 @@ class Renderer {
|
|
|
6347
6416
|
if (!bounds.includes(this.target.__world) || this.needFill || !e.samePixelRatio) {
|
|
6348
6417
|
this.addBlock(this.canvas.bounds);
|
|
6349
6418
|
this.target.forceUpdate('surface');
|
|
6419
|
+
return;
|
|
6350
6420
|
}
|
|
6351
6421
|
}
|
|
6422
|
+
this.addBlock(new Bounds(0, 0, 1, 1));
|
|
6423
|
+
this.changed = true;
|
|
6352
6424
|
}
|
|
6353
6425
|
__onLayoutEnd(event) {
|
|
6354
6426
|
if (event.data)
|
|
@@ -6454,7 +6526,11 @@ function zoomLayerType() {
|
|
|
6454
6526
|
defineKey(target, key, {
|
|
6455
6527
|
set(value) { if (this.isLeafer)
|
|
6456
6528
|
this[privateKey] = value; },
|
|
6457
|
-
get() {
|
|
6529
|
+
get() {
|
|
6530
|
+
return this.isApp
|
|
6531
|
+
? this.tree.zoomLayer
|
|
6532
|
+
: (this.isLeafer ? (this[privateKey] || this) : this.leafer && this.leafer.zoomLayer);
|
|
6533
|
+
}
|
|
6458
6534
|
});
|
|
6459
6535
|
};
|
|
6460
6536
|
}
|
|
@@ -6594,7 +6670,7 @@ class UIData extends LeafData {
|
|
|
6594
6670
|
const UnitConvert = {
|
|
6595
6671
|
number(value, percentRefer) {
|
|
6596
6672
|
if (typeof value === 'object')
|
|
6597
|
-
return value.type === 'percent' ? value.value / 100 * percentRefer : value.value;
|
|
6673
|
+
return value.type === 'percent' ? (value.value > 49 ? value.value / 100 : value.value) * percentRefer : value.value;
|
|
6598
6674
|
return value;
|
|
6599
6675
|
}
|
|
6600
6676
|
};
|
|
@@ -6860,6 +6936,9 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
6860
6936
|
pen.set(this.path = this.__.path || []);
|
|
6861
6937
|
return pen;
|
|
6862
6938
|
}
|
|
6939
|
+
get editConfig() { return undefined; }
|
|
6940
|
+
get editOuter() { return 'EditTool'; }
|
|
6941
|
+
get editInner() { return 'PathEditor'; }
|
|
6863
6942
|
constructor(data) {
|
|
6864
6943
|
super(data);
|
|
6865
6944
|
}
|
|
@@ -6872,7 +6951,9 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
6872
6951
|
}
|
|
6873
6952
|
createProxyData() { return undefined; }
|
|
6874
6953
|
find(_condition, _options) { return undefined; }
|
|
6954
|
+
findTag(tag) { return this.find({ tag }); }
|
|
6875
6955
|
findOne(_condition, _options) { return undefined; }
|
|
6956
|
+
findId(id) { return this.findOne({ id }); }
|
|
6876
6957
|
getPath(curve, pathForRender) {
|
|
6877
6958
|
this.__layout.update();
|
|
6878
6959
|
let path = pathForRender ? this.__.__pathForRender : this.__.path;
|
|
@@ -6921,7 +7002,8 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
6921
7002
|
__drawPathByBox(drawer) {
|
|
6922
7003
|
const { x, y, width, height } = this.__layout.boxBounds;
|
|
6923
7004
|
if (this.__.cornerRadius) {
|
|
6924
|
-
|
|
7005
|
+
const { cornerRadius } = this.__;
|
|
7006
|
+
drawer.roundRect(x, y, width, height, typeof cornerRadius === 'number' ? [cornerRadius] : cornerRadius);
|
|
6925
7007
|
}
|
|
6926
7008
|
else {
|
|
6927
7009
|
drawer.rect(x, y, width, height);
|
|
@@ -6942,6 +7024,9 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
6942
7024
|
static registerData(data) {
|
|
6943
7025
|
dataProcessor(data)(this.prototype);
|
|
6944
7026
|
}
|
|
7027
|
+
static setEditConfig(_config) { }
|
|
7028
|
+
static setEditOuter(_toolName) { }
|
|
7029
|
+
static setEditInner(_editorName) { }
|
|
6945
7030
|
destroy() {
|
|
6946
7031
|
this.fill = this.stroke = null;
|
|
6947
7032
|
super.destroy();
|
|
@@ -7019,21 +7104,84 @@ __decorate([
|
|
|
7019
7104
|
__decorate([
|
|
7020
7105
|
rotationType(0, true)
|
|
7021
7106
|
], UI.prototype, "skewY", void 0);
|
|
7107
|
+
__decorate([
|
|
7108
|
+
positionType(0, true)
|
|
7109
|
+
], UI.prototype, "offsetX", void 0);
|
|
7110
|
+
__decorate([
|
|
7111
|
+
positionType(0, true)
|
|
7112
|
+
], UI.prototype, "offsetY", void 0);
|
|
7113
|
+
__decorate([
|
|
7114
|
+
positionType(0, true)
|
|
7115
|
+
], UI.prototype, "scrollX", void 0);
|
|
7116
|
+
__decorate([
|
|
7117
|
+
positionType(0, true)
|
|
7118
|
+
], UI.prototype, "scrollY", void 0);
|
|
7119
|
+
__decorate([
|
|
7120
|
+
autoLayoutType()
|
|
7121
|
+
], UI.prototype, "origin", void 0);
|
|
7022
7122
|
__decorate([
|
|
7023
7123
|
autoLayoutType()
|
|
7024
7124
|
], UI.prototype, "around", void 0);
|
|
7025
7125
|
__decorate([
|
|
7026
7126
|
dataType(false)
|
|
7027
|
-
], UI.prototype, "
|
|
7127
|
+
], UI.prototype, "lazy", void 0);
|
|
7028
7128
|
__decorate([
|
|
7029
|
-
|
|
7030
|
-
], UI.prototype, "
|
|
7129
|
+
naturalBoundsType(1)
|
|
7130
|
+
], UI.prototype, "pixelRatio", void 0);
|
|
7131
|
+
__decorate([
|
|
7132
|
+
pathInputType()
|
|
7133
|
+
], UI.prototype, "path", void 0);
|
|
7134
|
+
__decorate([
|
|
7135
|
+
pathType()
|
|
7136
|
+
], UI.prototype, "windingRule", void 0);
|
|
7137
|
+
__decorate([
|
|
7138
|
+
pathType(true)
|
|
7139
|
+
], UI.prototype, "closed", void 0);
|
|
7140
|
+
__decorate([
|
|
7141
|
+
autoLayoutType(false)
|
|
7142
|
+
], UI.prototype, "flow", void 0);
|
|
7143
|
+
__decorate([
|
|
7144
|
+
boundsType(0)
|
|
7145
|
+
], UI.prototype, "padding", void 0);
|
|
7146
|
+
__decorate([
|
|
7147
|
+
boundsType(0)
|
|
7148
|
+
], UI.prototype, "gap", void 0);
|
|
7149
|
+
__decorate([
|
|
7150
|
+
boundsType('top-left')
|
|
7151
|
+
], UI.prototype, "align", void 0);
|
|
7152
|
+
__decorate([
|
|
7153
|
+
boundsType(false)
|
|
7154
|
+
], UI.prototype, "wrap", void 0);
|
|
7031
7155
|
__decorate([
|
|
7032
|
-
|
|
7033
|
-
], UI.prototype, "
|
|
7156
|
+
boundsType('box')
|
|
7157
|
+
], UI.prototype, "itemBox", void 0);
|
|
7158
|
+
__decorate([
|
|
7159
|
+
boundsType(true)
|
|
7160
|
+
], UI.prototype, "inFlow", void 0);
|
|
7161
|
+
__decorate([
|
|
7162
|
+
boundsType()
|
|
7163
|
+
], UI.prototype, "autoWidth", void 0);
|
|
7164
|
+
__decorate([
|
|
7165
|
+
boundsType()
|
|
7166
|
+
], UI.prototype, "autoHeight", void 0);
|
|
7167
|
+
__decorate([
|
|
7168
|
+
boundsType()
|
|
7169
|
+
], UI.prototype, "autoBox", void 0);
|
|
7170
|
+
__decorate([
|
|
7171
|
+
boundsType()
|
|
7172
|
+
], UI.prototype, "widthRange", void 0);
|
|
7173
|
+
__decorate([
|
|
7174
|
+
boundsType()
|
|
7175
|
+
], UI.prototype, "heightRange", void 0);
|
|
7176
|
+
__decorate([
|
|
7177
|
+
dataType(false)
|
|
7178
|
+
], UI.prototype, "draggable", void 0);
|
|
7034
7179
|
__decorate([
|
|
7035
7180
|
dataType()
|
|
7036
|
-
], UI.prototype, "
|
|
7181
|
+
], UI.prototype, "dragBounds", void 0);
|
|
7182
|
+
__decorate([
|
|
7183
|
+
dataType(false)
|
|
7184
|
+
], UI.prototype, "editable", void 0);
|
|
7037
7185
|
__decorate([
|
|
7038
7186
|
hitType(true)
|
|
7039
7187
|
], UI.prototype, "hittable", void 0);
|
|
@@ -7088,21 +7236,6 @@ __decorate([
|
|
|
7088
7236
|
__decorate([
|
|
7089
7237
|
strokeType(10)
|
|
7090
7238
|
], UI.prototype, "miterLimit", void 0);
|
|
7091
|
-
__decorate([
|
|
7092
|
-
dataType(false)
|
|
7093
|
-
], UI.prototype, "lazy", void 0);
|
|
7094
|
-
__decorate([
|
|
7095
|
-
naturalBoundsType(1)
|
|
7096
|
-
], UI.prototype, "pixelRatio", void 0);
|
|
7097
|
-
__decorate([
|
|
7098
|
-
pathInputType()
|
|
7099
|
-
], UI.prototype, "path", void 0);
|
|
7100
|
-
__decorate([
|
|
7101
|
-
pathType()
|
|
7102
|
-
], UI.prototype, "windingRule", void 0);
|
|
7103
|
-
__decorate([
|
|
7104
|
-
pathType(true)
|
|
7105
|
-
], UI.prototype, "closed", void 0);
|
|
7106
7239
|
__decorate([
|
|
7107
7240
|
arrowType('none')
|
|
7108
7241
|
], UI.prototype, "startArrow", void 0);
|
|
@@ -7225,7 +7358,6 @@ Group = __decorate([
|
|
|
7225
7358
|
var Leafer_1;
|
|
7226
7359
|
const debug$1 = Debug.get('Leafer');
|
|
7227
7360
|
let Leafer = Leafer_1 = class Leafer extends Group {
|
|
7228
|
-
static get version() { return '1.0.0-rc.21'; }
|
|
7229
7361
|
get __tag() { return 'Leafer'; }
|
|
7230
7362
|
get isApp() { return false; }
|
|
7231
7363
|
get app() { return this.parent || this; }
|
|
@@ -7278,7 +7410,6 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7278
7410
|
if (this.isApp)
|
|
7279
7411
|
this.__setApp();
|
|
7280
7412
|
this.__checkAutoLayout(config);
|
|
7281
|
-
this.updateLazyBounds();
|
|
7282
7413
|
this.view = canvas.view;
|
|
7283
7414
|
if (parentApp) {
|
|
7284
7415
|
this.__bindApp(parentApp);
|
|
@@ -7338,9 +7469,6 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7338
7469
|
const data = DataHelper.copyAttrs({}, size, canvasSizeAttrs);
|
|
7339
7470
|
Object.keys(data).forEach(key => this[key] = data[key]);
|
|
7340
7471
|
}
|
|
7341
|
-
forceFullRender() {
|
|
7342
|
-
this.forceRender();
|
|
7343
|
-
}
|
|
7344
7472
|
forceRender(bounds) {
|
|
7345
7473
|
this.renderer.addBlock(bounds ? new Bounds(bounds) : this.canvas.bounds);
|
|
7346
7474
|
if (this.viewReady)
|
|
@@ -7418,7 +7546,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7418
7546
|
this.canvas.backgroundColor = newValue;
|
|
7419
7547
|
}
|
|
7420
7548
|
else {
|
|
7421
|
-
this.
|
|
7549
|
+
this.forceRender();
|
|
7422
7550
|
}
|
|
7423
7551
|
}
|
|
7424
7552
|
__onCreated() {
|
|
@@ -7522,6 +7650,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7522
7650
|
__listenEvents() {
|
|
7523
7651
|
const runId = Run.start('FirstCreate ' + this.innerName);
|
|
7524
7652
|
this.once(LeaferEvent.START, () => Run.end(runId));
|
|
7653
|
+
this.once(LayoutEvent.START, () => this.updateLazyBounds());
|
|
7525
7654
|
this.once(LayoutEvent.END, () => this.__onReady());
|
|
7526
7655
|
this.once(RenderEvent.START, () => this.__onCreated());
|
|
7527
7656
|
this.once(RenderEvent.END, () => this.__onViewReady());
|
|
@@ -7628,6 +7757,8 @@ let Box = class Box extends Group {
|
|
|
7628
7757
|
else {
|
|
7629
7758
|
this.__updateRectBoxBounds();
|
|
7630
7759
|
}
|
|
7760
|
+
if (data.flow)
|
|
7761
|
+
this.__updateContentBounds();
|
|
7631
7762
|
}
|
|
7632
7763
|
__updateStrokeBounds() { }
|
|
7633
7764
|
__updateRenderBounds() {
|
|
@@ -8037,9 +8168,10 @@ Canvas = __decorate([
|
|
|
8037
8168
|
registerUI()
|
|
8038
8169
|
], Canvas);
|
|
8039
8170
|
|
|
8040
|
-
const { copyAndSpread, includes, spread, setList } = BoundsHelper;
|
|
8171
|
+
const { copyAndSpread, includes, isSame: isSame$1, spread, setList } = BoundsHelper;
|
|
8041
8172
|
let Text = class Text extends UI {
|
|
8042
8173
|
get __tag() { return 'Text'; }
|
|
8174
|
+
get editInner() { return 'TextEditor'; }
|
|
8043
8175
|
get textDrawData() {
|
|
8044
8176
|
this.__layout.update();
|
|
8045
8177
|
return this.__.__textDrawData;
|
|
@@ -8109,7 +8241,7 @@ let Text = class Text extends UI {
|
|
|
8109
8241
|
if (italic)
|
|
8110
8242
|
b.width += fontSize * 0.16;
|
|
8111
8243
|
const contentBounds = includes(b, bounds) ? b : bounds;
|
|
8112
|
-
if (contentBounds
|
|
8244
|
+
if (!isSame$1(contentBounds, layout.contentBounds)) {
|
|
8113
8245
|
layout.contentBounds = contentBounds;
|
|
8114
8246
|
layout.renderChanged = true;
|
|
8115
8247
|
setList(data.__textBoxBounds = {}, [b, bounds]);
|
|
@@ -8137,9 +8269,6 @@ __decorate([
|
|
|
8137
8269
|
__decorate([
|
|
8138
8270
|
boundsType(0)
|
|
8139
8271
|
], Text.prototype, "height", void 0);
|
|
8140
|
-
__decorate([
|
|
8141
|
-
boundsType(0)
|
|
8142
|
-
], Text.prototype, "padding", void 0);
|
|
8143
8272
|
__decorate([
|
|
8144
8273
|
surfaceType('#000000')
|
|
8145
8274
|
], Text.prototype, "fill", void 0);
|
|
@@ -8268,7 +8397,7 @@ function penPathType() {
|
|
|
8268
8397
|
};
|
|
8269
8398
|
}
|
|
8270
8399
|
|
|
8271
|
-
const version = "1.0.0-rc.
|
|
8400
|
+
const version = "1.0.0-rc.23";
|
|
8272
8401
|
|
|
8273
8402
|
function fillText(ui, canvas) {
|
|
8274
8403
|
let row;
|
|
@@ -8489,7 +8618,7 @@ function shape(ui, current, options) {
|
|
|
8489
8618
|
}
|
|
8490
8619
|
else {
|
|
8491
8620
|
const { renderShapeSpread: spread } = ui.__layout;
|
|
8492
|
-
const worldClipBounds = getIntersectData(spread ? getSpread(current.bounds, spread * scaleX, spread *
|
|
8621
|
+
const worldClipBounds = getIntersectData(spread ? getSpread(current.bounds, scaleX === scaleY ? spread * scaleX : [spread * scaleY, spread * scaleX]) : current.bounds, nowWorld);
|
|
8493
8622
|
fitMatrix = current.bounds.getFitMatrix(worldClipBounds);
|
|
8494
8623
|
let { a: fitScaleX, d: fitScaleY } = fitMatrix;
|
|
8495
8624
|
if (fitMatrix.a < 1) {
|
|
@@ -8572,79 +8701,75 @@ const PaintModule = {
|
|
|
8572
8701
|
|
|
8573
8702
|
let origin = {};
|
|
8574
8703
|
const { get: get$4, rotateOfOuter: rotateOfOuter$2, translate: translate$1, scaleOfOuter: scaleOfOuter$2, scale: scaleHelper, rotate } = MatrixHelper;
|
|
8575
|
-
function fillOrFitMode(data,
|
|
8704
|
+
function fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
8576
8705
|
const transform = get$4();
|
|
8577
|
-
|
|
8578
|
-
|
|
8579
|
-
const sh = box.height / (swap ? width : height);
|
|
8580
|
-
const scale = mode === 'fit' ? Math.min(sw, sh) : Math.max(sw, sh);
|
|
8581
|
-
const x = box.x + (box.width - width * scale) / 2;
|
|
8582
|
-
const y = box.y + (box.height - height * scale) / 2;
|
|
8583
|
-
translate$1(transform, x, y);
|
|
8584
|
-
scaleHelper(transform, scale);
|
|
8706
|
+
translate$1(transform, box.x + x, box.y + y);
|
|
8707
|
+
scaleHelper(transform, scaleX, scaleY);
|
|
8585
8708
|
if (rotation)
|
|
8586
8709
|
rotateOfOuter$2(transform, { x: box.x + box.width / 2, y: box.y + box.height / 2 }, rotation);
|
|
8587
|
-
data.scaleX = data.scaleY = scale;
|
|
8588
8710
|
data.transform = transform;
|
|
8589
8711
|
}
|
|
8590
8712
|
function clipMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
8591
8713
|
const transform = get$4();
|
|
8592
|
-
translate$1(transform, box.x, box.y);
|
|
8593
|
-
if (
|
|
8594
|
-
translate$1(transform, x, y);
|
|
8595
|
-
if (scaleX) {
|
|
8714
|
+
translate$1(transform, box.x + x, box.y + y);
|
|
8715
|
+
if (scaleX)
|
|
8596
8716
|
scaleHelper(transform, scaleX, scaleY);
|
|
8597
|
-
data.scaleX = transform.a;
|
|
8598
|
-
data.scaleY = transform.d;
|
|
8599
|
-
}
|
|
8600
8717
|
if (rotation)
|
|
8601
8718
|
rotate(transform, rotation);
|
|
8602
8719
|
data.transform = transform;
|
|
8603
8720
|
}
|
|
8604
|
-
function repeatMode(data, box, width, height, x, y, scaleX, scaleY, rotation) {
|
|
8721
|
+
function repeatMode(data, box, width, height, x, y, scaleX, scaleY, rotation, align) {
|
|
8605
8722
|
const transform = get$4();
|
|
8606
8723
|
if (rotation) {
|
|
8607
|
-
|
|
8608
|
-
|
|
8609
|
-
|
|
8610
|
-
|
|
8611
|
-
|
|
8612
|
-
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
|
|
8617
|
-
|
|
8724
|
+
if (align === 'center') {
|
|
8725
|
+
rotateOfOuter$2(transform, { x: width / 2, y: height / 2 }, rotation);
|
|
8726
|
+
}
|
|
8727
|
+
else {
|
|
8728
|
+
rotate(transform, rotation);
|
|
8729
|
+
switch (rotation) {
|
|
8730
|
+
case 90:
|
|
8731
|
+
translate$1(transform, height, 0);
|
|
8732
|
+
break;
|
|
8733
|
+
case 180:
|
|
8734
|
+
translate$1(transform, width, height);
|
|
8735
|
+
break;
|
|
8736
|
+
case 270:
|
|
8737
|
+
translate$1(transform, 0, width);
|
|
8738
|
+
break;
|
|
8739
|
+
}
|
|
8618
8740
|
}
|
|
8619
8741
|
}
|
|
8620
|
-
origin.x = box.x;
|
|
8621
|
-
origin.y = box.y;
|
|
8622
|
-
if (x || y)
|
|
8623
|
-
origin.x += x, origin.y += y;
|
|
8742
|
+
origin.x = box.x + x;
|
|
8743
|
+
origin.y = box.y + y;
|
|
8624
8744
|
translate$1(transform, origin.x, origin.y);
|
|
8625
|
-
if (scaleX)
|
|
8745
|
+
if (scaleX)
|
|
8626
8746
|
scaleOfOuter$2(transform, origin, scaleX, scaleY);
|
|
8627
|
-
data.scaleX = scaleX;
|
|
8628
|
-
data.scaleY = scaleY;
|
|
8629
|
-
}
|
|
8630
8747
|
data.transform = transform;
|
|
8631
8748
|
}
|
|
8632
8749
|
|
|
8633
8750
|
const { get: get$3, translate } = MatrixHelper;
|
|
8634
8751
|
const tempBox = new Bounds();
|
|
8752
|
+
const tempPoint = {};
|
|
8635
8753
|
function createData(leafPaint, image, paint, box) {
|
|
8636
8754
|
let { width, height } = image;
|
|
8637
8755
|
if (paint.padding)
|
|
8638
8756
|
box = tempBox.set(box).shrink(paint.padding);
|
|
8639
|
-
const { opacity, mode, offset, scale, size, rotation, blendMode, repeat } = paint;
|
|
8757
|
+
const { opacity, mode, align, offset, scale, size, rotation, blendMode, repeat } = paint;
|
|
8640
8758
|
const sameBox = box.width === width && box.height === height;
|
|
8641
8759
|
if (blendMode)
|
|
8642
8760
|
leafPaint.blendMode = blendMode;
|
|
8643
8761
|
const data = leafPaint.data = { mode };
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
if (
|
|
8762
|
+
const swapSize = align !== 'center' && (rotation || 0) % 180 === 90;
|
|
8763
|
+
const swapWidth = swapSize ? height : width, swapHeight = swapSize ? width : height;
|
|
8764
|
+
let x = 0, y = 0, scaleX, scaleY;
|
|
8765
|
+
if (!mode || mode === 'cover' || mode === 'fit') {
|
|
8766
|
+
if (!sameBox || rotation) {
|
|
8767
|
+
const sw = box.width / swapWidth, sh = box.height / swapHeight;
|
|
8768
|
+
scaleX = scaleY = mode === 'fit' ? Math.min(sw, sh) : Math.max(sw, sh);
|
|
8769
|
+
x += (box.width - width * scaleX) / 2, y += (box.height - height * scaleY) / 2;
|
|
8770
|
+
}
|
|
8771
|
+
}
|
|
8772
|
+
else if (size) {
|
|
8648
8773
|
scaleX = (typeof size === 'number' ? size : size.width) / width;
|
|
8649
8774
|
scaleY = (typeof size === 'number' ? size : size.height) / height;
|
|
8650
8775
|
}
|
|
@@ -8652,26 +8777,36 @@ function createData(leafPaint, image, paint, box) {
|
|
|
8652
8777
|
scaleX = typeof scale === 'number' ? scale : scale.x;
|
|
8653
8778
|
scaleY = typeof scale === 'number' ? scale : scale.y;
|
|
8654
8779
|
}
|
|
8780
|
+
if (align) {
|
|
8781
|
+
const imageBounds = { x, y, width: swapWidth, height: swapHeight };
|
|
8782
|
+
if (scaleX)
|
|
8783
|
+
imageBounds.width *= scaleX, imageBounds.height *= scaleY;
|
|
8784
|
+
AlignHelper.toPoint(align, imageBounds, box, tempPoint, true);
|
|
8785
|
+
x += tempPoint.x, y += tempPoint.y;
|
|
8786
|
+
}
|
|
8787
|
+
if (offset)
|
|
8788
|
+
x += offset.x, y += offset.y;
|
|
8655
8789
|
switch (mode) {
|
|
8656
8790
|
case 'strench':
|
|
8657
8791
|
if (!sameBox)
|
|
8658
8792
|
width = box.width, height = box.height;
|
|
8659
8793
|
break;
|
|
8794
|
+
case 'normal':
|
|
8660
8795
|
case 'clip':
|
|
8661
|
-
if (
|
|
8796
|
+
if (x || y || scaleX || rotation)
|
|
8662
8797
|
clipMode(data, box, x, y, scaleX, scaleY, rotation);
|
|
8663
8798
|
break;
|
|
8664
8799
|
case 'repeat':
|
|
8665
8800
|
if (!sameBox || scaleX || rotation)
|
|
8666
|
-
repeatMode(data, box, width, height, x, y, scaleX, scaleY, rotation);
|
|
8801
|
+
repeatMode(data, box, width, height, x, y, scaleX, scaleY, rotation, align);
|
|
8667
8802
|
if (!repeat)
|
|
8668
8803
|
data.repeat = 'repeat';
|
|
8669
8804
|
break;
|
|
8670
8805
|
case 'fit':
|
|
8671
8806
|
case 'cover':
|
|
8672
8807
|
default:
|
|
8673
|
-
if (
|
|
8674
|
-
fillOrFitMode(data,
|
|
8808
|
+
if (scaleX)
|
|
8809
|
+
fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation);
|
|
8675
8810
|
}
|
|
8676
8811
|
if (!data.transform) {
|
|
8677
8812
|
if (box.x || box.y) {
|
|
@@ -8679,6 +8814,10 @@ function createData(leafPaint, image, paint, box) {
|
|
|
8679
8814
|
translate(data.transform, box.x, box.y);
|
|
8680
8815
|
}
|
|
8681
8816
|
}
|
|
8817
|
+
if (scaleX && mode !== 'strench') {
|
|
8818
|
+
data.scaleX = scaleX;
|
|
8819
|
+
data.scaleY = scaleY;
|
|
8820
|
+
}
|
|
8682
8821
|
data.width = width;
|
|
8683
8822
|
data.height = height;
|
|
8684
8823
|
if (opacity)
|
|
@@ -9576,11 +9715,13 @@ function clipText(drawData, style) {
|
|
|
9576
9715
|
const { rows, overflow } = drawData;
|
|
9577
9716
|
let { textOverflow } = style;
|
|
9578
9717
|
rows.splice(overflow);
|
|
9579
|
-
if (textOverflow !== '
|
|
9580
|
-
if (textOverflow === '
|
|
9718
|
+
if (textOverflow && textOverflow !== 'show') {
|
|
9719
|
+
if (textOverflow === 'hide')
|
|
9720
|
+
textOverflow = '';
|
|
9721
|
+
else if (textOverflow === 'ellipsis')
|
|
9581
9722
|
textOverflow = '...';
|
|
9582
9723
|
let char, charRight;
|
|
9583
|
-
const ellipsisWidth = Platform.canvas.measureText(textOverflow).width;
|
|
9724
|
+
const ellipsisWidth = textOverflow ? Platform.canvas.measureText(textOverflow).width : 0;
|
|
9584
9725
|
const right = style.x + style.width - ellipsisWidth;
|
|
9585
9726
|
const list = style.textWrap === 'none' ? rows : [rows[overflow - 1]];
|
|
9586
9727
|
list.forEach(row => {
|
|
@@ -9734,6 +9875,13 @@ const ExportModule = {
|
|
|
9734
9875
|
resolve();
|
|
9735
9876
|
this.running = false;
|
|
9736
9877
|
};
|
|
9878
|
+
if (filename === 'json') {
|
|
9879
|
+
return over({ data: leaf.toJSON() });
|
|
9880
|
+
}
|
|
9881
|
+
else if (FileHelper.fileType(filename) === 'json') {
|
|
9882
|
+
Platform.origin.download('data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(leaf.toJSON())), filename);
|
|
9883
|
+
return over({ data: true });
|
|
9884
|
+
}
|
|
9737
9885
|
const { leafer } = leaf;
|
|
9738
9886
|
if (leafer) {
|
|
9739
9887
|
leafer.waitViewCompleted(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -9741,8 +9889,12 @@ const ExportModule = {
|
|
|
9741
9889
|
let renderBounds, trimBounds, scaleX = 1, scaleY = 1;
|
|
9742
9890
|
const { worldTransform, isLeafer, isFrame } = leaf;
|
|
9743
9891
|
const { slice, trim, onCanvas } = options;
|
|
9744
|
-
|
|
9745
|
-
|
|
9892
|
+
let scale = options.scale || 1;
|
|
9893
|
+
let pixelRatio = options.pixelRatio || 1;
|
|
9894
|
+
if (leaf.isApp) {
|
|
9895
|
+
scale *= pixelRatio;
|
|
9896
|
+
pixelRatio = leaf.app.pixelRatio;
|
|
9897
|
+
}
|
|
9746
9898
|
const screenshot = options.screenshot || leaf.isApp;
|
|
9747
9899
|
const fill = (isLeafer && screenshot) ? (options.fill === undefined ? leaf.fill : options.fill) : options.fill;
|
|
9748
9900
|
const needFill = FileHelper.isOpaqueImage(filename) || fill, matrix = new Matrix();
|
|
@@ -9875,4 +10027,4 @@ try {
|
|
|
9875
10027
|
}
|
|
9876
10028
|
catch (_a) { }
|
|
9877
10029
|
|
|
9878
|
-
export { AnimateEvent, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Export, FileHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, 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, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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, 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$
|
|
10030
|
+
export { AlignHelper, AnimateEvent, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Export, FileHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, 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, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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, 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, zoomLayerType };
|