leafer-draw 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/web.cjs +33 -15
- package/dist/web.esm.js +34 -16
- package/dist/web.esm.min.js +1 -1
- package/dist/web.esm.min.js.map +1 -1
- package/dist/web.js +59 -22
- package/dist/web.min.cjs +1 -1
- package/dist/web.min.cjs.map +1 -1
- package/dist/web.min.js +1 -1
- package/dist/web.min.js.map +1 -1
- package/dist/web.module.js +62 -23
- package/dist/web.module.min.js +1 -1
- package/dist/web.module.min.js.map +1 -1
- package/package.json +3 -3
package/dist/web.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
|
const debug$4 = Debug.get("LeaferCanvas");
|
|
6861
6886
|
|
|
@@ -7178,7 +7203,7 @@ class Watcher {
|
|
|
7178
7203
|
return this.hasAdd || this.hasRemove || this.hasVisible;
|
|
7179
7204
|
}
|
|
7180
7205
|
get updatedList() {
|
|
7181
|
-
if (this.hasRemove) {
|
|
7206
|
+
if (this.hasRemove && this.config.usePartLayout) {
|
|
7182
7207
|
const updatedList = new LeafList;
|
|
7183
7208
|
this.__updatedList.list.forEach(item => {
|
|
7184
7209
|
if (item.leafer) updatedList.add(item);
|
|
@@ -7213,16 +7238,18 @@ class Watcher {
|
|
|
7213
7238
|
if (this.running) this.target.emit(RenderEvent.REQUEST);
|
|
7214
7239
|
}
|
|
7215
7240
|
__onAttrChange(event) {
|
|
7216
|
-
this.__updatedList.add(event.target);
|
|
7241
|
+
if (this.config.usePartLayout) this.__updatedList.add(event.target);
|
|
7217
7242
|
this.update();
|
|
7218
7243
|
}
|
|
7219
7244
|
__onChildEvent(event) {
|
|
7220
|
-
if (
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
|
|
7225
|
-
|
|
7245
|
+
if (this.config.usePartLayout) {
|
|
7246
|
+
if (event.type === ChildEvent.ADD) {
|
|
7247
|
+
this.hasAdd = true;
|
|
7248
|
+
this.__pushChild(event.child);
|
|
7249
|
+
} else {
|
|
7250
|
+
this.hasRemove = true;
|
|
7251
|
+
this.__updatedList.add(event.parent);
|
|
7252
|
+
}
|
|
7226
7253
|
}
|
|
7227
7254
|
this.update();
|
|
7228
7255
|
}
|
|
@@ -7339,7 +7366,9 @@ const debug$3 = Debug.get("Layouter");
|
|
|
7339
7366
|
class Layouter {
|
|
7340
7367
|
constructor(target, userConfig) {
|
|
7341
7368
|
this.totalTimes = 0;
|
|
7342
|
-
this.config = {
|
|
7369
|
+
this.config = {
|
|
7370
|
+
usePartLayout: true
|
|
7371
|
+
};
|
|
7343
7372
|
this.__levelList = new LeafLevelList;
|
|
7344
7373
|
this.target = target;
|
|
7345
7374
|
if (userConfig) this.config = DataHelper.default(userConfig, this.config);
|
|
@@ -7384,7 +7413,7 @@ class Layouter {
|
|
|
7384
7413
|
this.totalTimes++;
|
|
7385
7414
|
this.layouting = true;
|
|
7386
7415
|
this.target.emit(WatchEvent.REQUEST);
|
|
7387
|
-
if (this.totalTimes > 1) {
|
|
7416
|
+
if (this.totalTimes > 1 && this.config.usePartLayout) {
|
|
7388
7417
|
this.partLayout();
|
|
7389
7418
|
} else {
|
|
7390
7419
|
this.fullLayout();
|
|
@@ -7501,7 +7530,7 @@ class Renderer {
|
|
|
7501
7530
|
}
|
|
7502
7531
|
update(change = true) {
|
|
7503
7532
|
if (!this.changed) this.changed = change;
|
|
7504
|
-
this.__requestRender();
|
|
7533
|
+
if (!this.requestTime) this.__requestRender();
|
|
7505
7534
|
}
|
|
7506
7535
|
requestLayout() {
|
|
7507
7536
|
this.target.emit(LayoutEvent.REQUEST);
|
|
@@ -7608,7 +7637,7 @@ class Renderer {
|
|
|
7608
7637
|
Run.end(t);
|
|
7609
7638
|
}
|
|
7610
7639
|
__render(bounds, realBounds) {
|
|
7611
|
-
const {canvas: canvas} = this, includes = bounds.includes(
|
|
7640
|
+
const {canvas: canvas, target: target} = this, includes = bounds.includes(target.__world), options = includes ? {
|
|
7612
7641
|
includes: includes
|
|
7613
7642
|
} : {
|
|
7614
7643
|
bounds: bounds,
|
|
@@ -7616,12 +7645,16 @@ class Renderer {
|
|
|
7616
7645
|
};
|
|
7617
7646
|
if (this.needFill) canvas.fillWorld(bounds, this.config.fill);
|
|
7618
7647
|
if (Debug.showRepaint) Debug.drawRepaint(canvas, bounds);
|
|
7619
|
-
|
|
7648
|
+
if (this.config.useCellRender) options.cellList = this.getCellList();
|
|
7649
|
+
Platform.render(target, canvas, options);
|
|
7620
7650
|
this.renderBounds = realBounds = realBounds || bounds;
|
|
7621
7651
|
this.renderOptions = options;
|
|
7622
7652
|
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
7623
7653
|
canvas.updateRender(realBounds);
|
|
7624
7654
|
}
|
|
7655
|
+
getCellList() {
|
|
7656
|
+
return undefined;
|
|
7657
|
+
}
|
|
7625
7658
|
addBlock(block) {
|
|
7626
7659
|
if (!this.updateBlocks) this.updateBlocks = [];
|
|
7627
7660
|
this.updateBlocks.push(block);
|
|
@@ -8082,6 +8115,11 @@ class TextData extends UIData {
|
|
|
8082
8115
|
}
|
|
8083
8116
|
this._boxStyle = value;
|
|
8084
8117
|
}
|
|
8118
|
+
__getInputData(names, options) {
|
|
8119
|
+
const data = super.__getInputData(names, options);
|
|
8120
|
+
if (data.textEditing) delete data.textEditing;
|
|
8121
|
+
return data;
|
|
8122
|
+
}
|
|
8085
8123
|
}
|
|
8086
8124
|
|
|
8087
8125
|
class ImageData extends RectData {
|
|
@@ -9928,6 +9966,7 @@ function getLeafPaint(attrName, paint, ui) {
|
|
|
9928
9966
|
const {boxBounds: boxBounds} = ui.__layout;
|
|
9929
9967
|
switch (paint.type) {
|
|
9930
9968
|
case "image":
|
|
9969
|
+
if (!paint.url) return undefined;
|
|
9931
9970
|
leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
|
|
9932
9971
|
break;
|
|
9933
9972
|
|
|
@@ -10332,7 +10371,7 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
|
|
|
10332
10371
|
if (data.repeat) {
|
|
10333
10372
|
drawImage = false;
|
|
10334
10373
|
} else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
|
|
10335
|
-
drawImage = Platform.image.isLarge(image, scaleX, scaleY);
|
|
10374
|
+
drawImage = Platform.image.isLarge(image, scaleX, scaleY) || image.width * scaleX > 8096 || image.height * scaleY > 8096;
|
|
10336
10375
|
}
|
|
10337
10376
|
}
|
|
10338
10377
|
if (drawImage) {
|
|
@@ -10391,7 +10430,7 @@ function recycleImage(attrName, data) {
|
|
|
10391
10430
|
if (url) {
|
|
10392
10431
|
if (!recycleMap) recycleMap = {};
|
|
10393
10432
|
recycleMap[url] = true;
|
|
10394
|
-
ImageManager.
|
|
10433
|
+
ImageManager.recyclePaint(paint);
|
|
10395
10434
|
if (image.loading) {
|
|
10396
10435
|
if (!input) {
|
|
10397
10436
|
input = data.__input && data.__input[attrName] || [];
|
|
@@ -11301,4 +11340,4 @@ Object.assign(Effect, EffectModule);
|
|
|
11301
11340
|
|
|
11302
11341
|
useCanvas();
|
|
11303
11342
|
|
|
11304
|
-
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$1 as 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 };
|
|
11343
|
+
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$1 as 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 };
|