leafer-game 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/web.js +117 -53
- package/dist/web.min.js +1 -1
- package/dist/web.min.js.map +1 -1
- package/dist/web.module.js +120 -54
- package/dist/web.module.min.js +1 -1
- package/dist/web.module.min.js.map +1 -1
- package/package.json +12 -12
package/dist/web.module.js
CHANGED
|
@@ -252,6 +252,7 @@ class LeafData {
|
|
|
252
252
|
}
|
|
253
253
|
destroy() {
|
|
254
254
|
this.__input = this.__middle = null;
|
|
255
|
+
if (this.__complexData) this.__complexData.destroy();
|
|
255
256
|
}
|
|
256
257
|
}
|
|
257
258
|
|
|
@@ -350,6 +351,8 @@ const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumbe
|
|
|
350
351
|
|
|
351
352
|
const {round: round$6, pow: pow$2, max: max$4, floor: floor$3, PI: PI$4} = Math;
|
|
352
353
|
|
|
354
|
+
const tempScaleData$1 = {};
|
|
355
|
+
|
|
353
356
|
const MathHelper = {
|
|
354
357
|
within(value, min, max) {
|
|
355
358
|
if (isObject(min)) max = min.max, min = min.min;
|
|
@@ -393,6 +396,24 @@ const MathHelper = {
|
|
|
393
396
|
} else if (scale) MathHelper.assignScale(scaleData, scale);
|
|
394
397
|
return scaleData;
|
|
395
398
|
},
|
|
399
|
+
getScaleFixedData(worldScaleData, scaleFixed, unscale, abs, _localScaleData) {
|
|
400
|
+
let {scaleX: scaleX, scaleY: scaleY} = worldScaleData;
|
|
401
|
+
if (abs || scaleFixed) scaleX < 0 && (scaleX = -scaleX), scaleY < 0 && (scaleY = -scaleY);
|
|
402
|
+
if (scaleFixed) {
|
|
403
|
+
if (scaleFixed === true) {
|
|
404
|
+
scaleX = scaleY = unscale ? 1 : 1 / scaleX;
|
|
405
|
+
} else {
|
|
406
|
+
let minScale;
|
|
407
|
+
if (isNumber(scaleFixed)) minScale = scaleFixed; else if (scaleFixed === "zoom-in") minScale = 1;
|
|
408
|
+
if (minScale) {
|
|
409
|
+
if (scaleX > minScale || scaleY > minScale) scaleX = scaleY = unscale ? 1 : 1 / scaleX; else scaleX = scaleY = unscale ? 1 : 1 / minScale;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
tempScaleData$1.scaleX = scaleX;
|
|
414
|
+
tempScaleData$1.scaleY = scaleY;
|
|
415
|
+
return tempScaleData$1;
|
|
416
|
+
},
|
|
396
417
|
assignScale(scaleData, scale) {
|
|
397
418
|
if (isNumber(scale)) {
|
|
398
419
|
scaleData.scaleX = scaleData.scaleY = scale;
|
|
@@ -889,8 +910,8 @@ const PointHelper = {
|
|
|
889
910
|
if (isObject(originPoints[0])) points = [], originPoints.forEach(p => points.push(p.x, p.y));
|
|
890
911
|
return points;
|
|
891
912
|
},
|
|
892
|
-
isSame(t, point) {
|
|
893
|
-
return float$4(t.x) === float$4(point.x) && float$4(t.y) === float$4(point.y);
|
|
913
|
+
isSame(t, point, quick) {
|
|
914
|
+
return quick ? t.x === point.x && t.y === point.y : float$4(t.x) === float$4(point.x) && float$4(t.y) === float$4(point.y);
|
|
894
915
|
},
|
|
895
916
|
reset(t) {
|
|
896
917
|
P$5.reset(t);
|
|
@@ -965,8 +986,8 @@ class Point {
|
|
|
965
986
|
getAtan2(to) {
|
|
966
987
|
return PointHelper.getAtan2(this, to);
|
|
967
988
|
}
|
|
968
|
-
isSame(point) {
|
|
969
|
-
return PointHelper.isSame(this, point);
|
|
989
|
+
isSame(point, quick) {
|
|
990
|
+
return PointHelper.isSame(this, point, quick);
|
|
970
991
|
}
|
|
971
992
|
reset() {
|
|
972
993
|
PointHelper.reset(this);
|
|
@@ -1222,9 +1243,9 @@ const AroundHelper = {
|
|
|
1222
1243
|
}
|
|
1223
1244
|
if (!onlyBoxSize) to.x += box.x, to.y += box.y;
|
|
1224
1245
|
},
|
|
1225
|
-
getPoint(around, box, to) {
|
|
1246
|
+
getPoint(around, box, to, onlyBoxSize = true) {
|
|
1226
1247
|
if (!to) to = {};
|
|
1227
|
-
AroundHelper.toPoint(around, box, to,
|
|
1248
|
+
AroundHelper.toPoint(around, box, to, onlyBoxSize);
|
|
1228
1249
|
return to;
|
|
1229
1250
|
}
|
|
1230
1251
|
};
|
|
@@ -1491,6 +1512,9 @@ const BoundsHelper = {
|
|
|
1491
1512
|
y: y + height
|
|
1492
1513
|
} ];
|
|
1493
1514
|
},
|
|
1515
|
+
getPoint(t, around, onlyBoxSize = false, to) {
|
|
1516
|
+
return AroundHelper.getPoint(around, t, to, onlyBoxSize);
|
|
1517
|
+
},
|
|
1494
1518
|
hitRadiusPoint(t, point, pointMatrix) {
|
|
1495
1519
|
if (pointMatrix) point = PointHelper.tempToInnerRadiusPointOf(point, pointMatrix);
|
|
1496
1520
|
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);
|
|
@@ -1662,6 +1686,9 @@ class Bounds {
|
|
|
1662
1686
|
getPoints() {
|
|
1663
1687
|
return BoundsHelper.getPoints(this);
|
|
1664
1688
|
}
|
|
1689
|
+
getPoint(around, onlyBoxSize, to) {
|
|
1690
|
+
return BoundsHelper.getPoint(this, around, onlyBoxSize, to);
|
|
1691
|
+
}
|
|
1665
1692
|
hitPoint(point, pointMatrix) {
|
|
1666
1693
|
return BoundsHelper.hitPoint(this, point, pointMatrix);
|
|
1667
1694
|
}
|
|
@@ -4102,6 +4129,7 @@ const ImageManager = {
|
|
|
4102
4129
|
return image;
|
|
4103
4130
|
},
|
|
4104
4131
|
recycle(image) {
|
|
4132
|
+
if (image.parent) image = image.parent;
|
|
4105
4133
|
image.use--;
|
|
4106
4134
|
setTimeout(() => {
|
|
4107
4135
|
if (!image.use) {
|
|
@@ -4270,8 +4298,10 @@ class LeaferImage {
|
|
|
4270
4298
|
return undefined;
|
|
4271
4299
|
}
|
|
4272
4300
|
clearLevels(_checkUse) {}
|
|
4301
|
+
destroyFilter() {}
|
|
4273
4302
|
destroy() {
|
|
4274
4303
|
this.clearLevels();
|
|
4304
|
+
this.destroyFilter();
|
|
4275
4305
|
const {view: view} = this;
|
|
4276
4306
|
if (view && view.close) view.close();
|
|
4277
4307
|
this.config = {
|
|
@@ -4468,7 +4498,6 @@ function dimType(defaultValue) {
|
|
|
4468
4498
|
if (this.__setAttr(key, value)) {
|
|
4469
4499
|
const data = this.__;
|
|
4470
4500
|
DataHelper.stintSet(data, "__useDim", data.dim || data.bright || data.dimskip);
|
|
4471
|
-
this.__layout.surfaceChange();
|
|
4472
4501
|
}
|
|
4473
4502
|
}
|
|
4474
4503
|
}));
|
|
@@ -4518,7 +4547,6 @@ function sortType(defaultValue) {
|
|
|
4518
4547
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4519
4548
|
set(value) {
|
|
4520
4549
|
if (this.__setAttr(key, value)) {
|
|
4521
|
-
this.__layout.surfaceChange();
|
|
4522
4550
|
this.waitParent(() => {
|
|
4523
4551
|
this.parent.__layout.childrenSortChange();
|
|
4524
4552
|
});
|
|
@@ -4555,7 +4583,6 @@ function hitType(defaultValue) {
|
|
|
4555
4583
|
set(value) {
|
|
4556
4584
|
if (this.__setAttr(key, value)) {
|
|
4557
4585
|
this.__layout.hitCanvasChanged = true;
|
|
4558
|
-
if (Debug.showBounds === "hit") this.__layout.surfaceChange();
|
|
4559
4586
|
if (this.leafer) this.leafer.updateCursor();
|
|
4560
4587
|
}
|
|
4561
4588
|
}
|
|
@@ -4761,6 +4788,10 @@ const LeafHelper = {
|
|
|
4761
4788
|
if (layout.stateStyleChanged) leaf.updateState();
|
|
4762
4789
|
if (layout.opacityChanged) updateAllWorldOpacity(leaf);
|
|
4763
4790
|
leaf.__updateChange();
|
|
4791
|
+
if (layout.surfaceChanged) {
|
|
4792
|
+
if (leaf.__hasComplex) L$1.updateComplex(leaf);
|
|
4793
|
+
layout.surfaceChanged = false;
|
|
4794
|
+
}
|
|
4764
4795
|
},
|
|
4765
4796
|
updateAllChange(leaf) {
|
|
4766
4797
|
updateChange$1(leaf);
|
|
@@ -4785,6 +4816,9 @@ const LeafHelper = {
|
|
|
4785
4816
|
if (!fromWorld) fromWorld = leaf.__nowWorld;
|
|
4786
4817
|
if (leaf.__worldFlipped || Platform.fullImageShadow) currentCanvas.copyWorldByReset(fromCanvas, fromWorld, leaf.__nowWorld, blendMode, onlyResetTransform); else currentCanvas.copyWorldToInner(fromCanvas, fromWorld, leaf.__layout.renderBounds, blendMode);
|
|
4787
4818
|
},
|
|
4819
|
+
renderComplex(_leaf, _canvas, _options) {},
|
|
4820
|
+
updateComplex(_leaf) {},
|
|
4821
|
+
checkComplex(_leaf) {},
|
|
4788
4822
|
moveWorld(t, x, y = 0, isInnerPoint, transition) {
|
|
4789
4823
|
const local = isObject(x) ? Object.assign({}, x) : {
|
|
4790
4824
|
x: x,
|
|
@@ -4896,6 +4930,9 @@ const LeafHelper = {
|
|
|
4896
4930
|
divideParent(matrix$1, relative.scrollWorldTransform);
|
|
4897
4931
|
return temp ? matrix$1 : Object.assign({}, matrix$1);
|
|
4898
4932
|
},
|
|
4933
|
+
updateScaleFixedWorld(_t) {},
|
|
4934
|
+
updateOuterBounds(_t) {},
|
|
4935
|
+
cacheId(_t) {},
|
|
4899
4936
|
drop(t, parent, index, resize) {
|
|
4900
4937
|
t.setTransform(L$1.getRelativeWorld(t, parent, true), resize);
|
|
4901
4938
|
parent.add(t, index);
|
|
@@ -4946,7 +4983,8 @@ const LeafBoundsHelper = {
|
|
|
4946
4983
|
return target.__.eraser || target.__.visible === 0 ? null : target.__layout.localStrokeBounds;
|
|
4947
4984
|
},
|
|
4948
4985
|
localRenderBounds(target) {
|
|
4949
|
-
|
|
4986
|
+
const {__: __, __layout: __layout} = target;
|
|
4987
|
+
return __.eraser || __.visible === 0 ? null : __layout.localOuterBounds || __layout.localRenderBounds;
|
|
4950
4988
|
},
|
|
4951
4989
|
maskLocalBoxBounds(target, index) {
|
|
4952
4990
|
return checkMask(target, index) && target.__localBoxBounds;
|
|
@@ -4955,7 +4993,8 @@ const LeafBoundsHelper = {
|
|
|
4955
4993
|
return checkMask(target, index) && target.__layout.localStrokeBounds;
|
|
4956
4994
|
},
|
|
4957
4995
|
maskLocalRenderBounds(target, index) {
|
|
4958
|
-
|
|
4996
|
+
const {__layout: __layout} = target;
|
|
4997
|
+
return checkMask(target, index) && (__layout.localOuterBounds || __layout.localRenderBounds);
|
|
4959
4998
|
},
|
|
4960
4999
|
excludeRenderBounds(child, options) {
|
|
4961
5000
|
if (options.bounds && !options.bounds.hit(child.__world, options.matrix)) return true;
|
|
@@ -5475,7 +5514,6 @@ class LeafLayout {
|
|
|
5475
5514
|
}
|
|
5476
5515
|
opacityChange() {
|
|
5477
5516
|
this.opacityChanged = true;
|
|
5478
|
-
this.surfaceChanged || this.surfaceChange();
|
|
5479
5517
|
}
|
|
5480
5518
|
childrenSortChange() {
|
|
5481
5519
|
if (!this.childrenSortChanged) {
|
|
@@ -5968,6 +6006,7 @@ const LeafMatrix = {
|
|
|
5968
6006
|
const {parent: parent, __layout: __layout, __world: __world, __scrollWorld: __scrollWorld, __: __} = this;
|
|
5969
6007
|
multiplyParent$2(this.__local || __layout, parent ? parent.__scrollWorld || parent.__world : defaultWorld, __world, !!__layout.affectScaleOrRotation, __);
|
|
5970
6008
|
if (__scrollWorld) translateInner(Object.assign(__scrollWorld, __world), __.scrollX, __.scrollY);
|
|
6009
|
+
if (__layout.scaleFixed) LeafHelper.updateScaleFixedWorld(this);
|
|
5971
6010
|
},
|
|
5972
6011
|
__updateLocalMatrix() {
|
|
5973
6012
|
if (this.__local) {
|
|
@@ -6001,6 +6040,7 @@ const LeafBounds = {
|
|
|
6001
6040
|
__updateWorldBounds() {
|
|
6002
6041
|
const {__layout: __layout, __world: __world} = this;
|
|
6003
6042
|
toOuterOf$2(__layout.renderBounds, __world, __world);
|
|
6043
|
+
if (this.__hasComplex) LeafHelper.checkComplex(this);
|
|
6004
6044
|
if (__layout.resized) {
|
|
6005
6045
|
if (__layout.resized === "inner") this.__onUpdateSize();
|
|
6006
6046
|
if (this.__hasLocalEvent) BoundsEvent.emitLocal(this);
|
|
@@ -6050,6 +6090,7 @@ const LeafBounds = {
|
|
|
6050
6090
|
layout.renderChanged = undefined;
|
|
6051
6091
|
if (this.parent) this.parent.__layout.renderChange();
|
|
6052
6092
|
}
|
|
6093
|
+
if (layout.outerScale) LeafHelper.updateOuterBounds(this);
|
|
6053
6094
|
layout.resized || (layout.resized = "local");
|
|
6054
6095
|
layout.boundsChanged = undefined;
|
|
6055
6096
|
},
|
|
@@ -6116,7 +6157,7 @@ const LeafRender = {
|
|
|
6116
6157
|
const data = this.__;
|
|
6117
6158
|
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
6118
6159
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
6119
|
-
canvas.opacity = options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
6160
|
+
canvas.opacity = options.ignoreOpacity ? 1 : options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
6120
6161
|
if (this.__.__single) {
|
|
6121
6162
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
6122
6163
|
const tempCanvas = canvas.getSameCanvas(true, true);
|
|
@@ -6170,7 +6211,7 @@ const BranchRender = {
|
|
|
6170
6211
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
6171
6212
|
const tempCanvas = canvas.getSameCanvas(false, true);
|
|
6172
6213
|
this.__renderBranch(tempCanvas, options);
|
|
6173
|
-
canvas.opacity = options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
|
|
6214
|
+
canvas.opacity = options.ignoreOpacity ? 1 : options.dimOpacity ? data.opacity * options.dimOpacity : data.opacity;
|
|
6174
6215
|
canvas.copyWorldByReset(tempCanvas, nowWorld, nowWorld, data.__blendMode, true);
|
|
6175
6216
|
tempCanvas.recycle(nowWorld);
|
|
6176
6217
|
} else {
|
|
@@ -6186,7 +6227,7 @@ const BranchRender = {
|
|
|
6186
6227
|
const {children: children} = this;
|
|
6187
6228
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
6188
6229
|
child = children[i];
|
|
6189
|
-
excludeRenderBounds$1(child, options) || (child.
|
|
6230
|
+
excludeRenderBounds$1(child, options) || (child.__hasComplex ? LeafHelper.renderComplex(child, canvas, options) : child.__render(canvas, options));
|
|
6190
6231
|
}
|
|
6191
6232
|
}
|
|
6192
6233
|
},
|
|
@@ -6200,8 +6241,6 @@ const BranchRender = {
|
|
|
6200
6241
|
}
|
|
6201
6242
|
};
|
|
6202
6243
|
|
|
6203
|
-
const tempScaleData$1 = {};
|
|
6204
|
-
|
|
6205
6244
|
const {LEAF: LEAF, create: create} = IncrementId;
|
|
6206
6245
|
|
|
6207
6246
|
const {stintSet: stintSet$4} = DataHelper;
|
|
@@ -6212,6 +6251,8 @@ const {toOuterOf: toOuterOf$1} = BoundsHelper;
|
|
|
6212
6251
|
|
|
6213
6252
|
const {copy: copy$2, move: move$2} = PointHelper;
|
|
6214
6253
|
|
|
6254
|
+
const {getScaleFixedData: getScaleFixedData} = MathHelper;
|
|
6255
|
+
|
|
6215
6256
|
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;
|
|
6216
6257
|
|
|
6217
6258
|
let Leaf = class Leaf {
|
|
@@ -6370,6 +6411,7 @@ let Leaf = class Leaf {
|
|
|
6370
6411
|
this.__level = this.parent ? this.parent.__level + 1 : 1;
|
|
6371
6412
|
if (this.animation) this.__runAnimation("in");
|
|
6372
6413
|
if (this.__bubbleMap) this.__emitLifeEvent(ChildEvent.MOUNTED);
|
|
6414
|
+
if (leafer.cacheId) LeafHelper.cacheId(this);
|
|
6373
6415
|
} else {
|
|
6374
6416
|
this.__emitLifeEvent(ChildEvent.UNMOUNTED);
|
|
6375
6417
|
}
|
|
@@ -6499,13 +6541,8 @@ let Leaf = class Leaf {
|
|
|
6499
6541
|
if (scaleX < 0) scaleX = -scaleX;
|
|
6500
6542
|
return scaleX > 1 ? scaleX : 1;
|
|
6501
6543
|
}
|
|
6502
|
-
getRenderScaleData(abs, scaleFixed) {
|
|
6503
|
-
|
|
6504
|
-
if (abs) scaleX < 0 && (scaleX = -scaleX), scaleY < 0 && (scaleY = -scaleY);
|
|
6505
|
-
if (scaleFixed === true || scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) scaleX = scaleY = 1;
|
|
6506
|
-
tempScaleData$1.scaleX = scaleX;
|
|
6507
|
-
tempScaleData$1.scaleY = scaleY;
|
|
6508
|
-
return tempScaleData$1;
|
|
6544
|
+
getRenderScaleData(abs, scaleFixed, unscale = true) {
|
|
6545
|
+
return getScaleFixedData(ImageManager.patternLocked ? this.__world : this.__nowWorld || this.__world, scaleFixed, unscale, abs);
|
|
6509
6546
|
}
|
|
6510
6547
|
getTransform(relative) {
|
|
6511
6548
|
return this.__layout.getTransform(relative || "local");
|
|
@@ -6667,7 +6704,6 @@ let Leaf = class Leaf {
|
|
|
6667
6704
|
__drawHitPath(_canvas) {}
|
|
6668
6705
|
__updateHitCanvas() {}
|
|
6669
6706
|
__render(_canvas, _options) {}
|
|
6670
|
-
__renderComplex(_canvas, _options) {}
|
|
6671
6707
|
__drawFast(_canvas, _options) {}
|
|
6672
6708
|
__draw(_canvas, _options, _originCanvas) {}
|
|
6673
6709
|
__clip(_canvas, _options) {}
|
|
@@ -6678,7 +6714,7 @@ let Leaf = class Leaf {
|
|
|
6678
6714
|
__drawPath(_canvas) {}
|
|
6679
6715
|
__drawRenderPath(_canvas) {}
|
|
6680
6716
|
__updatePath() {}
|
|
6681
|
-
__updateRenderPath() {}
|
|
6717
|
+
__updateRenderPath(_updateCache) {}
|
|
6682
6718
|
getMotionPathData() {
|
|
6683
6719
|
return Plugin.need("path");
|
|
6684
6720
|
}
|
|
@@ -6752,9 +6788,11 @@ let Branch = class Branch extends Leaf {
|
|
|
6752
6788
|
return 0;
|
|
6753
6789
|
}
|
|
6754
6790
|
__updateRenderSpread() {
|
|
6791
|
+
let layout;
|
|
6755
6792
|
const {children: children} = this;
|
|
6756
6793
|
for (let i = 0, len = children.length; i < len; i++) {
|
|
6757
|
-
|
|
6794
|
+
layout = children[i].__layout;
|
|
6795
|
+
if (layout.renderSpread || layout.localOuterBounds) return 1;
|
|
6758
6796
|
}
|
|
6759
6797
|
return 0;
|
|
6760
6798
|
}
|
|
@@ -7013,7 +7051,7 @@ class LeafLevelList {
|
|
|
7013
7051
|
}
|
|
7014
7052
|
}
|
|
7015
7053
|
|
|
7016
|
-
const version = "2.0.
|
|
7054
|
+
const version = "2.0.3";
|
|
7017
7055
|
|
|
7018
7056
|
const debug$5 = Debug.get("LeaferCanvas");
|
|
7019
7057
|
|
|
@@ -8047,7 +8085,7 @@ class Selector {
|
|
|
8047
8085
|
this.config = {};
|
|
8048
8086
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
8049
8087
|
this.picker = new Picker(this.target = target, this);
|
|
8050
|
-
this.finder = Creator.finder && Creator.finder();
|
|
8088
|
+
this.finder = Creator.finder && Creator.finder(target, this.config);
|
|
8051
8089
|
}
|
|
8052
8090
|
getByPoint(hitPoint, hitRadius, options) {
|
|
8053
8091
|
const {target: target, picker: picker} = this;
|
|
@@ -8089,7 +8127,9 @@ function effectType(defaultValue) {
|
|
|
8089
8127
|
set(value) {
|
|
8090
8128
|
this.__setAttr(key, value);
|
|
8091
8129
|
if (value) this.__.__useEffect = true;
|
|
8092
|
-
|
|
8130
|
+
const layout = this.__layout;
|
|
8131
|
+
layout.renderChanged || layout.renderChange();
|
|
8132
|
+
layout.surfaceChange();
|
|
8093
8133
|
}
|
|
8094
8134
|
}));
|
|
8095
8135
|
}
|
|
@@ -8303,15 +8343,16 @@ class UIData extends LeafData {
|
|
|
8303
8343
|
this.__needComputePaint = undefined;
|
|
8304
8344
|
}
|
|
8305
8345
|
__getRealStrokeWidth(childStyle) {
|
|
8306
|
-
let {strokeWidth: strokeWidth,
|
|
8346
|
+
let {strokeWidth: strokeWidth, strokeScaleFixed: strokeScaleFixed} = this;
|
|
8307
8347
|
if (childStyle) {
|
|
8308
8348
|
if (childStyle.strokeWidth) strokeWidth = childStyle.strokeWidth;
|
|
8309
|
-
if (!isUndefined(childStyle.
|
|
8349
|
+
if (!isUndefined(childStyle.strokeScaleFixed)) strokeScaleFixed = childStyle.strokeScaleFixed;
|
|
8310
8350
|
}
|
|
8311
|
-
if (
|
|
8312
|
-
const
|
|
8313
|
-
|
|
8314
|
-
}
|
|
8351
|
+
if (strokeScaleFixed) {
|
|
8352
|
+
const {scaleX: scaleX} = this.__leaf.getRenderScaleData(true, strokeScaleFixed, false);
|
|
8353
|
+
if (scaleX !== 1) return strokeWidth * scaleX;
|
|
8354
|
+
}
|
|
8355
|
+
return strokeWidth;
|
|
8315
8356
|
}
|
|
8316
8357
|
__setPaint(attrName, value) {
|
|
8317
8358
|
this.__setInput(attrName, value);
|
|
@@ -8497,7 +8538,7 @@ const UIBounds = {
|
|
|
8497
8538
|
const data = this.__, {strokeAlign: strokeAlign, __maxStrokeWidth: strokeWidth} = data, box = this.__box;
|
|
8498
8539
|
if ((data.stroke || data.hitStroke === "all") && strokeWidth && strokeAlign !== "inside") {
|
|
8499
8540
|
boxSpread = spread = strokeAlign === "center" ? strokeWidth / 2 : strokeWidth;
|
|
8500
|
-
if (!data.__boxStroke) {
|
|
8541
|
+
if (!data.__boxStroke || data.__useArrow) {
|
|
8501
8542
|
const miterLimitAddWidth = data.__isLinePath ? 0 : 10 * spread;
|
|
8502
8543
|
const storkeCapAddWidth = data.strokeCap === "none" ? 0 : strokeWidth;
|
|
8503
8544
|
spread += Math.max(miterLimitAddWidth, storkeCapAddWidth);
|
|
@@ -8654,6 +8695,12 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8654
8695
|
get isFrame() {
|
|
8655
8696
|
return false;
|
|
8656
8697
|
}
|
|
8698
|
+
set strokeWidthFixed(value) {
|
|
8699
|
+
this.strokeScaleFixed = value;
|
|
8700
|
+
}
|
|
8701
|
+
get strokeWidthFixed() {
|
|
8702
|
+
return this.strokeScaleFixed;
|
|
8703
|
+
}
|
|
8657
8704
|
set scale(value) {
|
|
8658
8705
|
MathHelper.assignScale(this, value);
|
|
8659
8706
|
}
|
|
@@ -8709,6 +8756,9 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8709
8756
|
getPathString(curve, pathForRender, floatLength) {
|
|
8710
8757
|
return PathConvert.stringify(this.getPath(curve, pathForRender), floatLength);
|
|
8711
8758
|
}
|
|
8759
|
+
asPath(curve, pathForRender) {
|
|
8760
|
+
this.path = this.getPath(curve, pathForRender);
|
|
8761
|
+
}
|
|
8712
8762
|
load() {
|
|
8713
8763
|
this.__.__computePaint();
|
|
8714
8764
|
}
|
|
@@ -8718,16 +8768,18 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8718
8768
|
data.lazy && !this.__inLazyBounds && !Export.running ? data.__needComputePaint = true : data.__computePaint();
|
|
8719
8769
|
}
|
|
8720
8770
|
}
|
|
8721
|
-
__updateRenderPath() {
|
|
8771
|
+
__updateRenderPath(updateCache) {
|
|
8722
8772
|
const data = this.__;
|
|
8723
8773
|
if (data.path) {
|
|
8724
8774
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
8725
|
-
if (data.__useArrow) PathArrow.addArrows(this);
|
|
8775
|
+
if (data.__useArrow) PathArrow.addArrows(this, updateCache);
|
|
8726
8776
|
} else data.__pathForRender && (data.__pathForRender = undefined);
|
|
8727
8777
|
}
|
|
8728
8778
|
__drawRenderPath(canvas) {
|
|
8779
|
+
const data = this.__;
|
|
8729
8780
|
canvas.beginPath();
|
|
8730
|
-
|
|
8781
|
+
if (data.__useArrow) PathArrow.updateArrow(this);
|
|
8782
|
+
this.__drawPathByData(canvas, data.__pathForRender);
|
|
8731
8783
|
}
|
|
8732
8784
|
__drawPath(canvas) {
|
|
8733
8785
|
canvas.beginPath();
|
|
@@ -8776,6 +8828,7 @@ let UI = UI_1 = class UI extends Leaf {
|
|
|
8776
8828
|
static setEditOuter(_toolName) {}
|
|
8777
8829
|
static setEditInner(_editorName) {}
|
|
8778
8830
|
destroy() {
|
|
8831
|
+
this.__.__willDestroy = true;
|
|
8779
8832
|
this.fill = this.stroke = null;
|
|
8780
8833
|
if (this.__animate) this.killAnimate();
|
|
8781
8834
|
super.destroy();
|
|
@@ -8892,7 +8945,7 @@ __decorate([ strokeType("inside") ], UI.prototype, "strokeAlign", void 0);
|
|
|
8892
8945
|
|
|
8893
8946
|
__decorate([ strokeType(1, true) ], UI.prototype, "strokeWidth", void 0);
|
|
8894
8947
|
|
|
8895
|
-
__decorate([ strokeType(false) ], UI.prototype, "
|
|
8948
|
+
__decorate([ strokeType(false) ], UI.prototype, "strokeScaleFixed", void 0);
|
|
8896
8949
|
|
|
8897
8950
|
__decorate([ strokeType("none") ], UI.prototype, "strokeCap", void 0);
|
|
8898
8951
|
|
|
@@ -9524,9 +9577,9 @@ let Ellipse = class Ellipse extends UI {
|
|
|
9524
9577
|
return "Ellipse";
|
|
9525
9578
|
}
|
|
9526
9579
|
__updatePath() {
|
|
9527
|
-
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} =
|
|
9580
|
+
const data = this.__, {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = data;
|
|
9528
9581
|
const rx = width / 2, ry = height / 2;
|
|
9529
|
-
const path =
|
|
9582
|
+
const path = data.path = [];
|
|
9530
9583
|
let open;
|
|
9531
9584
|
if (innerRadius) {
|
|
9532
9585
|
if (startAngle || endAngle) {
|
|
@@ -9548,7 +9601,7 @@ let Ellipse = class Ellipse extends UI {
|
|
|
9548
9601
|
}
|
|
9549
9602
|
}
|
|
9550
9603
|
if (!open) closePath$2(path);
|
|
9551
|
-
if (Platform.ellipseToCurve)
|
|
9604
|
+
if (Platform.ellipseToCurve || data.__useArrow) data.path = this.getPath(true);
|
|
9552
9605
|
}
|
|
9553
9606
|
};
|
|
9554
9607
|
|
|
@@ -10088,7 +10141,7 @@ let App = class App extends Leafer {
|
|
|
10088
10141
|
if (this.viewReady) this.renderer.update();
|
|
10089
10142
|
}
|
|
10090
10143
|
__render(canvas, options) {
|
|
10091
|
-
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds));
|
|
10144
|
+
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds, undefined, undefined, true));
|
|
10092
10145
|
}
|
|
10093
10146
|
__onResize(event) {
|
|
10094
10147
|
this.forEach(leafer => leafer.resize(event));
|
|
@@ -11859,8 +11912,8 @@ function fills(fills, ui, canvas, renderOptions) {
|
|
|
11859
11912
|
canvas.save();
|
|
11860
11913
|
if (item.transform) canvas.transform(item.transform);
|
|
11861
11914
|
if (originPaint.scaleFixed) {
|
|
11862
|
-
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
|
|
11863
|
-
if (
|
|
11915
|
+
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, originPaint.scaleFixed, false);
|
|
11916
|
+
if (scaleX !== 1) canvas.scale(scaleX, scaleY);
|
|
11864
11917
|
}
|
|
11865
11918
|
if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
|
|
11866
11919
|
fillPathOrText(ui, canvas, renderOptions);
|
|
@@ -12281,6 +12334,7 @@ function checkSizeAndCreateData(ui, attrName, paint, image, leafPaint, boxBounds
|
|
|
12281
12334
|
const clip = transform && !transform.onlyScale || data.path || data.cornerRadius;
|
|
12282
12335
|
if (clip || opacity && opacity < 1 || blendMode) leafPaint.complex = clip ? 2 : true;
|
|
12283
12336
|
}
|
|
12337
|
+
if (paint.filter) PaintImage.applyFilter(leafPaint, image, paint.filter, ui);
|
|
12284
12338
|
return true;
|
|
12285
12339
|
}
|
|
12286
12340
|
|
|
@@ -12508,7 +12562,7 @@ function createPattern(paint, ui, canvas, renderOptions) {
|
|
|
12508
12562
|
let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
|
|
12509
12563
|
if (paint.patternId !== id && !ui.destroyed) {
|
|
12510
12564
|
if (!(Platform.image.isLarge(paint.image, scaleX, scaleY) && !paint.data.repeat)) {
|
|
12511
|
-
const {image: image, data: data} = paint, {opacity: opacity
|
|
12565
|
+
const {image: image, data: data} = paint, {opacity: opacity} = paint.originPaint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
|
|
12512
12566
|
let imageMatrix, xGap, yGap, {width: width, height: height} = image;
|
|
12513
12567
|
if (fixScale) scaleX *= fixScale, scaleY *= fixScale;
|
|
12514
12568
|
width *= scaleX;
|
|
@@ -12524,7 +12578,7 @@ function createPattern(paint, ui, canvas, renderOptions) {
|
|
|
12524
12578
|
if (transform) copy$1(imageMatrix, transform);
|
|
12525
12579
|
scale(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
12526
12580
|
}
|
|
12527
|
-
const imageCanvas = image.getCanvas(width, height, opacity,
|
|
12581
|
+
const imageCanvas = image.getCanvas(width, height, opacity, undefined, xGap, yGap, ui.leafer && ui.leafer.config.smooth, data.interlace);
|
|
12528
12582
|
const pattern = image.getPattern(imageCanvas, data.repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
12529
12583
|
paint.style = pattern;
|
|
12530
12584
|
paint.patternId = id;
|
|
@@ -12615,6 +12669,7 @@ function recycleImage(attrName, data) {
|
|
|
12615
12669
|
if (!recycleMap) recycleMap = {};
|
|
12616
12670
|
recycleMap[url] = true;
|
|
12617
12671
|
ImageManager.recyclePaint(paint);
|
|
12672
|
+
if (data.__willDestroy && image.parent) PaintImage.recycleFilter(image, data.__leaf);
|
|
12618
12673
|
if (image.loading) {
|
|
12619
12674
|
if (!input) {
|
|
12620
12675
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -15503,9 +15558,7 @@ const {Yes: Yes, NoAndSkip: NoAndSkip, YesAndSkip: YesAndSkip} = Answer;
|
|
|
15503
15558
|
const idCondition = {}, classNameCondition = {}, tagCondition = {};
|
|
15504
15559
|
|
|
15505
15560
|
class Finder {
|
|
15506
|
-
constructor(target) {
|
|
15507
|
-
this.innerIdMap = {};
|
|
15508
|
-
this.idMap = {};
|
|
15561
|
+
constructor(target, _config) {
|
|
15509
15562
|
this.methods = {
|
|
15510
15563
|
id: (leaf, name) => leaf.id === name ? (this.target && (this.idMap[name] = leaf),
|
|
15511
15564
|
1) : 0,
|
|
@@ -15515,6 +15568,13 @@ class Finder {
|
|
|
15515
15568
|
tag: (leaf, name) => leaf.__tag === name ? 1 : 0,
|
|
15516
15569
|
tags: (leaf, nameMap) => nameMap[leaf.__tag] ? 1 : 0
|
|
15517
15570
|
};
|
|
15571
|
+
this.idMap = {};
|
|
15572
|
+
this.innerIdMap = {};
|
|
15573
|
+
const app = target && target.app;
|
|
15574
|
+
if (app) {
|
|
15575
|
+
app.idMap ? this.idMap = app.idMap : app.idMap = this.idMap;
|
|
15576
|
+
app.innerIdMap ? this.innerIdMap = app.innerIdMap : app.innerIdMap = this.innerIdMap;
|
|
15577
|
+
}
|
|
15518
15578
|
if (this.target = target) this.__listenEvents();
|
|
15519
15579
|
}
|
|
15520
15580
|
getBy(condition, branch, one, options) {
|
|
@@ -15641,8 +15701,14 @@ ui.findOne = function(condition, options) {
|
|
|
15641
15701
|
|
|
15642
15702
|
Plugin.add("find");
|
|
15643
15703
|
|
|
15644
|
-
Creator.finder = function(target) {
|
|
15645
|
-
return new Finder(target);
|
|
15704
|
+
Creator.finder = function(target, config) {
|
|
15705
|
+
return new Finder(target, config);
|
|
15706
|
+
};
|
|
15707
|
+
|
|
15708
|
+
LeafHelper.cacheId = function(t) {
|
|
15709
|
+
const {leafer: leafer, id: id} = t;
|
|
15710
|
+
if (id) leafer.app.idMap[id] = t;
|
|
15711
|
+
if (leafer.cacheInnerId) leafer.app.innerIdMap[t.innerId] = t;
|
|
15646
15712
|
};
|
|
15647
15713
|
|
|
15648
15714
|
export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent$1 as DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Finder, FourNumberHelper, Frame, FrameData, Group, GroupData, HighBezierHelper, HighCurveHelper, HitCanvasManager, Image$1 as Image, ImageData, ImageEvent, ImageManager, IncrementId, Interaction, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferFilm, LeaferImage, LeaferVideo, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNodeHandleType, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent$1 as PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TouchEvent, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, UnitConvertHelper, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$4 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|