@leafer-draw/miniapp 1.11.2 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/miniapp.cjs +24 -15
- package/dist/miniapp.esm.js +24 -15
- package/dist/miniapp.esm.min.js +1 -1
- package/dist/miniapp.esm.min.js.map +1 -1
- package/dist/miniapp.min.cjs +1 -1
- package/dist/miniapp.min.cjs.map +1 -1
- package/dist/miniapp.module.js +98 -25
- package/dist/miniapp.module.min.js +1 -1
- package/dist/miniapp.module.min.js.map +1 -1
- package/package.json +9 -9
package/dist/miniapp.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.recycledList.push(image);
|
|
4065
|
+
}
|
|
4066
|
+
}
|
|
4060
4067
|
});
|
|
4061
4068
|
},
|
|
4062
|
-
|
|
4069
|
+
recyclePaint(paint) {
|
|
4070
|
+
I.recycle(paint.image);
|
|
4071
|
+
},
|
|
4072
|
+
clearRecycled(force) {
|
|
4063
4073
|
const list = I.recycledList;
|
|
4064
|
-
if (list.length > I.maxRecycled) {
|
|
4065
|
-
list.forEach(image => !image.use && image.url && Resource.remove(image.url));
|
|
4074
|
+
if (list.length > I.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.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
|
}
|
|
@@ -4936,10 +4951,53 @@ const BranchHelper = {
|
|
|
4936
4951
|
if (exclude && exclude === branch) continue;
|
|
4937
4952
|
updateBounds$3(branch);
|
|
4938
4953
|
}
|
|
4954
|
+
},
|
|
4955
|
+
move(branch, x, y) {
|
|
4956
|
+
let w;
|
|
4957
|
+
const {children: children} = branch;
|
|
4958
|
+
for (let i = 0, len = children.length; i < len; i++) {
|
|
4959
|
+
branch = children[i];
|
|
4960
|
+
w = branch.__world;
|
|
4961
|
+
w.e += x;
|
|
4962
|
+
w.f += y;
|
|
4963
|
+
w.x += x;
|
|
4964
|
+
w.y += y;
|
|
4965
|
+
if (branch.isBranch) move$3(branch, x, y);
|
|
4966
|
+
}
|
|
4967
|
+
},
|
|
4968
|
+
scale(branch, x, y, scaleX, scaleY, a, b) {
|
|
4969
|
+
let w;
|
|
4970
|
+
const {children: children} = branch;
|
|
4971
|
+
const changeScaleX = scaleX - 1;
|
|
4972
|
+
const changeScaleY = scaleY - 1;
|
|
4973
|
+
for (let i = 0, len = children.length; i < len; i++) {
|
|
4974
|
+
branch = children[i];
|
|
4975
|
+
w = branch.__world;
|
|
4976
|
+
w.a *= scaleX;
|
|
4977
|
+
w.d *= scaleY;
|
|
4978
|
+
if (w.b || w.c) {
|
|
4979
|
+
w.b *= scaleX;
|
|
4980
|
+
w.c *= scaleY;
|
|
4981
|
+
}
|
|
4982
|
+
if (w.e === w.x && w.f === w.y) {
|
|
4983
|
+
w.x = w.e += (w.e - a) * changeScaleX + x;
|
|
4984
|
+
w.y = w.f += (w.f - b) * changeScaleY + y;
|
|
4985
|
+
} else {
|
|
4986
|
+
w.e += (w.e - a) * changeScaleX + x;
|
|
4987
|
+
w.f += (w.f - b) * changeScaleY + y;
|
|
4988
|
+
w.x += (w.x - a) * changeScaleX + x;
|
|
4989
|
+
w.y += (w.y - b) * changeScaleY + y;
|
|
4990
|
+
}
|
|
4991
|
+
w.width *= scaleX;
|
|
4992
|
+
w.height *= scaleY;
|
|
4993
|
+
w.scaleX *= scaleX;
|
|
4994
|
+
w.scaleY *= scaleY;
|
|
4995
|
+
if (branch.isBranch) scale$1(branch, x, y, scaleX, scaleY, a, b);
|
|
4996
|
+
}
|
|
4939
4997
|
}
|
|
4940
4998
|
};
|
|
4941
4999
|
|
|
4942
|
-
const {pushAllChildBranch: pushAllChildBranch$1, pushAllBranchStack: pushAllBranchStack, updateBoundsByBranchStack: updateBoundsByBranchStack} = BranchHelper;
|
|
5000
|
+
const {pushAllChildBranch: pushAllChildBranch$1, pushAllBranchStack: pushAllBranchStack, updateBoundsByBranchStack: updateBoundsByBranchStack, move: move$3, scale: scale$1} = BranchHelper;
|
|
4943
5001
|
|
|
4944
5002
|
const WaitHelper = {
|
|
4945
5003
|
run(wait) {
|
|
@@ -5966,6 +6024,7 @@ const LeafBounds = {
|
|
|
5966
6024
|
const LeafRender = {
|
|
5967
6025
|
__render(canvas, options) {
|
|
5968
6026
|
if (options.shape) return this.__renderShape(canvas, options);
|
|
6027
|
+
if (options.cellList && !options.cellList.has(this)) return;
|
|
5969
6028
|
if (this.__worldOpacity) {
|
|
5970
6029
|
const data = this.__;
|
|
5971
6030
|
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
@@ -6502,10 +6561,10 @@ let Leaf = class Leaf {
|
|
|
6502
6561
|
hit(_world, _hitRadius) {
|
|
6503
6562
|
return true;
|
|
6504
6563
|
}
|
|
6505
|
-
__hitWorld(_point) {
|
|
6564
|
+
__hitWorld(_point, _forceHitFill) {
|
|
6506
6565
|
return true;
|
|
6507
6566
|
}
|
|
6508
|
-
__hit(_local) {
|
|
6567
|
+
__hit(_local, _forceHitFill) {
|
|
6509
6568
|
return true;
|
|
6510
6569
|
}
|
|
6511
6570
|
__hitFill(_inner) {
|
|
@@ -6864,7 +6923,7 @@ class LeafLevelList {
|
|
|
6864
6923
|
}
|
|
6865
6924
|
}
|
|
6866
6925
|
|
|
6867
|
-
const version = "1.
|
|
6926
|
+
const version = "1.12.1";
|
|
6868
6927
|
|
|
6869
6928
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6870
6929
|
get allowBackgroundColor() {
|
|
@@ -7134,7 +7193,7 @@ class Watcher {
|
|
|
7134
7193
|
return this.hasAdd || this.hasRemove || this.hasVisible;
|
|
7135
7194
|
}
|
|
7136
7195
|
get updatedList() {
|
|
7137
|
-
if (this.hasRemove) {
|
|
7196
|
+
if (this.hasRemove && this.config.usePartLayout) {
|
|
7138
7197
|
const updatedList = new LeafList;
|
|
7139
7198
|
this.__updatedList.list.forEach(item => {
|
|
7140
7199
|
if (item.leafer) updatedList.add(item);
|
|
@@ -7169,16 +7228,18 @@ class Watcher {
|
|
|
7169
7228
|
if (this.running) this.target.emit(RenderEvent.REQUEST);
|
|
7170
7229
|
}
|
|
7171
7230
|
__onAttrChange(event) {
|
|
7172
|
-
this.__updatedList.add(event.target);
|
|
7231
|
+
if (this.config.usePartLayout) this.__updatedList.add(event.target);
|
|
7173
7232
|
this.update();
|
|
7174
7233
|
}
|
|
7175
7234
|
__onChildEvent(event) {
|
|
7176
|
-
if (
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7235
|
+
if (this.config.usePartLayout) {
|
|
7236
|
+
if (event.type === ChildEvent.ADD) {
|
|
7237
|
+
this.hasAdd = true;
|
|
7238
|
+
this.__pushChild(event.child);
|
|
7239
|
+
} else {
|
|
7240
|
+
this.hasRemove = true;
|
|
7241
|
+
this.__updatedList.add(event.parent);
|
|
7242
|
+
}
|
|
7182
7243
|
}
|
|
7183
7244
|
this.update();
|
|
7184
7245
|
}
|
|
@@ -7295,7 +7356,9 @@ const debug$3 = Debug.get("Layouter");
|
|
|
7295
7356
|
class Layouter {
|
|
7296
7357
|
constructor(target, userConfig) {
|
|
7297
7358
|
this.totalTimes = 0;
|
|
7298
|
-
this.config = {
|
|
7359
|
+
this.config = {
|
|
7360
|
+
usePartLayout: true
|
|
7361
|
+
};
|
|
7299
7362
|
this.__levelList = new LeafLevelList;
|
|
7300
7363
|
this.target = target;
|
|
7301
7364
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
@@ -7340,7 +7403,7 @@ class Layouter {
|
|
|
7340
7403
|
this.totalTimes++;
|
|
7341
7404
|
this.layouting = true;
|
|
7342
7405
|
this.target.emit(WatchEvent.REQUEST);
|
|
7343
|
-
if (this.totalTimes > 1) {
|
|
7406
|
+
if (this.totalTimes > 1 && this.config.usePartLayout) {
|
|
7344
7407
|
this.partLayout();
|
|
7345
7408
|
} else {
|
|
7346
7409
|
this.fullLayout();
|
|
@@ -7457,7 +7520,7 @@ class Renderer {
|
|
|
7457
7520
|
}
|
|
7458
7521
|
update(change = true) {
|
|
7459
7522
|
if (!this.changed) this.changed = change;
|
|
7460
|
-
this.__requestRender();
|
|
7523
|
+
if (!this.requestTime) this.__requestRender();
|
|
7461
7524
|
}
|
|
7462
7525
|
requestLayout() {
|
|
7463
7526
|
this.target.emit(LayoutEvent.REQUEST);
|
|
@@ -7564,7 +7627,7 @@ class Renderer {
|
|
|
7564
7627
|
Run.end(t);
|
|
7565
7628
|
}
|
|
7566
7629
|
__render(bounds, realBounds) {
|
|
7567
|
-
const {canvas: canvas} = this, includes = bounds.includes(
|
|
7630
|
+
const {canvas: canvas, target: target} = this, includes = bounds.includes(target.__world), options = includes ? {
|
|
7568
7631
|
includes: includes
|
|
7569
7632
|
} : {
|
|
7570
7633
|
bounds: bounds,
|
|
@@ -7572,12 +7635,16 @@ class Renderer {
|
|
|
7572
7635
|
};
|
|
7573
7636
|
if (this.needFill) canvas.fillWorld(bounds, this.config.fill);
|
|
7574
7637
|
if (Debug.showRepaint) Debug.drawRepaint(canvas, bounds);
|
|
7575
|
-
|
|
7638
|
+
if (this.config.useCellRender) options.cellList = this.getCellList();
|
|
7639
|
+
Platform.render(target, canvas, options);
|
|
7576
7640
|
this.renderBounds = realBounds = realBounds || bounds;
|
|
7577
7641
|
this.renderOptions = options;
|
|
7578
7642
|
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
7579
7643
|
canvas.updateRender(realBounds);
|
|
7580
7644
|
}
|
|
7645
|
+
getCellList() {
|
|
7646
|
+
return undefined;
|
|
7647
|
+
}
|
|
7581
7648
|
addBlock(block) {
|
|
7582
7649
|
if (!this.updateBlocks) this.updateBlocks = [];
|
|
7583
7650
|
this.updateBlocks.push(block);
|
|
@@ -8038,6 +8105,11 @@ class TextData extends UIData {
|
|
|
8038
8105
|
}
|
|
8039
8106
|
this._boxStyle = value;
|
|
8040
8107
|
}
|
|
8108
|
+
__getInputData(names, options) {
|
|
8109
|
+
const data = super.__getInputData(names, options);
|
|
8110
|
+
if (data.textEditing) delete data.textEditing;
|
|
8111
|
+
return data;
|
|
8112
|
+
}
|
|
8041
8113
|
}
|
|
8042
8114
|
|
|
8043
8115
|
class ImageData extends RectData {
|
|
@@ -9884,6 +9956,7 @@ function getLeafPaint(attrName, paint, ui) {
|
|
|
9884
9956
|
const {boxBounds: boxBounds} = ui.__layout;
|
|
9885
9957
|
switch (paint.type) {
|
|
9886
9958
|
case "image":
|
|
9959
|
+
if (!paint.url) return undefined;
|
|
9887
9960
|
leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
|
|
9888
9961
|
break;
|
|
9889
9962
|
|
|
@@ -10288,7 +10361,7 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
|
|
|
10288
10361
|
if (data.repeat) {
|
|
10289
10362
|
drawImage = false;
|
|
10290
10363
|
} else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
|
|
10291
|
-
drawImage = Platform.image.isLarge(image, scaleX, scaleY);
|
|
10364
|
+
drawImage = Platform.image.isLarge(image, scaleX, scaleY) || image.width * scaleX > 8096 || image.height * scaleY > 8096;
|
|
10292
10365
|
}
|
|
10293
10366
|
}
|
|
10294
10367
|
if (drawImage) {
|
|
@@ -10347,7 +10420,7 @@ function recycleImage(attrName, data) {
|
|
|
10347
10420
|
if (url) {
|
|
10348
10421
|
if (!recycleMap) recycleMap = {};
|
|
10349
10422
|
recycleMap[url] = true;
|
|
10350
|
-
ImageManager.
|
|
10423
|
+
ImageManager.recyclePaint(paint);
|
|
10351
10424
|
if (image.loading) {
|
|
10352
10425
|
if (!input) {
|
|
10353
10426
|
input = data.__input && data.__input[attrName] || [];
|