@leafer-draw/worker 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/worker.cjs +13 -197
- package/dist/worker.esm.js +14 -198
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.js +105 -283
- package/dist/worker.min.cjs +1 -1
- package/dist/worker.min.js +1 -1
- package/dist/worker.module.js +105 -283
- package/dist/worker.module.min.js +1 -1
- package/package.json +7 -6
package/dist/worker.js
CHANGED
|
@@ -768,8 +768,8 @@ var LeaferUI = (function (exports) {
|
|
|
768
768
|
t.maxY = y > t.maxY ? y : t.maxY;
|
|
769
769
|
},
|
|
770
770
|
addBounds(t, x, y, width, height) {
|
|
771
|
-
addPoint$
|
|
772
|
-
addPoint$
|
|
771
|
+
addPoint$3(t, x, y);
|
|
772
|
+
addPoint$3(t, x + width, y + height);
|
|
773
773
|
},
|
|
774
774
|
copy(t, pb) {
|
|
775
775
|
t.minX = pb.minX;
|
|
@@ -790,9 +790,9 @@ var LeaferUI = (function (exports) {
|
|
|
790
790
|
setBounds.height = t.maxY - t.minY;
|
|
791
791
|
}
|
|
792
792
|
};
|
|
793
|
-
const { addPoint: addPoint$
|
|
793
|
+
const { addPoint: addPoint$3 } = TwoPointBoundsHelper;
|
|
794
794
|
|
|
795
|
-
const { tempPointBounds: tempPointBounds$1, setPoint: setPoint$
|
|
795
|
+
const { tempPointBounds: tempPointBounds$1, setPoint: setPoint$2, addPoint: addPoint$2, toBounds: toBounds$3 } = TwoPointBoundsHelper;
|
|
796
796
|
const { toOuterPoint: toOuterPoint$2 } = MatrixHelper;
|
|
797
797
|
const { float, fourNumber } = MathHelper;
|
|
798
798
|
const { floor, ceil: ceil$2 } = Math;
|
|
@@ -908,17 +908,17 @@ var LeaferUI = (function (exports) {
|
|
|
908
908
|
point.x = t.x;
|
|
909
909
|
point.y = t.y;
|
|
910
910
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
911
|
-
setPoint$
|
|
911
|
+
setPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
912
912
|
point.x = t.x + t.width;
|
|
913
913
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
914
|
-
addPoint$
|
|
914
|
+
addPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
915
915
|
point.y = t.y + t.height;
|
|
916
916
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
917
|
-
addPoint$
|
|
917
|
+
addPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
918
918
|
point.x = t.x;
|
|
919
919
|
toOuterPoint$2(matrix, point, toPoint$5);
|
|
920
|
-
addPoint$
|
|
921
|
-
toBounds$
|
|
920
|
+
addPoint$2(tempPointBounds$1, toPoint$5.x, toPoint$5.y);
|
|
921
|
+
toBounds$3(tempPointBounds$1, to);
|
|
922
922
|
}
|
|
923
923
|
},
|
|
924
924
|
toInnerOf(t, matrix, to) {
|
|
@@ -1008,8 +1008,8 @@ var LeaferUI = (function (exports) {
|
|
|
1008
1008
|
B.reset(t);
|
|
1009
1009
|
},
|
|
1010
1010
|
setPoints(t, points) {
|
|
1011
|
-
points.forEach((point, index) => index === 0 ? setPoint$
|
|
1012
|
-
toBounds$
|
|
1011
|
+
points.forEach((point, index) => index === 0 ? setPoint$2(tempPointBounds$1, point.x, point.y) : addPoint$2(tempPointBounds$1, point.x, point.y));
|
|
1012
|
+
toBounds$3(tempPointBounds$1, t);
|
|
1013
1013
|
},
|
|
1014
1014
|
setPoint(t, point) {
|
|
1015
1015
|
B.set(t, point.x, point.y);
|
|
@@ -1377,7 +1377,7 @@ var LeaferUI = (function (exports) {
|
|
|
1377
1377
|
}
|
|
1378
1378
|
const D$4 = Debug;
|
|
1379
1379
|
|
|
1380
|
-
const debug$
|
|
1380
|
+
const debug$d = Debug.get('RunTime');
|
|
1381
1381
|
const Run = {
|
|
1382
1382
|
currentId: 0,
|
|
1383
1383
|
currentName: '',
|
|
@@ -1395,7 +1395,7 @@ var LeaferUI = (function (exports) {
|
|
|
1395
1395
|
const time = R.idMap[id], name = R.nameMap[id];
|
|
1396
1396
|
const duration = microsecond ? (performance.now() - time) / 1000 : Date.now() - time;
|
|
1397
1397
|
R.idMap[id] = R.nameMap[id] = R.nameToIdMap[name] = undefined;
|
|
1398
|
-
debug$
|
|
1398
|
+
debug$d.log(name, duration, 'ms');
|
|
1399
1399
|
},
|
|
1400
1400
|
endOfName(name, microsecond) {
|
|
1401
1401
|
const id = R.nameToIdMap[name];
|
|
@@ -1405,34 +1405,37 @@ var LeaferUI = (function (exports) {
|
|
|
1405
1405
|
};
|
|
1406
1406
|
const R = Run;
|
|
1407
1407
|
|
|
1408
|
+
const check = [];
|
|
1408
1409
|
const Plugin = {
|
|
1409
1410
|
list: {},
|
|
1410
|
-
add(name) {
|
|
1411
|
+
add(name, ...needPlugins) {
|
|
1411
1412
|
this.list[name] = true;
|
|
1413
|
+
check.push(...needPlugins);
|
|
1412
1414
|
},
|
|
1413
|
-
|
|
1415
|
+
has(name, tip) {
|
|
1414
1416
|
const rs = this.list[name];
|
|
1415
1417
|
if (!rs && tip)
|
|
1416
1418
|
this.need(name);
|
|
1417
1419
|
return rs;
|
|
1418
1420
|
},
|
|
1419
1421
|
need(name) {
|
|
1420
|
-
console.error('need plugin: @leafer-in/' + name);
|
|
1422
|
+
console.error('need plugin: ' + (name.includes('-x') ? '' : '@leafer-in/') + name);
|
|
1421
1423
|
}
|
|
1422
1424
|
};
|
|
1425
|
+
setTimeout(() => check.forEach(name => Plugin.has(name, true)));
|
|
1423
1426
|
|
|
1424
|
-
const debug$
|
|
1427
|
+
const debug$c = Debug.get('UICreator');
|
|
1425
1428
|
const UICreator = {
|
|
1426
1429
|
list: {},
|
|
1427
1430
|
register(UI) {
|
|
1428
1431
|
const { __tag: tag } = UI.prototype;
|
|
1429
1432
|
if (list$1[tag])
|
|
1430
|
-
debug$
|
|
1433
|
+
debug$c.repeat(tag);
|
|
1431
1434
|
list$1[tag] = UI;
|
|
1432
1435
|
},
|
|
1433
1436
|
get(tag, data, x, y, width, height) {
|
|
1434
1437
|
if (!list$1[tag])
|
|
1435
|
-
debug$
|
|
1438
|
+
debug$c.error('not register ' + tag);
|
|
1436
1439
|
const ui = new list$1[tag](data);
|
|
1437
1440
|
if (x !== undefined) {
|
|
1438
1441
|
ui.x = x;
|
|
@@ -1448,7 +1451,7 @@ var LeaferUI = (function (exports) {
|
|
|
1448
1451
|
};
|
|
1449
1452
|
const { list: list$1 } = UICreator;
|
|
1450
1453
|
|
|
1451
|
-
const debug$
|
|
1454
|
+
const debug$b = Debug.get('EventCreator');
|
|
1452
1455
|
const EventCreator = {
|
|
1453
1456
|
nameList: {},
|
|
1454
1457
|
register(Event) {
|
|
@@ -1456,7 +1459,7 @@ var LeaferUI = (function (exports) {
|
|
|
1456
1459
|
Object.keys(Event).forEach(key => {
|
|
1457
1460
|
name = Event[key];
|
|
1458
1461
|
if (typeof name === 'string')
|
|
1459
|
-
nameList[name] && debug$
|
|
1462
|
+
nameList[name] && debug$b.repeat(name), nameList[name] = Event;
|
|
1460
1463
|
});
|
|
1461
1464
|
},
|
|
1462
1465
|
changeName(oldName, newName) {
|
|
@@ -2345,7 +2348,7 @@ var LeaferUI = (function (exports) {
|
|
|
2345
2348
|
};
|
|
2346
2349
|
|
|
2347
2350
|
const { sin: sin$3, cos: cos$3, atan2: atan2$1, ceil: ceil$1, abs: abs$3, PI: PI$2, sqrt: sqrt$1, pow } = Math;
|
|
2348
|
-
const { setPoint: setPoint$
|
|
2351
|
+
const { setPoint: setPoint$1, addPoint: addPoint$1 } = TwoPointBoundsHelper;
|
|
2349
2352
|
const { set, toNumberPoints } = PointHelper;
|
|
2350
2353
|
const { M: M$5, L: L$6, C: C$5, Q: Q$4, Z: Z$5 } = PathCommandMap;
|
|
2351
2354
|
const tempPoint$2 = {};
|
|
@@ -2421,8 +2424,8 @@ var LeaferUI = (function (exports) {
|
|
|
2421
2424
|
if (data)
|
|
2422
2425
|
data.push(L$6, x1, y1);
|
|
2423
2426
|
if (setPointBounds) {
|
|
2424
|
-
setPoint$
|
|
2425
|
-
addPoint$
|
|
2427
|
+
setPoint$1(setPointBounds, fromX, fromY);
|
|
2428
|
+
addPoint$1(setPointBounds, x1, y1);
|
|
2426
2429
|
}
|
|
2427
2430
|
if (setStartPoint)
|
|
2428
2431
|
set(setStartPoint, fromX, fromY);
|
|
@@ -2474,7 +2477,7 @@ var LeaferUI = (function (exports) {
|
|
|
2474
2477
|
if (data)
|
|
2475
2478
|
data.push(data.length ? L$6 : M$5, fromX, fromY);
|
|
2476
2479
|
if (setPointBounds)
|
|
2477
|
-
setPoint$
|
|
2480
|
+
setPoint$1(setPointBounds, fromX, fromY);
|
|
2478
2481
|
if (setStartPoint)
|
|
2479
2482
|
set(setStartPoint, fromX, fromY);
|
|
2480
2483
|
for (let i = 0; i < parts; i++) {
|
|
@@ -2536,11 +2539,11 @@ var LeaferUI = (function (exports) {
|
|
|
2536
2539
|
if (0 < t2 && t2 < 1)
|
|
2537
2540
|
tList.push(t2);
|
|
2538
2541
|
}
|
|
2539
|
-
addMode ? addPoint$
|
|
2540
|
-
addPoint$
|
|
2542
|
+
addMode ? addPoint$1(pointBounds, fromX, fromY) : setPoint$1(pointBounds, fromX, fromY);
|
|
2543
|
+
addPoint$1(pointBounds, toX, toY);
|
|
2541
2544
|
for (let i = 0, len = tList.length; i < len; i++) {
|
|
2542
2545
|
getPointAndSet(tList[i], fromX, fromY, x1, y1, x2, y2, toX, toY, tempPoint$2);
|
|
2543
|
-
addPoint$
|
|
2546
|
+
addPoint$1(pointBounds, tempPoint$2.x, tempPoint$2.y);
|
|
2544
2547
|
}
|
|
2545
2548
|
},
|
|
2546
2549
|
getPointAndSet(t, fromX, fromY, x1, y1, x2, y2, toX, toY, setPoint) {
|
|
@@ -2612,7 +2615,7 @@ var LeaferUI = (function (exports) {
|
|
|
2612
2615
|
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;
|
|
2613
2616
|
const { rect: rect$2, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1 } = BezierHelper;
|
|
2614
2617
|
const { ellipticalArc } = EllipseHelper;
|
|
2615
|
-
const debug$
|
|
2618
|
+
const debug$a = Debug.get('PathConvert');
|
|
2616
2619
|
const setEndPoint$1 = {};
|
|
2617
2620
|
const PathConvert = {
|
|
2618
2621
|
current: { dot: 0 },
|
|
@@ -2853,7 +2856,7 @@ var LeaferUI = (function (exports) {
|
|
|
2853
2856
|
i += 6;
|
|
2854
2857
|
break;
|
|
2855
2858
|
default:
|
|
2856
|
-
debug$
|
|
2859
|
+
debug$a.error(`command: ${command} [index:${i}]`, old);
|
|
2857
2860
|
return data;
|
|
2858
2861
|
}
|
|
2859
2862
|
lastCommand = command;
|
|
@@ -3078,7 +3081,7 @@ var LeaferUI = (function (exports) {
|
|
|
3078
3081
|
}
|
|
3079
3082
|
|
|
3080
3083
|
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;
|
|
3081
|
-
const debug$
|
|
3084
|
+
const debug$9 = Debug.get('PathDrawer');
|
|
3082
3085
|
const PathDrawer = {
|
|
3083
3086
|
drawPathByData(drawer, data) {
|
|
3084
3087
|
if (!data)
|
|
@@ -3141,7 +3144,7 @@ var LeaferUI = (function (exports) {
|
|
|
3141
3144
|
i += 6;
|
|
3142
3145
|
break;
|
|
3143
3146
|
default:
|
|
3144
|
-
debug$
|
|
3147
|
+
debug$9.error(`command: ${command} [index:${i}]`, data);
|
|
3145
3148
|
return;
|
|
3146
3149
|
}
|
|
3147
3150
|
}
|
|
@@ -3150,8 +3153,8 @@ var LeaferUI = (function (exports) {
|
|
|
3150
3153
|
|
|
3151
3154
|
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;
|
|
3152
3155
|
const { toTwoPointBounds, toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc, ellipse: ellipse$1 } = BezierHelper;
|
|
3153
|
-
const { addPointBounds, copy: copy$7, addPoint
|
|
3154
|
-
const debug$
|
|
3156
|
+
const { addPointBounds, copy: copy$7, addPoint, setPoint, addBounds, toBounds: toBounds$2 } = TwoPointBoundsHelper;
|
|
3157
|
+
const debug$8 = Debug.get('PathBounds');
|
|
3155
3158
|
let radius, radiusX, radiusY;
|
|
3156
3159
|
const tempPointBounds = {};
|
|
3157
3160
|
const setPointBounds = {};
|
|
@@ -3159,21 +3162,21 @@ var LeaferUI = (function (exports) {
|
|
|
3159
3162
|
const PathBounds = {
|
|
3160
3163
|
toBounds(data, setBounds) {
|
|
3161
3164
|
PathBounds.toTwoPointBounds(data, setPointBounds);
|
|
3162
|
-
toBounds$
|
|
3165
|
+
toBounds$2(setPointBounds, setBounds);
|
|
3163
3166
|
},
|
|
3164
3167
|
toTwoPointBounds(data, setPointBounds) {
|
|
3165
3168
|
if (!data || !data.length)
|
|
3166
|
-
return setPoint
|
|
3169
|
+
return setPoint(setPointBounds, 0, 0);
|
|
3167
3170
|
let i = 0, x = 0, y = 0, x1, y1, toX, toY, command;
|
|
3168
3171
|
const len = data.length;
|
|
3169
3172
|
while (i < len) {
|
|
3170
3173
|
command = data[i];
|
|
3171
3174
|
if (i === 0) {
|
|
3172
3175
|
if (command === Z$1 || command === C$1 || command === Q) {
|
|
3173
|
-
setPoint
|
|
3176
|
+
setPoint(setPointBounds, x, y);
|
|
3174
3177
|
}
|
|
3175
3178
|
else {
|
|
3176
|
-
setPoint
|
|
3179
|
+
setPoint(setPointBounds, data[i + 1], data[i + 2]);
|
|
3177
3180
|
}
|
|
3178
3181
|
}
|
|
3179
3182
|
switch (command) {
|
|
@@ -3181,7 +3184,7 @@ var LeaferUI = (function (exports) {
|
|
|
3181
3184
|
case L$2:
|
|
3182
3185
|
x = data[i + 1];
|
|
3183
3186
|
y = data[i + 2];
|
|
3184
|
-
addPoint
|
|
3187
|
+
addPoint(setPointBounds, x, y);
|
|
3185
3188
|
i += 3;
|
|
3186
3189
|
break;
|
|
3187
3190
|
case C$1:
|
|
@@ -3259,7 +3262,7 @@ var LeaferUI = (function (exports) {
|
|
|
3259
3262
|
i += 6;
|
|
3260
3263
|
break;
|
|
3261
3264
|
default:
|
|
3262
|
-
debug$
|
|
3265
|
+
debug$8.error(`command: ${command} [index:${i}]`, data);
|
|
3263
3266
|
return;
|
|
3264
3267
|
}
|
|
3265
3268
|
}
|
|
@@ -3375,7 +3378,7 @@ var LeaferUI = (function (exports) {
|
|
|
3375
3378
|
const F = FileHelper;
|
|
3376
3379
|
F.opacityTypes.forEach(type => F.upperCaseTypeMap[type] = type.toUpperCase());
|
|
3377
3380
|
|
|
3378
|
-
const debug$
|
|
3381
|
+
const debug$7 = Debug.get('TaskProcessor');
|
|
3379
3382
|
class TaskItem {
|
|
3380
3383
|
constructor(task) {
|
|
3381
3384
|
this.parallel = true;
|
|
@@ -3390,7 +3393,7 @@ var LeaferUI = (function (exports) {
|
|
|
3390
3393
|
yield this.task();
|
|
3391
3394
|
}
|
|
3392
3395
|
catch (error) {
|
|
3393
|
-
debug$
|
|
3396
|
+
debug$7.error(error);
|
|
3394
3397
|
}
|
|
3395
3398
|
});
|
|
3396
3399
|
}
|
|
@@ -4077,7 +4080,7 @@ var LeaferUI = (function (exports) {
|
|
|
4077
4080
|
defineKey(data, key, property);
|
|
4078
4081
|
}
|
|
4079
4082
|
|
|
4080
|
-
const debug$
|
|
4083
|
+
const debug$6 = new Debug('rewrite');
|
|
4081
4084
|
const list = [];
|
|
4082
4085
|
const excludeNames = ['destroy', 'constructor'];
|
|
4083
4086
|
function rewrite(method) {
|
|
@@ -4094,7 +4097,7 @@ var LeaferUI = (function (exports) {
|
|
|
4094
4097
|
if (list.length) {
|
|
4095
4098
|
list.forEach(item => {
|
|
4096
4099
|
if (error)
|
|
4097
|
-
debug$
|
|
4100
|
+
debug$6.error(item.name, '需在Class上装饰@rewriteAble()');
|
|
4098
4101
|
item.run();
|
|
4099
4102
|
});
|
|
4100
4103
|
list.length = 0;
|
|
@@ -4811,7 +4814,6 @@ var LeaferUI = (function (exports) {
|
|
|
4811
4814
|
}
|
|
4812
4815
|
}
|
|
4813
4816
|
}
|
|
4814
|
-
LayoutEvent.CHECK_UPDATE = 'layout.check_update';
|
|
4815
4817
|
LayoutEvent.REQUEST = 'layout.request';
|
|
4816
4818
|
LayoutEvent.START = 'layout.start';
|
|
4817
4819
|
LayoutEvent.BEFORE = 'layout.before';
|
|
@@ -5006,13 +5008,13 @@ var LeaferUI = (function (exports) {
|
|
|
5006
5008
|
const LeafEventer = { on, on_, off, off_, once, emit: emit$1, emitEvent, hasEvent, destroyEventer: destroy };
|
|
5007
5009
|
|
|
5008
5010
|
const { isFinite } = Number;
|
|
5009
|
-
const debug$
|
|
5011
|
+
const debug$5 = Debug.get('setAttr');
|
|
5010
5012
|
const LeafDataProxy = {
|
|
5011
5013
|
__setAttr(name, newValue, checkFiniteNumber) {
|
|
5012
5014
|
if (this.leaferIsCreated) {
|
|
5013
5015
|
const oldValue = this.__.__getInput(name);
|
|
5014
5016
|
if (checkFiniteNumber && !isFinite(newValue) && newValue !== undefined) {
|
|
5015
|
-
debug$
|
|
5017
|
+
debug$5.warn(this.innerName, name, newValue);
|
|
5016
5018
|
newValue = undefined;
|
|
5017
5019
|
}
|
|
5018
5020
|
if (typeof newValue === 'object' || oldValue !== newValue) {
|
|
@@ -5082,7 +5084,7 @@ var LeaferUI = (function (exports) {
|
|
|
5082
5084
|
const { updateMatrix: updateMatrix$1, updateAllMatrix: updateAllMatrix$2 } = LeafHelper;
|
|
5083
5085
|
const { updateBounds: updateBounds$1 } = BranchHelper;
|
|
5084
5086
|
const { toOuterOf: toOuterOf$1, copyAndSpread: copyAndSpread$1, copy: copy$4 } = BoundsHelper;
|
|
5085
|
-
const { toBounds: toBounds$
|
|
5087
|
+
const { toBounds: toBounds$1 } = PathBounds;
|
|
5086
5088
|
const LeafBounds = {
|
|
5087
5089
|
__updateWorldBounds() {
|
|
5088
5090
|
toOuterOf$1(this.__layout.renderBounds, this.__world, this.__world);
|
|
@@ -5164,7 +5166,7 @@ var LeaferUI = (function (exports) {
|
|
|
5164
5166
|
const b = this.__layout.boxBounds;
|
|
5165
5167
|
const data = this.__;
|
|
5166
5168
|
if (data.__pathInputed) {
|
|
5167
|
-
toBounds$
|
|
5169
|
+
toBounds$1(data.path, b);
|
|
5168
5170
|
}
|
|
5169
5171
|
else {
|
|
5170
5172
|
b.x = 0;
|
|
@@ -5712,7 +5714,7 @@ var LeaferUI = (function (exports) {
|
|
|
5712
5714
|
const { setListWithFn } = BoundsHelper;
|
|
5713
5715
|
const { sort } = BranchHelper;
|
|
5714
5716
|
const { localBoxBounds, localStrokeBounds, localRenderBounds, maskLocalBoxBounds, maskLocalStrokeBounds, maskLocalRenderBounds } = LeafBoundsHelper;
|
|
5715
|
-
const debug$
|
|
5717
|
+
const debug$4 = new Debug('Branch');
|
|
5716
5718
|
exports.Branch = class Branch extends exports.Leaf {
|
|
5717
5719
|
__updateStrokeSpread() {
|
|
5718
5720
|
const { children } = this;
|
|
@@ -5754,7 +5756,7 @@ var LeaferUI = (function (exports) {
|
|
|
5754
5756
|
}
|
|
5755
5757
|
add(child, index) {
|
|
5756
5758
|
if (child === this || child.destroyed)
|
|
5757
|
-
return debug$
|
|
5759
|
+
return debug$4.warn('add self or destroyed');
|
|
5758
5760
|
const noIndex = index === undefined;
|
|
5759
5761
|
if (!child.__) {
|
|
5760
5762
|
if (child instanceof Array)
|
|
@@ -6008,7 +6010,7 @@ var LeaferUI = (function (exports) {
|
|
|
6008
6010
|
}
|
|
6009
6011
|
}
|
|
6010
6012
|
|
|
6011
|
-
const version = "1.
|
|
6013
|
+
const version = "1.3.0";
|
|
6012
6014
|
|
|
6013
6015
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6014
6016
|
get allowBackgroundColor() { return true; }
|
|
@@ -6076,6 +6078,7 @@ var LeaferUI = (function (exports) {
|
|
|
6076
6078
|
}
|
|
6077
6079
|
Platform.name = 'web';
|
|
6078
6080
|
Platform.isWorker = true;
|
|
6081
|
+
Platform.backgrounder = true;
|
|
6079
6082
|
Platform.requestRender = function (render) { requestAnimationFrame(render); };
|
|
6080
6083
|
defineKey(Platform, 'devicePixelRatio', { get() { return 1; } });
|
|
6081
6084
|
const { userAgent } = navigator;
|
|
@@ -6282,7 +6285,7 @@ var LeaferUI = (function (exports) {
|
|
|
6282
6285
|
}
|
|
6283
6286
|
|
|
6284
6287
|
const { updateAllMatrix, updateAllChange } = LeafHelper;
|
|
6285
|
-
const debug$
|
|
6288
|
+
const debug$3 = Debug.get('Layouter');
|
|
6286
6289
|
class Layouter {
|
|
6287
6290
|
constructor(target, userConfig) {
|
|
6288
6291
|
this.totalTimes = 0;
|
|
@@ -6317,7 +6320,7 @@ var LeaferUI = (function (exports) {
|
|
|
6317
6320
|
target.emitEvent(new LayoutEvent(LayoutEvent.END, this.layoutedBlocks, this.times));
|
|
6318
6321
|
}
|
|
6319
6322
|
catch (e) {
|
|
6320
|
-
debug$
|
|
6323
|
+
debug$3.error(e);
|
|
6321
6324
|
}
|
|
6322
6325
|
this.layoutedBlocks = null;
|
|
6323
6326
|
}
|
|
@@ -6331,9 +6334,9 @@ var LeaferUI = (function (exports) {
|
|
|
6331
6334
|
}
|
|
6332
6335
|
layoutOnce() {
|
|
6333
6336
|
if (this.layouting)
|
|
6334
|
-
return debug$
|
|
6337
|
+
return debug$3.warn('layouting');
|
|
6335
6338
|
if (this.times > 3)
|
|
6336
|
-
return debug$
|
|
6339
|
+
return debug$3.warn('layout max times');
|
|
6337
6340
|
this.times++;
|
|
6338
6341
|
this.totalTimes++;
|
|
6339
6342
|
this.layouting = true;
|
|
@@ -6437,7 +6440,7 @@ var LeaferUI = (function (exports) {
|
|
|
6437
6440
|
}
|
|
6438
6441
|
}
|
|
6439
6442
|
|
|
6440
|
-
const debug$
|
|
6443
|
+
const debug$2 = Debug.get('Renderer');
|
|
6441
6444
|
class Renderer {
|
|
6442
6445
|
get needFill() { return !!(!this.canvas.allowBackgroundColor && this.config.fill); }
|
|
6443
6446
|
constructor(target, canvas, userConfig) {
|
|
@@ -6475,7 +6478,7 @@ var LeaferUI = (function (exports) {
|
|
|
6475
6478
|
const { target } = this;
|
|
6476
6479
|
this.times = 0;
|
|
6477
6480
|
this.totalBounds = new Bounds();
|
|
6478
|
-
debug$
|
|
6481
|
+
debug$2.log(target.innerName, '--->');
|
|
6479
6482
|
try {
|
|
6480
6483
|
if (!target.isApp)
|
|
6481
6484
|
target.app.emit(RenderEvent.CHILD_START, target);
|
|
@@ -6486,9 +6489,9 @@ var LeaferUI = (function (exports) {
|
|
|
6486
6489
|
}
|
|
6487
6490
|
catch (e) {
|
|
6488
6491
|
this.rendering = false;
|
|
6489
|
-
debug$
|
|
6492
|
+
debug$2.error(e);
|
|
6490
6493
|
}
|
|
6491
|
-
debug$
|
|
6494
|
+
debug$2.log('-------------|');
|
|
6492
6495
|
}
|
|
6493
6496
|
renderAgain() {
|
|
6494
6497
|
if (this.rendering) {
|
|
@@ -6500,9 +6503,9 @@ var LeaferUI = (function (exports) {
|
|
|
6500
6503
|
}
|
|
6501
6504
|
renderOnce(callback) {
|
|
6502
6505
|
if (this.rendering)
|
|
6503
|
-
return debug$
|
|
6506
|
+
return debug$2.warn('rendering');
|
|
6504
6507
|
if (this.times > 3)
|
|
6505
|
-
return debug$
|
|
6508
|
+
return debug$2.warn('render max times');
|
|
6506
6509
|
this.times++;
|
|
6507
6510
|
this.totalTimes++;
|
|
6508
6511
|
this.rendering = true;
|
|
@@ -6539,7 +6542,7 @@ var LeaferUI = (function (exports) {
|
|
|
6539
6542
|
partRender() {
|
|
6540
6543
|
const { canvas, updateBlocks: list } = this;
|
|
6541
6544
|
if (!list)
|
|
6542
|
-
return debug$
|
|
6545
|
+
return debug$2.warn('PartRender: need update attr');
|
|
6543
6546
|
this.mergeBlocks();
|
|
6544
6547
|
list.forEach(block => { if (canvas.bounds.hit(block) && !block.isEmpty())
|
|
6545
6548
|
this.clipRender(block); });
|
|
@@ -6642,7 +6645,7 @@ var LeaferUI = (function (exports) {
|
|
|
6642
6645
|
empty = (!leaf.__world.width || !leaf.__world.height);
|
|
6643
6646
|
if (empty) {
|
|
6644
6647
|
if (!leaf.isLeafer)
|
|
6645
|
-
debug$
|
|
6648
|
+
debug$2.tip(leaf.innerName, ': empty');
|
|
6646
6649
|
empty = (!leaf.isBranch || leaf.isBranchLeaf);
|
|
6647
6650
|
}
|
|
6648
6651
|
return empty;
|
|
@@ -6744,7 +6747,7 @@ var LeaferUI = (function (exports) {
|
|
|
6744
6747
|
|
|
6745
6748
|
const { parse, objectToCanvasData } = PathConvert;
|
|
6746
6749
|
const emptyPaint = {};
|
|
6747
|
-
const debug$
|
|
6750
|
+
const debug$1 = Debug.get('UIData');
|
|
6748
6751
|
class UIData extends LeafData {
|
|
6749
6752
|
get scale() { const { scaleX, scaleY } = this; return scaleX !== scaleY ? { x: scaleX, y: scaleY } : scaleX; }
|
|
6750
6753
|
get __strokeWidth() {
|
|
@@ -6781,7 +6784,7 @@ var LeaferUI = (function (exports) {
|
|
|
6781
6784
|
if (value < 0) {
|
|
6782
6785
|
this._width = -value;
|
|
6783
6786
|
this.__leaf.scaleX *= -1;
|
|
6784
|
-
debug$
|
|
6787
|
+
debug$1.warn('width < 0, instead -scaleX ', this);
|
|
6785
6788
|
}
|
|
6786
6789
|
else
|
|
6787
6790
|
this._width = value;
|
|
@@ -6790,7 +6793,7 @@ var LeaferUI = (function (exports) {
|
|
|
6790
6793
|
if (value < 0) {
|
|
6791
6794
|
this._height = -value;
|
|
6792
6795
|
this.__leaf.scaleY *= -1;
|
|
6793
|
-
debug$
|
|
6796
|
+
debug$1.warn('height < 0, instead -scaleY', this);
|
|
6794
6797
|
}
|
|
6795
6798
|
else
|
|
6796
6799
|
this._height = value;
|
|
@@ -7167,25 +7170,27 @@ var LeaferUI = (function (exports) {
|
|
|
7167
7170
|
}
|
|
7168
7171
|
reset(_data) { }
|
|
7169
7172
|
set(data, transition) {
|
|
7170
|
-
if (
|
|
7171
|
-
if (transition
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
|
|
7173
|
+
if (data) {
|
|
7174
|
+
if (transition) {
|
|
7175
|
+
if (transition === 'temp') {
|
|
7176
|
+
this.lockNormalStyle = true;
|
|
7177
|
+
Object.assign(this, data);
|
|
7178
|
+
this.lockNormalStyle = false;
|
|
7179
|
+
}
|
|
7180
|
+
else
|
|
7181
|
+
this.animate(data, transition);
|
|
7175
7182
|
}
|
|
7176
7183
|
else
|
|
7177
|
-
|
|
7184
|
+
Object.assign(this, data);
|
|
7178
7185
|
}
|
|
7179
|
-
else
|
|
7180
|
-
Object.assign(this, data);
|
|
7181
7186
|
}
|
|
7182
7187
|
get(name) {
|
|
7183
7188
|
return typeof name === 'string' ? this.__.__getInput(name) : this.__.__getInputData(name);
|
|
7184
7189
|
}
|
|
7185
7190
|
createProxyData() { return undefined; }
|
|
7186
|
-
find(_condition, _options) { return
|
|
7191
|
+
find(_condition, _options) { return Plugin.need('find'); }
|
|
7187
7192
|
findTag(tag) { return this.find({ tag }); }
|
|
7188
|
-
findOne(_condition, _options) { return
|
|
7193
|
+
findOne(_condition, _options) { return Plugin.need('find'); }
|
|
7189
7194
|
findId(id) { return this.findOne({ id }); }
|
|
7190
7195
|
getPath(curve, pathForRender) {
|
|
7191
7196
|
this.__layout.update();
|
|
@@ -7237,9 +7242,9 @@ var LeaferUI = (function (exports) {
|
|
|
7237
7242
|
animate(_keyframe, _options, _type, _isTemp) {
|
|
7238
7243
|
return Plugin.need('animate');
|
|
7239
7244
|
}
|
|
7240
|
-
killAnimate(_type) { }
|
|
7241
|
-
export(
|
|
7242
|
-
return
|
|
7245
|
+
killAnimate(_type, _killStyle) { }
|
|
7246
|
+
export(_filename, _options) {
|
|
7247
|
+
return Plugin.need('export');
|
|
7243
7248
|
}
|
|
7244
7249
|
clone(data) {
|
|
7245
7250
|
const json = this.toJSON();
|
|
@@ -7485,16 +7490,18 @@ var LeaferUI = (function (exports) {
|
|
|
7485
7490
|
this.children = [];
|
|
7486
7491
|
}
|
|
7487
7492
|
set(data, transition) {
|
|
7488
|
-
if (data
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
|
|
7493
|
+
if (data) {
|
|
7494
|
+
if (data.children) {
|
|
7495
|
+
const { children } = data;
|
|
7496
|
+
delete data.children;
|
|
7497
|
+
this.children ? this.clear() : this.__setBranch();
|
|
7498
|
+
super.set(data, transition);
|
|
7499
|
+
children.forEach(child => this.add(child));
|
|
7500
|
+
data.children = children;
|
|
7501
|
+
}
|
|
7502
|
+
else
|
|
7503
|
+
super.set(data, transition);
|
|
7495
7504
|
}
|
|
7496
|
-
else
|
|
7497
|
-
super.set(data, transition);
|
|
7498
7505
|
}
|
|
7499
7506
|
toJSON(options) {
|
|
7500
7507
|
const data = super.toJSON(options);
|
|
@@ -7526,7 +7533,7 @@ var LeaferUI = (function (exports) {
|
|
|
7526
7533
|
], exports.Group);
|
|
7527
7534
|
|
|
7528
7535
|
var Leafer_1;
|
|
7529
|
-
const debug
|
|
7536
|
+
const debug = Debug.get('Leafer');
|
|
7530
7537
|
exports.Leafer = Leafer_1 = class Leafer extends exports.Group {
|
|
7531
7538
|
get __tag() { return 'Leafer'; }
|
|
7532
7539
|
get isApp() { return false; }
|
|
@@ -7691,7 +7698,7 @@ var LeaferUI = (function (exports) {
|
|
|
7691
7698
|
if (this.canvas) {
|
|
7692
7699
|
if (canvasSizeAttrs.includes(attrName)) {
|
|
7693
7700
|
if (!newValue)
|
|
7694
|
-
debug
|
|
7701
|
+
debug.warn(attrName + ' is 0');
|
|
7695
7702
|
this.__changeCanvasSize(attrName, newValue);
|
|
7696
7703
|
}
|
|
7697
7704
|
else if (attrName === 'fill') {
|
|
@@ -7832,9 +7839,6 @@ var LeaferUI = (function (exports) {
|
|
|
7832
7839
|
this.canvas && this.canvas.updateClientBounds();
|
|
7833
7840
|
}
|
|
7834
7841
|
receiveEvent(_event) { }
|
|
7835
|
-
__checkUpdateLayout() {
|
|
7836
|
-
this.__layout.update();
|
|
7837
|
-
}
|
|
7838
7842
|
emitLeafer(type) {
|
|
7839
7843
|
this.emitEvent(new LeaferEvent(type, this));
|
|
7840
7844
|
}
|
|
@@ -7845,7 +7849,7 @@ var LeaferUI = (function (exports) {
|
|
|
7845
7849
|
this.once(LayoutEvent.END, () => this.__onReady());
|
|
7846
7850
|
this.once(RenderEvent.START, () => this.__onCreated());
|
|
7847
7851
|
this.once(RenderEvent.END, () => this.__onViewReady());
|
|
7848
|
-
this.__eventIds.push(this.on_(WatchEvent.DATA, this.__onWatchData, this), this.on_(RenderEvent.NEXT, this.__onNextRender, this)
|
|
7852
|
+
this.__eventIds.push(this.on_(WatchEvent.DATA, this.__onWatchData, this), this.on_(RenderEvent.NEXT, this.__onNextRender, this));
|
|
7849
7853
|
}
|
|
7850
7854
|
__removeListenEvents() {
|
|
7851
7855
|
this.off_(this.__eventIds);
|
|
@@ -7876,7 +7880,7 @@ var LeaferUI = (function (exports) {
|
|
|
7876
7880
|
setTimeout(() => { ImageManager.clearRecycled(); }, 100);
|
|
7877
7881
|
}
|
|
7878
7882
|
catch (e) {
|
|
7879
|
-
debug
|
|
7883
|
+
debug.error(e);
|
|
7880
7884
|
}
|
|
7881
7885
|
}
|
|
7882
7886
|
};
|
|
@@ -8105,7 +8109,7 @@ var LeaferUI = (function (exports) {
|
|
|
8105
8109
|
|
|
8106
8110
|
const { moveTo: moveTo$2, lineTo: lineTo$2, drawPoints: drawPoints$1 } = PathCommandDataHelper;
|
|
8107
8111
|
const { rotate: rotate$1, getAngle: getAngle$1, getDistance: getDistance$2, defaultPoint } = PointHelper;
|
|
8108
|
-
const { toBounds
|
|
8112
|
+
const { toBounds } = PathBounds;
|
|
8109
8113
|
exports.Line = class Line extends exports.UI {
|
|
8110
8114
|
get __tag() { return 'Line'; }
|
|
8111
8115
|
get toPoint() {
|
|
@@ -8149,7 +8153,7 @@ var LeaferUI = (function (exports) {
|
|
|
8149
8153
|
}
|
|
8150
8154
|
__updateBoxBounds() {
|
|
8151
8155
|
if (this.points) {
|
|
8152
|
-
toBounds
|
|
8156
|
+
toBounds(this.__.__pathForRender, this.__layout.boxBounds);
|
|
8153
8157
|
}
|
|
8154
8158
|
else
|
|
8155
8159
|
super.__updateBoxBounds();
|
|
@@ -8501,6 +8505,9 @@ var LeaferUI = (function (exports) {
|
|
|
8501
8505
|
__decorate([
|
|
8502
8506
|
boundsType(0)
|
|
8503
8507
|
], exports.Text.prototype, "paraSpacing", void 0);
|
|
8508
|
+
__decorate([
|
|
8509
|
+
boundsType('x')
|
|
8510
|
+
], exports.Text.prototype, "writingMode", void 0);
|
|
8504
8511
|
__decorate([
|
|
8505
8512
|
boundsType('left')
|
|
8506
8513
|
], exports.Text.prototype, "textAlign", void 0);
|
|
@@ -10065,197 +10072,12 @@ var LeaferUI = (function (exports) {
|
|
|
10065
10072
|
string
|
|
10066
10073
|
};
|
|
10067
10074
|
|
|
10068
|
-
const { setPoint, addPoint, toBounds } = TwoPointBoundsHelper;
|
|
10069
|
-
function getTrimBounds(canvas) {
|
|
10070
|
-
const { width, height } = canvas.view;
|
|
10071
|
-
const { data } = canvas.context.getImageData(0, 0, width, height);
|
|
10072
|
-
let x, y, pointBounds, index = 0;
|
|
10073
|
-
for (let i = 0; i < data.length; i += 4) {
|
|
10074
|
-
if (data[i + 3] !== 0) {
|
|
10075
|
-
x = index % width;
|
|
10076
|
-
y = (index - x) / width;
|
|
10077
|
-
pointBounds ? addPoint(pointBounds, x, y) : setPoint(pointBounds = {}, x, y);
|
|
10078
|
-
}
|
|
10079
|
-
index++;
|
|
10080
|
-
}
|
|
10081
|
-
const bounds = new Bounds();
|
|
10082
|
-
toBounds(pointBounds, bounds);
|
|
10083
|
-
return bounds.scale(1 / canvas.pixelRatio).ceil();
|
|
10084
|
-
}
|
|
10085
|
-
|
|
10086
|
-
const ExportModule = {
|
|
10087
|
-
export(leaf, filename, options) {
|
|
10088
|
-
this.running = true;
|
|
10089
|
-
const fileType = FileHelper.fileType(filename);
|
|
10090
|
-
const isDownload = filename.includes('.');
|
|
10091
|
-
options = FileHelper.getExportOptions(options);
|
|
10092
|
-
return addTask((success) => new Promise((resolve) => {
|
|
10093
|
-
const over = (result) => {
|
|
10094
|
-
success(result);
|
|
10095
|
-
resolve();
|
|
10096
|
-
this.running = false;
|
|
10097
|
-
};
|
|
10098
|
-
const { toURL } = Platform;
|
|
10099
|
-
const { download } = Platform.origin;
|
|
10100
|
-
if (fileType === 'json') {
|
|
10101
|
-
isDownload && download(toURL(JSON.stringify(leaf.toJSON(options.json)), 'text'), filename);
|
|
10102
|
-
return over({ data: isDownload ? true : leaf.toJSON(options.json) });
|
|
10103
|
-
}
|
|
10104
|
-
if (fileType === 'svg') {
|
|
10105
|
-
isDownload && download(toURL(leaf.toSVG(), 'svg'), filename);
|
|
10106
|
-
return over({ data: isDownload ? true : leaf.toSVG() });
|
|
10107
|
-
}
|
|
10108
|
-
const { leafer } = leaf;
|
|
10109
|
-
if (leafer) {
|
|
10110
|
-
checkLazy(leaf);
|
|
10111
|
-
leafer.waitViewCompleted(() => __awaiter(this, void 0, void 0, function* () {
|
|
10112
|
-
let renderBounds, trimBounds, scaleX = 1, scaleY = 1;
|
|
10113
|
-
const { worldTransform, isLeafer, isFrame } = leaf;
|
|
10114
|
-
const { slice, trim, onCanvas } = options;
|
|
10115
|
-
const smooth = options.smooth === undefined ? leafer.config.smooth : options.smooth;
|
|
10116
|
-
const contextSettings = options.contextSettings || leafer.config.contextSettings;
|
|
10117
|
-
const screenshot = options.screenshot || leaf.isApp;
|
|
10118
|
-
const fill = (isLeafer && screenshot) ? (options.fill === undefined ? leaf.fill : options.fill) : options.fill;
|
|
10119
|
-
const needFill = FileHelper.isOpaqueImage(filename) || fill, matrix = new Matrix();
|
|
10120
|
-
if (screenshot) {
|
|
10121
|
-
renderBounds = screenshot === true ? (isLeafer ? leafer.canvas.bounds : leaf.worldRenderBounds) : screenshot;
|
|
10122
|
-
}
|
|
10123
|
-
else {
|
|
10124
|
-
let relative = options.relative || (isLeafer ? 'inner' : 'local');
|
|
10125
|
-
scaleX = worldTransform.scaleX;
|
|
10126
|
-
scaleY = worldTransform.scaleY;
|
|
10127
|
-
switch (relative) {
|
|
10128
|
-
case 'inner':
|
|
10129
|
-
matrix.set(worldTransform);
|
|
10130
|
-
break;
|
|
10131
|
-
case 'local':
|
|
10132
|
-
matrix.set(worldTransform).divide(leaf.localTransform);
|
|
10133
|
-
scaleX /= leaf.scaleX;
|
|
10134
|
-
scaleY /= leaf.scaleY;
|
|
10135
|
-
break;
|
|
10136
|
-
case 'world':
|
|
10137
|
-
scaleX = 1;
|
|
10138
|
-
scaleY = 1;
|
|
10139
|
-
break;
|
|
10140
|
-
case 'page':
|
|
10141
|
-
relative = leaf.leafer;
|
|
10142
|
-
default:
|
|
10143
|
-
matrix.set(worldTransform).divide(leaf.getTransform(relative));
|
|
10144
|
-
const l = relative.worldTransform;
|
|
10145
|
-
scaleX /= scaleX / l.scaleX;
|
|
10146
|
-
scaleY /= scaleY / l.scaleY;
|
|
10147
|
-
}
|
|
10148
|
-
renderBounds = leaf.getBounds('render', relative);
|
|
10149
|
-
}
|
|
10150
|
-
const scaleData = { scaleX: 1, scaleY: 1 };
|
|
10151
|
-
MathHelper.getScaleData(options.scale, options.size, renderBounds, scaleData);
|
|
10152
|
-
let pixelRatio = options.pixelRatio || 1;
|
|
10153
|
-
if (leaf.isApp) {
|
|
10154
|
-
scaleData.scaleX *= pixelRatio;
|
|
10155
|
-
scaleData.scaleY *= pixelRatio;
|
|
10156
|
-
pixelRatio = leaf.app.pixelRatio;
|
|
10157
|
-
}
|
|
10158
|
-
const { x, y, width, height } = new Bounds(renderBounds).scale(scaleData.scaleX, scaleData.scaleY);
|
|
10159
|
-
const renderOptions = { matrix: matrix.scale(1 / scaleData.scaleX, 1 / scaleData.scaleY).invert().translate(-x, -y).withScale(1 / scaleX * scaleData.scaleX, 1 / scaleY * scaleData.scaleY) };
|
|
10160
|
-
let canvas = Creator.canvas({ width: Math.round(width), height: Math.round(height), pixelRatio, smooth, contextSettings });
|
|
10161
|
-
let sliceLeaf;
|
|
10162
|
-
if (slice) {
|
|
10163
|
-
sliceLeaf = leaf;
|
|
10164
|
-
sliceLeaf.__worldOpacity = 0;
|
|
10165
|
-
leaf = leafer;
|
|
10166
|
-
renderOptions.bounds = canvas.bounds;
|
|
10167
|
-
}
|
|
10168
|
-
canvas.save();
|
|
10169
|
-
if (isFrame && fill !== undefined) {
|
|
10170
|
-
const oldFill = leaf.get('fill');
|
|
10171
|
-
leaf.fill = '';
|
|
10172
|
-
leaf.__render(canvas, renderOptions);
|
|
10173
|
-
leaf.fill = oldFill;
|
|
10174
|
-
}
|
|
10175
|
-
else {
|
|
10176
|
-
leaf.__render(canvas, renderOptions);
|
|
10177
|
-
}
|
|
10178
|
-
canvas.restore();
|
|
10179
|
-
if (sliceLeaf)
|
|
10180
|
-
sliceLeaf.__updateWorldOpacity();
|
|
10181
|
-
if (trim) {
|
|
10182
|
-
trimBounds = getTrimBounds(canvas);
|
|
10183
|
-
const old = canvas, { width, height } = trimBounds;
|
|
10184
|
-
const config = { x: 0, y: 0, width, height, pixelRatio };
|
|
10185
|
-
canvas = Creator.canvas(config);
|
|
10186
|
-
canvas.copyWorld(old, trimBounds, config);
|
|
10187
|
-
}
|
|
10188
|
-
if (needFill)
|
|
10189
|
-
canvas.fillWorld(canvas.bounds, fill || '#FFFFFF', 'destination-over');
|
|
10190
|
-
if (onCanvas)
|
|
10191
|
-
onCanvas(canvas);
|
|
10192
|
-
const data = filename === 'canvas' ? canvas : yield canvas.export(filename, options);
|
|
10193
|
-
over({ data, width: canvas.pixelWidth, height: canvas.pixelHeight, renderBounds, trimBounds });
|
|
10194
|
-
}));
|
|
10195
|
-
}
|
|
10196
|
-
else {
|
|
10197
|
-
over({ data: false });
|
|
10198
|
-
}
|
|
10199
|
-
}));
|
|
10200
|
-
}
|
|
10201
|
-
};
|
|
10202
|
-
let tasker;
|
|
10203
|
-
function addTask(task) {
|
|
10204
|
-
if (!tasker)
|
|
10205
|
-
tasker = new TaskProcessor();
|
|
10206
|
-
return new Promise((resolve) => {
|
|
10207
|
-
tasker.add(() => __awaiter(this, void 0, void 0, function* () { return yield task(resolve); }), { parallel: false });
|
|
10208
|
-
});
|
|
10209
|
-
}
|
|
10210
|
-
function checkLazy(leaf) {
|
|
10211
|
-
if (leaf.__.__needComputePaint)
|
|
10212
|
-
leaf.__.__computePaint();
|
|
10213
|
-
if (leaf.isBranch)
|
|
10214
|
-
leaf.children.forEach(child => checkLazy(child));
|
|
10215
|
-
}
|
|
10216
|
-
|
|
10217
|
-
const canvas = LeaferCanvasBase.prototype;
|
|
10218
|
-
const debug = Debug.get('@leafer-ui/export');
|
|
10219
|
-
canvas.export = function (filename, options) {
|
|
10220
|
-
const { quality, blob } = FileHelper.getExportOptions(options);
|
|
10221
|
-
if (filename.includes('.'))
|
|
10222
|
-
return this.saveAs(filename, quality);
|
|
10223
|
-
else if (blob)
|
|
10224
|
-
return this.toBlob(filename, quality);
|
|
10225
|
-
else
|
|
10226
|
-
return this.toDataURL(filename, quality);
|
|
10227
|
-
};
|
|
10228
|
-
canvas.toBlob = function (type, quality) {
|
|
10229
|
-
return new Promise((resolve) => {
|
|
10230
|
-
Platform.origin.canvasToBolb(this.view, type, quality).then((blob) => {
|
|
10231
|
-
resolve(blob);
|
|
10232
|
-
}).catch((e) => {
|
|
10233
|
-
debug.error(e);
|
|
10234
|
-
resolve(null);
|
|
10235
|
-
});
|
|
10236
|
-
});
|
|
10237
|
-
};
|
|
10238
|
-
canvas.toDataURL = function (type, quality) {
|
|
10239
|
-
return Platform.origin.canvasToDataURL(this.view, type, quality);
|
|
10240
|
-
};
|
|
10241
|
-
canvas.saveAs = function (filename, quality) {
|
|
10242
|
-
return new Promise((resolve) => {
|
|
10243
|
-
Platform.origin.canvasSaveAs(this.view, filename, quality).then(() => {
|
|
10244
|
-
resolve(true);
|
|
10245
|
-
}).catch((e) => {
|
|
10246
|
-
debug.error(e);
|
|
10247
|
-
resolve(false);
|
|
10248
|
-
});
|
|
10249
|
-
});
|
|
10250
|
-
};
|
|
10251
|
-
|
|
10252
10075
|
Object.assign(TextConvert, TextConvertModule);
|
|
10253
10076
|
Object.assign(ColorConvert, ColorConvertModule);
|
|
10254
10077
|
Object.assign(Paint, PaintModule);
|
|
10255
10078
|
Object.assign(PaintImage, PaintImageModule);
|
|
10256
10079
|
Object.assign(PaintGradient, PaintGradientModule);
|
|
10257
10080
|
Object.assign(Effect, EffectModule);
|
|
10258
|
-
Object.assign(Export, ExportModule);
|
|
10259
10081
|
|
|
10260
10082
|
useCanvas();
|
|
10261
10083
|
|