@leafer/worker 2.0.2 → 2.0.3
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 +11 -0
- package/dist/worker.esm.js +2 -0
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +334 -146
- package/dist/worker.min.cjs +1 -1
- package/dist/worker.min.cjs.map +1 -1
- package/dist/worker.min.js +1 -1
- package/dist/worker.min.js.map +1 -1
- package/dist/worker.module.js +363 -147
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +25 -24
- package/src/index.ts +1 -0
package/dist/worker.js
CHANGED
|
@@ -233,6 +233,7 @@ var LeaferUI = function(exports) {
|
|
|
233
233
|
}
|
|
234
234
|
destroy() {
|
|
235
235
|
this.__input = this.__middle = null;
|
|
236
|
+
if (this.__complexData) this.__complexData.destroy();
|
|
236
237
|
}
|
|
237
238
|
}
|
|
238
239
|
const IncrementId = {
|
|
@@ -323,6 +324,7 @@ var LeaferUI = function(exports) {
|
|
|
323
324
|
};
|
|
324
325
|
const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumberHelper;
|
|
325
326
|
const {round: round$6, pow: pow$2, max: max$6, floor: floor$3, PI: PI$4} = Math;
|
|
327
|
+
const tempScaleData$1 = {};
|
|
326
328
|
const MathHelper = {
|
|
327
329
|
within(value, min, max) {
|
|
328
330
|
if (isObject(min)) max = min.max, min = min.min;
|
|
@@ -366,6 +368,24 @@ var LeaferUI = function(exports) {
|
|
|
366
368
|
} else if (scale) MathHelper.assignScale(scaleData, scale);
|
|
367
369
|
return scaleData;
|
|
368
370
|
},
|
|
371
|
+
getScaleFixedData(worldScaleData, scaleFixed, unscale, abs, _localScaleData) {
|
|
372
|
+
let {scaleX: scaleX, scaleY: scaleY} = worldScaleData;
|
|
373
|
+
if (abs || scaleFixed) scaleX < 0 && (scaleX = -scaleX), scaleY < 0 && (scaleY = -scaleY);
|
|
374
|
+
if (scaleFixed) {
|
|
375
|
+
if (scaleFixed === true) {
|
|
376
|
+
scaleX = scaleY = unscale ? 1 : 1 / scaleX;
|
|
377
|
+
} else {
|
|
378
|
+
let minScale;
|
|
379
|
+
if (isNumber(scaleFixed)) minScale = scaleFixed; else if (scaleFixed === "zoom-in") minScale = 1;
|
|
380
|
+
if (minScale) {
|
|
381
|
+
if (scaleX > minScale || scaleY > minScale) scaleX = scaleY = unscale ? 1 : 1 / scaleX; else scaleX = scaleY = unscale ? 1 : 1 / minScale;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
tempScaleData$1.scaleX = scaleX;
|
|
386
|
+
tempScaleData$1.scaleY = scaleY;
|
|
387
|
+
return tempScaleData$1;
|
|
388
|
+
},
|
|
369
389
|
assignScale(scaleData, scale) {
|
|
370
390
|
if (isNumber(scale)) {
|
|
371
391
|
scaleData.scaleX = scaleData.scaleY = scale;
|
|
@@ -845,8 +865,8 @@ var LeaferUI = function(exports) {
|
|
|
845
865
|
if (isObject(originPoints[0])) points = [], originPoints.forEach(p => points.push(p.x, p.y));
|
|
846
866
|
return points;
|
|
847
867
|
},
|
|
848
|
-
isSame(t, point) {
|
|
849
|
-
return float$5(t.x) === float$5(point.x) && float$5(t.y) === float$5(point.y);
|
|
868
|
+
isSame(t, point, quick) {
|
|
869
|
+
return quick ? t.x === point.x && t.y === point.y : float$5(t.x) === float$5(point.x) && float$5(t.y) === float$5(point.y);
|
|
850
870
|
},
|
|
851
871
|
reset(t) {
|
|
852
872
|
P$7.reset(t);
|
|
@@ -918,8 +938,8 @@ var LeaferUI = function(exports) {
|
|
|
918
938
|
getAtan2(to) {
|
|
919
939
|
return PointHelper.getAtan2(this, to);
|
|
920
940
|
}
|
|
921
|
-
isSame(point) {
|
|
922
|
-
return PointHelper.isSame(this, point);
|
|
941
|
+
isSame(point, quick) {
|
|
942
|
+
return PointHelper.isSame(this, point, quick);
|
|
923
943
|
}
|
|
924
944
|
reset() {
|
|
925
945
|
PointHelper.reset(this);
|
|
@@ -1163,9 +1183,9 @@ var LeaferUI = function(exports) {
|
|
|
1163
1183
|
}
|
|
1164
1184
|
if (!onlyBoxSize) to.x += box.x, to.y += box.y;
|
|
1165
1185
|
},
|
|
1166
|
-
getPoint(around, box, to) {
|
|
1186
|
+
getPoint(around, box, to, onlyBoxSize = true) {
|
|
1167
1187
|
if (!to) to = {};
|
|
1168
|
-
AroundHelper.toPoint(around, box, to,
|
|
1188
|
+
AroundHelper.toPoint(around, box, to, onlyBoxSize);
|
|
1169
1189
|
return to;
|
|
1170
1190
|
}
|
|
1171
1191
|
};
|
|
@@ -1420,6 +1440,9 @@ var LeaferUI = function(exports) {
|
|
|
1420
1440
|
y: y + height
|
|
1421
1441
|
} ];
|
|
1422
1442
|
},
|
|
1443
|
+
getPoint(t, around, onlyBoxSize = false, to) {
|
|
1444
|
+
return AroundHelper.getPoint(around, t, to, onlyBoxSize);
|
|
1445
|
+
},
|
|
1423
1446
|
hitRadiusPoint(t, point, pointMatrix) {
|
|
1424
1447
|
if (pointMatrix) point = PointHelper.tempToInnerRadiusPointOf(point, pointMatrix);
|
|
1425
1448
|
return point.x >= t.x - point.radiusX && point.x <= t.x + t.width + point.radiusX && (point.y >= t.y - point.radiusY && point.y <= t.y + t.height + point.radiusY);
|
|
@@ -1588,6 +1611,9 @@ var LeaferUI = function(exports) {
|
|
|
1588
1611
|
getPoints() {
|
|
1589
1612
|
return BoundsHelper.getPoints(this);
|
|
1590
1613
|
}
|
|
1614
|
+
getPoint(around, onlyBoxSize, to) {
|
|
1615
|
+
return BoundsHelper.getPoint(this, around, onlyBoxSize, to);
|
|
1616
|
+
}
|
|
1591
1617
|
hitPoint(point, pointMatrix) {
|
|
1592
1618
|
return BoundsHelper.hitPoint(this, point, pointMatrix);
|
|
1593
1619
|
}
|
|
@@ -3861,6 +3887,7 @@ var LeaferUI = function(exports) {
|
|
|
3861
3887
|
return image;
|
|
3862
3888
|
},
|
|
3863
3889
|
recycle(image) {
|
|
3890
|
+
if (image.parent) image = image.parent;
|
|
3864
3891
|
image.use--;
|
|
3865
3892
|
setTimeout(() => {
|
|
3866
3893
|
if (!image.use) {
|
|
@@ -4026,8 +4053,10 @@ var LeaferUI = function(exports) {
|
|
|
4026
4053
|
return undefined;
|
|
4027
4054
|
}
|
|
4028
4055
|
clearLevels(_checkUse) {}
|
|
4056
|
+
destroyFilter() {}
|
|
4029
4057
|
destroy() {
|
|
4030
4058
|
this.clearLevels();
|
|
4059
|
+
this.destroyFilter();
|
|
4031
4060
|
const {view: view} = this;
|
|
4032
4061
|
if (view && view.close) view.close();
|
|
4033
4062
|
this.config = {
|
|
@@ -4198,7 +4227,6 @@ var LeaferUI = function(exports) {
|
|
|
4198
4227
|
if (this.__setAttr(key, value)) {
|
|
4199
4228
|
const data = this.__;
|
|
4200
4229
|
DataHelper.stintSet(data, "__useDim", data.dim || data.bright || data.dimskip);
|
|
4201
|
-
this.__layout.surfaceChange();
|
|
4202
4230
|
}
|
|
4203
4231
|
}
|
|
4204
4232
|
}));
|
|
@@ -4243,7 +4271,6 @@ var LeaferUI = function(exports) {
|
|
|
4243
4271
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4244
4272
|
set(value) {
|
|
4245
4273
|
if (this.__setAttr(key, value)) {
|
|
4246
|
-
this.__layout.surfaceChange();
|
|
4247
4274
|
this.waitParent(() => {
|
|
4248
4275
|
this.parent.__layout.childrenSortChange();
|
|
4249
4276
|
});
|
|
@@ -4277,7 +4304,6 @@ var LeaferUI = function(exports) {
|
|
|
4277
4304
|
set(value) {
|
|
4278
4305
|
if (this.__setAttr(key, value)) {
|
|
4279
4306
|
this.__layout.hitCanvasChanged = true;
|
|
4280
|
-
if (Debug.showBounds === "hit") this.__layout.surfaceChange();
|
|
4281
4307
|
if (this.leafer) this.leafer.updateCursor();
|
|
4282
4308
|
}
|
|
4283
4309
|
}
|
|
@@ -4465,6 +4491,10 @@ var LeaferUI = function(exports) {
|
|
|
4465
4491
|
if (layout.stateStyleChanged) leaf.updateState();
|
|
4466
4492
|
if (layout.opacityChanged) updateAllWorldOpacity(leaf);
|
|
4467
4493
|
leaf.__updateChange();
|
|
4494
|
+
if (layout.surfaceChanged) {
|
|
4495
|
+
if (leaf.__hasComplex) L$4.updateComplex(leaf);
|
|
4496
|
+
layout.surfaceChanged = false;
|
|
4497
|
+
}
|
|
4468
4498
|
},
|
|
4469
4499
|
updateAllChange(leaf) {
|
|
4470
4500
|
updateChange$1(leaf);
|
|
@@ -4489,6 +4519,9 @@ var LeaferUI = function(exports) {
|
|
|
4489
4519
|
if (!fromWorld) fromWorld = leaf.__nowWorld;
|
|
4490
4520
|
if (leaf.__worldFlipped || Platform.fullImageShadow) currentCanvas.copyWorldByReset(fromCanvas, fromWorld, leaf.__nowWorld, blendMode, onlyResetTransform); else currentCanvas.copyWorldToInner(fromCanvas, fromWorld, leaf.__layout.renderBounds, blendMode);
|
|
4491
4521
|
},
|
|
4522
|
+
renderComplex(_leaf, _canvas, _options) {},
|
|
4523
|
+
updateComplex(_leaf) {},
|
|
4524
|
+
checkComplex(_leaf) {},
|
|
4492
4525
|
moveWorld(t, x, y = 0, isInnerPoint, transition) {
|
|
4493
4526
|
const local = isObject(x) ? Object.assign({}, x) : {
|
|
4494
4527
|
x: x,
|
|
@@ -4600,6 +4633,9 @@ var LeaferUI = function(exports) {
|
|
|
4600
4633
|
divideParent(matrix$3, relative.scrollWorldTransform);
|
|
4601
4634
|
return temp ? matrix$3 : Object.assign({}, matrix$3);
|
|
4602
4635
|
},
|
|
4636
|
+
updateScaleFixedWorld(_t) {},
|
|
4637
|
+
updateOuterBounds(_t) {},
|
|
4638
|
+
cacheId(_t) {},
|
|
4603
4639
|
drop(t, parent, index, resize) {
|
|
4604
4640
|
t.setTransform(L$4.getRelativeWorld(t, parent, true), resize);
|
|
4605
4641
|
parent.add(t, index);
|
|
@@ -4646,7 +4682,8 @@ var LeaferUI = function(exports) {
|
|
|
4646
4682
|
return target.__.eraser || target.__.visible === 0 ? null : target.__layout.localStrokeBounds;
|
|
4647
4683
|
},
|
|
4648
4684
|
localRenderBounds(target) {
|
|
4649
|
-
|
|
4685
|
+
const {__: __, __layout: __layout} = target;
|
|
4686
|
+
return __.eraser || __.visible === 0 ? null : __layout.localOuterBounds || __layout.localRenderBounds;
|
|
4650
4687
|
},
|
|
4651
4688
|
maskLocalBoxBounds(target, index) {
|
|
4652
4689
|
return checkMask(target, index) && target.__localBoxBounds;
|
|
@@ -4655,7 +4692,8 @@ var LeaferUI = function(exports) {
|
|
|
4655
4692
|
return checkMask(target, index) && target.__layout.localStrokeBounds;
|
|
4656
4693
|
},
|
|
4657
4694
|
maskLocalRenderBounds(target, index) {
|
|
4658
|
-
|
|
4695
|
+
const {__layout: __layout} = target;
|
|
4696
|
+
return checkMask(target, index) && (__layout.localOuterBounds || __layout.localRenderBounds);
|
|
4659
4697
|
},
|
|
4660
4698
|
excludeRenderBounds(child, options) {
|
|
4661
4699
|
if (options.bounds && !options.bounds.hit(child.__world, options.matrix)) return true;
|
|
@@ -4775,11 +4813,11 @@ var LeaferUI = function(exports) {
|
|
|
4775
4813
|
w.height *= scaleY;
|
|
4776
4814
|
w.scaleX *= scaleX;
|
|
4777
4815
|
w.scaleY *= scaleY;
|
|
4778
|
-
if (branch.isBranch) scale$
|
|
4816
|
+
if (branch.isBranch) scale$3(branch, x, y, scaleX, scaleY, a, b);
|
|
4779
4817
|
}
|
|
4780
4818
|
}
|
|
4781
4819
|
};
|
|
4782
|
-
const {pushAllChildBranch: pushAllChildBranch$1, pushAllBranchStack: pushAllBranchStack, updateBoundsByBranchStack: updateBoundsByBranchStack, move: move$9, scale: scale$
|
|
4820
|
+
const {pushAllChildBranch: pushAllChildBranch$1, pushAllBranchStack: pushAllBranchStack, updateBoundsByBranchStack: updateBoundsByBranchStack, move: move$9, scale: scale$3} = BranchHelper;
|
|
4783
4821
|
const WaitHelper = {
|
|
4784
4822
|
run(wait) {
|
|
4785
4823
|
if (wait && wait.length) {
|
|
@@ -5164,7 +5202,6 @@ var LeaferUI = function(exports) {
|
|
|
5164
5202
|
}
|
|
5165
5203
|
opacityChange() {
|
|
5166
5204
|
this.opacityChanged = true;
|
|
5167
|
-
this.surfaceChanged || this.surfaceChange();
|
|
5168
5205
|
}
|
|
5169
5206
|
childrenSortChange() {
|
|
5170
5207
|
if (!this.childrenSortChanged) {
|
|
@@ -5579,6 +5616,7 @@ var LeaferUI = function(exports) {
|
|
|
5579
5616
|
const {parent: parent, __layout: __layout, __world: __world, __scrollWorld: __scrollWorld, __: __} = this;
|
|
5580
5617
|
multiplyParent$2(this.__local || __layout, parent ? parent.__scrollWorld || parent.__world : defaultWorld, __world, !!__layout.affectScaleOrRotation, __);
|
|
5581
5618
|
if (__scrollWorld) translateInner(Object.assign(__scrollWorld, __world), __.scrollX, __.scrollY);
|
|
5619
|
+
if (__layout.scaleFixed) LeafHelper.updateScaleFixedWorld(this);
|
|
5582
5620
|
},
|
|
5583
5621
|
__updateLocalMatrix() {
|
|
5584
5622
|
if (this.__local) {
|
|
@@ -5601,12 +5639,13 @@ var LeaferUI = function(exports) {
|
|
|
5601
5639
|
};
|
|
5602
5640
|
const {updateMatrix: updateMatrix$3, updateAllMatrix: updateAllMatrix$3} = LeafHelper;
|
|
5603
5641
|
const {updateBounds: updateBounds$2} = BranchHelper;
|
|
5604
|
-
const {toOuterOf: toOuterOf$2, copyAndSpread: copyAndSpread$
|
|
5642
|
+
const {toOuterOf: toOuterOf$2, copyAndSpread: copyAndSpread$4, copy: copy$6} = BoundsHelper;
|
|
5605
5643
|
const {toBounds: toBounds$1} = PathBounds;
|
|
5606
5644
|
const LeafBounds = {
|
|
5607
5645
|
__updateWorldBounds() {
|
|
5608
5646
|
const {__layout: __layout, __world: __world} = this;
|
|
5609
5647
|
toOuterOf$2(__layout.renderBounds, __world, __world);
|
|
5648
|
+
if (this.__hasComplex) LeafHelper.checkComplex(this);
|
|
5610
5649
|
if (__layout.resized) {
|
|
5611
5650
|
if (__layout.resized === "inner") this.__onUpdateSize();
|
|
5612
5651
|
if (this.__hasLocalEvent) BoundsEvent.emitLocal(this);
|
|
@@ -5656,6 +5695,7 @@ var LeaferUI = function(exports) {
|
|
|
5656
5695
|
layout.renderChanged = undefined;
|
|
5657
5696
|
if (this.parent) this.parent.__layout.renderChange();
|
|
5658
5697
|
}
|
|
5698
|
+
if (layout.outerScale) LeafHelper.updateOuterBounds(this);
|
|
5659
5699
|
layout.resized || (layout.resized = "local");
|
|
5660
5700
|
layout.boundsChanged = undefined;
|
|
5661
5701
|
},
|
|
@@ -5706,11 +5746,11 @@ var LeaferUI = function(exports) {
|
|
|
5706
5746
|
},
|
|
5707
5747
|
__updateStrokeBounds(_bounds) {
|
|
5708
5748
|
const layout = this.__layout;
|
|
5709
|
-
copyAndSpread$
|
|
5749
|
+
copyAndSpread$4(layout.strokeBounds, layout.boxBounds, layout.strokeBoxSpread);
|
|
5710
5750
|
},
|
|
5711
5751
|
__updateRenderBounds(_bounds) {
|
|
5712
5752
|
const layout = this.__layout, {renderSpread: renderSpread} = layout;
|
|
5713
|
-
isNumber(renderSpread) && renderSpread <= 0 ? copy$6(layout.renderBounds, layout.strokeBounds) : copyAndSpread$
|
|
5753
|
+
isNumber(renderSpread) && renderSpread <= 0 ? copy$6(layout.renderBounds, layout.strokeBounds) : copyAndSpread$4(layout.renderBounds, layout.boxBounds, renderSpread);
|
|
5714
5754
|
}
|
|
5715
5755
|
};
|
|
5716
5756
|
const LeafRender = {
|
|
@@ -5721,7 +5761,7 @@ var LeaferUI = function(exports) {
|
|
|
5721
5761
|
const data = this.__;
|
|
5722
5762
|
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
5723
5763
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
5724
|
-
canvas.opacity = options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
5764
|
+
canvas.opacity = options.ignoreOpacity ? 1 : options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
5725
5765
|
if (this.__.__single) {
|
|
5726
5766
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
5727
5767
|
const tempCanvas = canvas.getSameCanvas(true, true);
|
|
@@ -5773,7 +5813,7 @@ var LeaferUI = function(exports) {
|
|
|
5773
5813
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
5774
5814
|
const tempCanvas = canvas.getSameCanvas(false, true);
|
|
5775
5815
|
this.__renderBranch(tempCanvas, options);
|
|
5776
|
-
canvas.opacity = options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
|
|
5816
|
+
canvas.opacity = options.ignoreOpacity ? 1 : options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
|
|
5777
5817
|
canvas.copyWorldByReset(tempCanvas, nowWorld, nowWorld, data.__blendMode, true);
|
|
5778
5818
|
tempCanvas.recycle(nowWorld);
|
|
5779
5819
|
} else {
|
|
@@ -5789,7 +5829,7 @@ var LeaferUI = function(exports) {
|
|
|
5789
5829
|
const {children: children} = this;
|
|
5790
5830
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
5791
5831
|
child = children[i];
|
|
5792
|
-
excludeRenderBounds$1(child, options) || (child.
|
|
5832
|
+
excludeRenderBounds$1(child, options) || (child.__hasComplex ? LeafHelper.renderComplex(child, canvas, options) : child.__render(canvas, options));
|
|
5793
5833
|
}
|
|
5794
5834
|
}
|
|
5795
5835
|
},
|
|
@@ -5802,12 +5842,12 @@ var LeaferUI = function(exports) {
|
|
|
5802
5842
|
}
|
|
5803
5843
|
}
|
|
5804
5844
|
};
|
|
5805
|
-
const tempScaleData$1 = {};
|
|
5806
5845
|
const {LEAF: LEAF, create: create} = IncrementId;
|
|
5807
|
-
const {stintSet: stintSet$
|
|
5846
|
+
const {stintSet: stintSet$6} = DataHelper;
|
|
5808
5847
|
const {toInnerPoint: toInnerPoint, toOuterPoint: toOuterPoint, multiplyParent: multiplyParent$1} = MatrixHelper;
|
|
5809
5848
|
const {toOuterOf: toOuterOf$1} = BoundsHelper;
|
|
5810
5849
|
const {copy: copy$5, move: move$8} = PointHelper;
|
|
5850
|
+
const {getScaleFixedData: getScaleFixedData$1} = MathHelper;
|
|
5811
5851
|
const {moveLocal: moveLocal, zoomOfLocal: zoomOfLocal, rotateOfLocal: rotateOfLocal, skewOfLocal: skewOfLocal, moveWorld: moveWorld, zoomOfWorld: zoomOfWorld, rotateOfWorld: rotateOfWorld, skewOfWorld: skewOfWorld, transform: transform, transformWorld: transformWorld, setTransform: setTransform, getFlipTransform: getFlipTransform, getLocalOrigin: getLocalOrigin, getRelativeWorld: getRelativeWorld, drop: drop} = LeafHelper;
|
|
5812
5852
|
exports.Leaf = class Leaf {
|
|
5813
5853
|
get tag() {
|
|
@@ -5965,6 +6005,7 @@ var LeaferUI = function(exports) {
|
|
|
5965
6005
|
this.__level = this.parent ? this.parent.__level + 1 : 1;
|
|
5966
6006
|
if (this.animation) this.__runAnimation("in");
|
|
5967
6007
|
if (this.__bubbleMap) this.__emitLifeEvent(ChildEvent.MOUNTED);
|
|
6008
|
+
if (leafer.cacheId) LeafHelper.cacheId(this);
|
|
5968
6009
|
} else {
|
|
5969
6010
|
this.__emitLifeEvent(ChildEvent.UNMOUNTED);
|
|
5970
6011
|
}
|
|
@@ -6082,8 +6123,8 @@ var LeaferUI = function(exports) {
|
|
|
6082
6123
|
const cameraWorld = this.__cameraWorld, world = this.__world;
|
|
6083
6124
|
multiplyParent$1(world, options.matrix, cameraWorld, undefined, world);
|
|
6084
6125
|
toOuterOf$1(this.__layout.renderBounds, cameraWorld, cameraWorld);
|
|
6085
|
-
stintSet$
|
|
6086
|
-
stintSet$
|
|
6126
|
+
stintSet$6(cameraWorld, "half", world.half);
|
|
6127
|
+
stintSet$6(cameraWorld, "ignorePixelSnap", world.ignorePixelSnap);
|
|
6087
6128
|
return cameraWorld;
|
|
6088
6129
|
} else {
|
|
6089
6130
|
return this.__world;
|
|
@@ -6094,13 +6135,8 @@ var LeaferUI = function(exports) {
|
|
|
6094
6135
|
if (scaleX < 0) scaleX = -scaleX;
|
|
6095
6136
|
return scaleX > 1 ? scaleX : 1;
|
|
6096
6137
|
}
|
|
6097
|
-
getRenderScaleData(abs, scaleFixed) {
|
|
6098
|
-
|
|
6099
|
-
if (abs) scaleX < 0 && (scaleX = -scaleX), scaleY < 0 && (scaleY = -scaleY);
|
|
6100
|
-
if (scaleFixed === true || scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) scaleX = scaleY = 1;
|
|
6101
|
-
tempScaleData$1.scaleX = scaleX;
|
|
6102
|
-
tempScaleData$1.scaleY = scaleY;
|
|
6103
|
-
return tempScaleData$1;
|
|
6138
|
+
getRenderScaleData(abs, scaleFixed, unscale = true) {
|
|
6139
|
+
return getScaleFixedData$1(ImageManager.patternLocked ? this.__world : this.__nowWorld || this.__world, scaleFixed, unscale, abs);
|
|
6104
6140
|
}
|
|
6105
6141
|
getTransform(relative) {
|
|
6106
6142
|
return this.__layout.getTransform(relative || "local");
|
|
@@ -6262,7 +6298,6 @@ var LeaferUI = function(exports) {
|
|
|
6262
6298
|
__drawHitPath(_canvas) {}
|
|
6263
6299
|
__updateHitCanvas() {}
|
|
6264
6300
|
__render(_canvas, _options) {}
|
|
6265
|
-
__renderComplex(_canvas, _options) {}
|
|
6266
6301
|
__drawFast(_canvas, _options) {}
|
|
6267
6302
|
__draw(_canvas, _options, _originCanvas) {}
|
|
6268
6303
|
__clip(_canvas, _options) {}
|
|
@@ -6273,7 +6308,7 @@ var LeaferUI = function(exports) {
|
|
|
6273
6308
|
__drawPath(_canvas) {}
|
|
6274
6309
|
__drawRenderPath(_canvas) {}
|
|
6275
6310
|
__updatePath() {}
|
|
6276
|
-
__updateRenderPath() {}
|
|
6311
|
+
__updateRenderPath(_updateCache) {}
|
|
6277
6312
|
getMotionPathData() {
|
|
6278
6313
|
return Plugin.need("path");
|
|
6279
6314
|
}
|
|
@@ -6341,9 +6376,11 @@ var LeaferUI = function(exports) {
|
|
|
6341
6376
|
return 0;
|
|
6342
6377
|
}
|
|
6343
6378
|
__updateRenderSpread() {
|
|
6379
|
+
let layout;
|
|
6344
6380
|
const {children: children} = this;
|
|
6345
6381
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
6346
|
-
|
|
6382
|
+
layout = children[i].__layout;
|
|
6383
|
+
if (layout.renderSpread || layout.localOuterBounds) return 1;
|
|
6347
6384
|
}
|
|
6348
6385
|
return 0;
|
|
6349
6386
|
}
|
|
@@ -6598,7 +6635,7 @@ var LeaferUI = function(exports) {
|
|
|
6598
6635
|
this.levelMap = null;
|
|
6599
6636
|
}
|
|
6600
6637
|
}
|
|
6601
|
-
const version = "2.0.
|
|
6638
|
+
const version = "2.0.3";
|
|
6602
6639
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6603
6640
|
get allowBackgroundColor() {
|
|
6604
6641
|
return true;
|
|
@@ -7405,7 +7442,7 @@ var LeaferUI = function(exports) {
|
|
|
7405
7442
|
this.config = {};
|
|
7406
7443
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
7407
7444
|
this.picker = new Picker(this.target = target, this);
|
|
7408
|
-
this.finder = Creator.finder && Creator.finder();
|
|
7445
|
+
this.finder = Creator.finder && Creator.finder(target, this.config);
|
|
7409
7446
|
}
|
|
7410
7447
|
getByPoint(hitPoint, hitRadius, options) {
|
|
7411
7448
|
const {target: target, picker: picker} = this;
|
|
@@ -7443,7 +7480,9 @@ var LeaferUI = function(exports) {
|
|
|
7443
7480
|
set(value) {
|
|
7444
7481
|
this.__setAttr(key, value);
|
|
7445
7482
|
if (value) this.__.__useEffect = true;
|
|
7446
|
-
|
|
7483
|
+
const layout = this.__layout;
|
|
7484
|
+
layout.renderChanged || layout.renderChange();
|
|
7485
|
+
layout.surfaceChange();
|
|
7447
7486
|
}
|
|
7448
7487
|
}));
|
|
7449
7488
|
}
|
|
@@ -7528,7 +7567,7 @@ var LeaferUI = function(exports) {
|
|
|
7528
7567
|
}
|
|
7529
7568
|
};
|
|
7530
7569
|
const {parse: parse, objectToCanvasData: objectToCanvasData} = PathConvert;
|
|
7531
|
-
const {stintSet: stintSet$
|
|
7570
|
+
const {stintSet: stintSet$5} = DataHelper, {hasTransparent: hasTransparent$2} = ColorConvert;
|
|
7532
7571
|
const emptyPaint = {
|
|
7533
7572
|
originPaint: {}
|
|
7534
7573
|
};
|
|
@@ -7594,7 +7633,7 @@ var LeaferUI = function(exports) {
|
|
|
7594
7633
|
setFill(value) {
|
|
7595
7634
|
if (this.__naturalWidth) this.__removeNaturalSize();
|
|
7596
7635
|
if (isString(value) || !value) {
|
|
7597
|
-
stintSet$
|
|
7636
|
+
stintSet$5(this, "__isTransparentFill", hasTransparent$2(value));
|
|
7598
7637
|
this.__isFills && this.__removePaint("fill", true);
|
|
7599
7638
|
this._fill = value;
|
|
7600
7639
|
} else if (isObject(value)) {
|
|
@@ -7603,7 +7642,7 @@ var LeaferUI = function(exports) {
|
|
|
7603
7642
|
}
|
|
7604
7643
|
setStroke(value) {
|
|
7605
7644
|
if (isString(value) || !value) {
|
|
7606
|
-
stintSet$
|
|
7645
|
+
stintSet$5(this, "__isTransparentStroke", hasTransparent$2(value));
|
|
7607
7646
|
this.__isStrokes && this.__removePaint("stroke", true);
|
|
7608
7647
|
this._stroke = value;
|
|
7609
7648
|
} else if (isObject(value)) {
|
|
@@ -7636,15 +7675,16 @@ var LeaferUI = function(exports) {
|
|
|
7636
7675
|
this.__needComputePaint = undefined;
|
|
7637
7676
|
}
|
|
7638
7677
|
__getRealStrokeWidth(childStyle) {
|
|
7639
|
-
let {strokeWidth: strokeWidth,
|
|
7678
|
+
let {strokeWidth: strokeWidth, strokeScaleFixed: strokeScaleFixed} = this;
|
|
7640
7679
|
if (childStyle) {
|
|
7641
7680
|
if (childStyle.strokeWidth) strokeWidth = childStyle.strokeWidth;
|
|
7642
|
-
if (!isUndefined(childStyle.
|
|
7681
|
+
if (!isUndefined(childStyle.strokeScaleFixed)) strokeScaleFixed = childStyle.strokeScaleFixed;
|
|
7682
|
+
}
|
|
7683
|
+
if (strokeScaleFixed) {
|
|
7684
|
+
const {scaleX: scaleX} = this.__leaf.getRenderScaleData(true, strokeScaleFixed, false);
|
|
7685
|
+
if (scaleX !== 1) return strokeWidth * scaleX;
|
|
7643
7686
|
}
|
|
7644
|
-
|
|
7645
|
-
const scale = this.__leaf.getClampRenderScale();
|
|
7646
|
-
return scale > 1 ? strokeWidth / scale : strokeWidth;
|
|
7647
|
-
} else return strokeWidth;
|
|
7687
|
+
return strokeWidth;
|
|
7648
7688
|
}
|
|
7649
7689
|
__setPaint(attrName, value) {
|
|
7650
7690
|
this.__setInput(attrName, value);
|
|
@@ -7661,11 +7701,11 @@ var LeaferUI = function(exports) {
|
|
|
7661
7701
|
if (removeInput) this.__removeInput(attrName);
|
|
7662
7702
|
PaintImage.recycleImage(attrName, this);
|
|
7663
7703
|
if (attrName === "fill") {
|
|
7664
|
-
stintSet$
|
|
7704
|
+
stintSet$5(this, "__isAlphaPixelFill", undefined);
|
|
7665
7705
|
this._fill = this.__isFills = undefined;
|
|
7666
7706
|
} else {
|
|
7667
|
-
stintSet$
|
|
7668
|
-
stintSet$
|
|
7707
|
+
stintSet$5(this, "__isAlphaPixelStroke", undefined);
|
|
7708
|
+
stintSet$5(this, "__hasMultiStrokeStyle", undefined);
|
|
7669
7709
|
this._stroke = this.__isStrokes = undefined;
|
|
7670
7710
|
}
|
|
7671
7711
|
}
|
|
@@ -7812,7 +7852,7 @@ var LeaferUI = function(exports) {
|
|
|
7812
7852
|
const data = this.__, {strokeAlign: strokeAlign, __maxStrokeWidth: strokeWidth} = data, box = this.__box;
|
|
7813
7853
|
if ((data.stroke || data.hitStroke === "all") && strokeWidth && strokeAlign !== "inside") {
|
|
7814
7854
|
boxSpread = spread = strokeAlign === "center" ? strokeWidth / 2 : strokeWidth;
|
|
7815
|
-
if (!data.__boxStroke) {
|
|
7855
|
+
if (!data.__boxStroke || data.__useArrow) {
|
|
7816
7856
|
const miterLimitAddWidth = data.__isLinePath ? 0 : 10 * spread;
|
|
7817
7857
|
const storkeCapAddWidth = data.strokeCap === "none" ? 0 : strokeWidth;
|
|
7818
7858
|
spread += Math.max(miterLimitAddWidth, storkeCapAddWidth);
|
|
@@ -7841,22 +7881,22 @@ var LeaferUI = function(exports) {
|
|
|
7841
7881
|
return box ? max$4(box.__updateRenderSpread(), spread) : spread;
|
|
7842
7882
|
}
|
|
7843
7883
|
};
|
|
7844
|
-
const {stintSet: stintSet$
|
|
7884
|
+
const {stintSet: stintSet$4} = DataHelper;
|
|
7845
7885
|
const UIRender = {
|
|
7846
7886
|
__updateChange() {
|
|
7847
7887
|
const data = this.__;
|
|
7848
7888
|
if (data.__useStroke) {
|
|
7849
7889
|
const useStroke = data.__useStroke = !!(data.stroke && data.strokeWidth);
|
|
7850
|
-
stintSet$
|
|
7851
|
-
stintSet$
|
|
7890
|
+
stintSet$4(this.__world, "half", useStroke && data.strokeAlign === "center" && data.strokeWidth % 2);
|
|
7891
|
+
stintSet$4(data, "__fillAfterStroke", useStroke && data.strokeAlign === "outside" && data.fill && !data.__isTransparentFill);
|
|
7852
7892
|
}
|
|
7853
7893
|
if (data.__useEffect) {
|
|
7854
7894
|
const {shadow: shadow, fill: fill, stroke: stroke} = data, otherEffect = data.innerShadow || data.blur || data.backgroundBlur || data.filter;
|
|
7855
|
-
stintSet$
|
|
7895
|
+
stintSet$4(data, "__isFastShadow", shadow && !otherEffect && shadow.length < 2 && !shadow[0].spread && !Effect.isTransformShadow(shadow[0]) && fill && !data.__isTransparentFill && !(isArray(fill) && fill.length > 1) && (this.useFastShadow || !stroke || stroke && data.strokeAlign === "inside"));
|
|
7856
7896
|
data.__useEffect = !!(shadow || otherEffect);
|
|
7857
7897
|
}
|
|
7858
7898
|
data.__checkSingle();
|
|
7859
|
-
stintSet$
|
|
7899
|
+
stintSet$4(data, "__complex", data.__isFills || data.__isStrokes || data.cornerRadius || data.__useEffect);
|
|
7860
7900
|
},
|
|
7861
7901
|
__drawFast(canvas, options) {
|
|
7862
7902
|
drawFast(this, canvas, options);
|
|
@@ -7963,6 +8003,12 @@ var LeaferUI = function(exports) {
|
|
|
7963
8003
|
get isFrame() {
|
|
7964
8004
|
return false;
|
|
7965
8005
|
}
|
|
8006
|
+
set strokeWidthFixed(value) {
|
|
8007
|
+
this.strokeScaleFixed = value;
|
|
8008
|
+
}
|
|
8009
|
+
get strokeWidthFixed() {
|
|
8010
|
+
return this.strokeScaleFixed;
|
|
8011
|
+
}
|
|
7966
8012
|
set scale(value) {
|
|
7967
8013
|
MathHelper.assignScale(this, value);
|
|
7968
8014
|
}
|
|
@@ -8018,6 +8064,9 @@ var LeaferUI = function(exports) {
|
|
|
8018
8064
|
getPathString(curve, pathForRender, floatLength) {
|
|
8019
8065
|
return PathConvert.stringify(this.getPath(curve, pathForRender), floatLength);
|
|
8020
8066
|
}
|
|
8067
|
+
asPath(curve, pathForRender) {
|
|
8068
|
+
this.path = this.getPath(curve, pathForRender);
|
|
8069
|
+
}
|
|
8021
8070
|
load() {
|
|
8022
8071
|
this.__.__computePaint();
|
|
8023
8072
|
}
|
|
@@ -8027,16 +8076,18 @@ var LeaferUI = function(exports) {
|
|
|
8027
8076
|
data.lazy && !this.__inLazyBounds && !Export.running ? data.__needComputePaint = true : data.__computePaint();
|
|
8028
8077
|
}
|
|
8029
8078
|
}
|
|
8030
|
-
__updateRenderPath() {
|
|
8079
|
+
__updateRenderPath(updateCache) {
|
|
8031
8080
|
const data = this.__;
|
|
8032
8081
|
if (data.path) {
|
|
8033
8082
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
8034
|
-
if (data.__useArrow) PathArrow.addArrows(this);
|
|
8083
|
+
if (data.__useArrow) PathArrow.addArrows(this, updateCache);
|
|
8035
8084
|
} else data.__pathForRender && (data.__pathForRender = undefined);
|
|
8036
8085
|
}
|
|
8037
8086
|
__drawRenderPath(canvas) {
|
|
8087
|
+
const data = this.__;
|
|
8038
8088
|
canvas.beginPath();
|
|
8039
|
-
|
|
8089
|
+
if (data.__useArrow) PathArrow.updateArrow(this);
|
|
8090
|
+
this.__drawPathByData(canvas, data.__pathForRender);
|
|
8040
8091
|
}
|
|
8041
8092
|
__drawPath(canvas) {
|
|
8042
8093
|
canvas.beginPath();
|
|
@@ -8085,6 +8136,7 @@ var LeaferUI = function(exports) {
|
|
|
8085
8136
|
static setEditOuter(_toolName) {}
|
|
8086
8137
|
static setEditInner(_editorName) {}
|
|
8087
8138
|
destroy() {
|
|
8139
|
+
this.__.__willDestroy = true;
|
|
8088
8140
|
this.fill = this.stroke = null;
|
|
8089
8141
|
if (this.__animate) this.killAnimate();
|
|
8090
8142
|
super.destroy();
|
|
@@ -8145,7 +8197,7 @@ var LeaferUI = function(exports) {
|
|
|
8145
8197
|
__decorate([ strokeType(undefined, true) ], exports.UI.prototype, "stroke", void 0);
|
|
8146
8198
|
__decorate([ strokeType("inside") ], exports.UI.prototype, "strokeAlign", void 0);
|
|
8147
8199
|
__decorate([ strokeType(1, true) ], exports.UI.prototype, "strokeWidth", void 0);
|
|
8148
|
-
__decorate([ strokeType(false) ], exports.UI.prototype, "
|
|
8200
|
+
__decorate([ strokeType(false) ], exports.UI.prototype, "strokeScaleFixed", void 0);
|
|
8149
8201
|
__decorate([ strokeType("none") ], exports.UI.prototype, "strokeCap", void 0);
|
|
8150
8202
|
__decorate([ strokeType("miter") ], exports.UI.prototype, "strokeJoin", void 0);
|
|
8151
8203
|
__decorate([ strokeType() ], exports.UI.prototype, "dashPattern", void 0);
|
|
@@ -8719,9 +8771,9 @@ var LeaferUI = function(exports) {
|
|
|
8719
8771
|
return "Ellipse";
|
|
8720
8772
|
}
|
|
8721
8773
|
__updatePath() {
|
|
8722
|
-
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} =
|
|
8774
|
+
const data = this.__, {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = data;
|
|
8723
8775
|
const rx = width / 2, ry = height / 2;
|
|
8724
|
-
const path =
|
|
8776
|
+
const path = data.path = [];
|
|
8725
8777
|
let open;
|
|
8726
8778
|
if (innerRadius) {
|
|
8727
8779
|
if (startAngle || endAngle) {
|
|
@@ -8743,7 +8795,7 @@ var LeaferUI = function(exports) {
|
|
|
8743
8795
|
}
|
|
8744
8796
|
}
|
|
8745
8797
|
if (!open) closePath$2(path);
|
|
8746
|
-
if (Platform.ellipseToCurve)
|
|
8798
|
+
if (Platform.ellipseToCurve || data.__useArrow) data.path = this.getPath(true);
|
|
8747
8799
|
}
|
|
8748
8800
|
};
|
|
8749
8801
|
__decorate([ dataProcessor(EllipseData) ], exports.Ellipse.prototype, "__", void 0);
|
|
@@ -8922,7 +8974,7 @@ var LeaferUI = function(exports) {
|
|
|
8922
8974
|
__decorate([ dataType(false) ], exports.Canvas.prototype, "safeResize", void 0);
|
|
8923
8975
|
__decorate([ resizeType() ], exports.Canvas.prototype, "contextSettings", void 0);
|
|
8924
8976
|
exports.Canvas = __decorate([ registerUI() ], exports.Canvas);
|
|
8925
|
-
const {copyAndSpread: copyAndSpread$
|
|
8977
|
+
const {copyAndSpread: copyAndSpread$3, includes: includes, spread: spread, setList: setList} = BoundsHelper, {stintSet: stintSet$3} = DataHelper;
|
|
8926
8978
|
exports.Text = class Text extends exports.UI {
|
|
8927
8979
|
get __tag() {
|
|
8928
8980
|
return "Text";
|
|
@@ -8938,9 +8990,9 @@ var LeaferUI = function(exports) {
|
|
|
8938
8990
|
data.__letterSpacing = UnitConvert.number(letterSpacing, fontSize);
|
|
8939
8991
|
data.__baseLine = data.__lineHeight - (data.__lineHeight - fontSize * .7) / 2;
|
|
8940
8992
|
data.__font = `${italic ? "italic " : ""}${textCase === "small-caps" ? "small-caps " : ""}${fontWeight !== "normal" ? fontWeight + " " : ""}${fontSize || 12}px ${fontFamily || "caption"}`;
|
|
8941
|
-
stintSet$
|
|
8942
|
-
stintSet$
|
|
8943
|
-
stintSet$
|
|
8993
|
+
stintSet$3(data, "__padding", padding && MathHelper.fourNumber(padding));
|
|
8994
|
+
stintSet$3(data, "__clipText", textOverflow !== "show" && !data.__autoSize);
|
|
8995
|
+
stintSet$3(data, "__isCharMode", width || height || data.__letterSpacing || textCase !== "none");
|
|
8944
8996
|
data.__textDrawData = TextConvert.getDrawData((data.__isPlacehold = data.placeholder && data.text === "") ? data.placeholder : data.text, this.__);
|
|
8945
8997
|
}
|
|
8946
8998
|
__updateBoxBounds() {
|
|
@@ -8975,7 +9027,7 @@ var LeaferUI = function(exports) {
|
|
|
8975
9027
|
}
|
|
8976
9028
|
__updateRenderBounds() {
|
|
8977
9029
|
const {renderBounds: renderBounds, renderSpread: renderSpread} = this.__layout;
|
|
8978
|
-
copyAndSpread$
|
|
9030
|
+
copyAndSpread$3(renderBounds, this.__.__textBoxBounds, renderSpread);
|
|
8979
9031
|
if (this.__box) this.__box.__layout.renderBounds = renderBounds;
|
|
8980
9032
|
}
|
|
8981
9033
|
__updateChange() {
|
|
@@ -9199,7 +9251,7 @@ var LeaferUI = function(exports) {
|
|
|
9199
9251
|
if (this.viewReady) this.renderer.update();
|
|
9200
9252
|
}
|
|
9201
9253
|
__render(canvas, options) {
|
|
9202
|
-
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds));
|
|
9254
|
+
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds, undefined, undefined, true));
|
|
9203
9255
|
}
|
|
9204
9256
|
__onResize(event) {
|
|
9205
9257
|
this.forEach(leafer => leafer.resize(event));
|
|
@@ -10515,8 +10567,8 @@ var LeaferUI = function(exports) {
|
|
|
10515
10567
|
canvas.save();
|
|
10516
10568
|
if (item.transform) canvas.transform(item.transform);
|
|
10517
10569
|
if (originPaint.scaleFixed) {
|
|
10518
|
-
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
|
|
10519
|
-
if (
|
|
10570
|
+
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, originPaint.scaleFixed, false);
|
|
10571
|
+
if (scaleX !== 1) canvas.scale(scaleX, scaleY);
|
|
10520
10572
|
}
|
|
10521
10573
|
if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
|
|
10522
10574
|
fillPathOrText(ui, canvas, renderOptions);
|
|
@@ -10674,13 +10726,13 @@ var LeaferUI = function(exports) {
|
|
|
10674
10726
|
}
|
|
10675
10727
|
}
|
|
10676
10728
|
}
|
|
10677
|
-
const {getSpread: getSpread, copyAndSpread: copyAndSpread$
|
|
10729
|
+
const {getSpread: getSpread, copyAndSpread: copyAndSpread$2, toOuterOf: toOuterOf, getOuterOf: getOuterOf, getByMove: getByMove, move: move$7, getIntersectData: getIntersectData} = BoundsHelper;
|
|
10678
10730
|
const tempBounds$2 = {};
|
|
10679
10731
|
function shape(ui, current, options) {
|
|
10680
10732
|
const canvas = current.getSameCanvas();
|
|
10681
10733
|
const currentBounds = current.bounds, nowWorld = ui.__nowWorld, layout = ui.__layout;
|
|
10682
10734
|
const nowWorldShapeBounds = ui.__nowWorldShapeBounds || (ui.__nowWorldShapeBounds = {});
|
|
10683
|
-
toOuterOf(layout.strokeSpread ? (copyAndSpread$
|
|
10735
|
+
toOuterOf(layout.strokeSpread ? (copyAndSpread$2(tempBounds$2, layout.boxBounds, layout.strokeSpread),
|
|
10684
10736
|
tempBounds$2) : layout.boxBounds, nowWorld, nowWorldShapeBounds);
|
|
10685
10737
|
let bounds, renderBounds, matrix, fitMatrix, shapeBounds, worldCanvas;
|
|
10686
10738
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
|
|
@@ -10734,7 +10786,7 @@ var LeaferUI = function(exports) {
|
|
|
10734
10786
|
};
|
|
10735
10787
|
}
|
|
10736
10788
|
let recycleMap;
|
|
10737
|
-
const {stintSet: stintSet} = DataHelper, {hasTransparent: hasTransparent$1} = ColorConvert;
|
|
10789
|
+
const {stintSet: stintSet$2} = DataHelper, {hasTransparent: hasTransparent$1} = ColorConvert;
|
|
10738
10790
|
function compute(attrName, ui) {
|
|
10739
10791
|
const data = ui.__, leafPaints = [];
|
|
10740
10792
|
let paints = data.__input[attrName], isAlphaPixel, isTransparent;
|
|
@@ -10757,12 +10809,12 @@ var LeaferUI = function(exports) {
|
|
|
10757
10809
|
isTransparent = true;
|
|
10758
10810
|
}
|
|
10759
10811
|
if (attrName === "fill") {
|
|
10760
|
-
stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
|
|
10761
|
-
stintSet(data, "__isTransparentFill", isTransparent);
|
|
10812
|
+
stintSet$2(data, "__isAlphaPixelFill", isAlphaPixel);
|
|
10813
|
+
stintSet$2(data, "__isTransparentFill", isTransparent);
|
|
10762
10814
|
} else {
|
|
10763
|
-
stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
|
|
10764
|
-
stintSet(data, "__isTransparentStroke", isTransparent);
|
|
10765
|
-
stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
|
|
10815
|
+
stintSet$2(data, "__isAlphaPixelStroke", isAlphaPixel);
|
|
10816
|
+
stintSet$2(data, "__isTransparentStroke", isTransparent);
|
|
10817
|
+
stintSet$2(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
|
|
10766
10818
|
}
|
|
10767
10819
|
} else {
|
|
10768
10820
|
data.__removePaint(attrName, false);
|
|
@@ -10831,11 +10883,11 @@ var LeaferUI = function(exports) {
|
|
|
10831
10883
|
shape: shape
|
|
10832
10884
|
};
|
|
10833
10885
|
let cache$1, box$2 = new Bounds;
|
|
10834
|
-
const {isSame: isSame} = BoundsHelper;
|
|
10886
|
+
const {isSame: isSame$1} = BoundsHelper;
|
|
10835
10887
|
function image(ui, attrName, paint, boxBounds, firstUse) {
|
|
10836
10888
|
let leafPaint, event;
|
|
10837
10889
|
const image = ImageManager.get(paint, paint.type);
|
|
10838
|
-
if (cache$1 && paint === cache$1.paint && isSame(boxBounds, cache$1.boxBounds)) {
|
|
10890
|
+
if (cache$1 && paint === cache$1.paint && isSame$1(boxBounds, cache$1.boxBounds)) {
|
|
10839
10891
|
leafPaint = cache$1.leafPaint;
|
|
10840
10892
|
} else {
|
|
10841
10893
|
leafPaint = {
|
|
@@ -10913,6 +10965,7 @@ var LeaferUI = function(exports) {
|
|
|
10913
10965
|
const clip = transform && !transform.onlyScale || data.path || data.cornerRadius;
|
|
10914
10966
|
if (clip || opacity && opacity < 1 || blendMode) leafPaint.complex = clip ? 2 : true;
|
|
10915
10967
|
}
|
|
10968
|
+
if (paint.filter) PaintImage.applyFilter(leafPaint, image, paint.filter, ui);
|
|
10916
10969
|
return true;
|
|
10917
10970
|
}
|
|
10918
10971
|
function onLoad(ui, event) {
|
|
@@ -11099,7 +11152,7 @@ var LeaferUI = function(exports) {
|
|
|
11099
11152
|
if (scaleX) scaleHelper(transform, scaleX, scaleY);
|
|
11100
11153
|
translate(transform, box.x + x, box.y + y);
|
|
11101
11154
|
}
|
|
11102
|
-
const {get: get$1, scale: scale$
|
|
11155
|
+
const {get: get$1, scale: scale$2, copy: copy$4} = MatrixHelper;
|
|
11103
11156
|
const {getFloorScale: getFloorScale} = MathHelper, {abs: abs$6} = Math;
|
|
11104
11157
|
function createPatternTask(paint, ui, canvas, renderOptions) {
|
|
11105
11158
|
if (!paint.patternTask) {
|
|
@@ -11116,7 +11169,7 @@ var LeaferUI = function(exports) {
|
|
|
11116
11169
|
let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
|
|
11117
11170
|
if (paint.patternId !== id && !ui.destroyed) {
|
|
11118
11171
|
if (!(Platform.image.isLarge(paint.image, scaleX, scaleY) && !paint.data.repeat)) {
|
|
11119
|
-
const {image: image, data: data} = paint, {opacity: opacity
|
|
11172
|
+
const {image: image, data: data} = paint, {opacity: opacity} = paint.originPaint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
|
|
11120
11173
|
let imageMatrix, xGap, yGap, {width: width, height: height} = image;
|
|
11121
11174
|
if (fixScale) scaleX *= fixScale, scaleY *= fixScale;
|
|
11122
11175
|
width *= scaleX;
|
|
@@ -11130,9 +11183,9 @@ var LeaferUI = function(exports) {
|
|
|
11130
11183
|
scaleY *= getFloorScale(height + (yGap || 0));
|
|
11131
11184
|
imageMatrix = get$1();
|
|
11132
11185
|
if (transform) copy$4(imageMatrix, transform);
|
|
11133
|
-
scale$
|
|
11186
|
+
scale$2(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
11134
11187
|
}
|
|
11135
|
-
const imageCanvas = image.getCanvas(width, height, opacity,
|
|
11188
|
+
const imageCanvas = image.getCanvas(width, height, opacity, undefined, xGap, yGap, ui.leafer && ui.leafer.config.smooth, data.interlace);
|
|
11136
11189
|
const pattern = image.getPattern(imageCanvas, data.repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
11137
11190
|
paint.style = pattern;
|
|
11138
11191
|
paint.patternId = id;
|
|
@@ -11218,6 +11271,7 @@ var LeaferUI = function(exports) {
|
|
|
11218
11271
|
if (!recycleMap) recycleMap = {};
|
|
11219
11272
|
recycleMap[url] = true;
|
|
11220
11273
|
ImageManager.recyclePaint(paint);
|
|
11274
|
+
if (data.__willDestroy && image.parent) PaintImage.recycleFilter(image, data.__leaf);
|
|
11221
11275
|
if (image.loading) {
|
|
11222
11276
|
if (!input) {
|
|
11223
11277
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -12073,8 +12127,11 @@ var LeaferUI = function(exports) {
|
|
|
12073
12127
|
});
|
|
12074
12128
|
if (isObject(check)) value = check; else if (check === false) return;
|
|
12075
12129
|
}
|
|
12076
|
-
t.
|
|
12077
|
-
|
|
12130
|
+
const {dimOthers: dimOthers, bright: bright} = t.editBox.mergedConfig || t.config;
|
|
12131
|
+
if (!isUndefined(dimOthers) || !isUndefined(bright)) {
|
|
12132
|
+
t.setDimOthers(false);
|
|
12133
|
+
t.setBright(false);
|
|
12134
|
+
}
|
|
12078
12135
|
if (isArray(value) && value.length > 1 && value[0].locked) value.splice(0, 1);
|
|
12079
12136
|
if (t.single) {
|
|
12080
12137
|
delete t.element.syncEventer;
|
|
@@ -12098,7 +12155,8 @@ var LeaferUI = function(exports) {
|
|
|
12098
12155
|
return (target, key) => {
|
|
12099
12156
|
defineKey(target, key, {
|
|
12100
12157
|
get() {
|
|
12101
|
-
const {config: config, element: element, dragPoint: dragPoint, editBox: editBox, app: app} = this, mergeConfig = Object.assign({}, config);
|
|
12158
|
+
const {config: config, element: element, dragPoint: dragPoint, editBox: editBox, editTool: editTool, innerEditor: innerEditor, app: app} = this, mergeConfig = Object.assign({}, config);
|
|
12159
|
+
if (innerEditor) innerEditor.editConfig && Object.assign(mergeConfig, innerEditor.editConfig); else if (editTool) editTool.editConfig && Object.assign(mergeConfig, editTool.editConfig);
|
|
12102
12160
|
if (element && element.editConfig) {
|
|
12103
12161
|
let {editConfig: editConfig} = element;
|
|
12104
12162
|
if (editConfig.hover || editConfig.hoverStyle) {
|
|
@@ -12976,8 +13034,10 @@ var LeaferUI = function(exports) {
|
|
|
12976
13034
|
const {editMask: editMask} = editor;
|
|
12977
13035
|
const {middlePoint: middlePoint, resizeable: resizeable, rotateable: rotateable, hideOnSmall: hideOnSmall, editBox: editBox, mask: mask, dimOthers: dimOthers, bright: bright, spread: spread, hideRotatePoints: hideRotatePoints, hideResizeLines: hideResizeLines} = mergeConfig;
|
|
12978
13036
|
editMask.visible = mask ? true : 0;
|
|
12979
|
-
|
|
12980
|
-
|
|
13037
|
+
if (!isUndefined(dimOthers) || !isUndefined(bright)) {
|
|
13038
|
+
editor.setDimOthers(dimOthers);
|
|
13039
|
+
editor.setBright(!!dimOthers || bright);
|
|
13040
|
+
}
|
|
12981
13041
|
if (spread) BoundsHelper.spread(bounds, spread);
|
|
12982
13042
|
if (this.view.worldOpacity) {
|
|
12983
13043
|
const {width: width, height: height} = bounds;
|
|
@@ -12996,7 +13056,8 @@ var LeaferUI = function(exports) {
|
|
|
12996
13056
|
resizeL = resizeLines[(i - 1) / 2];
|
|
12997
13057
|
resizeL.set(point);
|
|
12998
13058
|
resizeL.visible = resizeP.visible && !hideResizeLines;
|
|
12999
|
-
resizeP.visible
|
|
13059
|
+
if (resizeP.visible) resizeP.visible = !!middlePoint;
|
|
13060
|
+
if (rotateP.visible) rotateP.visible = !!middlePoint;
|
|
13000
13061
|
if ((i + 1) / 2 % 2) {
|
|
13001
13062
|
resizeL.width = width + resizeL.height;
|
|
13002
13063
|
if (hideOnSmall && resizeP.width * 2 > width) resizeP.visible = false;
|
|
@@ -15781,7 +15842,7 @@ var LeaferUI = function(exports) {
|
|
|
15781
15842
|
__decorate([ arrowType("angle") ], exports.Arrow.prototype, "endArrow", void 0);
|
|
15782
15843
|
exports.Arrow = __decorate([ registerUI() ], exports.Arrow);
|
|
15783
15844
|
const {M: M$2, L: L$2, C: C$2, Q: Q$1, O: O$1} = PathCommandMap;
|
|
15784
|
-
const {rotate: rotate$1, copyFrom: copyFrom$1, scale: scale} = PointHelper;
|
|
15845
|
+
const {rotate: rotate$1, copyFrom: copyFrom$1, scale: scale$1} = PointHelper;
|
|
15785
15846
|
const point$1 = {};
|
|
15786
15847
|
const PathMatrixHelper = {
|
|
15787
15848
|
layout(data, x, y, scaleX, scaleY, rotation, origin) {
|
|
@@ -15825,17 +15886,19 @@ var LeaferUI = function(exports) {
|
|
|
15825
15886
|
function setPoint$2(data, startIndex, x, y, scaleX, scaleY, rotation, origin) {
|
|
15826
15887
|
copyFrom$1(point$1, data[startIndex], data[startIndex + 1]);
|
|
15827
15888
|
if (rotation) rotate$1(point$1, rotation, origin);
|
|
15828
|
-
if (scaleX) scale(point$1, scaleX, scaleY);
|
|
15889
|
+
if (scaleX) scale$1(point$1, scaleX, scaleY);
|
|
15829
15890
|
data[startIndex] = x + point$1.x;
|
|
15830
15891
|
data[startIndex + 1] = y + point$1.y;
|
|
15831
15892
|
}
|
|
15832
15893
|
const {layout: layout$2, rotate: rotate} = PathMatrixHelper;
|
|
15833
15894
|
const {getAngle: getAngle} = PointHelper;
|
|
15834
|
-
const
|
|
15895
|
+
const zero = {
|
|
15896
|
+
x: 0
|
|
15897
|
+
}, half = {
|
|
15835
15898
|
x: -.5
|
|
15836
15899
|
};
|
|
15837
15900
|
const angle = {
|
|
15838
|
-
connect:
|
|
15901
|
+
connect: zero,
|
|
15839
15902
|
offset: {
|
|
15840
15903
|
x: -.71,
|
|
15841
15904
|
bevelJoin: .36,
|
|
@@ -15853,61 +15916,83 @@ var LeaferUI = function(exports) {
|
|
|
15853
15916
|
path: [ 1, -3, -3, 2, 0, 0, 2, -1, 0 ]
|
|
15854
15917
|
};
|
|
15855
15918
|
const triangleLinePath = [ 1, -3, 0, 2, -3, -2, 2, 0, 0, 2, -3, 2, 2, -3, 0 ];
|
|
15856
|
-
const
|
|
15857
|
-
connect:
|
|
15919
|
+
const triangleFill = {
|
|
15920
|
+
connect: zero,
|
|
15858
15921
|
offset: {
|
|
15859
15922
|
x: -.9,
|
|
15860
15923
|
bevelJoin: .624,
|
|
15861
15924
|
roundJoin: .4
|
|
15862
15925
|
},
|
|
15863
|
-
path: [ ...triangleLinePath
|
|
15864
|
-
dashPath: [ 1, -2, 0, 2, -.5, 0 ]
|
|
15926
|
+
path: [ ...triangleLinePath ]
|
|
15865
15927
|
};
|
|
15866
|
-
const
|
|
15867
|
-
|
|
15868
|
-
|
|
15869
|
-
|
|
15870
|
-
|
|
15871
|
-
|
|
15872
|
-
|
|
15873
|
-
},
|
|
15874
|
-
path: [ ...arrowLinePath, 1, -2.25, .95, 2, -2.25, -.95 ],
|
|
15875
|
-
dashPath: [ 1, -3, 0, 2, -.5, 0 ]
|
|
15928
|
+
const triangle = DataHelper.clone(triangleFill);
|
|
15929
|
+
triangle.path = [ ...triangleLinePath, 1, -2.05, 1.1, 2, -2.05, -1.1 ];
|
|
15930
|
+
triangle.dashPath = [ 1, -2, 0, 2, -.5, 0 ];
|
|
15931
|
+
const triangleFlipFill = {
|
|
15932
|
+
connect: zero,
|
|
15933
|
+
offset: half,
|
|
15934
|
+
path: [ ...triangleFill.path ]
|
|
15876
15935
|
};
|
|
15877
15936
|
const triangleFlip = {
|
|
15937
|
+
connect: zero,
|
|
15878
15938
|
offset: half,
|
|
15879
15939
|
path: [ ...triangle.path ],
|
|
15880
15940
|
dashPath: [ 1, -2.5, 0, 2, -1, 0 ]
|
|
15881
15941
|
};
|
|
15942
|
+
rotate(triangleFlipFill.path, 180, {
|
|
15943
|
+
x: -1.5,
|
|
15944
|
+
y: 0
|
|
15945
|
+
});
|
|
15882
15946
|
rotate(triangleFlip.path, 180, {
|
|
15883
15947
|
x: -1.5,
|
|
15884
15948
|
y: 0
|
|
15885
15949
|
});
|
|
15950
|
+
const arrowLinePath = [ 1, -3, 0, 2, -3.5, -1.8, 2, 0, 0, 2, -3.5, 1.8, 2, -3, 0 ];
|
|
15951
|
+
const arrowFill = {
|
|
15952
|
+
connect: zero,
|
|
15953
|
+
offset: {
|
|
15954
|
+
x: -1.1,
|
|
15955
|
+
bevelJoin: .872,
|
|
15956
|
+
roundJoin: .6
|
|
15957
|
+
},
|
|
15958
|
+
path: [ ...arrowLinePath ]
|
|
15959
|
+
};
|
|
15960
|
+
const arrow = DataHelper.clone(arrowFill);
|
|
15961
|
+
arrow.path = [ ...arrowLinePath, 1, -2.25, .95, 2, -2.25, -.95 ];
|
|
15962
|
+
arrow.dashPath = [ 1, -3, 0, 2, -.5, 0 ];
|
|
15886
15963
|
const circleLine = {
|
|
15887
15964
|
connect: {
|
|
15888
|
-
x: -1.
|
|
15965
|
+
x: -1.8
|
|
15889
15966
|
},
|
|
15890
15967
|
path: [ 1, 1.8, -.1, 2, 1.8, 0, 26, 0, 0, 1.8, 0, 359, 0 ]
|
|
15891
15968
|
};
|
|
15892
|
-
const
|
|
15969
|
+
const circleFill = {
|
|
15893
15970
|
connect: {
|
|
15894
15971
|
x: .5
|
|
15895
15972
|
},
|
|
15896
|
-
path: [ ...circleLine.path
|
|
15897
|
-
dashPath: [ 1, -.5, 0, 2, .5, 0 ]
|
|
15973
|
+
path: [ ...circleLine.path ]
|
|
15898
15974
|
};
|
|
15975
|
+
const circle = DataHelper.clone(circleFill);
|
|
15976
|
+
circle.path = [ ...circleLine.path, 1, 0, 0, 26, 0, 0, 1, 0, 360, 0 ];
|
|
15977
|
+
circle.dashPath = [ 1, -.5, 0, 2, .5, 0 ];
|
|
15899
15978
|
const squareLine = {
|
|
15900
15979
|
connect: {
|
|
15901
|
-
x: -1.
|
|
15980
|
+
x: -1.4
|
|
15902
15981
|
},
|
|
15903
15982
|
path: [ 1, -1.4, 0, 2, -1.4, -1.4, 2, 1.4, -1.4, 2, 1.4, 1.4, 2, -1.4, 1.4, 2, -1.4, 0 ]
|
|
15904
15983
|
};
|
|
15984
|
+
const squareFill = {
|
|
15985
|
+
path: [ ...squareLine.path ]
|
|
15986
|
+
};
|
|
15905
15987
|
const square = {
|
|
15906
15988
|
path: [ ...squareLine.path, 2, -1.4, -.49, 2, 1, -.49, 1, -1.4, .49, 2, 1, .49 ]
|
|
15907
15989
|
};
|
|
15908
15990
|
const diamondLine = DataHelper.clone(squareLine);
|
|
15991
|
+
diamondLine.connect.x = -1.9;
|
|
15992
|
+
const diamondFill = DataHelper.clone(squareFill);
|
|
15909
15993
|
const diamond = DataHelper.clone(square);
|
|
15910
15994
|
rotate(diamondLine.path, 45);
|
|
15995
|
+
rotate(diamondFill.path, 45);
|
|
15911
15996
|
rotate(diamond.path, 45);
|
|
15912
15997
|
const mark = {
|
|
15913
15998
|
offset: half,
|
|
@@ -15927,19 +16012,33 @@ var LeaferUI = function(exports) {
|
|
|
15927
16012
|
"diamond-line": diamondLine,
|
|
15928
16013
|
mark: mark
|
|
15929
16014
|
};
|
|
16015
|
+
const fillArrows = {
|
|
16016
|
+
triangle: triangleFill,
|
|
16017
|
+
"triangle-flip": triangleFlipFill,
|
|
16018
|
+
arrow: arrowFill,
|
|
16019
|
+
circle: circleFill,
|
|
16020
|
+
square: squareFill,
|
|
16021
|
+
diamond: diamondFill
|
|
16022
|
+
};
|
|
15930
16023
|
function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
|
|
15931
|
-
let pathData, scale;
|
|
16024
|
+
let pathData, scale = 1, rotation = 0, fill;
|
|
15932
16025
|
const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
|
|
15933
16026
|
if (isObject(arrow)) {
|
|
15934
16027
|
if (arrow.type) {
|
|
15935
|
-
scale = arrow.scale;
|
|
16028
|
+
scale = arrow.scale || 1;
|
|
16029
|
+
rotation = arrow.rotation || 0;
|
|
15936
16030
|
pathData = arrows[arrow.type];
|
|
16031
|
+
if (scale > 1) {
|
|
16032
|
+
const fillData = fillArrows[arrow.type];
|
|
16033
|
+
if (fillData) pathData = fillData, fill = true;
|
|
16034
|
+
}
|
|
15937
16035
|
} else pathData = arrow;
|
|
15938
16036
|
} else {
|
|
15939
16037
|
pathData = arrows[arrow];
|
|
15940
16038
|
}
|
|
16039
|
+
if (!fill) fill = pathData.fill;
|
|
15941
16040
|
const {offset: offset, connect: connect, path: path, dashPath: dashPath} = pathData;
|
|
15942
|
-
let connectX = connect ? connect.x : 0;
|
|
16041
|
+
let connectX = connect ? connect.x * scale : 0;
|
|
15943
16042
|
let offsetX = offset ? offset.x : 0;
|
|
15944
16043
|
const data = [ ...path ];
|
|
15945
16044
|
if (hasDashPattern && dashPath) data.push(...dashPath);
|
|
@@ -15947,22 +16046,31 @@ var LeaferUI = function(exports) {
|
|
|
15947
16046
|
if (offset) {
|
|
15948
16047
|
if (strokeJoin === "round" && offset.roundJoin) offsetX += offset.roundJoin; else if (strokeJoin === "bevel" && offset.bevelJoin) offsetX += offset.bevelJoin;
|
|
15949
16048
|
}
|
|
15950
|
-
if (scale) layout$2(data, 0, 0, scale, scale);
|
|
16049
|
+
if (scale !== 1) layout$2(data, 0, 0, scale, scale);
|
|
15951
16050
|
if (offsetX) layout$2(data, offsetX, 0);
|
|
15952
|
-
layout$2(data, to.x, to.y, size, size, getAngle(from, to));
|
|
16051
|
+
layout$2(data, to.x, to.y, size, size, getAngle(from, to) + rotation);
|
|
15953
16052
|
connectOffset.x = (connectX + offsetX) * size;
|
|
15954
|
-
|
|
16053
|
+
const arrowData = {
|
|
16054
|
+
data: data
|
|
16055
|
+
};
|
|
16056
|
+
if (fill) arrowData.fill = fill;
|
|
16057
|
+
return arrowData;
|
|
15955
16058
|
}
|
|
15956
16059
|
const {M: M$1, L: L$1, C: C$1, Q: Q, Z: Z$1, N: N, D: D, X: X, G: G, F: F, O: O, P: P, U: U} = PathCommandMap;
|
|
15957
|
-
const {copy: copy, copyFrom: copyFrom, getDistancePoint: getDistancePoint} = PointHelper;
|
|
16060
|
+
const {copy: copy, copyFrom: copyFrom, getDistancePoint: getDistancePoint, isSame: isSame} = PointHelper;
|
|
16061
|
+
const {stintSet: stintSet$1} = DataHelper;
|
|
15958
16062
|
const connectPoint = {};
|
|
15959
16063
|
const first = {}, second = {};
|
|
15960
|
-
const last = {}, now = {};
|
|
16064
|
+
const old = {}, last = {}, now = {};
|
|
15961
16065
|
const PathArrowModule = {
|
|
15962
16066
|
list: arrows,
|
|
15963
|
-
|
|
15964
|
-
|
|
16067
|
+
fillList: fillArrows,
|
|
16068
|
+
addArrows(ui, updateCache) {
|
|
16069
|
+
const uData = ui.__;
|
|
16070
|
+
const {startArrow: startArrow, endArrow: endArrow, __strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data, cornerRadius: cornerRadius} = uData;
|
|
15965
16071
|
const clonePathForArrow = !cornerRadius;
|
|
16072
|
+
if (!updateCache) uData.__strokeWidthCache = strokeWidth;
|
|
16073
|
+
let startArrowPath, singleStartArrow, endArrowPath, singleEndArrow;
|
|
15966
16074
|
let command, i = 0, len = data.length, count = 0, useStartArrow = startArrow && startArrow !== "none";
|
|
15967
16075
|
while (i < len) {
|
|
15968
16076
|
command = data[i];
|
|
@@ -15970,6 +16078,7 @@ var LeaferUI = function(exports) {
|
|
|
15970
16078
|
case M$1:
|
|
15971
16079
|
case L$1:
|
|
15972
16080
|
if (count < 2 || i + 6 >= len) {
|
|
16081
|
+
copy(old, now);
|
|
15973
16082
|
copyFrom(now, data[i + 1], data[i + 2]);
|
|
15974
16083
|
if (!count && useStartArrow) copy(first, now);
|
|
15975
16084
|
}
|
|
@@ -15977,12 +16086,18 @@ var LeaferUI = function(exports) {
|
|
|
15977
16086
|
break;
|
|
15978
16087
|
|
|
15979
16088
|
case C$1:
|
|
15980
|
-
if (count === 1 || i + 7 >= len - 3)
|
|
16089
|
+
if (count === 1 || i + 7 >= len - 3) {
|
|
16090
|
+
copyPoints(data, last, now, i + 3);
|
|
16091
|
+
old.x = data[i + 1], old.y = data[i + 2];
|
|
16092
|
+
}
|
|
15981
16093
|
i += 7;
|
|
15982
16094
|
break;
|
|
15983
16095
|
|
|
15984
16096
|
case Q:
|
|
15985
|
-
if (count === 1 || i + 5 >= len - 3)
|
|
16097
|
+
if (count === 1 || i + 5 >= len - 3) {
|
|
16098
|
+
copyPoints(data, last, now, i + 1);
|
|
16099
|
+
copy(old, last);
|
|
16100
|
+
}
|
|
15986
16101
|
i += 5;
|
|
15987
16102
|
break;
|
|
15988
16103
|
|
|
@@ -16020,6 +16135,7 @@ var LeaferUI = function(exports) {
|
|
|
16020
16135
|
case U:
|
|
16021
16136
|
if (count === 1 || i + 6 >= len - 3) {
|
|
16022
16137
|
copyPoints(data, last, now, i + 1);
|
|
16138
|
+
copy(old, last);
|
|
16023
16139
|
if (i + 6 !== len) {
|
|
16024
16140
|
now.x -= (now.x - last.x) / 10;
|
|
16025
16141
|
now.y -= (now.y - last.y) / 10;
|
|
@@ -16030,13 +16146,13 @@ var LeaferUI = function(exports) {
|
|
|
16030
16146
|
}
|
|
16031
16147
|
count++;
|
|
16032
16148
|
if (count === 1 && command !== M$1) return;
|
|
16033
|
-
if (count === 2 && useStartArrow) copy(second, command === L$1 ? now : last);
|
|
16149
|
+
if (count === 2 && useStartArrow) copy(second, command === L$1 ? now : isSame(old, first) ? last : old);
|
|
16034
16150
|
if (i === len) {
|
|
16035
|
-
const path =
|
|
16036
|
-
const pathForArrow = ui.__.__pathForArrow = [];
|
|
16151
|
+
const path = uData.__pathForRender = clonePathForArrow ? [ ...data ] : data;
|
|
16037
16152
|
if (useStartArrow) {
|
|
16038
|
-
|
|
16039
|
-
|
|
16153
|
+
startArrowPath = getArrowPath(ui, startArrow, second, first, strokeWidth, connectPoint, !!dashPattern);
|
|
16154
|
+
singleStartArrow = startArrowPath.fill || dashPattern;
|
|
16155
|
+
if (!singleStartArrow) path.push(...startArrowPath.data);
|
|
16040
16156
|
if (connectPoint.x) {
|
|
16041
16157
|
getDistancePoint(first, second, -connectPoint.x, true);
|
|
16042
16158
|
path[1] = second.x;
|
|
@@ -16044,8 +16160,10 @@ var LeaferUI = function(exports) {
|
|
|
16044
16160
|
}
|
|
16045
16161
|
}
|
|
16046
16162
|
if (endArrow && endArrow !== "none") {
|
|
16047
|
-
|
|
16048
|
-
|
|
16163
|
+
if (isSame(last, now)) copy(last, old);
|
|
16164
|
+
endArrowPath = getArrowPath(ui, endArrow, last, now, strokeWidth, connectPoint, !!dashPattern);
|
|
16165
|
+
singleEndArrow = endArrowPath.fill || dashPattern;
|
|
16166
|
+
if (!singleEndArrow) path.push(...endArrowPath.data);
|
|
16049
16167
|
if (connectPoint.x) {
|
|
16050
16168
|
getDistancePoint(now, last, -connectPoint.x, true);
|
|
16051
16169
|
let index;
|
|
@@ -16072,10 +16190,21 @@ var LeaferUI = function(exports) {
|
|
|
16072
16190
|
} else {
|
|
16073
16191
|
copy(last, now);
|
|
16074
16192
|
}
|
|
16193
|
+
stintSet$1(uData, "__startArrowPath", singleStartArrow && startArrowPath);
|
|
16194
|
+
stintSet$1(uData, "__endArrowPath", singleEndArrow && endArrowPath);
|
|
16195
|
+
}
|
|
16196
|
+
},
|
|
16197
|
+
updateArrow(ui) {
|
|
16198
|
+
const data = ui.__;
|
|
16199
|
+
if (data.strokeScaleFixed) {
|
|
16200
|
+
if (data.__strokeWidthCache !== data.__strokeWidth) {
|
|
16201
|
+
ui.__updateRenderPath(true);
|
|
16202
|
+
}
|
|
16075
16203
|
}
|
|
16076
16204
|
},
|
|
16077
|
-
register(name, data) {
|
|
16205
|
+
register(name, data, fillData) {
|
|
16078
16206
|
this.list[name] = data;
|
|
16207
|
+
if (fillData) this.fillList[name] = data;
|
|
16079
16208
|
},
|
|
16080
16209
|
get(name) {
|
|
16081
16210
|
return this.list[name];
|
|
@@ -16094,12 +16223,26 @@ var LeaferUI = function(exports) {
|
|
|
16094
16223
|
exports.UI.addAttr("endArrow", "none", arrowType);
|
|
16095
16224
|
Object.assign(PathArrow, PathArrowModule);
|
|
16096
16225
|
Object.assign(Paint, {
|
|
16097
|
-
strokeArrow(
|
|
16098
|
-
|
|
16226
|
+
strokeArrow(stroke, ui, canvas, _renderOptions) {
|
|
16227
|
+
const {__startArrowPath: __startArrowPath, __endArrowPath: __endArrowPath, dashPattern: dashPattern} = ui.__;
|
|
16228
|
+
if (dashPattern) canvas.dashPattern = null;
|
|
16229
|
+
if (__startArrowPath) {
|
|
16099
16230
|
canvas.beginPath();
|
|
16100
|
-
ui.__drawPathByData(canvas,
|
|
16101
|
-
canvas.dashPattern = null;
|
|
16231
|
+
ui.__drawPathByData(canvas, __startArrowPath.data);
|
|
16102
16232
|
canvas.stroke();
|
|
16233
|
+
if (__startArrowPath.fill) {
|
|
16234
|
+
canvas.fillStyle = stroke;
|
|
16235
|
+
canvas.fill();
|
|
16236
|
+
}
|
|
16237
|
+
}
|
|
16238
|
+
if (__endArrowPath) {
|
|
16239
|
+
canvas.beginPath();
|
|
16240
|
+
ui.__drawPathByData(canvas, __endArrowPath.data);
|
|
16241
|
+
canvas.stroke();
|
|
16242
|
+
if (__endArrowPath.fill) {
|
|
16243
|
+
canvas.fillStyle = stroke;
|
|
16244
|
+
canvas.fill();
|
|
16245
|
+
}
|
|
16103
16246
|
}
|
|
16104
16247
|
}
|
|
16105
16248
|
});
|
|
@@ -16512,7 +16655,7 @@ var LeaferUI = function(exports) {
|
|
|
16512
16655
|
exports.UI.addAttr("autoWidth", undefined, autoBoundsType);
|
|
16513
16656
|
exports.UI.addAttr("autoHeight", undefined, autoBoundsType);
|
|
16514
16657
|
exports.UI.addAttr("autoBox", undefined, boundsType);
|
|
16515
|
-
const {copyAndSpread: copyAndSpread} = BoundsHelper;
|
|
16658
|
+
const {copyAndSpread: copyAndSpread$1} = BoundsHelper;
|
|
16516
16659
|
box$1.__updateFlowLayout = function() {
|
|
16517
16660
|
const {leaferIsCreated: leaferIsCreated, flow: flow} = this;
|
|
16518
16661
|
if (leaferIsCreated) this.leafer.created = false;
|
|
@@ -16542,7 +16685,7 @@ var LeaferUI = function(exports) {
|
|
|
16542
16685
|
const same = layout.contentBounds === layout.boxBounds;
|
|
16543
16686
|
if (padding) {
|
|
16544
16687
|
if (same) layout.shrinkContent();
|
|
16545
|
-
copyAndSpread(layout.contentBounds, layout.boxBounds, padding, true);
|
|
16688
|
+
copyAndSpread$1(layout.contentBounds, layout.boxBounds, padding, true);
|
|
16546
16689
|
} else {
|
|
16547
16690
|
if (!same) layout.shrinkContentCancel();
|
|
16548
16691
|
}
|
|
@@ -16563,7 +16706,7 @@ var LeaferUI = function(exports) {
|
|
|
16563
16706
|
boxBounds.width = data.width, boxBounds.x = 0;
|
|
16564
16707
|
}
|
|
16565
16708
|
}
|
|
16566
|
-
flow && secondLayout && data.padding && copyAndSpread(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : data.__autoWidth ? "width" : "height");
|
|
16709
|
+
flow && secondLayout && data.padding && copyAndSpread$1(boxBounds, boxBounds, data.padding, false, data.__autoSize ? null : data.__autoWidth ? "width" : "height");
|
|
16567
16710
|
this.__updateNaturalSize();
|
|
16568
16711
|
} else {
|
|
16569
16712
|
this.__updateRectBoxBounds();
|
|
@@ -18366,9 +18509,7 @@ var LeaferUI = function(exports) {
|
|
|
18366
18509
|
const {Yes: Yes, NoAndSkip: NoAndSkip, YesAndSkip: YesAndSkip} = exports.Answer;
|
|
18367
18510
|
const idCondition = {}, classNameCondition = {}, tagCondition = {};
|
|
18368
18511
|
class Finder {
|
|
18369
|
-
constructor(target) {
|
|
18370
|
-
this.innerIdMap = {};
|
|
18371
|
-
this.idMap = {};
|
|
18512
|
+
constructor(target, _config) {
|
|
18372
18513
|
this.methods = {
|
|
18373
18514
|
id: (leaf, name) => leaf.id === name ? (this.target && (this.idMap[name] = leaf),
|
|
18374
18515
|
1) : 0,
|
|
@@ -18378,6 +18519,13 @@ var LeaferUI = function(exports) {
|
|
|
18378
18519
|
tag: (leaf, name) => leaf.__tag === name ? 1 : 0,
|
|
18379
18520
|
tags: (leaf, nameMap) => nameMap[leaf.__tag] ? 1 : 0
|
|
18380
18521
|
};
|
|
18522
|
+
this.idMap = {};
|
|
18523
|
+
this.innerIdMap = {};
|
|
18524
|
+
const app = target && target.app;
|
|
18525
|
+
if (app) {
|
|
18526
|
+
app.idMap ? this.idMap = app.idMap : app.idMap = this.idMap;
|
|
18527
|
+
app.innerIdMap ? this.innerIdMap = app.innerIdMap : app.innerIdMap = this.innerIdMap;
|
|
18528
|
+
}
|
|
18381
18529
|
if (this.target = target) this.__listenEvents();
|
|
18382
18530
|
}
|
|
18383
18531
|
getBy(condition, branch, one, options) {
|
|
@@ -18498,8 +18646,13 @@ var LeaferUI = function(exports) {
|
|
|
18498
18646
|
return getSelector(this).getBy(condition, this, true, options);
|
|
18499
18647
|
};
|
|
18500
18648
|
Plugin.add("find");
|
|
18501
|
-
Creator.finder = function(target) {
|
|
18502
|
-
return new Finder(target);
|
|
18649
|
+
Creator.finder = function(target, config) {
|
|
18650
|
+
return new Finder(target, config);
|
|
18651
|
+
};
|
|
18652
|
+
LeafHelper.cacheId = function(t) {
|
|
18653
|
+
const {leafer: leafer, id: id} = t;
|
|
18654
|
+
if (id) leafer.app.idMap[id] = t;
|
|
18655
|
+
if (leafer.cacheInnerId) leafer.app.innerIdMap[t.innerId] = t;
|
|
18503
18656
|
};
|
|
18504
18657
|
const {setPoint: setPoint, addPoint: addPoint, toBounds: toBounds} = TwoPointBoundsHelper;
|
|
18505
18658
|
function getTrimBounds(canvas) {
|
|
@@ -18771,7 +18924,7 @@ var LeaferUI = function(exports) {
|
|
|
18771
18924
|
style: {
|
|
18772
18925
|
dragBoundsType: "outer",
|
|
18773
18926
|
strokeAlign: "center",
|
|
18774
|
-
|
|
18927
|
+
strokeScaleFixed: "zoom-in",
|
|
18775
18928
|
width: 6,
|
|
18776
18929
|
height: 6,
|
|
18777
18930
|
opacity: .5,
|
|
@@ -19008,6 +19161,41 @@ var LeaferUI = function(exports) {
|
|
|
19008
19161
|
fill: "white"
|
|
19009
19162
|
}
|
|
19010
19163
|
});
|
|
19164
|
+
const {stintSet: stintSet} = DataHelper;
|
|
19165
|
+
function scaleFixedType(defaultValue) {
|
|
19166
|
+
return decorateLeafAttr(defaultValue, key => attr({
|
|
19167
|
+
set(value) {
|
|
19168
|
+
if (this.__setAttr(key, value)) {
|
|
19169
|
+
const layout = this.__layout;
|
|
19170
|
+
doBoundsType(this);
|
|
19171
|
+
if (!isNumber(value)) value = value ? 1 : 0;
|
|
19172
|
+
stintSet(layout, "scaleFixed", value);
|
|
19173
|
+
stintSet(layout, "outerScale", value ? 1 / value : 0);
|
|
19174
|
+
if (!layout.outerScale && layout.localOuterBounds) layout.localOuterBounds = undefined;
|
|
19175
|
+
}
|
|
19176
|
+
}
|
|
19177
|
+
}));
|
|
19178
|
+
}
|
|
19179
|
+
const {scale: scale} = MatrixHelper;
|
|
19180
|
+
const {copyAndSpread: copyAndSpread} = BoundsHelper;
|
|
19181
|
+
const {getScaleFixedData: getScaleFixedData} = MathHelper;
|
|
19182
|
+
LeafHelper.updateScaleFixedWorld = function(t) {
|
|
19183
|
+
const {__world: __world, __: __} = t, {scaleX: scaleX, scaleY: scaleY} = getScaleFixedData(__world, __.scaleFixed);
|
|
19184
|
+
if (scaleX !== 1) {
|
|
19185
|
+
scale(__world, scaleX, scaleY);
|
|
19186
|
+
__world.scaleX *= scaleX, __world.scaleY *= scaleY;
|
|
19187
|
+
}
|
|
19188
|
+
};
|
|
19189
|
+
LeafHelper.updateOuterBounds = function(t) {
|
|
19190
|
+
const layout = t.__layout, {localRenderBounds: localRenderBounds} = layout;
|
|
19191
|
+
const localOuterBounds = layout.localOuterBounds || (layout.localOuterBounds = {});
|
|
19192
|
+
const {width: width, height: height} = localRenderBounds;
|
|
19193
|
+
const scale = layout.outerScale - 1;
|
|
19194
|
+
copyAndSpread(localOuterBounds, localRenderBounds, [ height * scale, width * scale ]);
|
|
19195
|
+
if (t.parent) t.parent.__layout.renderChange();
|
|
19196
|
+
};
|
|
19197
|
+
Plugin.add("scale-fixed");
|
|
19198
|
+
exports.UI.addAttr("scaleFixed", undefined, scaleFixedType);
|
|
19011
19199
|
exports.AlignHelper = AlignHelper;
|
|
19012
19200
|
exports.AnimateEasing = AnimateEasing;
|
|
19013
19201
|
exports.AnimateEvent = AnimateEvent;
|