@leafer-draw/miniapp 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/miniapp.cjs +12 -197
- package/dist/miniapp.esm.js +13 -198
- package/dist/miniapp.esm.min.js +1 -1
- package/dist/miniapp.min.cjs +1 -1
- package/dist/miniapp.module.js +104 -283
- package/dist/miniapp.module.min.js +1 -1
- package/package.json +8 -7
package/dist/miniapp.module.js
CHANGED
|
@@ -765,8 +765,8 @@ const TwoPointBoundsHelper = {
|
|
|
765
765
|
t.maxY = y > t.maxY ? y : t.maxY;
|
|
766
766
|
},
|
|
767
767
|
addBounds(t, x, y, width, height) {
|
|
768
|
-
addPoint$
|
|
769
|
-
addPoint$
|
|
768
|
+
addPoint$3(t, x, y);
|
|
769
|
+
addPoint$3(t, x + width, y + height);
|
|
770
770
|
},
|
|
771
771
|
copy(t, pb) {
|
|
772
772
|
t.minX = pb.minX;
|
|
@@ -787,9 +787,9 @@ const TwoPointBoundsHelper = {
|
|
|
787
787
|
setBounds.height = t.maxY - t.minY;
|
|
788
788
|
}
|
|
789
789
|
};
|
|
790
|
-
const { addPoint: addPoint$
|
|
790
|
+
const { addPoint: addPoint$3 } = TwoPointBoundsHelper;
|
|
791
791
|
|
|
792
|
-
const { tempPointBounds: tempPointBounds$1, setPoint: setPoint$
|
|
792
|
+
const { tempPointBounds: tempPointBounds$1, setPoint: setPoint$2, addPoint: addPoint$2, toBounds: toBounds$3 } = TwoPointBoundsHelper;
|
|
793
793
|
const { toOuterPoint: toOuterPoint$2 } = MatrixHelper;
|
|
794
794
|
const { float, fourNumber } = MathHelper;
|
|
795
795
|
const { floor, ceil: ceil$2 } = Math;
|
|
@@ -905,17 +905,17 @@ const BoundsHelper = {
|
|
|
905
905
|
point.x = t.x;
|
|
906
906
|
point.y = t.y;
|
|
907
907
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
908
|
-
setPoint$
|
|
908
|
+
setPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
909
909
|
point.x = t.x + t.width;
|
|
910
910
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
911
|
-
addPoint$
|
|
911
|
+
addPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
912
912
|
point.y = t.y + t.height;
|
|
913
913
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
914
|
-
addPoint$
|
|
914
|
+
addPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
915
915
|
point.x = t.x;
|
|
916
916
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
917
|
-
addPoint$
|
|
918
|
-
toBounds$
|
|
917
|
+
addPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
918
|
+
toBounds$3(tempPointBounds$1, to);
|
|
919
919
|
}
|
|
920
920
|
},
|
|
921
921
|
toInnerOf(t, matrix, to) {
|
|
@@ -1005,8 +1005,8 @@ const BoundsHelper = {
|
|
|
1005
1005
|
B.reset(t);
|
|
1006
1006
|
},
|
|
1007
1007
|
setPoints(t, points) {
|
|
1008
|
-
points.forEach((point, index) => index === 0 ? setPoint$
|
|
1009
|
-
toBounds$
|
|
1008
|
+
points.forEach((point, index) => index === 0 ? setPoint$2(tempPointBounds$1, point.x, point.y) : addPoint$2(tempPointBounds$1, point.x, point.y));
|
|
1009
|
+
toBounds$3(tempPointBounds$1, t);
|
|
1010
1010
|
},
|
|
1011
1011
|
setPoint(t, point) {
|
|
1012
1012
|
B.set(t, point.x, point.y);
|
|
@@ -1374,7 +1374,7 @@ function getNameList(name) {
|
|
|
1374
1374
|
}
|
|
1375
1375
|
const D$4 = Debug;
|
|
1376
1376
|
|
|
1377
|
-
const debug$
|
|
1377
|
+
const debug$d = Debug.get('RunTime');
|
|
1378
1378
|
const Run = {
|
|
1379
1379
|
currentId: 0,
|
|
1380
1380
|
currentName: '',
|
|
@@ -1392,7 +1392,7 @@ const Run = {
|
|
|
1392
1392
|
const time = R.idMap[id], name = R.nameMap[id];
|
|
1393
1393
|
const duration = microsecond ? (performance.now() - time) / 1000 : Date.now() - time;
|
|
1394
1394
|
R.idMap[id] = R.nameMap[id] = R.nameToIdMap[name] = undefined;
|
|
1395
|
-
debug$
|
|
1395
|
+
debug$d.log(name, duration, 'ms');
|
|
1396
1396
|
},
|
|
1397
1397
|
endOfName(name, microsecond) {
|
|
1398
1398
|
const id = R.nameToIdMap[name];
|
|
@@ -1402,34 +1402,37 @@ const Run = {
|
|
|
1402
1402
|
};
|
|
1403
1403
|
const R = Run;
|
|
1404
1404
|
|
|
1405
|
+
const check = [];
|
|
1405
1406
|
const Plugin = {
|
|
1406
1407
|
list: {},
|
|
1407
|
-
add(name) {
|
|
1408
|
+
add(name, ...needPlugins) {
|
|
1408
1409
|
this.list[name] = true;
|
|
1410
|
+
check.push(...needPlugins);
|
|
1409
1411
|
},
|
|
1410
|
-
|
|
1412
|
+
has(name, tip) {
|
|
1411
1413
|
const rs = this.list[name];
|
|
1412
1414
|
if (!rs && tip)
|
|
1413
1415
|
this.need(name);
|
|
1414
1416
|
return rs;
|
|
1415
1417
|
},
|
|
1416
1418
|
need(name) {
|
|
1417
|
-
console.error('need plugin: @leafer-in/' + name);
|
|
1419
|
+
console.error('need plugin: ' + (name.includes('-x') ? '' : '@leafer-in/') + name);
|
|
1418
1420
|
}
|
|
1419
1421
|
};
|
|
1422
|
+
setTimeout(() => check.forEach(name => Plugin.has(name, true)));
|
|
1420
1423
|
|
|
1421
|
-
const debug$
|
|
1424
|
+
const debug$c = Debug.get('UICreator');
|
|
1422
1425
|
const UICreator = {
|
|
1423
1426
|
list: {},
|
|
1424
1427
|
register(UI) {
|
|
1425
1428
|
const { __tag: tag } = UI.prototype;
|
|
1426
1429
|
if (list$1[tag])
|
|
1427
|
-
debug$
|
|
1430
|
+
debug$c.repeat(tag);
|
|
1428
1431
|
list$1[tag] = UI;
|
|
1429
1432
|
},
|
|
1430
1433
|
get(tag, data, x, y, width, height) {
|
|
1431
1434
|
if (!list$1[tag])
|
|
1432
|
-
debug$
|
|
1435
|
+
debug$c.error('not register ' + tag);
|
|
1433
1436
|
const ui = new list$1[tag](data);
|
|
1434
1437
|
if (x !== undefined) {
|
|
1435
1438
|
ui.x = x;
|
|
@@ -1445,7 +1448,7 @@ const UICreator = {
|
|
|
1445
1448
|
};
|
|
1446
1449
|
const { list: list$1 } = UICreator;
|
|
1447
1450
|
|
|
1448
|
-
const debug$
|
|
1451
|
+
const debug$b = Debug.get('EventCreator');
|
|
1449
1452
|
const EventCreator = {
|
|
1450
1453
|
nameList: {},
|
|
1451
1454
|
register(Event) {
|
|
@@ -1453,7 +1456,7 @@ const EventCreator = {
|
|
|
1453
1456
|
Object.keys(Event).forEach(key => {
|
|
1454
1457
|
name = Event[key];
|
|
1455
1458
|
if (typeof name === 'string')
|
|
1456
|
-
nameList[name] && debug$
|
|
1459
|
+
nameList[name] && debug$b.repeat(name), nameList[name] = Event;
|
|
1457
1460
|
});
|
|
1458
1461
|
},
|
|
1459
1462
|
changeName(oldName, newName) {
|
|
@@ -2342,7 +2345,7 @@ const RectHelper = {
|
|
|
2342
2345
|
};
|
|
2343
2346
|
|
|
2344
2347
|
const { sin: sin$3, cos: cos$3, atan2: atan2$1, ceil: ceil$1, abs: abs$3, PI: PI$2, sqrt: sqrt$1, pow } = Math;
|
|
2345
|
-
const { setPoint: setPoint$
|
|
2348
|
+
const { setPoint: setPoint$1, addPoint: addPoint$1 } = TwoPointBoundsHelper;
|
|
2346
2349
|
const { set, toNumberPoints } = PointHelper;
|
|
2347
2350
|
const { M: M$5, L: L$6, C: C$5, Q: Q$4, Z: Z$5 } = PathCommandMap;
|
|
2348
2351
|
const tempPoint$2 = {};
|
|
@@ -2418,8 +2421,8 @@ const BezierHelper = {
|
|
|
2418
2421
|
if (data)
|
|
2419
2422
|
data.push(L$6, x1, y1);
|
|
2420
2423
|
if (setPointBounds) {
|
|
2421
|
-
setPoint$
|
|
2422
|
-
addPoint$
|
|
2424
|
+
setPoint$1(setPointBounds, fromX, fromY);
|
|
2425
|
+
addPoint$1(setPointBounds, x1, y1);
|
|
2423
2426
|
}
|
|
2424
2427
|
if (setStartPoint)
|
|
2425
2428
|
set(setStartPoint, fromX, fromY);
|
|
@@ -2471,7 +2474,7 @@ const BezierHelper = {
|
|
|
2471
2474
|
if (data)
|
|
2472
2475
|
data.push(data.length ? L$6 : M$5, fromX, fromY);
|
|
2473
2476
|
if (setPointBounds)
|
|
2474
|
-
setPoint$
|
|
2477
|
+
setPoint$1(setPointBounds, fromX, fromY);
|
|
2475
2478
|
if (setStartPoint)
|
|
2476
2479
|
set(setStartPoint, fromX, fromY);
|
|
2477
2480
|
for (let i = 0; i < parts; i++) {
|
|
@@ -2533,11 +2536,11 @@ const BezierHelper = {
|
|
|
2533
2536
|
if (0 < t2 && t2 < 1)
|
|
2534
2537
|
tList.push(t2);
|
|
2535
2538
|
}
|
|
2536
|
-
addMode ? addPoint$
|
|
2537
|
-
addPoint$
|
|
2539
|
+
addMode ? addPoint$1(pointBounds, fromX, fromY) : setPoint$1(pointBounds, fromX, fromY);
|
|
2540
|
+
addPoint$1(pointBounds, toX, toY);
|
|
2538
2541
|
for (let i = 0, len = tList.length; i < len; i++) {
|
|
2539
2542
|
getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$2);
|
|
2540
|
-
addPoint$
|
|
2543
|
+
addPoint$1(pointBounds, tempPoint$2.x, tempPoint$2.y);
|
|
2541
2544
|
}
|
|
2542
2545
|
},
|
|
2543
2546
|
getPointAndSet(t, fromX, fromY, x1, y1, x2, y2, toX, toY, setPoint) {
|
|
@@ -2609,7 +2612,7 @@ const EllipseHelper = {
|
|
|
2609
2612
|
const { M: M$4, m, L: L$5, l, H, h, V, v, C: C$4, c, S, s, Q: Q$3, q, T, t, A, a, Z: Z$4, z, N: N$3, D: D$3, X: X$3, G: G$3, F: F$4, O: O$3, P: P$3, U: U$3 } = PathCommandMap;
|
|
2610
2613
|
const { rect: rect$2, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1 } = BezierHelper;
|
|
2611
2614
|
const { ellipticalArc } = EllipseHelper;
|
|
2612
|
-
const debug$
|
|
2615
|
+
const debug$a = Debug.get('PathConvert');
|
|
2613
2616
|
const setEndPoint$1 = {};
|
|
2614
2617
|
const PathConvert = {
|
|
2615
2618
|
current: { dot: 0 },
|
|
@@ -2850,7 +2853,7 @@ const PathConvert = {
|
|
|
2850
2853
|
i += 6;
|
|
2851
2854
|
break;
|
|
2852
2855
|
default:
|
|
2853
|
-
debug$
|
|
2856
|
+
debug$a.error(`command: ${command} [index:${i}]`, old);
|
|
2854
2857
|
return data;
|
|
2855
2858
|
}
|
|
2856
2859
|
lastCommand = command;
|
|
@@ -3075,7 +3078,7 @@ class PathCreator {
|
|
|
3075
3078
|
}
|
|
3076
3079
|
|
|
3077
3080
|
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;
|
|
3078
|
-
const debug$
|
|
3081
|
+
const debug$9 = Debug.get('PathDrawer');
|
|
3079
3082
|
const PathDrawer = {
|
|
3080
3083
|
drawPathByData(drawer, data) {
|
|
3081
3084
|
if (!data)
|
|
@@ -3138,7 +3141,7 @@ const PathDrawer = {
|
|
|
3138
3141
|
i += 6;
|
|
3139
3142
|
break;
|
|
3140
3143
|
default:
|
|
3141
|
-
debug$
|
|
3144
|
+
debug$9.error(`command: ${command} [index:${i}]`, data);
|
|
3142
3145
|
return;
|
|
3143
3146
|
}
|
|
3144
3147
|
}
|
|
@@ -3147,8 +3150,8 @@ const PathDrawer = {
|
|
|
3147
3150
|
|
|
3148
3151
|
const { M: M$1, L: L$2, C: C$1, Q, Z: Z$1, N, D, X, G, F: F$1, O, P, U } = PathCommandMap;
|
|
3149
3152
|
const { toTwoPointBounds, toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc, ellipse: ellipse$1 } = BezierHelper;
|
|
3150
|
-
const { addPointBounds, copy: copy$7, addPoint
|
|
3151
|
-
const debug$
|
|
3153
|
+
const { addPointBounds, copy: copy$7, addPoint, setPoint, addBounds, toBounds: toBounds$2 } = TwoPointBoundsHelper;
|
|
3154
|
+
const debug$8 = Debug.get('PathBounds');
|
|
3152
3155
|
let radius, radiusX, radiusY;
|
|
3153
3156
|
const tempPointBounds = {};
|
|
3154
3157
|
const setPointBounds = {};
|
|
@@ -3156,21 +3159,21 @@ const setEndPoint = {};
|
|
|
3156
3159
|
const PathBounds = {
|
|
3157
3160
|
toBounds(data, setBounds) {
|
|
3158
3161
|
PathBounds.toTwoPointBounds(data, setPointBounds);
|
|
3159
|
-
toBounds$
|
|
3162
|
+
toBounds$2(setPointBounds, setBounds);
|
|
3160
3163
|
},
|
|
3161
3164
|
toTwoPointBounds(data, setPointBounds) {
|
|
3162
3165
|
if (!data || !data.length)
|
|
3163
|
-
return setPoint
|
|
3166
|
+
return setPoint(setPointBounds, 0, 0);
|
|
3164
3167
|
let i = 0, x = 0, y = 0, x1, y1, toX, toY, command;
|
|
3165
3168
|
const len = data.length;
|
|
3166
3169
|
while (i < len) {
|
|
3167
3170
|
command = data[i];
|
|
3168
3171
|
if (i === 0) {
|
|
3169
3172
|
if (command === Z$1 || command === C$1 || command === Q) {
|
|
3170
|
-
setPoint
|
|
3173
|
+
setPoint(setPointBounds, x, y);
|
|
3171
3174
|
}
|
|
3172
3175
|
else {
|
|
3173
|
-
setPoint
|
|
3176
|
+
setPoint(setPointBounds, data[i + 1], data[i + 2]);
|
|
3174
3177
|
}
|
|
3175
3178
|
}
|
|
3176
3179
|
switch (command) {
|
|
@@ -3178,7 +3181,7 @@ const PathBounds = {
|
|
|
3178
3181
|
case L$2:
|
|
3179
3182
|
x = data[i + 1];
|
|
3180
3183
|
y = data[i + 2];
|
|
3181
|
-
addPoint
|
|
3184
|
+
addPoint(setPointBounds, x, y);
|
|
3182
3185
|
i += 3;
|
|
3183
3186
|
break;
|
|
3184
3187
|
case C$1:
|
|
@@ -3256,7 +3259,7 @@ const PathBounds = {
|
|
|
3256
3259
|
i += 6;
|
|
3257
3260
|
break;
|
|
3258
3261
|
default:
|
|
3259
|
-
debug$
|
|
3262
|
+
debug$8.error(`command: ${command} [index:${i}]`, data);
|
|
3260
3263
|
return;
|
|
3261
3264
|
}
|
|
3262
3265
|
}
|
|
@@ -3372,7 +3375,7 @@ const FileHelper = {
|
|
|
3372
3375
|
const F = FileHelper;
|
|
3373
3376
|
F.opacityTypes.forEach(type => F.upperCaseTypeMap[type] = type.toUpperCase());
|
|
3374
3377
|
|
|
3375
|
-
const debug$
|
|
3378
|
+
const debug$7 = Debug.get('TaskProcessor');
|
|
3376
3379
|
class TaskItem {
|
|
3377
3380
|
constructor(task) {
|
|
3378
3381
|
this.parallel = true;
|
|
@@ -3387,7 +3390,7 @@ class TaskItem {
|
|
|
3387
3390
|
yield this.task();
|
|
3388
3391
|
}
|
|
3389
3392
|
catch (error) {
|
|
3390
|
-
debug$
|
|
3393
|
+
debug$7.error(error);
|
|
3391
3394
|
}
|
|
3392
3395
|
});
|
|
3393
3396
|
}
|
|
@@ -4074,7 +4077,7 @@ function defineDataProcessor(target, key, defaultValue) {
|
|
|
4074
4077
|
defineKey(data, key, property);
|
|
4075
4078
|
}
|
|
4076
4079
|
|
|
4077
|
-
const debug$
|
|
4080
|
+
const debug$6 = new Debug('rewrite');
|
|
4078
4081
|
const list = [];
|
|
4079
4082
|
const excludeNames = ['destroy', 'constructor'];
|
|
4080
4083
|
function rewrite(method) {
|
|
@@ -4091,7 +4094,7 @@ function doRewrite(error) {
|
|
|
4091
4094
|
if (list.length) {
|
|
4092
4095
|
list.forEach(item => {
|
|
4093
4096
|
if (error)
|
|
4094
|
-
debug$
|
|
4097
|
+
debug$6.error(item.name, '需在Class上装饰@rewriteAble()');
|
|
4095
4098
|
item.run();
|
|
4096
4099
|
});
|
|
4097
4100
|
list.length = 0;
|
|
@@ -4808,7 +4811,6 @@ class LayoutEvent extends Event {
|
|
|
4808
4811
|
}
|
|
4809
4812
|
}
|
|
4810
4813
|
}
|
|
4811
|
-
LayoutEvent.CHECK_UPDATE = 'layout.check_update';
|
|
4812
4814
|
LayoutEvent.REQUEST = 'layout.request';
|
|
4813
4815
|
LayoutEvent.START = 'layout.start';
|
|
4814
4816
|
LayoutEvent.BEFORE = 'layout.before';
|
|
@@ -5003,13 +5005,13 @@ const { on, on_, off, off_, once, emit: emit$1, emitEvent, hasEvent, destroy } =
|
|
|
5003
5005
|
const LeafEventer = { on, on_, off, off_, once, emit: emit$1, emitEvent, hasEvent, destroyEventer: destroy };
|
|
5004
5006
|
|
|
5005
5007
|
const { isFinite } = Number;
|
|
5006
|
-
const debug$
|
|
5008
|
+
const debug$5 = Debug.get('setAttr');
|
|
5007
5009
|
const LeafDataProxy = {
|
|
5008
5010
|
__setAttr(name, newValue, checkFiniteNumber) {
|
|
5009
5011
|
if (this.leaferIsCreated) {
|
|
5010
5012
|
const oldValue = this.__.__getInput(name);
|
|
5011
5013
|
if (checkFiniteNumber && !isFinite(newValue) && newValue !== undefined) {
|
|
5012
|
-
debug$
|
|
5014
|
+
debug$5.warn(this.innerName, name, newValue);
|
|
5013
5015
|
newValue = undefined;
|
|
5014
5016
|
}
|
|
5015
5017
|
if (typeof newValue === 'object' || oldValue !== newValue) {
|
|
@@ -5079,7 +5081,7 @@ const LeafMatrix = {
|
|
|
5079
5081
|
const { updateMatrix: updateMatrix$1, updateAllMatrix: updateAllMatrix$2 } = LeafHelper;
|
|
5080
5082
|
const { updateBounds: updateBounds$1 } = BranchHelper;
|
|
5081
5083
|
const { toOuterOf: toOuterOf$1, copyAndSpread: copyAndSpread$1, copy: copy$4 } = BoundsHelper;
|
|
5082
|
-
const { toBounds: toBounds$
|
|
5084
|
+
const { toBounds: toBounds$1 } = PathBounds;
|
|
5083
5085
|
const LeafBounds = {
|
|
5084
5086
|
__updateWorldBounds() {
|
|
5085
5087
|
toOuterOf$1(this.__layout.renderBounds, this.__world, this.__world);
|
|
@@ -5161,7 +5163,7 @@ const LeafBounds = {
|
|
|
5161
5163
|
const b = this.__layout.boxBounds;
|
|
5162
5164
|
const data = this.__;
|
|
5163
5165
|
if (data.__pathInputed) {
|
|
5164
|
-
toBounds$
|
|
5166
|
+
toBounds$1(data.path, b);
|
|
5165
5167
|
}
|
|
5166
5168
|
else {
|
|
5167
5169
|
b.x = 0;
|
|
@@ -5709,7 +5711,7 @@ Leaf = __decorate([
|
|
|
5709
5711
|
const { setListWithFn } = BoundsHelper;
|
|
5710
5712
|
const { sort } = BranchHelper;
|
|
5711
5713
|
const { localBoxBounds, localStrokeBounds, localRenderBounds, maskLocalBoxBounds, maskLocalStrokeBounds, maskLocalRenderBounds } = LeafBoundsHelper;
|
|
5712
|
-
const debug$
|
|
5714
|
+
const debug$4 = new Debug('Branch');
|
|
5713
5715
|
let Branch = class Branch extends Leaf {
|
|
5714
5716
|
__updateStrokeSpread() {
|
|
5715
5717
|
const { children } = this;
|
|
@@ -5751,7 +5753,7 @@ let Branch = class Branch extends Leaf {
|
|
|
5751
5753
|
}
|
|
5752
5754
|
add(child, index) {
|
|
5753
5755
|
if (child === this || child.destroyed)
|
|
5754
|
-
return debug$
|
|
5756
|
+
return debug$4.warn('add self or destroyed');
|
|
5755
5757
|
const noIndex = index === undefined;
|
|
5756
5758
|
if (!child.__) {
|
|
5757
5759
|
if (child instanceof Array)
|
|
@@ -6005,7 +6007,7 @@ class LeafLevelList {
|
|
|
6005
6007
|
}
|
|
6006
6008
|
}
|
|
6007
6009
|
|
|
6008
|
-
const version = "1.
|
|
6010
|
+
const version = "1.3.0";
|
|
6009
6011
|
|
|
6010
6012
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6011
6013
|
get allowBackgroundColor() { return false; }
|
|
@@ -6419,7 +6421,7 @@ class LayoutBlockData {
|
|
|
6419
6421
|
}
|
|
6420
6422
|
|
|
6421
6423
|
const { updateAllMatrix, updateAllChange } = LeafHelper;
|
|
6422
|
-
const debug$
|
|
6424
|
+
const debug$3 = Debug.get('Layouter');
|
|
6423
6425
|
class Layouter {
|
|
6424
6426
|
constructor(target, userConfig) {
|
|
6425
6427
|
this.totalTimes = 0;
|
|
@@ -6454,7 +6456,7 @@ class Layouter {
|
|
|
6454
6456
|
target.emitEvent(new LayoutEvent(LayoutEvent.END, this.layoutedBlocks, this.times));
|
|
6455
6457
|
}
|
|
6456
6458
|
catch (e) {
|
|
6457
|
-
debug$
|
|
6459
|
+
debug$3.error(e);
|
|
6458
6460
|
}
|
|
6459
6461
|
this.layoutedBlocks = null;
|
|
6460
6462
|
}
|
|
@@ -6468,9 +6470,9 @@ class Layouter {
|
|
|
6468
6470
|
}
|
|
6469
6471
|
layoutOnce() {
|
|
6470
6472
|
if (this.layouting)
|
|
6471
|
-
return debug$
|
|
6473
|
+
return debug$3.warn('layouting');
|
|
6472
6474
|
if (this.times > 3)
|
|
6473
|
-
return debug$
|
|
6475
|
+
return debug$3.warn('layout max times');
|
|
6474
6476
|
this.times++;
|
|
6475
6477
|
this.totalTimes++;
|
|
6476
6478
|
this.layouting = true;
|
|
@@ -6574,7 +6576,7 @@ class Layouter {
|
|
|
6574
6576
|
}
|
|
6575
6577
|
}
|
|
6576
6578
|
|
|
6577
|
-
const debug$
|
|
6579
|
+
const debug$2 = Debug.get('Renderer');
|
|
6578
6580
|
class Renderer {
|
|
6579
6581
|
get needFill() { return !!(!this.canvas.allowBackgroundColor && this.config.fill); }
|
|
6580
6582
|
constructor(target, canvas, userConfig) {
|
|
@@ -6612,7 +6614,7 @@ class Renderer {
|
|
|
6612
6614
|
const { target } = this;
|
|
6613
6615
|
this.times = 0;
|
|
6614
6616
|
this.totalBounds = new Bounds();
|
|
6615
|
-
debug$
|
|
6617
|
+
debug$2.log(target.innerName, '--->');
|
|
6616
6618
|
try {
|
|
6617
6619
|
if (!target.isApp)
|
|
6618
6620
|
target.app.emit(RenderEvent.CHILD_START, target);
|
|
@@ -6623,9 +6625,9 @@ class Renderer {
|
|
|
6623
6625
|
}
|
|
6624
6626
|
catch (e) {
|
|
6625
6627
|
this.rendering = false;
|
|
6626
|
-
debug$
|
|
6628
|
+
debug$2.error(e);
|
|
6627
6629
|
}
|
|
6628
|
-
debug$
|
|
6630
|
+
debug$2.log('-------------|');
|
|
6629
6631
|
}
|
|
6630
6632
|
renderAgain() {
|
|
6631
6633
|
if (this.rendering) {
|
|
@@ -6637,9 +6639,9 @@ class Renderer {
|
|
|
6637
6639
|
}
|
|
6638
6640
|
renderOnce(callback) {
|
|
6639
6641
|
if (this.rendering)
|
|
6640
|
-
return debug$
|
|
6642
|
+
return debug$2.warn('rendering');
|
|
6641
6643
|
if (this.times > 3)
|
|
6642
|
-
return debug$
|
|
6644
|
+
return debug$2.warn('render max times');
|
|
6643
6645
|
this.times++;
|
|
6644
6646
|
this.totalTimes++;
|
|
6645
6647
|
this.rendering = true;
|
|
@@ -6676,7 +6678,7 @@ class Renderer {
|
|
|
6676
6678
|
partRender() {
|
|
6677
6679
|
const { canvas, updateBlocks: list } = this;
|
|
6678
6680
|
if (!list)
|
|
6679
|
-
return debug$
|
|
6681
|
+
return debug$2.warn('PartRender: need update attr');
|
|
6680
6682
|
this.mergeBlocks();
|
|
6681
6683
|
list.forEach(block => { if (canvas.bounds.hit(block) && !block.isEmpty())
|
|
6682
6684
|
this.clipRender(block); });
|
|
@@ -6779,7 +6781,7 @@ class Renderer {
|
|
|
6779
6781
|
empty = (!leaf.__world.width || !leaf.__world.height);
|
|
6780
6782
|
if (empty) {
|
|
6781
6783
|
if (!leaf.isLeafer)
|
|
6782
|
-
debug$
|
|
6784
|
+
debug$2.tip(leaf.innerName, ': empty');
|
|
6783
6785
|
empty = (!leaf.isBranch || leaf.isBranchLeaf);
|
|
6784
6786
|
}
|
|
6785
6787
|
return empty;
|
|
@@ -6881,7 +6883,7 @@ const Transition = {
|
|
|
6881
6883
|
|
|
6882
6884
|
const { parse, objectToCanvasData } = PathConvert;
|
|
6883
6885
|
const emptyPaint = {};
|
|
6884
|
-
const debug$
|
|
6886
|
+
const debug$1 = Debug.get('UIData');
|
|
6885
6887
|
class UIData extends LeafData {
|
|
6886
6888
|
get scale() { const { scaleX, scaleY } = this; return scaleX !== scaleY ? { x: scaleX, y: scaleY } : scaleX; }
|
|
6887
6889
|
get __strokeWidth() {
|
|
@@ -6918,7 +6920,7 @@ class UIData extends LeafData {
|
|
|
6918
6920
|
if (value < 0) {
|
|
6919
6921
|
this._width = -value;
|
|
6920
6922
|
this.__leaf.scaleX *= -1;
|
|
6921
|
-
debug$
|
|
6923
|
+
debug$1.warn('width < 0, instead -scaleX ', this);
|
|
6922
6924
|
}
|
|
6923
6925
|
else
|
|
6924
6926
|
this._width = value;
|
|
@@ -6927,7 +6929,7 @@ class UIData extends LeafData {
|
|
|
6927
6929
|
if (value < 0) {
|
|
6928
6930
|
this._height = -value;
|
|
6929
6931
|
this.__leaf.scaleY *= -1;
|
|
6930
|
-
debug$
|
|
6932
|
+
debug$1.warn('height < 0, instead -scaleY', this);
|
|
6931
6933
|
}
|
|
6932
6934
|
else
|
|
6933
6935
|
this._height = value;
|
|
@@ -7304,25 +7306,27 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7304
7306
|
}
|
|
7305
7307
|
reset(_data) { }
|
|
7306
7308
|
set(data, transition) {
|
|
7307
|
-
if (
|
|
7308
|
-
if (transition
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7309
|
+
if (data) {
|
|
7310
|
+
if (transition) {
|
|
7311
|
+
if (transition === 'temp') {
|
|
7312
|
+
this.lockNormalStyle = true;
|
|
7313
|
+
Object.assign(this, data);
|
|
7314
|
+
this.lockNormalStyle = false;
|
|
7315
|
+
}
|
|
7316
|
+
else
|
|
7317
|
+
this.animate(data, transition);
|
|
7312
7318
|
}
|
|
7313
7319
|
else
|
|
7314
|
-
|
|
7320
|
+
Object.assign(this, data);
|
|
7315
7321
|
}
|
|
7316
|
-
else
|
|
7317
|
-
Object.assign(this, data);
|
|
7318
7322
|
}
|
|
7319
7323
|
get(name) {
|
|
7320
7324
|
return typeof name === 'string' ? this.__.__getInput(name) : this.__.__getInputData(name);
|
|
7321
7325
|
}
|
|
7322
7326
|
createProxyData() { return undefined; }
|
|
7323
|
-
find(_condition, _options) { return
|
|
7327
|
+
find(_condition, _options) { return Plugin.need('find'); }
|
|
7324
7328
|
findTag(tag) { return this.find({ tag }); }
|
|
7325
|
-
findOne(_condition, _options) { return
|
|
7329
|
+
findOne(_condition, _options) { return Plugin.need('find'); }
|
|
7326
7330
|
findId(id) { return this.findOne({ id }); }
|
|
7327
7331
|
getPath(curve, pathForRender) {
|
|
7328
7332
|
this.__layout.update();
|
|
@@ -7374,9 +7378,9 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7374
7378
|
animate(_keyframe, _options, _type, _isTemp) {
|
|
7375
7379
|
return Plugin.need('animate');
|
|
7376
7380
|
}
|
|
7377
|
-
killAnimate(_type) { }
|
|
7378
|
-
export(
|
|
7379
|
-
return
|
|
7381
|
+
killAnimate(_type, _killStyle) { }
|
|
7382
|
+
export(_filename, _options) {
|
|
7383
|
+
return Plugin.need('export');
|
|
7380
7384
|
}
|
|
7381
7385
|
clone(data) {
|
|
7382
7386
|
const json = this.toJSON();
|
|
@@ -7622,16 +7626,18 @@ let Group = class Group extends UI {
|
|
|
7622
7626
|
this.children = [];
|
|
7623
7627
|
}
|
|
7624
7628
|
set(data, transition) {
|
|
7625
|
-
if (data
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7629
|
+
if (data) {
|
|
7630
|
+
if (data.children) {
|
|
7631
|
+
const { children } = data;
|
|
7632
|
+
delete data.children;
|
|
7633
|
+
this.children ? this.clear() : this.__setBranch();
|
|
7634
|
+
super.set(data, transition);
|
|
7635
|
+
children.forEach(child => this.add(child));
|
|
7636
|
+
data.children = children;
|
|
7637
|
+
}
|
|
7638
|
+
else
|
|
7639
|
+
super.set(data, transition);
|
|
7632
7640
|
}
|
|
7633
|
-
else
|
|
7634
|
-
super.set(data, transition);
|
|
7635
7641
|
}
|
|
7636
7642
|
toJSON(options) {
|
|
7637
7643
|
const data = super.toJSON(options);
|
|
@@ -7663,7 +7669,7 @@ Group = __decorate([
|
|
|
7663
7669
|
], Group);
|
|
7664
7670
|
|
|
7665
7671
|
var Leafer_1;
|
|
7666
|
-
const debug
|
|
7672
|
+
const debug = Debug.get('Leafer');
|
|
7667
7673
|
let Leafer = Leafer_1 = class Leafer extends Group {
|
|
7668
7674
|
get __tag() { return 'Leafer'; }
|
|
7669
7675
|
get isApp() { return false; }
|
|
@@ -7828,7 +7834,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7828
7834
|
if (this.canvas) {
|
|
7829
7835
|
if (canvasSizeAttrs.includes(attrName)) {
|
|
7830
7836
|
if (!newValue)
|
|
7831
|
-
debug
|
|
7837
|
+
debug.warn(attrName + ' is 0');
|
|
7832
7838
|
this.__changeCanvasSize(attrName, newValue);
|
|
7833
7839
|
}
|
|
7834
7840
|
else if (attrName === 'fill') {
|
|
@@ -7969,9 +7975,6 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7969
7975
|
this.canvas && this.canvas.updateClientBounds();
|
|
7970
7976
|
}
|
|
7971
7977
|
receiveEvent(_event) { }
|
|
7972
|
-
__checkUpdateLayout() {
|
|
7973
|
-
this.__layout.update();
|
|
7974
|
-
}
|
|
7975
7978
|
emitLeafer(type) {
|
|
7976
7979
|
this.emitEvent(new LeaferEvent(type, this));
|
|
7977
7980
|
}
|
|
@@ -7982,7 +7985,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7982
7985
|
this.once(LayoutEvent.END, () => this.__onReady());
|
|
7983
7986
|
this.once(RenderEvent.START, () => this.__onCreated());
|
|
7984
7987
|
this.once(RenderEvent.END, () => this.__onViewReady());
|
|
7985
|
-
this.__eventIds.push(this.on_(WatchEvent.DATA, this.__onWatchData, this), this.on_(RenderEvent.NEXT, this.__onNextRender, this)
|
|
7988
|
+
this.__eventIds.push(this.on_(WatchEvent.DATA, this.__onWatchData, this), this.on_(RenderEvent.NEXT, this.__onNextRender, this));
|
|
7986
7989
|
}
|
|
7987
7990
|
__removeListenEvents() {
|
|
7988
7991
|
this.off_(this.__eventIds);
|
|
@@ -8013,7 +8016,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8013
8016
|
setTimeout(() => { ImageManager.clearRecycled(); }, 100);
|
|
8014
8017
|
}
|
|
8015
8018
|
catch (e) {
|
|
8016
|
-
debug
|
|
8019
|
+
debug.error(e);
|
|
8017
8020
|
}
|
|
8018
8021
|
}
|
|
8019
8022
|
};
|
|
@@ -8242,7 +8245,7 @@ Ellipse = __decorate([
|
|
|
8242
8245
|
|
|
8243
8246
|
const { moveTo: moveTo$2, lineTo: lineTo$2, drawPoints: drawPoints$1 } = PathCommandDataHelper;
|
|
8244
8247
|
const { rotate: rotate$1, getAngle: getAngle$1, getDistance: getDistance$2, defaultPoint } = PointHelper;
|
|
8245
|
-
const { toBounds
|
|
8248
|
+
const { toBounds } = PathBounds;
|
|
8246
8249
|
let Line = class Line extends UI {
|
|
8247
8250
|
get __tag() { return 'Line'; }
|
|
8248
8251
|
get toPoint() {
|
|
@@ -8286,7 +8289,7 @@ let Line = class Line extends UI {
|
|
|
8286
8289
|
}
|
|
8287
8290
|
__updateBoxBounds() {
|
|
8288
8291
|
if (this.points) {
|
|
8289
|
-
toBounds
|
|
8292
|
+
toBounds(this.__.__pathForRender, this.__layout.boxBounds);
|
|
8290
8293
|
}
|
|
8291
8294
|
else
|
|
8292
8295
|
super.__updateBoxBounds();
|
|
@@ -8638,6 +8641,9 @@ __decorate([
|
|
|
8638
8641
|
__decorate([
|
|
8639
8642
|
boundsType(0)
|
|
8640
8643
|
], Text.prototype, "paraSpacing", void 0);
|
|
8644
|
+
__decorate([
|
|
8645
|
+
boundsType('x')
|
|
8646
|
+
], Text.prototype, "writingMode", void 0);
|
|
8641
8647
|
__decorate([
|
|
8642
8648
|
boundsType('left')
|
|
8643
8649
|
], Text.prototype, "textAlign", void 0);
|
|
@@ -10202,197 +10208,12 @@ const ColorConvertModule = {
|
|
|
10202
10208
|
string
|
|
10203
10209
|
};
|
|
10204
10210
|
|
|
10205
|
-
const { setPoint, addPoint, toBounds } = TwoPointBoundsHelper;
|
|
10206
|
-
function getTrimBounds(canvas) {
|
|
10207
|
-
const { width, height } = canvas.view;
|
|
10208
|
-
const { data } = canvas.context.getImageData(0, 0, width, height);
|
|
10209
|
-
let x, y, pointBounds, index = 0;
|
|
10210
|
-
for (let i = 0; i < data.length; i += 4) {
|
|
10211
|
-
if (data[i + 3] !== 0) {
|
|
10212
|
-
x = index % width;
|
|
10213
|
-
y = (index - x) / width;
|
|
10214
|
-
pointBounds ? addPoint(pointBounds, x, y) : setPoint(pointBounds = {}, x, y);
|
|
10215
|
-
}
|
|
10216
|
-
index++;
|
|
10217
|
-
}
|
|
10218
|
-
const bounds = new Bounds();
|
|
10219
|
-
toBounds(pointBounds, bounds);
|
|
10220
|
-
return bounds.scale(1 / canvas.pixelRatio).ceil();
|
|
10221
|
-
}
|
|
10222
|
-
|
|
10223
|
-
const ExportModule = {
|
|
10224
|
-
export(leaf, filename, options) {
|
|
10225
|
-
this.running = true;
|
|
10226
|
-
const fileType = FileHelper.fileType(filename);
|
|
10227
|
-
const isDownload = filename.includes('.');
|
|
10228
|
-
options = FileHelper.getExportOptions(options);
|
|
10229
|
-
return addTask((success) => new Promise((resolve) => {
|
|
10230
|
-
const over = (result) => {
|
|
10231
|
-
success(result);
|
|
10232
|
-
resolve();
|
|
10233
|
-
this.running = false;
|
|
10234
|
-
};
|
|
10235
|
-
const { toURL } = Platform;
|
|
10236
|
-
const { download } = Platform.origin;
|
|
10237
|
-
if (fileType === 'json') {
|
|
10238
|
-
isDownload && download(toURL(JSON.stringify(leaf.toJSON(options.json)), 'text'), filename);
|
|
10239
|
-
return over({ data: isDownload ? true : leaf.toJSON(options.json) });
|
|
10240
|
-
}
|
|
10241
|
-
if (fileType === 'svg') {
|
|
10242
|
-
isDownload && download(toURL(leaf.toSVG(), 'svg'), filename);
|
|
10243
|
-
return over({ data: isDownload ? true : leaf.toSVG() });
|
|
10244
|
-
}
|
|
10245
|
-
const { leafer } = leaf;
|
|
10246
|
-
if (leafer) {
|
|
10247
|
-
checkLazy(leaf);
|
|
10248
|
-
leafer.waitViewCompleted(() => __awaiter(this, void 0, void 0, function* () {
|
|
10249
|
-
let renderBounds, trimBounds, scaleX = 1, scaleY = 1;
|
|
10250
|
-
const { worldTransform, isLeafer, isFrame } = leaf;
|
|
10251
|
-
const { slice, trim, onCanvas } = options;
|
|
10252
|
-
const smooth = options.smooth === undefined ? leafer.config.smooth : options.smooth;
|
|
10253
|
-
const contextSettings = options.contextSettings || leafer.config.contextSettings;
|
|
10254
|
-
const screenshot = options.screenshot || leaf.isApp;
|
|
10255
|
-
const fill = (isLeafer && screenshot) ? (options.fill === undefined ? leaf.fill : options.fill) : options.fill;
|
|
10256
|
-
const needFill = FileHelper.isOpaqueImage(filename) || fill, matrix = new Matrix();
|
|
10257
|
-
if (screenshot) {
|
|
10258
|
-
renderBounds = screenshot === true ? (isLeafer ? leafer.canvas.bounds : leaf.worldRenderBounds) : screenshot;
|
|
10259
|
-
}
|
|
10260
|
-
else {
|
|
10261
|
-
let relative = options.relative || (isLeafer ? 'inner' : 'local');
|
|
10262
|
-
scaleX = worldTransform.scaleX;
|
|
10263
|
-
scaleY = worldTransform.scaleY;
|
|
10264
|
-
switch (relative) {
|
|
10265
|
-
case 'inner':
|
|
10266
|
-
matrix.set(worldTransform);
|
|
10267
|
-
break;
|
|
10268
|
-
case 'local':
|
|
10269
|
-
matrix.set(worldTransform).divide(leaf.localTransform);
|
|
10270
|
-
scaleX /= leaf.scaleX;
|
|
10271
|
-
scaleY /= leaf.scaleY;
|
|
10272
|
-
break;
|
|
10273
|
-
case 'world':
|
|
10274
|
-
scaleX = 1;
|
|
10275
|
-
scaleY = 1;
|
|
10276
|
-
break;
|
|
10277
|
-
case 'page':
|
|
10278
|
-
relative = leaf.leafer;
|
|
10279
|
-
default:
|
|
10280
|
-
matrix.set(worldTransform).divide(leaf.getTransform(relative));
|
|
10281
|
-
const l = relative.worldTransform;
|
|
10282
|
-
scaleX /= scaleX / l.scaleX;
|
|
10283
|
-
scaleY /= scaleY / l.scaleY;
|
|
10284
|
-
}
|
|
10285
|
-
renderBounds = leaf.getBounds('render', relative);
|
|
10286
|
-
}
|
|
10287
|
-
const scaleData = { scaleX: 1, scaleY: 1 };
|
|
10288
|
-
MathHelper.getScaleData(options.scale, options.size, renderBounds, scaleData);
|
|
10289
|
-
let pixelRatio = options.pixelRatio || 1;
|
|
10290
|
-
if (leaf.isApp) {
|
|
10291
|
-
scaleData.scaleX *= pixelRatio;
|
|
10292
|
-
scaleData.scaleY *= pixelRatio;
|
|
10293
|
-
pixelRatio = leaf.app.pixelRatio;
|
|
10294
|
-
}
|
|
10295
|
-
const { x, y, width, height } = new Bounds(renderBounds).scale(scaleData.scaleX, scaleData.scaleY);
|
|
10296
|
-
const renderOptions = { matrix: matrix.scale(1 / scaleData.scaleX, 1 / scaleData.scaleY).invert().translate(-x, -y).withScale(1 / scaleX * scaleData.scaleX, 1 / scaleY * scaleData.scaleY) };
|
|
10297
|
-
let canvas = Creator.canvas({ width: Math.round(width), height: Math.round(height), pixelRatio, smooth, contextSettings });
|
|
10298
|
-
let sliceLeaf;
|
|
10299
|
-
if (slice) {
|
|
10300
|
-
sliceLeaf = leaf;
|
|
10301
|
-
sliceLeaf.__worldOpacity = 0;
|
|
10302
|
-
leaf = leafer;
|
|
10303
|
-
renderOptions.bounds = canvas.bounds;
|
|
10304
|
-
}
|
|
10305
|
-
canvas.save();
|
|
10306
|
-
if (isFrame && fill !== undefined) {
|
|
10307
|
-
const oldFill = leaf.get('fill');
|
|
10308
|
-
leaf.fill = '';
|
|
10309
|
-
leaf.__render(canvas, renderOptions);
|
|
10310
|
-
leaf.fill = oldFill;
|
|
10311
|
-
}
|
|
10312
|
-
else {
|
|
10313
|
-
leaf.__render(canvas, renderOptions);
|
|
10314
|
-
}
|
|
10315
|
-
canvas.restore();
|
|
10316
|
-
if (sliceLeaf)
|
|
10317
|
-
sliceLeaf.__updateWorldOpacity();
|
|
10318
|
-
if (trim) {
|
|
10319
|
-
trimBounds = getTrimBounds(canvas);
|
|
10320
|
-
const old = canvas, { width, height } = trimBounds;
|
|
10321
|
-
const config = { x: 0, y: 0, width, height, pixelRatio };
|
|
10322
|
-
canvas = Creator.canvas(config);
|
|
10323
|
-
canvas.copyWorld(old, trimBounds, config);
|
|
10324
|
-
}
|
|
10325
|
-
if (needFill)
|
|
10326
|
-
canvas.fillWorld(canvas.bounds, fill || '#FFFFFF', 'destination-over');
|
|
10327
|
-
if (onCanvas)
|
|
10328
|
-
onCanvas(canvas);
|
|
10329
|
-
const data = filename === 'canvas' ? canvas : yield canvas.export(filename, options);
|
|
10330
|
-
over({ data, width: canvas.pixelWidth, height: canvas.pixelHeight, renderBounds, trimBounds });
|
|
10331
|
-
}));
|
|
10332
|
-
}
|
|
10333
|
-
else {
|
|
10334
|
-
over({ data: false });
|
|
10335
|
-
}
|
|
10336
|
-
}));
|
|
10337
|
-
}
|
|
10338
|
-
};
|
|
10339
|
-
let tasker;
|
|
10340
|
-
function addTask(task) {
|
|
10341
|
-
if (!tasker)
|
|
10342
|
-
tasker = new TaskProcessor();
|
|
10343
|
-
return new Promise((resolve) => {
|
|
10344
|
-
tasker.add(() => __awaiter(this, void 0, void 0, function* () { return yield task(resolve); }), { parallel: false });
|
|
10345
|
-
});
|
|
10346
|
-
}
|
|
10347
|
-
function checkLazy(leaf) {
|
|
10348
|
-
if (leaf.__.__needComputePaint)
|
|
10349
|
-
leaf.__.__computePaint();
|
|
10350
|
-
if (leaf.isBranch)
|
|
10351
|
-
leaf.children.forEach(child => checkLazy(child));
|
|
10352
|
-
}
|
|
10353
|
-
|
|
10354
|
-
const canvas = LeaferCanvasBase.prototype;
|
|
10355
|
-
const debug = Debug.get('@leafer-ui/export');
|
|
10356
|
-
canvas.export = function (filename, options) {
|
|
10357
|
-
const { quality, blob } = FileHelper.getExportOptions(options);
|
|
10358
|
-
if (filename.includes('.'))
|
|
10359
|
-
return this.saveAs(filename, quality);
|
|
10360
|
-
else if (blob)
|
|
10361
|
-
return this.toBlob(filename, quality);
|
|
10362
|
-
else
|
|
10363
|
-
return this.toDataURL(filename, quality);
|
|
10364
|
-
};
|
|
10365
|
-
canvas.toBlob = function (type, quality) {
|
|
10366
|
-
return new Promise((resolve) => {
|
|
10367
|
-
Platform.origin.canvasToBolb(this.view, type, quality).then((blob) => {
|
|
10368
|
-
resolve(blob);
|
|
10369
|
-
}).catch((e) => {
|
|
10370
|
-
debug.error(e);
|
|
10371
|
-
resolve(null);
|
|
10372
|
-
});
|
|
10373
|
-
});
|
|
10374
|
-
};
|
|
10375
|
-
canvas.toDataURL = function (type, quality) {
|
|
10376
|
-
return Platform.origin.canvasToDataURL(this.view, type, quality);
|
|
10377
|
-
};
|
|
10378
|
-
canvas.saveAs = function (filename, quality) {
|
|
10379
|
-
return new Promise((resolve) => {
|
|
10380
|
-
Platform.origin.canvasSaveAs(this.view, filename, quality).then(() => {
|
|
10381
|
-
resolve(true);
|
|
10382
|
-
}).catch((e) => {
|
|
10383
|
-
debug.error(e);
|
|
10384
|
-
resolve(false);
|
|
10385
|
-
});
|
|
10386
|
-
});
|
|
10387
|
-
};
|
|
10388
|
-
|
|
10389
10211
|
Object.assign(TextConvert, TextConvertModule);
|
|
10390
10212
|
Object.assign(ColorConvert, ColorConvertModule);
|
|
10391
10213
|
Object.assign(Paint, PaintModule);
|
|
10392
10214
|
Object.assign(PaintImage, PaintImageModule);
|
|
10393
10215
|
Object.assign(PaintGradient, PaintGradientModule);
|
|
10394
10216
|
Object.assign(Effect, EffectModule);
|
|
10395
|
-
Object.assign(Export, ExportModule);
|
|
10396
10217
|
|
|
10397
10218
|
try {
|
|
10398
10219
|
if (wx)
|