@leafer/worker 1.11.2 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +59 -38
- 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 +59 -38
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +23 -23
package/dist/worker.module.js
CHANGED
|
@@ -4056,16 +4056,27 @@ const ImageManager = {
|
|
|
4056
4056
|
recycle(image) {
|
|
4057
4057
|
image.use--;
|
|
4058
4058
|
setTimeout(() => {
|
|
4059
|
-
if (!image.use)
|
|
4059
|
+
if (!image.use) {
|
|
4060
|
+
if (Platform.image.isLarge(image)) {
|
|
4061
|
+
if (image.url) Resource.remove(image.url);
|
|
4062
|
+
} else {
|
|
4063
|
+
image.clearLevels();
|
|
4064
|
+
I$1.recycledList.push(image);
|
|
4065
|
+
}
|
|
4066
|
+
}
|
|
4060
4067
|
});
|
|
4061
4068
|
},
|
|
4062
|
-
|
|
4069
|
+
recyclePaint(paint) {
|
|
4070
|
+
I$1.recycle(paint.image);
|
|
4071
|
+
},
|
|
4072
|
+
clearRecycled(force) {
|
|
4063
4073
|
const list = I$1.recycledList;
|
|
4064
|
-
if (list.length > I$1.maxRecycled) {
|
|
4065
|
-
list.forEach(image => !image.use && image.url && Resource.remove(image.url));
|
|
4074
|
+
if (list.length > I$1.maxRecycled || force) {
|
|
4075
|
+
list.forEach(image => (!image.use || force) && image.url && Resource.remove(image.url));
|
|
4066
4076
|
list.length = 0;
|
|
4067
4077
|
}
|
|
4068
4078
|
},
|
|
4079
|
+
clearLevels() {},
|
|
4069
4080
|
hasAlphaPixel(config) {
|
|
4070
4081
|
return FileHelper.alphaPixelTypes.some(item => I$1.isFormat(item, config));
|
|
4071
4082
|
},
|
|
@@ -4080,7 +4091,7 @@ const ImageManager = {
|
|
|
4080
4091
|
return false;
|
|
4081
4092
|
},
|
|
4082
4093
|
destroy() {
|
|
4083
|
-
|
|
4094
|
+
this.clearRecycled(true);
|
|
4084
4095
|
}
|
|
4085
4096
|
};
|
|
4086
4097
|
|
|
@@ -4183,11 +4194,15 @@ class LeaferImage {
|
|
|
4183
4194
|
Platform.image.setPatternTransform(pattern, transform, paint);
|
|
4184
4195
|
return pattern;
|
|
4185
4196
|
}
|
|
4197
|
+
clearLevels(_checkUse) {}
|
|
4186
4198
|
destroy() {
|
|
4199
|
+
this.clearLevels();
|
|
4200
|
+
const {view: view} = this;
|
|
4201
|
+
if (view && view.close) view.close();
|
|
4187
4202
|
this.config = {
|
|
4188
4203
|
url: ""
|
|
4189
4204
|
};
|
|
4190
|
-
this.cache = null;
|
|
4205
|
+
this.cache = this.view = null;
|
|
4191
4206
|
this.waitComplete.length = 0;
|
|
4192
4207
|
}
|
|
4193
4208
|
}
|
|
@@ -5966,6 +5981,7 @@ const LeafBounds = {
|
|
|
5966
5981
|
const LeafRender = {
|
|
5967
5982
|
__render(canvas, options) {
|
|
5968
5983
|
if (options.shape) return this.__renderShape(canvas, options);
|
|
5984
|
+
if (options.cellList && !options.cellList.has(this)) return;
|
|
5969
5985
|
if (this.__worldOpacity) {
|
|
5970
5986
|
const data = this.__;
|
|
5971
5987
|
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
@@ -6864,7 +6880,7 @@ class LeafLevelList {
|
|
|
6864
6880
|
}
|
|
6865
6881
|
}
|
|
6866
6882
|
|
|
6867
|
-
const version = "1.
|
|
6883
|
+
const version = "1.12.0";
|
|
6868
6884
|
|
|
6869
6885
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6870
6886
|
get allowBackgroundColor() {
|
|
@@ -6981,7 +6997,7 @@ class Watcher {
|
|
|
6981
6997
|
return this.hasAdd || this.hasRemove || this.hasVisible;
|
|
6982
6998
|
}
|
|
6983
6999
|
get updatedList() {
|
|
6984
|
-
if (this.hasRemove) {
|
|
7000
|
+
if (this.hasRemove && this.config.usePartLayout) {
|
|
6985
7001
|
const updatedList = new LeafList;
|
|
6986
7002
|
this.__updatedList.list.forEach(item => {
|
|
6987
7003
|
if (item.leafer) updatedList.add(item);
|
|
@@ -7016,16 +7032,18 @@ class Watcher {
|
|
|
7016
7032
|
if (this.running) this.target.emit(RenderEvent.REQUEST);
|
|
7017
7033
|
}
|
|
7018
7034
|
__onAttrChange(event) {
|
|
7019
|
-
this.__updatedList.add(event.target);
|
|
7035
|
+
if (this.config.usePartLayout) this.__updatedList.add(event.target);
|
|
7020
7036
|
this.update();
|
|
7021
7037
|
}
|
|
7022
7038
|
__onChildEvent(event) {
|
|
7023
|
-
if (
|
|
7024
|
-
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
|
|
7039
|
+
if (this.config.usePartLayout) {
|
|
7040
|
+
if (event.type === ChildEvent.ADD) {
|
|
7041
|
+
this.hasAdd = true;
|
|
7042
|
+
this.__pushChild(event.child);
|
|
7043
|
+
} else {
|
|
7044
|
+
this.hasRemove = true;
|
|
7045
|
+
this.__updatedList.add(event.parent);
|
|
7046
|
+
}
|
|
7029
7047
|
}
|
|
7030
7048
|
this.update();
|
|
7031
7049
|
}
|
|
@@ -7142,7 +7160,9 @@ const debug$7 = Debug.get("Layouter");
|
|
|
7142
7160
|
class Layouter {
|
|
7143
7161
|
constructor(target, userConfig) {
|
|
7144
7162
|
this.totalTimes = 0;
|
|
7145
|
-
this.config = {
|
|
7163
|
+
this.config = {
|
|
7164
|
+
usePartLayout: true
|
|
7165
|
+
};
|
|
7146
7166
|
this.__levelList = new LeafLevelList;
|
|
7147
7167
|
this.target = target;
|
|
7148
7168
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
@@ -7187,7 +7207,7 @@ class Layouter {
|
|
|
7187
7207
|
this.totalTimes++;
|
|
7188
7208
|
this.layouting = true;
|
|
7189
7209
|
this.target.emit(WatchEvent.REQUEST);
|
|
7190
|
-
if (this.totalTimes > 1) {
|
|
7210
|
+
if (this.totalTimes > 1 && this.config.usePartLayout) {
|
|
7191
7211
|
this.partLayout();
|
|
7192
7212
|
} else {
|
|
7193
7213
|
this.fullLayout();
|
|
@@ -7304,7 +7324,7 @@ class Renderer {
|
|
|
7304
7324
|
}
|
|
7305
7325
|
update(change = true) {
|
|
7306
7326
|
if (!this.changed) this.changed = change;
|
|
7307
|
-
this.__requestRender();
|
|
7327
|
+
if (!this.requestTime) this.__requestRender();
|
|
7308
7328
|
}
|
|
7309
7329
|
requestLayout() {
|
|
7310
7330
|
this.target.emit(LayoutEvent.REQUEST);
|
|
@@ -7411,7 +7431,7 @@ class Renderer {
|
|
|
7411
7431
|
Run.end(t);
|
|
7412
7432
|
}
|
|
7413
7433
|
__render(bounds, realBounds) {
|
|
7414
|
-
const {canvas: canvas} = this, includes = bounds.includes(
|
|
7434
|
+
const {canvas: canvas, target: target} = this, includes = bounds.includes(target.__world), options = includes ? {
|
|
7415
7435
|
includes: includes
|
|
7416
7436
|
} : {
|
|
7417
7437
|
bounds: bounds,
|
|
@@ -7419,12 +7439,16 @@ class Renderer {
|
|
|
7419
7439
|
};
|
|
7420
7440
|
if (this.needFill) canvas.fillWorld(bounds, this.config.fill);
|
|
7421
7441
|
if (Debug.showRepaint) Debug.drawRepaint(canvas, bounds);
|
|
7422
|
-
|
|
7442
|
+
if (this.config.useCellRender) options.cellList = this.getCellList();
|
|
7443
|
+
Platform.render(target, canvas, options);
|
|
7423
7444
|
this.renderBounds = realBounds = realBounds || bounds;
|
|
7424
7445
|
this.renderOptions = options;
|
|
7425
7446
|
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
7426
7447
|
canvas.updateRender(realBounds);
|
|
7427
7448
|
}
|
|
7449
|
+
getCellList() {
|
|
7450
|
+
return undefined;
|
|
7451
|
+
}
|
|
7428
7452
|
addBlock(block) {
|
|
7429
7453
|
if (!this.updateBlocks) this.updateBlocks = [];
|
|
7430
7454
|
this.updateBlocks.push(block);
|
|
@@ -8081,6 +8105,11 @@ class TextData extends UIData {
|
|
|
8081
8105
|
}
|
|
8082
8106
|
this._boxStyle = value;
|
|
8083
8107
|
}
|
|
8108
|
+
__getInputData(names, options) {
|
|
8109
|
+
const data = super.__getInputData(names, options);
|
|
8110
|
+
if (data.textEditing) delete data.textEditing;
|
|
8111
|
+
return data;
|
|
8112
|
+
}
|
|
8084
8113
|
}
|
|
8085
8114
|
|
|
8086
8115
|
class ImageData extends RectData {
|
|
@@ -11420,6 +11449,7 @@ function getLeafPaint(attrName, paint, ui) {
|
|
|
11420
11449
|
const {boxBounds: boxBounds} = ui.__layout;
|
|
11421
11450
|
switch (paint.type) {
|
|
11422
11451
|
case "image":
|
|
11452
|
+
if (!paint.url) return undefined;
|
|
11423
11453
|
leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
|
|
11424
11454
|
break;
|
|
11425
11455
|
|
|
@@ -11760,7 +11790,7 @@ function layout$3(transform, box, x, y, scaleX, scaleY, rotation, skew) {
|
|
|
11760
11790
|
translate(transform, box.x + x, box.y + y);
|
|
11761
11791
|
}
|
|
11762
11792
|
|
|
11763
|
-
const {get: get$1, scale: scale$
|
|
11793
|
+
const {get: get$1, scale: scale$1, copy: copy$4} = MatrixHelper;
|
|
11764
11794
|
|
|
11765
11795
|
const {getFloorScale: getFloorScale} = MathHelper, {abs: abs$6} = Math;
|
|
11766
11796
|
|
|
@@ -11792,7 +11822,7 @@ function createPattern(paint, ui, canvas, renderOptions) {
|
|
|
11792
11822
|
scaleY *= getFloorScale(height + (yGap || 0));
|
|
11793
11823
|
imageMatrix = get$1();
|
|
11794
11824
|
if (transform) copy$4(imageMatrix, transform);
|
|
11795
|
-
scale$
|
|
11825
|
+
scale$1(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
11796
11826
|
}
|
|
11797
11827
|
const imageCanvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap, ui.leafer && ui.leafer.config.smooth);
|
|
11798
11828
|
const pattern = image.getPattern(imageCanvas, data.repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
@@ -11824,7 +11854,7 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
|
|
|
11824
11854
|
if (data.repeat) {
|
|
11825
11855
|
drawImage = false;
|
|
11826
11856
|
} else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
|
|
11827
|
-
drawImage = Platform.image.isLarge(image, scaleX, scaleY);
|
|
11857
|
+
drawImage = Platform.image.isLarge(image, scaleX, scaleY) || image.width * scaleX > 8096 || image.height * scaleY > 8096;
|
|
11828
11858
|
}
|
|
11829
11859
|
}
|
|
11830
11860
|
if (drawImage) {
|
|
@@ -11883,7 +11913,7 @@ function recycleImage(attrName, data) {
|
|
|
11883
11913
|
if (url) {
|
|
11884
11914
|
if (!recycleMap) recycleMap = {};
|
|
11885
11915
|
recycleMap[url] = true;
|
|
11886
|
-
ImageManager.
|
|
11916
|
+
ImageManager.recyclePaint(paint);
|
|
11887
11917
|
if (image.loading) {
|
|
11888
11918
|
if (!input) {
|
|
11889
11919
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -12901,7 +12931,7 @@ function mergeConfigAttr() {
|
|
|
12901
12931
|
|
|
12902
12932
|
const {abs: abs$4} = Math;
|
|
12903
12933
|
|
|
12904
|
-
const {copy: copy$2
|
|
12934
|
+
const {copy: copy$2} = MatrixHelper;
|
|
12905
12935
|
|
|
12906
12936
|
const {setListWithFn: setListWithFn} = BoundsHelper;
|
|
12907
12937
|
|
|
@@ -12945,19 +12975,10 @@ class Stroker extends UI {
|
|
|
12945
12975
|
const aScaleX = abs$4(worldTransform.scaleX), aScaleY = abs$4(worldTransform.scaleY);
|
|
12946
12976
|
copy$2(matrix$1, worldTransform);
|
|
12947
12977
|
matrix$1.half = strokeWidth % 2;
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
data.strokeWidth = strokeWidth;
|
|
12953
|
-
const {x: x, y: y, width: width, height: height} = leaf.__layout.boxBounds;
|
|
12954
|
-
canvas.rect(x * aScaleX, y * aScaleY, width * aScaleX, height * aScaleY);
|
|
12955
|
-
} else {
|
|
12956
|
-
canvas.setWorld(matrix$1, options.matrix);
|
|
12957
|
-
canvas.beginPath();
|
|
12958
|
-
if (leaf.__.__useArrow) leaf.__drawPath(canvas); else leaf.__.__pathForRender ? leaf.__drawRenderPath(canvas) : leaf.__drawPathByBox(canvas);
|
|
12959
|
-
data.strokeWidth = strokeWidth / abs$4(worldTransform.scaleX);
|
|
12960
|
-
}
|
|
12978
|
+
canvas.setWorld(matrix$1, options.matrix);
|
|
12979
|
+
canvas.beginPath();
|
|
12980
|
+
if (leaf.__.__useArrow) leaf.__drawPath(canvas); else leaf.__.__pathForRender ? leaf.__drawRenderPath(canvas) : leaf.__drawPathByBox(canvas);
|
|
12981
|
+
data.strokeWidth = strokeWidth / Math.max(aScaleX, aScaleY);
|
|
12961
12982
|
if (stroke) isString(stroke) ? Paint.stroke(stroke, this, canvas, options) : Paint.strokes(stroke, this, canvas, options);
|
|
12962
12983
|
if (fill) isString(fill) ? Paint.fill(fill, this, canvas, options) : Paint.fills(fill, this, canvas, options);
|
|
12963
12984
|
}
|