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.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$4, 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$4(t.x) === float$4(point.x) && float$4(t.y) === float$4(point.y);
|
|
868
|
+
isSame(t, point, quick) {
|
|
869
|
+
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);
|
|
850
870
|
},
|
|
851
871
|
reset(t) {
|
|
852
872
|
P$5.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$1.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$1, relative.scrollWorldTransform);
|
|
4601
4634
|
return temp ? matrix$1 : Object.assign({}, matrix$1);
|
|
4602
4635
|
},
|
|
4636
|
+
updateScaleFixedWorld(_t) {},
|
|
4637
|
+
updateOuterBounds(_t) {},
|
|
4638
|
+
cacheId(_t) {},
|
|
4603
4639
|
drop(t, parent, index, resize) {
|
|
4604
4640
|
t.setTransform(L$1.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;
|
|
@@ -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) {
|
|
@@ -5607,6 +5645,7 @@ var LeaferUI = function(exports) {
|
|
|
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
|
},
|
|
@@ -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
5846
|
const {stintSet: stintSet$4} = DataHelper;
|
|
5808
5847
|
const {toInnerPoint: toInnerPoint, toOuterPoint: toOuterPoint, multiplyParent: multiplyParent$1} = MatrixHelper;
|
|
5809
5848
|
const {toOuterOf: toOuterOf$1} = BoundsHelper;
|
|
5810
5849
|
const {copy: copy$2, move: move$2} = PointHelper;
|
|
5850
|
+
const {getScaleFixedData: getScaleFixedData} = 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
|
}
|
|
@@ -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(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
|
const debug$5 = Debug.get("LeaferCanvas");
|
|
6603
6640
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6604
6641
|
set zIndex(zIndex) {
|
|
@@ -7600,7 +7637,7 @@ var LeaferUI = function(exports) {
|
|
|
7600
7637
|
this.config = {};
|
|
7601
7638
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
7602
7639
|
this.picker = new Picker(this.target = target, this);
|
|
7603
|
-
this.finder = Creator.finder && Creator.finder();
|
|
7640
|
+
this.finder = Creator.finder && Creator.finder(target, this.config);
|
|
7604
7641
|
}
|
|
7605
7642
|
getByPoint(hitPoint, hitRadius, options) {
|
|
7606
7643
|
const {target: target, picker: picker} = this;
|
|
@@ -7638,7 +7675,9 @@ var LeaferUI = function(exports) {
|
|
|
7638
7675
|
set(value) {
|
|
7639
7676
|
this.__setAttr(key, value);
|
|
7640
7677
|
if (value) this.__.__useEffect = true;
|
|
7641
|
-
|
|
7678
|
+
const layout = this.__layout;
|
|
7679
|
+
layout.renderChanged || layout.renderChange();
|
|
7680
|
+
layout.surfaceChange();
|
|
7642
7681
|
}
|
|
7643
7682
|
}));
|
|
7644
7683
|
}
|
|
@@ -7831,15 +7870,16 @@ var LeaferUI = function(exports) {
|
|
|
7831
7870
|
this.__needComputePaint = undefined;
|
|
7832
7871
|
}
|
|
7833
7872
|
__getRealStrokeWidth(childStyle) {
|
|
7834
|
-
let {strokeWidth: strokeWidth,
|
|
7873
|
+
let {strokeWidth: strokeWidth, strokeScaleFixed: strokeScaleFixed} = this;
|
|
7835
7874
|
if (childStyle) {
|
|
7836
7875
|
if (childStyle.strokeWidth) strokeWidth = childStyle.strokeWidth;
|
|
7837
|
-
if (!isUndefined(childStyle.
|
|
7876
|
+
if (!isUndefined(childStyle.strokeScaleFixed)) strokeScaleFixed = childStyle.strokeScaleFixed;
|
|
7838
7877
|
}
|
|
7839
|
-
if (
|
|
7840
|
-
const
|
|
7841
|
-
|
|
7842
|
-
}
|
|
7878
|
+
if (strokeScaleFixed) {
|
|
7879
|
+
const {scaleX: scaleX} = this.__leaf.getRenderScaleData(true, strokeScaleFixed, false);
|
|
7880
|
+
if (scaleX !== 1) return strokeWidth * scaleX;
|
|
7881
|
+
}
|
|
7882
|
+
return strokeWidth;
|
|
7843
7883
|
}
|
|
7844
7884
|
__setPaint(attrName, value) {
|
|
7845
7885
|
this.__setInput(attrName, value);
|
|
@@ -8007,7 +8047,7 @@ var LeaferUI = function(exports) {
|
|
|
8007
8047
|
const data = this.__, {strokeAlign: strokeAlign, __maxStrokeWidth: strokeWidth} = data, box = this.__box;
|
|
8008
8048
|
if ((data.stroke || data.hitStroke === "all") && strokeWidth && strokeAlign !== "inside") {
|
|
8009
8049
|
boxSpread = spread = strokeAlign === "center" ? strokeWidth / 2 : strokeWidth;
|
|
8010
|
-
if (!data.__boxStroke) {
|
|
8050
|
+
if (!data.__boxStroke || data.__useArrow) {
|
|
8011
8051
|
const miterLimitAddWidth = data.__isLinePath ? 0 : 10 * spread;
|
|
8012
8052
|
const storkeCapAddWidth = data.strokeCap === "none" ? 0 : strokeWidth;
|
|
8013
8053
|
spread += Math.max(miterLimitAddWidth, storkeCapAddWidth);
|
|
@@ -8158,6 +8198,12 @@ var LeaferUI = function(exports) {
|
|
|
8158
8198
|
get isFrame() {
|
|
8159
8199
|
return false;
|
|
8160
8200
|
}
|
|
8201
|
+
set strokeWidthFixed(value) {
|
|
8202
|
+
this.strokeScaleFixed = value;
|
|
8203
|
+
}
|
|
8204
|
+
get strokeWidthFixed() {
|
|
8205
|
+
return this.strokeScaleFixed;
|
|
8206
|
+
}
|
|
8161
8207
|
set scale(value) {
|
|
8162
8208
|
MathHelper.assignScale(this, value);
|
|
8163
8209
|
}
|
|
@@ -8213,6 +8259,9 @@ var LeaferUI = function(exports) {
|
|
|
8213
8259
|
getPathString(curve, pathForRender, floatLength) {
|
|
8214
8260
|
return PathConvert.stringify(this.getPath(curve, pathForRender), floatLength);
|
|
8215
8261
|
}
|
|
8262
|
+
asPath(curve, pathForRender) {
|
|
8263
|
+
this.path = this.getPath(curve, pathForRender);
|
|
8264
|
+
}
|
|
8216
8265
|
load() {
|
|
8217
8266
|
this.__.__computePaint();
|
|
8218
8267
|
}
|
|
@@ -8222,16 +8271,18 @@ var LeaferUI = function(exports) {
|
|
|
8222
8271
|
data.lazy && !this.__inLazyBounds && !Export.running ? data.__needComputePaint = true : data.__computePaint();
|
|
8223
8272
|
}
|
|
8224
8273
|
}
|
|
8225
|
-
__updateRenderPath() {
|
|
8274
|
+
__updateRenderPath(updateCache) {
|
|
8226
8275
|
const data = this.__;
|
|
8227
8276
|
if (data.path) {
|
|
8228
8277
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
8229
|
-
if (data.__useArrow) PathArrow.addArrows(this);
|
|
8278
|
+
if (data.__useArrow) PathArrow.addArrows(this, updateCache);
|
|
8230
8279
|
} else data.__pathForRender && (data.__pathForRender = undefined);
|
|
8231
8280
|
}
|
|
8232
8281
|
__drawRenderPath(canvas) {
|
|
8282
|
+
const data = this.__;
|
|
8233
8283
|
canvas.beginPath();
|
|
8234
|
-
|
|
8284
|
+
if (data.__useArrow) PathArrow.updateArrow(this);
|
|
8285
|
+
this.__drawPathByData(canvas, data.__pathForRender);
|
|
8235
8286
|
}
|
|
8236
8287
|
__drawPath(canvas) {
|
|
8237
8288
|
canvas.beginPath();
|
|
@@ -8280,6 +8331,7 @@ var LeaferUI = function(exports) {
|
|
|
8280
8331
|
static setEditOuter(_toolName) {}
|
|
8281
8332
|
static setEditInner(_editorName) {}
|
|
8282
8333
|
destroy() {
|
|
8334
|
+
this.__.__willDestroy = true;
|
|
8283
8335
|
this.fill = this.stroke = null;
|
|
8284
8336
|
if (this.__animate) this.killAnimate();
|
|
8285
8337
|
super.destroy();
|
|
@@ -8340,7 +8392,7 @@ var LeaferUI = function(exports) {
|
|
|
8340
8392
|
__decorate([ strokeType(undefined, true) ], exports.UI.prototype, "stroke", void 0);
|
|
8341
8393
|
__decorate([ strokeType("inside") ], exports.UI.prototype, "strokeAlign", void 0);
|
|
8342
8394
|
__decorate([ strokeType(1, true) ], exports.UI.prototype, "strokeWidth", void 0);
|
|
8343
|
-
__decorate([ strokeType(false) ], exports.UI.prototype, "
|
|
8395
|
+
__decorate([ strokeType(false) ], exports.UI.prototype, "strokeScaleFixed", void 0);
|
|
8344
8396
|
__decorate([ strokeType("none") ], exports.UI.prototype, "strokeCap", void 0);
|
|
8345
8397
|
__decorate([ strokeType("miter") ], exports.UI.prototype, "strokeJoin", void 0);
|
|
8346
8398
|
__decorate([ strokeType() ], exports.UI.prototype, "dashPattern", void 0);
|
|
@@ -8914,9 +8966,9 @@ var LeaferUI = function(exports) {
|
|
|
8914
8966
|
return "Ellipse";
|
|
8915
8967
|
}
|
|
8916
8968
|
__updatePath() {
|
|
8917
|
-
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} =
|
|
8969
|
+
const data = this.__, {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = data;
|
|
8918
8970
|
const rx = width / 2, ry = height / 2;
|
|
8919
|
-
const path =
|
|
8971
|
+
const path = data.path = [];
|
|
8920
8972
|
let open;
|
|
8921
8973
|
if (innerRadius) {
|
|
8922
8974
|
if (startAngle || endAngle) {
|
|
@@ -8938,7 +8990,7 @@ var LeaferUI = function(exports) {
|
|
|
8938
8990
|
}
|
|
8939
8991
|
}
|
|
8940
8992
|
if (!open) closePath$2(path);
|
|
8941
|
-
if (Platform.ellipseToCurve)
|
|
8993
|
+
if (Platform.ellipseToCurve || data.__useArrow) data.path = this.getPath(true);
|
|
8942
8994
|
}
|
|
8943
8995
|
};
|
|
8944
8996
|
__decorate([ dataProcessor(EllipseData) ], exports.Ellipse.prototype, "__", void 0);
|
|
@@ -9394,7 +9446,7 @@ var LeaferUI = function(exports) {
|
|
|
9394
9446
|
if (this.viewReady) this.renderer.update();
|
|
9395
9447
|
}
|
|
9396
9448
|
__render(canvas, options) {
|
|
9397
|
-
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds));
|
|
9449
|
+
if (canvas.context) this.forEach(leafer => options.matrix ? leafer.__render(canvas, options) : canvas.copyWorld(leafer.canvas, options.bounds, undefined, undefined, true));
|
|
9398
9450
|
}
|
|
9399
9451
|
__onResize(event) {
|
|
9400
9452
|
this.forEach(leafer => leafer.resize(event));
|
|
@@ -11034,8 +11086,8 @@ var LeaferUI = function(exports) {
|
|
|
11034
11086
|
canvas.save();
|
|
11035
11087
|
if (item.transform) canvas.transform(item.transform);
|
|
11036
11088
|
if (originPaint.scaleFixed) {
|
|
11037
|
-
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
|
|
11038
|
-
if (
|
|
11089
|
+
const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, originPaint.scaleFixed, false);
|
|
11090
|
+
if (scaleX !== 1) canvas.scale(scaleX, scaleY);
|
|
11039
11091
|
}
|
|
11040
11092
|
if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
|
|
11041
11093
|
fillPathOrText(ui, canvas, renderOptions);
|
|
@@ -11432,6 +11484,7 @@ var LeaferUI = function(exports) {
|
|
|
11432
11484
|
const clip = transform && !transform.onlyScale || data.path || data.cornerRadius;
|
|
11433
11485
|
if (clip || opacity && opacity < 1 || blendMode) leafPaint.complex = clip ? 2 : true;
|
|
11434
11486
|
}
|
|
11487
|
+
if (paint.filter) PaintImage.applyFilter(leafPaint, image, paint.filter, ui);
|
|
11435
11488
|
return true;
|
|
11436
11489
|
}
|
|
11437
11490
|
function onLoad(ui, event) {
|
|
@@ -11635,7 +11688,7 @@ var LeaferUI = function(exports) {
|
|
|
11635
11688
|
let {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions), id = paint.film ? paint.nowIndex : scaleX + "-" + scaleY;
|
|
11636
11689
|
if (paint.patternId !== id && !ui.destroyed) {
|
|
11637
11690
|
if (!(Platform.image.isLarge(paint.image, scaleX, scaleY) && !paint.data.repeat)) {
|
|
11638
|
-
const {image: image, data: data} = paint, {opacity: opacity
|
|
11691
|
+
const {image: image, data: data} = paint, {opacity: opacity} = paint.originPaint, {transform: transform, gap: gap} = data, fixScale = PaintImage.getPatternFixScale(paint, scaleX, scaleY);
|
|
11639
11692
|
let imageMatrix, xGap, yGap, {width: width, height: height} = image;
|
|
11640
11693
|
if (fixScale) scaleX *= fixScale, scaleY *= fixScale;
|
|
11641
11694
|
width *= scaleX;
|
|
@@ -11651,7 +11704,7 @@ var LeaferUI = function(exports) {
|
|
|
11651
11704
|
if (transform) copy$1(imageMatrix, transform);
|
|
11652
11705
|
scale(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
11653
11706
|
}
|
|
11654
|
-
const imageCanvas = image.getCanvas(width, height, opacity,
|
|
11707
|
+
const imageCanvas = image.getCanvas(width, height, opacity, undefined, xGap, yGap, ui.leafer && ui.leafer.config.smooth, data.interlace);
|
|
11655
11708
|
const pattern = image.getPattern(imageCanvas, data.repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
11656
11709
|
paint.style = pattern;
|
|
11657
11710
|
paint.patternId = id;
|
|
@@ -11737,6 +11790,7 @@ var LeaferUI = function(exports) {
|
|
|
11737
11790
|
if (!recycleMap) recycleMap = {};
|
|
11738
11791
|
recycleMap[url] = true;
|
|
11739
11792
|
ImageManager.recyclePaint(paint);
|
|
11793
|
+
if (data.__willDestroy && image.parent) PaintImage.recycleFilter(image, data.__leaf);
|
|
11740
11794
|
if (image.loading) {
|
|
11741
11795
|
if (!input) {
|
|
11742
11796
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -14344,9 +14398,7 @@ var LeaferUI = function(exports) {
|
|
|
14344
14398
|
const {Yes: Yes, NoAndSkip: NoAndSkip, YesAndSkip: YesAndSkip} = exports.Answer;
|
|
14345
14399
|
const idCondition = {}, classNameCondition = {}, tagCondition = {};
|
|
14346
14400
|
class Finder {
|
|
14347
|
-
constructor(target) {
|
|
14348
|
-
this.innerIdMap = {};
|
|
14349
|
-
this.idMap = {};
|
|
14401
|
+
constructor(target, _config) {
|
|
14350
14402
|
this.methods = {
|
|
14351
14403
|
id: (leaf, name) => leaf.id === name ? (this.target && (this.idMap[name] = leaf),
|
|
14352
14404
|
1) : 0,
|
|
@@ -14356,6 +14408,13 @@ var LeaferUI = function(exports) {
|
|
|
14356
14408
|
tag: (leaf, name) => leaf.__tag === name ? 1 : 0,
|
|
14357
14409
|
tags: (leaf, nameMap) => nameMap[leaf.__tag] ? 1 : 0
|
|
14358
14410
|
};
|
|
14411
|
+
this.idMap = {};
|
|
14412
|
+
this.innerIdMap = {};
|
|
14413
|
+
const app = target && target.app;
|
|
14414
|
+
if (app) {
|
|
14415
|
+
app.idMap ? this.idMap = app.idMap : app.idMap = this.idMap;
|
|
14416
|
+
app.innerIdMap ? this.innerIdMap = app.innerIdMap : app.innerIdMap = this.innerIdMap;
|
|
14417
|
+
}
|
|
14359
14418
|
if (this.target = target) this.__listenEvents();
|
|
14360
14419
|
}
|
|
14361
14420
|
getBy(condition, branch, one, options) {
|
|
@@ -14476,8 +14535,13 @@ var LeaferUI = function(exports) {
|
|
|
14476
14535
|
return getSelector(this).getBy(condition, this, true, options);
|
|
14477
14536
|
};
|
|
14478
14537
|
Plugin.add("find");
|
|
14479
|
-
Creator.finder = function(target) {
|
|
14480
|
-
return new Finder(target);
|
|
14538
|
+
Creator.finder = function(target, config) {
|
|
14539
|
+
return new Finder(target, config);
|
|
14540
|
+
};
|
|
14541
|
+
LeafHelper.cacheId = function(t) {
|
|
14542
|
+
const {leafer: leafer, id: id} = t;
|
|
14543
|
+
if (id) leafer.app.idMap[id] = t;
|
|
14544
|
+
if (leafer.cacheInnerId) leafer.app.innerIdMap[t.innerId] = t;
|
|
14481
14545
|
};
|
|
14482
14546
|
exports.AlignHelper = AlignHelper;
|
|
14483
14547
|
exports.AnimateEasing = AnimateEasing;
|