@leafer-draw/worker 1.11.1 → 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.cjs +33 -15
- package/dist/worker.esm.js +34 -16
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +59 -22
- 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 +62 -23
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +9 -9
package/dist/worker.module.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var PathNodeHandleType;
|
|
2
|
+
|
|
3
|
+
(function(PathNodeHandleType) {
|
|
4
|
+
PathNodeHandleType[PathNodeHandleType["none"] = 1] = "none";
|
|
5
|
+
PathNodeHandleType[PathNodeHandleType["free"] = 2] = "free";
|
|
6
|
+
PathNodeHandleType[PathNodeHandleType["mirrorAngle"] = 3] = "mirrorAngle";
|
|
7
|
+
PathNodeHandleType[PathNodeHandleType["mirror"] = 4] = "mirror";
|
|
8
|
+
})(PathNodeHandleType || (PathNodeHandleType = {}));
|
|
9
|
+
|
|
1
10
|
var Answer;
|
|
2
11
|
|
|
3
12
|
(function(Answer) {
|
|
@@ -4047,16 +4056,27 @@ const ImageManager = {
|
|
|
4047
4056
|
recycle(image) {
|
|
4048
4057
|
image.use--;
|
|
4049
4058
|
setTimeout(() => {
|
|
4050
|
-
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
|
+
}
|
|
4051
4067
|
});
|
|
4052
4068
|
},
|
|
4053
|
-
|
|
4069
|
+
recyclePaint(paint) {
|
|
4070
|
+
I.recycle(paint.image);
|
|
4071
|
+
},
|
|
4072
|
+
clearRecycled(force) {
|
|
4054
4073
|
const list = I.recycledList;
|
|
4055
|
-
if (list.length > I.maxRecycled) {
|
|
4056
|
-
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));
|
|
4057
4076
|
list.length = 0;
|
|
4058
4077
|
}
|
|
4059
4078
|
},
|
|
4079
|
+
clearLevels() {},
|
|
4060
4080
|
hasAlphaPixel(config) {
|
|
4061
4081
|
return FileHelper.alphaPixelTypes.some(item => I.isFormat(item, config));
|
|
4062
4082
|
},
|
|
@@ -4071,7 +4091,7 @@ const ImageManager = {
|
|
|
4071
4091
|
return false;
|
|
4072
4092
|
},
|
|
4073
4093
|
destroy() {
|
|
4074
|
-
|
|
4094
|
+
this.clearRecycled(true);
|
|
4075
4095
|
}
|
|
4076
4096
|
};
|
|
4077
4097
|
|
|
@@ -4174,11 +4194,15 @@ class LeaferImage {
|
|
|
4174
4194
|
Platform.image.setPatternTransform(pattern, transform, paint);
|
|
4175
4195
|
return pattern;
|
|
4176
4196
|
}
|
|
4197
|
+
clearLevels(_checkUse) {}
|
|
4177
4198
|
destroy() {
|
|
4199
|
+
this.clearLevels();
|
|
4200
|
+
const {view: view} = this;
|
|
4201
|
+
if (view && view.close) view.close();
|
|
4178
4202
|
this.config = {
|
|
4179
4203
|
url: ""
|
|
4180
4204
|
};
|
|
4181
|
-
this.cache = null;
|
|
4205
|
+
this.cache = this.view = null;
|
|
4182
4206
|
this.waitComplete.length = 0;
|
|
4183
4207
|
}
|
|
4184
4208
|
}
|
|
@@ -5957,6 +5981,7 @@ const LeafBounds = {
|
|
|
5957
5981
|
const LeafRender = {
|
|
5958
5982
|
__render(canvas, options) {
|
|
5959
5983
|
if (options.shape) return this.__renderShape(canvas, options);
|
|
5984
|
+
if (options.cellList && !options.cellList.has(this)) return;
|
|
5960
5985
|
if (this.__worldOpacity) {
|
|
5961
5986
|
const data = this.__;
|
|
5962
5987
|
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
@@ -6855,7 +6880,7 @@ class LeafLevelList {
|
|
|
6855
6880
|
}
|
|
6856
6881
|
}
|
|
6857
6882
|
|
|
6858
|
-
const version = "1.
|
|
6883
|
+
const version = "1.12.0";
|
|
6859
6884
|
|
|
6860
6885
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6861
6886
|
get allowBackgroundColor() {
|
|
@@ -6972,7 +6997,7 @@ class Watcher {
|
|
|
6972
6997
|
return this.hasAdd || this.hasRemove || this.hasVisible;
|
|
6973
6998
|
}
|
|
6974
6999
|
get updatedList() {
|
|
6975
|
-
if (this.hasRemove) {
|
|
7000
|
+
if (this.hasRemove && this.config.usePartLayout) {
|
|
6976
7001
|
const updatedList = new LeafList;
|
|
6977
7002
|
this.__updatedList.list.forEach(item => {
|
|
6978
7003
|
if (item.leafer) updatedList.add(item);
|
|
@@ -7007,16 +7032,18 @@ class Watcher {
|
|
|
7007
7032
|
if (this.running) this.target.emit(RenderEvent.REQUEST);
|
|
7008
7033
|
}
|
|
7009
7034
|
__onAttrChange(event) {
|
|
7010
|
-
this.__updatedList.add(event.target);
|
|
7035
|
+
if (this.config.usePartLayout) this.__updatedList.add(event.target);
|
|
7011
7036
|
this.update();
|
|
7012
7037
|
}
|
|
7013
7038
|
__onChildEvent(event) {
|
|
7014
|
-
if (
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
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
|
+
}
|
|
7020
7047
|
}
|
|
7021
7048
|
this.update();
|
|
7022
7049
|
}
|
|
@@ -7133,7 +7160,9 @@ const debug$3 = Debug.get("Layouter");
|
|
|
7133
7160
|
class Layouter {
|
|
7134
7161
|
constructor(target, userConfig) {
|
|
7135
7162
|
this.totalTimes = 0;
|
|
7136
|
-
this.config = {
|
|
7163
|
+
this.config = {
|
|
7164
|
+
usePartLayout: true
|
|
7165
|
+
};
|
|
7137
7166
|
this.__levelList = new LeafLevelList;
|
|
7138
7167
|
this.target = target;
|
|
7139
7168
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
@@ -7178,7 +7207,7 @@ class Layouter {
|
|
|
7178
7207
|
this.totalTimes++;
|
|
7179
7208
|
this.layouting = true;
|
|
7180
7209
|
this.target.emit(WatchEvent.REQUEST);
|
|
7181
|
-
if (this.totalTimes > 1) {
|
|
7210
|
+
if (this.totalTimes > 1 && this.config.usePartLayout) {
|
|
7182
7211
|
this.partLayout();
|
|
7183
7212
|
} else {
|
|
7184
7213
|
this.fullLayout();
|
|
@@ -7295,7 +7324,7 @@ class Renderer {
|
|
|
7295
7324
|
}
|
|
7296
7325
|
update(change = true) {
|
|
7297
7326
|
if (!this.changed) this.changed = change;
|
|
7298
|
-
this.__requestRender();
|
|
7327
|
+
if (!this.requestTime) this.__requestRender();
|
|
7299
7328
|
}
|
|
7300
7329
|
requestLayout() {
|
|
7301
7330
|
this.target.emit(LayoutEvent.REQUEST);
|
|
@@ -7402,7 +7431,7 @@ class Renderer {
|
|
|
7402
7431
|
Run.end(t);
|
|
7403
7432
|
}
|
|
7404
7433
|
__render(bounds, realBounds) {
|
|
7405
|
-
const {canvas: canvas} = this, includes = bounds.includes(
|
|
7434
|
+
const {canvas: canvas, target: target} = this, includes = bounds.includes(target.__world), options = includes ? {
|
|
7406
7435
|
includes: includes
|
|
7407
7436
|
} : {
|
|
7408
7437
|
bounds: bounds,
|
|
@@ -7410,12 +7439,16 @@ class Renderer {
|
|
|
7410
7439
|
};
|
|
7411
7440
|
if (this.needFill) canvas.fillWorld(bounds, this.config.fill);
|
|
7412
7441
|
if (Debug.showRepaint) Debug.drawRepaint(canvas, bounds);
|
|
7413
|
-
|
|
7442
|
+
if (this.config.useCellRender) options.cellList = this.getCellList();
|
|
7443
|
+
Platform.render(target, canvas, options);
|
|
7414
7444
|
this.renderBounds = realBounds = realBounds || bounds;
|
|
7415
7445
|
this.renderOptions = options;
|
|
7416
7446
|
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
7417
7447
|
canvas.updateRender(realBounds);
|
|
7418
7448
|
}
|
|
7449
|
+
getCellList() {
|
|
7450
|
+
return undefined;
|
|
7451
|
+
}
|
|
7419
7452
|
addBlock(block) {
|
|
7420
7453
|
if (!this.updateBlocks) this.updateBlocks = [];
|
|
7421
7454
|
this.updateBlocks.push(block);
|
|
@@ -7876,6 +7909,11 @@ class TextData extends UIData {
|
|
|
7876
7909
|
}
|
|
7877
7910
|
this._boxStyle = value;
|
|
7878
7911
|
}
|
|
7912
|
+
__getInputData(names, options) {
|
|
7913
|
+
const data = super.__getInputData(names, options);
|
|
7914
|
+
if (data.textEditing) delete data.textEditing;
|
|
7915
|
+
return data;
|
|
7916
|
+
}
|
|
7879
7917
|
}
|
|
7880
7918
|
|
|
7881
7919
|
class ImageData extends RectData {
|
|
@@ -9722,6 +9760,7 @@ function getLeafPaint(attrName, paint, ui) {
|
|
|
9722
9760
|
const {boxBounds: boxBounds} = ui.__layout;
|
|
9723
9761
|
switch (paint.type) {
|
|
9724
9762
|
case "image":
|
|
9763
|
+
if (!paint.url) return undefined;
|
|
9725
9764
|
leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
|
|
9726
9765
|
break;
|
|
9727
9766
|
|
|
@@ -10126,7 +10165,7 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
|
|
|
10126
10165
|
if (data.repeat) {
|
|
10127
10166
|
drawImage = false;
|
|
10128
10167
|
} else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
|
|
10129
|
-
drawImage = Platform.image.isLarge(image, scaleX, scaleY);
|
|
10168
|
+
drawImage = Platform.image.isLarge(image, scaleX, scaleY) || image.width * scaleX > 8096 || image.height * scaleY > 8096;
|
|
10130
10169
|
}
|
|
10131
10170
|
}
|
|
10132
10171
|
if (drawImage) {
|
|
@@ -10185,7 +10224,7 @@ function recycleImage(attrName, data) {
|
|
|
10185
10224
|
if (url) {
|
|
10186
10225
|
if (!recycleMap) recycleMap = {};
|
|
10187
10226
|
recycleMap[url] = true;
|
|
10188
|
-
ImageManager.
|
|
10227
|
+
ImageManager.recyclePaint(paint);
|
|
10189
10228
|
if (image.loading) {
|
|
10190
10229
|
if (!input) {
|
|
10191
10230
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -11095,4 +11134,4 @@ Object.assign(Effect, EffectModule);
|
|
|
11095
11134
|
|
|
11096
11135
|
useCanvas();
|
|
11097
11136
|
|
|
11098
|
-
export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MyImage, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Platform, Plugin, Point, PointHelper, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|
|
11137
|
+
export { AlignHelper, Answer, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, DataHelper, Debug, Direction4, Direction9, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, FourNumberHelper, Frame, FrameData, Group, GroupData, Image, ImageData, ImageEvent, ImageManager, IncrementId, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MyImage, 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, Platform, Plugin, Point, PointHelper, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Run, Star, StarData, State, StringNumberMap, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, 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, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|