leafer-draw 1.0.10 → 1.1.1
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/web.cjs +25 -12
- package/dist/web.esm.js +25 -12
- package/dist/web.esm.min.js +1 -1
- package/dist/web.js +130 -98
- package/dist/web.min.cjs +1 -1
- package/dist/web.min.js +1 -1
- package/dist/web.module.js +130 -98
- package/dist/web.module.min.js +1 -1
- package/package.json +2 -2
package/dist/web.module.js
CHANGED
|
@@ -108,7 +108,7 @@ const MathHelper = {
|
|
|
108
108
|
return rotation - oldRotation;
|
|
109
109
|
},
|
|
110
110
|
float(num, maxLength) {
|
|
111
|
-
const a = maxLength ? pow$1(10, maxLength) : 1000000000000;
|
|
111
|
+
const a = maxLength !== undefined ? pow$1(10, maxLength) : 1000000000000;
|
|
112
112
|
num = round(num * a) / a;
|
|
113
113
|
return num === -0 ? 0 : num;
|
|
114
114
|
},
|
|
@@ -1374,7 +1374,7 @@ function getNameList(name) {
|
|
|
1374
1374
|
}
|
|
1375
1375
|
const D$4 = Debug;
|
|
1376
1376
|
|
|
1377
|
-
const debug$
|
|
1377
|
+
const debug$f = 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$f.log(name, duration, 'ms');
|
|
1396
1396
|
},
|
|
1397
1397
|
endOfName(name, microsecond) {
|
|
1398
1398
|
const id = R.nameToIdMap[name];
|
|
@@ -1406,18 +1406,18 @@ function needPlugin(name) {
|
|
|
1406
1406
|
console.error('need plugin: @leafer-in/' + name);
|
|
1407
1407
|
}
|
|
1408
1408
|
|
|
1409
|
-
const debug$
|
|
1409
|
+
const debug$e = Debug.get('UICreator');
|
|
1410
1410
|
const UICreator = {
|
|
1411
1411
|
list: {},
|
|
1412
1412
|
register(UI) {
|
|
1413
1413
|
const { __tag: tag } = UI.prototype;
|
|
1414
1414
|
if (list$1[tag])
|
|
1415
|
-
debug$
|
|
1415
|
+
debug$e.repeat(tag);
|
|
1416
1416
|
list$1[tag] = UI;
|
|
1417
1417
|
},
|
|
1418
1418
|
get(tag, data, x, y, width, height) {
|
|
1419
1419
|
if (!list$1[tag])
|
|
1420
|
-
debug$
|
|
1420
|
+
debug$e.error('not register ' + tag);
|
|
1421
1421
|
const ui = new list$1[tag](data);
|
|
1422
1422
|
if (x !== undefined) {
|
|
1423
1423
|
ui.x = x;
|
|
@@ -1433,7 +1433,7 @@ const UICreator = {
|
|
|
1433
1433
|
};
|
|
1434
1434
|
const { list: list$1 } = UICreator;
|
|
1435
1435
|
|
|
1436
|
-
const debug$
|
|
1436
|
+
const debug$d = Debug.get('EventCreator');
|
|
1437
1437
|
const EventCreator = {
|
|
1438
1438
|
nameList: {},
|
|
1439
1439
|
register(Event) {
|
|
@@ -1441,7 +1441,7 @@ const EventCreator = {
|
|
|
1441
1441
|
Object.keys(Event).forEach(key => {
|
|
1442
1442
|
name = Event[key];
|
|
1443
1443
|
if (typeof name === 'string')
|
|
1444
|
-
nameList[name] && debug$
|
|
1444
|
+
nameList[name] && debug$d.repeat(name), nameList[name] = Event;
|
|
1445
1445
|
});
|
|
1446
1446
|
},
|
|
1447
1447
|
changeName(oldName, newName) {
|
|
@@ -1513,17 +1513,19 @@ const DataHelper = {
|
|
|
1513
1513
|
assign(t, defaultData);
|
|
1514
1514
|
return t;
|
|
1515
1515
|
},
|
|
1516
|
-
assign(t, merge) {
|
|
1516
|
+
assign(t, merge, exclude) {
|
|
1517
1517
|
let value;
|
|
1518
1518
|
Object.keys(merge).forEach(key => {
|
|
1519
|
-
var _a;
|
|
1519
|
+
var _a, _b;
|
|
1520
1520
|
value = merge[key];
|
|
1521
|
-
if ((value === null || value === void 0 ? void 0 : value.constructor) === Object)
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1521
|
+
if ((value === null || value === void 0 ? void 0 : value.constructor) === Object && ((_a = t[key]) === null || _a === void 0 ? void 0 : _a.constructor) === Object)
|
|
1522
|
+
return assign(t[key], merge[key], exclude && exclude[key]);
|
|
1523
|
+
if (exclude && (key in exclude)) {
|
|
1524
|
+
if (((_b = exclude[key]) === null || _b === void 0 ? void 0 : _b.constructor) === Object)
|
|
1525
|
+
assign(t[key] = {}, merge[key], exclude[key]);
|
|
1526
|
+
return;
|
|
1526
1527
|
}
|
|
1528
|
+
t[key] = merge[key];
|
|
1527
1529
|
});
|
|
1528
1530
|
},
|
|
1529
1531
|
copyAttrs(t, from, include) {
|
|
@@ -2595,7 +2597,7 @@ const EllipseHelper = {
|
|
|
2595
2597
|
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;
|
|
2596
2598
|
const { rect: rect$2, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1 } = BezierHelper;
|
|
2597
2599
|
const { ellipticalArc } = EllipseHelper;
|
|
2598
|
-
const debug$
|
|
2600
|
+
const debug$c = Debug.get('PathConvert');
|
|
2599
2601
|
const setEndPoint$1 = {};
|
|
2600
2602
|
const PathConvert = {
|
|
2601
2603
|
current: { dot: 0 },
|
|
@@ -2836,7 +2838,7 @@ const PathConvert = {
|
|
|
2836
2838
|
i += 6;
|
|
2837
2839
|
break;
|
|
2838
2840
|
default:
|
|
2839
|
-
debug$
|
|
2841
|
+
debug$c.error(`command: ${command} [index:${i}]`, old);
|
|
2840
2842
|
return data;
|
|
2841
2843
|
}
|
|
2842
2844
|
lastCommand = command;
|
|
@@ -3061,7 +3063,7 @@ class PathCreator {
|
|
|
3061
3063
|
}
|
|
3062
3064
|
|
|
3063
3065
|
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;
|
|
3064
|
-
const debug$
|
|
3066
|
+
const debug$b = Debug.get('PathDrawer');
|
|
3065
3067
|
const PathDrawer = {
|
|
3066
3068
|
drawPathByData(drawer, data) {
|
|
3067
3069
|
if (!data)
|
|
@@ -3124,7 +3126,7 @@ const PathDrawer = {
|
|
|
3124
3126
|
i += 6;
|
|
3125
3127
|
break;
|
|
3126
3128
|
default:
|
|
3127
|
-
debug$
|
|
3129
|
+
debug$b.error(`command: ${command} [index:${i}]`, data);
|
|
3128
3130
|
return;
|
|
3129
3131
|
}
|
|
3130
3132
|
}
|
|
@@ -3134,7 +3136,7 @@ const PathDrawer = {
|
|
|
3134
3136
|
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;
|
|
3135
3137
|
const { toTwoPointBounds, toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc, ellipse: ellipse$1 } = BezierHelper;
|
|
3136
3138
|
const { addPointBounds, copy: copy$7, addPoint: addPoint$1, setPoint: setPoint$1, addBounds, toBounds: toBounds$3 } = TwoPointBoundsHelper;
|
|
3137
|
-
const debug$
|
|
3139
|
+
const debug$a = Debug.get('PathBounds');
|
|
3138
3140
|
let radius, radiusX, radiusY;
|
|
3139
3141
|
const tempPointBounds = {};
|
|
3140
3142
|
const setPointBounds = {};
|
|
@@ -3242,7 +3244,7 @@ const PathBounds = {
|
|
|
3242
3244
|
i += 6;
|
|
3243
3245
|
break;
|
|
3244
3246
|
default:
|
|
3245
|
-
debug$
|
|
3247
|
+
debug$a.error(`command: ${command} [index:${i}]`, data);
|
|
3246
3248
|
return;
|
|
3247
3249
|
}
|
|
3248
3250
|
}
|
|
@@ -3358,7 +3360,7 @@ const FileHelper = {
|
|
|
3358
3360
|
const F = FileHelper;
|
|
3359
3361
|
F.opacityTypes.forEach(type => F.upperCaseTypeMap[type] = type.toUpperCase());
|
|
3360
3362
|
|
|
3361
|
-
const debug$
|
|
3363
|
+
const debug$9 = Debug.get('TaskProcessor');
|
|
3362
3364
|
class TaskItem {
|
|
3363
3365
|
constructor(task) {
|
|
3364
3366
|
this.parallel = true;
|
|
@@ -3373,7 +3375,7 @@ class TaskItem {
|
|
|
3373
3375
|
yield this.task();
|
|
3374
3376
|
}
|
|
3375
3377
|
catch (error) {
|
|
3376
|
-
debug$
|
|
3378
|
+
debug$9.error(error);
|
|
3377
3379
|
}
|
|
3378
3380
|
});
|
|
3379
3381
|
}
|
|
@@ -3891,6 +3893,8 @@ function opacityType(defaultValue) {
|
|
|
3891
3893
|
return decorateLeafAttr(defaultValue, (key) => attr({
|
|
3892
3894
|
set(value) {
|
|
3893
3895
|
this.__setAttr(key, value) && (this.__layout.opacityChanged || this.__layout.opacityChange());
|
|
3896
|
+
if (this.mask)
|
|
3897
|
+
checkMask(this);
|
|
3894
3898
|
}
|
|
3895
3899
|
}));
|
|
3896
3900
|
}
|
|
@@ -3907,9 +3911,20 @@ function visibleType(defaultValue) {
|
|
|
3907
3911
|
this.__runAnimation('in');
|
|
3908
3912
|
}
|
|
3909
3913
|
doVisible(this, key, value, oldValue);
|
|
3914
|
+
if (this.mask)
|
|
3915
|
+
checkMask(this);
|
|
3910
3916
|
}
|
|
3911
3917
|
}));
|
|
3912
3918
|
}
|
|
3919
|
+
function checkMask(leaf) {
|
|
3920
|
+
const { parent } = leaf;
|
|
3921
|
+
if (parent) {
|
|
3922
|
+
const { __hasMask } = parent;
|
|
3923
|
+
parent.__updateMask();
|
|
3924
|
+
if (__hasMask !== parent.__hasMask)
|
|
3925
|
+
parent.forceUpdate();
|
|
3926
|
+
}
|
|
3927
|
+
}
|
|
3913
3928
|
function doVisible(leaf, key, value, oldValue) {
|
|
3914
3929
|
if (leaf.__setAttr(key, value)) {
|
|
3915
3930
|
leaf.__layout.opacityChanged || leaf.__layout.opacityChange();
|
|
@@ -4047,7 +4062,7 @@ function defineDataProcessor(target, key, defaultValue) {
|
|
|
4047
4062
|
defineKey(data, key, property);
|
|
4048
4063
|
}
|
|
4049
4064
|
|
|
4050
|
-
const debug$
|
|
4065
|
+
const debug$8 = new Debug('rewrite');
|
|
4051
4066
|
const list = [];
|
|
4052
4067
|
const excludeNames = ['destroy', 'constructor'];
|
|
4053
4068
|
function rewrite(method) {
|
|
@@ -4064,7 +4079,7 @@ function doRewrite(error) {
|
|
|
4064
4079
|
if (list.length) {
|
|
4065
4080
|
list.forEach(item => {
|
|
4066
4081
|
if (error)
|
|
4067
|
-
debug$
|
|
4082
|
+
debug$8.error(item.name, '需在Class上装饰@rewriteAble()');
|
|
4068
4083
|
item.run();
|
|
4069
4084
|
});
|
|
4070
4085
|
list.length = 0;
|
|
@@ -4165,20 +4180,17 @@ const LeafHelper = {
|
|
|
4165
4180
|
}
|
|
4166
4181
|
return true;
|
|
4167
4182
|
},
|
|
4168
|
-
moveWorld(t, x, y = 0, isInnerPoint) {
|
|
4183
|
+
moveWorld(t, x, y = 0, isInnerPoint, transition) {
|
|
4169
4184
|
const local = typeof x === 'object' ? Object.assign({}, x) : { x, y };
|
|
4170
4185
|
isInnerPoint ? toOuterPoint$1(t.localTransform, local, local, true) : (t.parent && toInnerPoint$1(t.parent.worldTransform, local, local, true));
|
|
4171
|
-
L.moveLocal(t, local.x, local.y);
|
|
4186
|
+
L.moveLocal(t, local.x, local.y, transition);
|
|
4172
4187
|
},
|
|
4173
|
-
moveLocal(t, x, y = 0) {
|
|
4174
|
-
if (typeof x === 'object')
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
t.x += x;
|
|
4180
|
-
t.y += y;
|
|
4181
|
-
}
|
|
4188
|
+
moveLocal(t, x, y = 0, transition) {
|
|
4189
|
+
if (typeof x === 'object')
|
|
4190
|
+
y = x.y, x = x.x;
|
|
4191
|
+
x += t.x;
|
|
4192
|
+
y += t.y;
|
|
4193
|
+
transition ? t.animate({ x, y }, transition) : (t.x = x, t.y = y);
|
|
4182
4194
|
},
|
|
4183
4195
|
zoomOfWorld(t, origin, scaleX, scaleY, resize) {
|
|
4184
4196
|
L.zoomOfLocal(t, getTempLocal(t, origin), scaleX, scaleY, resize);
|
|
@@ -4975,13 +4987,13 @@ const { on, on_, off, off_, once, emit: emit$1, emitEvent, hasEvent, destroy } =
|
|
|
4975
4987
|
const LeafEventer = { on, on_, off, off_, once, emit: emit$1, emitEvent, hasEvent, destroyEventer: destroy };
|
|
4976
4988
|
|
|
4977
4989
|
const { isFinite } = Number;
|
|
4978
|
-
const debug$
|
|
4990
|
+
const debug$7 = Debug.get('setAttr');
|
|
4979
4991
|
const LeafDataProxy = {
|
|
4980
4992
|
__setAttr(name, newValue, checkFiniteNumber) {
|
|
4981
4993
|
if (this.leaferIsCreated) {
|
|
4982
4994
|
const oldValue = this.__.__getInput(name);
|
|
4983
4995
|
if (checkFiniteNumber && !isFinite(newValue) && newValue !== undefined) {
|
|
4984
|
-
debug$
|
|
4996
|
+
debug$7.warn(this.innerName, name, newValue);
|
|
4985
4997
|
newValue = undefined;
|
|
4986
4998
|
}
|
|
4987
4999
|
if (typeof newValue === 'object' || oldValue !== newValue) {
|
|
@@ -5437,8 +5449,8 @@ let Leaf = class Leaf {
|
|
|
5437
5449
|
canvas.clearRect(r.x, r.y, r.width, r.height);
|
|
5438
5450
|
canvas.restore();
|
|
5439
5451
|
}
|
|
5440
|
-
__updateMask(
|
|
5441
|
-
this.__hasMask =
|
|
5452
|
+
__updateMask(_value) {
|
|
5453
|
+
this.__hasMask = this.children.some(item => item.__.mask && item.__.visible && item.__.opacity);
|
|
5442
5454
|
}
|
|
5443
5455
|
__renderMask(_canvas, _options) { }
|
|
5444
5456
|
__getNowWorld(options) {
|
|
@@ -5558,11 +5570,11 @@ let Leaf = class Leaf {
|
|
|
5558
5570
|
transform(matrix, resize) {
|
|
5559
5571
|
transform(this, matrix, resize);
|
|
5560
5572
|
}
|
|
5561
|
-
move(x, y) {
|
|
5562
|
-
moveLocal(this, x, y);
|
|
5573
|
+
move(x, y, transition) {
|
|
5574
|
+
moveLocal(this, x, y, transition);
|
|
5563
5575
|
}
|
|
5564
|
-
moveInner(x, y) {
|
|
5565
|
-
moveWorld(this, x, y, true);
|
|
5576
|
+
moveInner(x, y, transition) {
|
|
5577
|
+
moveWorld(this, x, y, true, transition);
|
|
5566
5578
|
}
|
|
5567
5579
|
scaleOf(origin, scaleX, scaleY, resize) {
|
|
5568
5580
|
zoomOfLocal(this, getLocalOrigin(this, origin), scaleX, scaleY, resize);
|
|
@@ -5576,8 +5588,8 @@ let Leaf = class Leaf {
|
|
|
5576
5588
|
transformWorld(worldTransform, resize) {
|
|
5577
5589
|
transformWorld(this, worldTransform, resize);
|
|
5578
5590
|
}
|
|
5579
|
-
moveWorld(x, y) {
|
|
5580
|
-
moveWorld(this, x, y);
|
|
5591
|
+
moveWorld(x, y, transition) {
|
|
5592
|
+
moveWorld(this, x, y, false, transition);
|
|
5581
5593
|
}
|
|
5582
5594
|
scaleOfWorld(worldOrigin, scaleX, scaleY, resize) {
|
|
5583
5595
|
zoomOfWorld(this, worldOrigin, scaleX, scaleY, resize);
|
|
@@ -5681,6 +5693,7 @@ Leaf = __decorate([
|
|
|
5681
5693
|
const { setListWithFn } = BoundsHelper;
|
|
5682
5694
|
const { sort } = BranchHelper;
|
|
5683
5695
|
const { localBoxBounds, localStrokeBounds, localRenderBounds, maskLocalBoxBounds, maskLocalStrokeBounds, maskLocalRenderBounds } = LeafBoundsHelper;
|
|
5696
|
+
const debug$6 = new Debug('Branch');
|
|
5684
5697
|
let Branch = class Branch extends Leaf {
|
|
5685
5698
|
__updateStrokeSpread() {
|
|
5686
5699
|
const { children } = this;
|
|
@@ -5721,8 +5734,8 @@ let Branch = class Branch extends Leaf {
|
|
|
5721
5734
|
}
|
|
5722
5735
|
}
|
|
5723
5736
|
add(child, index) {
|
|
5724
|
-
if (child === this)
|
|
5725
|
-
return;
|
|
5737
|
+
if (child === this || child.destroyed)
|
|
5738
|
+
return debug$6.warn('add self or destroyed');
|
|
5726
5739
|
const noIndex = index === undefined;
|
|
5727
5740
|
if (!child.__) {
|
|
5728
5741
|
if (child instanceof Array)
|
|
@@ -5736,8 +5749,9 @@ let Branch = class Branch extends Leaf {
|
|
|
5736
5749
|
noIndex ? this.children.push(child) : this.children.splice(index, 0, child);
|
|
5737
5750
|
if (child.isBranch)
|
|
5738
5751
|
this.__.__childBranchNumber = (this.__.__childBranchNumber || 0) + 1;
|
|
5739
|
-
|
|
5740
|
-
|
|
5752
|
+
const childLayout = child.__layout;
|
|
5753
|
+
childLayout.boxChanged || childLayout.boxChange();
|
|
5754
|
+
childLayout.matrixChanged || childLayout.matrixChange();
|
|
5741
5755
|
if (child.__bubbleMap)
|
|
5742
5756
|
child.__emitLifeEvent(ChildEvent.ADD);
|
|
5743
5757
|
if (this.leafer) {
|
|
@@ -5975,7 +5989,7 @@ class LeafLevelList {
|
|
|
5975
5989
|
}
|
|
5976
5990
|
}
|
|
5977
5991
|
|
|
5978
|
-
const version = "1.
|
|
5992
|
+
const version = "1.1.1";
|
|
5979
5993
|
|
|
5980
5994
|
const debug$5 = Debug.get('LeaferCanvas');
|
|
5981
5995
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
@@ -6593,25 +6607,25 @@ class Renderer {
|
|
|
6593
6607
|
if (userConfig)
|
|
6594
6608
|
this.config = DataHelper.default(userConfig, this.config);
|
|
6595
6609
|
this.__listenEvents();
|
|
6596
|
-
this.__requestRender();
|
|
6597
6610
|
}
|
|
6598
6611
|
start() {
|
|
6599
6612
|
this.running = true;
|
|
6613
|
+
this.update(false);
|
|
6600
6614
|
}
|
|
6601
6615
|
stop() {
|
|
6602
6616
|
this.running = false;
|
|
6603
6617
|
}
|
|
6604
|
-
update() {
|
|
6605
|
-
this.changed
|
|
6618
|
+
update(change = true) {
|
|
6619
|
+
if (!this.changed)
|
|
6620
|
+
this.changed = change;
|
|
6621
|
+
this.__requestRender();
|
|
6606
6622
|
}
|
|
6607
6623
|
requestLayout() {
|
|
6608
6624
|
this.target.emit(LayoutEvent.REQUEST);
|
|
6609
6625
|
}
|
|
6610
6626
|
render(callback) {
|
|
6611
|
-
if (!(this.running && this.canvas.view))
|
|
6612
|
-
this.
|
|
6613
|
-
return;
|
|
6614
|
-
}
|
|
6627
|
+
if (!(this.running && this.canvas.view))
|
|
6628
|
+
return this.update();
|
|
6615
6629
|
const { target } = this;
|
|
6616
6630
|
this.times = 0;
|
|
6617
6631
|
this.totalBounds = new Bounds();
|
|
@@ -6745,16 +6759,17 @@ class Renderer {
|
|
|
6745
6759
|
}
|
|
6746
6760
|
}
|
|
6747
6761
|
__requestRender() {
|
|
6748
|
-
|
|
6762
|
+
if (this.requestTime)
|
|
6763
|
+
return;
|
|
6764
|
+
const requestTime = this.requestTime = Date.now();
|
|
6749
6765
|
Platform.requestRender(() => {
|
|
6750
|
-
this.FPS = Math.min(60, Math.ceil(1000 / (Date.now() -
|
|
6766
|
+
this.FPS = Math.min(60, Math.ceil(1000 / (Date.now() - requestTime)));
|
|
6767
|
+
this.requestTime = 0;
|
|
6751
6768
|
if (this.running) {
|
|
6752
6769
|
if (this.changed && this.canvas.view)
|
|
6753
6770
|
this.render();
|
|
6754
6771
|
this.target.emit(RenderEvent.NEXT);
|
|
6755
6772
|
}
|
|
6756
|
-
if (this.target)
|
|
6757
|
-
this.__requestRender();
|
|
6758
6773
|
});
|
|
6759
6774
|
}
|
|
6760
6775
|
__onResize(e) {
|
|
@@ -6770,7 +6785,7 @@ class Renderer {
|
|
|
6770
6785
|
}
|
|
6771
6786
|
}
|
|
6772
6787
|
this.addBlock(new Bounds(0, 0, 1, 1));
|
|
6773
|
-
this.
|
|
6788
|
+
this.update();
|
|
6774
6789
|
}
|
|
6775
6790
|
__onLayoutEnd(event) {
|
|
6776
6791
|
if (event.data)
|
|
@@ -6905,7 +6920,7 @@ class UIData extends LeafData {
|
|
|
6905
6920
|
return true;
|
|
6906
6921
|
return t.fill && this.__hasStroke;
|
|
6907
6922
|
}
|
|
6908
|
-
get __clipAfterFill() { return (
|
|
6923
|
+
get __clipAfterFill() { const t = this; return (t.cornerRadius || t.innerShadow || t.__pathInputed); }
|
|
6909
6924
|
get __autoWidth() { return !this._width; }
|
|
6910
6925
|
get __autoHeight() { return !this._height; }
|
|
6911
6926
|
get __autoSide() { return !this._width || !this._height; }
|
|
@@ -7019,7 +7034,7 @@ class GroupData extends UIData {
|
|
|
7019
7034
|
|
|
7020
7035
|
class BoxData extends GroupData {
|
|
7021
7036
|
get __boxStroke() { return !this.__pathInputed; }
|
|
7022
|
-
get __drawAfterFill() { return
|
|
7037
|
+
get __drawAfterFill() { const t = this; return (t.overflow === 'hide' && (t.__clipAfterFill || t.innerShadow) && t.__leaf.children.length); }
|
|
7023
7038
|
get __clipAfterFill() { return this.__leaf.isOverflow || super.__clipAfterFill; }
|
|
7024
7039
|
}
|
|
7025
7040
|
|
|
@@ -7305,11 +7320,15 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
7305
7320
|
super(data);
|
|
7306
7321
|
}
|
|
7307
7322
|
reset(_data) { }
|
|
7308
|
-
set(data,
|
|
7309
|
-
if (
|
|
7310
|
-
|
|
7311
|
-
|
|
7312
|
-
|
|
7323
|
+
set(data, transition) {
|
|
7324
|
+
if (transition) {
|
|
7325
|
+
if (transition === 'temp') {
|
|
7326
|
+
this.lockNormalStyle = true;
|
|
7327
|
+
Object.assign(this, data);
|
|
7328
|
+
this.lockNormalStyle = false;
|
|
7329
|
+
}
|
|
7330
|
+
else
|
|
7331
|
+
this.animate(data, transition);
|
|
7313
7332
|
}
|
|
7314
7333
|
else
|
|
7315
7334
|
Object.assign(this, data);
|
|
@@ -7619,17 +7638,17 @@ let Group = class Group extends UI {
|
|
|
7619
7638
|
if (!this.children)
|
|
7620
7639
|
this.children = [];
|
|
7621
7640
|
}
|
|
7622
|
-
set(data,
|
|
7641
|
+
set(data, transition) {
|
|
7623
7642
|
if (data.children) {
|
|
7624
7643
|
const { children } = data;
|
|
7625
7644
|
delete data.children;
|
|
7626
7645
|
this.children ? this.clear() : this.__setBranch();
|
|
7627
|
-
super.set(data,
|
|
7646
|
+
super.set(data, transition);
|
|
7628
7647
|
children.forEach(child => this.add(child));
|
|
7629
7648
|
data.children = children;
|
|
7630
7649
|
}
|
|
7631
7650
|
else
|
|
7632
|
-
super.set(data,
|
|
7651
|
+
super.set(data, transition);
|
|
7633
7652
|
}
|
|
7634
7653
|
toJSON(options) {
|
|
7635
7654
|
const data = super.toJSON(options);
|
|
@@ -7675,20 +7694,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7675
7694
|
constructor(userConfig, data) {
|
|
7676
7695
|
super(data);
|
|
7677
7696
|
this.config = {
|
|
7678
|
-
type: 'design',
|
|
7679
7697
|
start: true,
|
|
7680
7698
|
hittable: true,
|
|
7681
7699
|
smooth: true,
|
|
7682
|
-
lazySpeard: 100
|
|
7683
|
-
zoom: {
|
|
7684
|
-
min: 0.01,
|
|
7685
|
-
max: 256
|
|
7686
|
-
},
|
|
7687
|
-
move: {
|
|
7688
|
-
holdSpaceKey: true,
|
|
7689
|
-
holdMiddleKey: true,
|
|
7690
|
-
autoDistance: 2
|
|
7691
|
-
}
|
|
7700
|
+
lazySpeard: 100
|
|
7692
7701
|
};
|
|
7693
7702
|
this.leafs = 0;
|
|
7694
7703
|
this.__eventIds = [];
|
|
@@ -7705,23 +7714,27 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7705
7714
|
init(userConfig, parentApp) {
|
|
7706
7715
|
if (this.canvas)
|
|
7707
7716
|
return;
|
|
7708
|
-
this.__setLeafer(this);
|
|
7709
|
-
if (userConfig)
|
|
7710
|
-
DataHelper.assign(this.config, userConfig);
|
|
7711
7717
|
let start;
|
|
7712
7718
|
const { config } = this;
|
|
7713
|
-
this.
|
|
7719
|
+
this.__setLeafer(this);
|
|
7720
|
+
if (parentApp) {
|
|
7721
|
+
this.parentApp = parentApp;
|
|
7722
|
+
this.__bindApp(parentApp);
|
|
7723
|
+
start = parentApp.running;
|
|
7724
|
+
}
|
|
7725
|
+
if (userConfig) {
|
|
7726
|
+
this.parent = parentApp;
|
|
7727
|
+
this.initType(userConfig.type);
|
|
7728
|
+
this.parent = undefined;
|
|
7729
|
+
DataHelper.assign(config, userConfig);
|
|
7730
|
+
}
|
|
7714
7731
|
const canvas = this.canvas = Creator.canvas(config);
|
|
7715
7732
|
this.__controllers.push(this.renderer = Creator.renderer(this, canvas, config), this.watcher = Creator.watcher(this, config), this.layouter = Creator.layouter(this, config));
|
|
7716
7733
|
if (this.isApp)
|
|
7717
7734
|
this.__setApp();
|
|
7718
7735
|
this.__checkAutoLayout(config, parentApp);
|
|
7719
7736
|
this.view = canvas.view;
|
|
7720
|
-
if (parentApp) {
|
|
7721
|
-
this.__bindApp(parentApp);
|
|
7722
|
-
start = parentApp.running;
|
|
7723
|
-
}
|
|
7724
|
-
else {
|
|
7737
|
+
if (!parentApp) {
|
|
7725
7738
|
this.selector = Creator.selector(this);
|
|
7726
7739
|
this.interaction = Creator.interaction(this, canvas, this.selector, config);
|
|
7727
7740
|
if (this.interaction) {
|
|
@@ -7742,8 +7755,8 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7742
7755
|
}
|
|
7743
7756
|
onInit() { }
|
|
7744
7757
|
initType(_type) { }
|
|
7745
|
-
set(data) {
|
|
7746
|
-
this.waitInit(() => { super.set(data); });
|
|
7758
|
+
set(data, transition) {
|
|
7759
|
+
this.waitInit(() => { super.set(data, transition); });
|
|
7747
7760
|
}
|
|
7748
7761
|
start() {
|
|
7749
7762
|
clearTimeout(this.__startTimer);
|
|
@@ -7778,7 +7791,11 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7778
7791
|
forceRender(bounds) {
|
|
7779
7792
|
this.renderer.addBlock(bounds ? new Bounds(bounds) : this.canvas.bounds);
|
|
7780
7793
|
if (this.viewReady)
|
|
7781
|
-
this.renderer.
|
|
7794
|
+
this.renderer.render();
|
|
7795
|
+
}
|
|
7796
|
+
requestRender(change = false) {
|
|
7797
|
+
if (this.renderer)
|
|
7798
|
+
this.renderer.update(change);
|
|
7782
7799
|
}
|
|
7783
7800
|
updateCursor(cursor) {
|
|
7784
7801
|
const i = this.interaction;
|
|
@@ -7886,8 +7903,10 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7886
7903
|
const { imageReady } = this;
|
|
7887
7904
|
if (imageReady && !this.viewCompleted)
|
|
7888
7905
|
this.__checkViewCompleted();
|
|
7889
|
-
if (!imageReady)
|
|
7906
|
+
if (!imageReady) {
|
|
7890
7907
|
this.viewCompleted = false;
|
|
7908
|
+
this.requestRender();
|
|
7909
|
+
}
|
|
7891
7910
|
}
|
|
7892
7911
|
}
|
|
7893
7912
|
__checkViewCompleted(emit = true) {
|
|
@@ -7945,6 +7964,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7945
7964
|
}
|
|
7946
7965
|
else
|
|
7947
7966
|
list.push(item);
|
|
7967
|
+
this.requestRender();
|
|
7948
7968
|
}
|
|
7949
7969
|
zoom(_zoomType, _padding, _fixedScale) {
|
|
7950
7970
|
return needPlugin('view');
|
|
@@ -7998,7 +8018,7 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
7998
8018
|
this.canvasManager.destroy();
|
|
7999
8019
|
}
|
|
8000
8020
|
this.canvas.destroy();
|
|
8001
|
-
this.config.view = this.view = null;
|
|
8021
|
+
this.config.view = this.view = this.parentApp = null;
|
|
8002
8022
|
if (this.userConfig)
|
|
8003
8023
|
this.userConfig.view = null;
|
|
8004
8024
|
super.destroy();
|
|
@@ -8838,6 +8858,8 @@ function stroke(stroke, ui, canvas) {
|
|
|
8838
8858
|
case 'center':
|
|
8839
8859
|
canvas.setStroke(stroke, __strokeWidth, options);
|
|
8840
8860
|
canvas.stroke();
|
|
8861
|
+
if (options.__useArrow)
|
|
8862
|
+
strokeArrow(ui, canvas);
|
|
8841
8863
|
break;
|
|
8842
8864
|
case 'inside':
|
|
8843
8865
|
canvas.save();
|
|
@@ -8875,6 +8897,8 @@ function strokes(strokes, ui, canvas) {
|
|
|
8875
8897
|
case 'center':
|
|
8876
8898
|
canvas.setStroke(undefined, __strokeWidth, options);
|
|
8877
8899
|
drawStrokesStyle(strokes, false, ui, canvas);
|
|
8900
|
+
if (options.__useArrow)
|
|
8901
|
+
strokeArrow(ui, canvas);
|
|
8878
8902
|
break;
|
|
8879
8903
|
case 'inside':
|
|
8880
8904
|
canvas.save();
|
|
@@ -8900,6 +8924,14 @@ function strokes(strokes, ui, canvas) {
|
|
|
8900
8924
|
}
|
|
8901
8925
|
}
|
|
8902
8926
|
}
|
|
8927
|
+
function strokeArrow(ui, canvas) {
|
|
8928
|
+
if (ui.__.dashPattern) {
|
|
8929
|
+
canvas.beginPath();
|
|
8930
|
+
ui.__drawPathByData(canvas, ui.__.__pathForArrow);
|
|
8931
|
+
canvas.dashPattern = null;
|
|
8932
|
+
canvas.stroke();
|
|
8933
|
+
}
|
|
8934
|
+
}
|
|
8903
8935
|
|
|
8904
8936
|
const { getSpread, getOuterOf, getByMove, getIntersectData } = BoundsHelper;
|
|
8905
8937
|
function shape(ui, current, options) {
|