@leafer-draw/worker 1.9.3 → 1.9.5
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 +22 -14
- package/dist/worker.esm.js +22 -14
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +110 -146
- 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 +112 -149
- 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.js
CHANGED
|
@@ -49,7 +49,7 @@ var LeaferUI = function(exports) {
|
|
|
49
49
|
return value === undefined;
|
|
50
50
|
}
|
|
51
51
|
function isNull(value) {
|
|
52
|
-
return value
|
|
52
|
+
return value == null;
|
|
53
53
|
}
|
|
54
54
|
function isString(value) {
|
|
55
55
|
return typeof value === "string";
|
|
@@ -119,6 +119,9 @@ var LeaferUI = function(exports) {
|
|
|
119
119
|
const {path: path} = this;
|
|
120
120
|
return path && path.length === 6 && path[0] === 1;
|
|
121
121
|
}
|
|
122
|
+
get __usePathBox() {
|
|
123
|
+
return this.__pathInputed;
|
|
124
|
+
}
|
|
122
125
|
get __blendMode() {
|
|
123
126
|
if (this.eraser && this.eraser !== "path") return "destination-out";
|
|
124
127
|
const {blendMode: blendMode} = this;
|
|
@@ -285,6 +288,9 @@ var LeaferUI = function(exports) {
|
|
|
285
288
|
num = round$3(num * a) / a;
|
|
286
289
|
return num === -0 ? 0 : num;
|
|
287
290
|
},
|
|
291
|
+
sign(num) {
|
|
292
|
+
return num < 0 ? -1 : 1;
|
|
293
|
+
},
|
|
288
294
|
getScaleData(scale, size, originSize, scaleData) {
|
|
289
295
|
if (!scaleData) scaleData = {};
|
|
290
296
|
if (size) {
|
|
@@ -1077,10 +1083,10 @@ var LeaferUI = function(exports) {
|
|
|
1077
1083
|
toPoint$5(align, box, to, onlyBoxSize, content, onlyContentSize);
|
|
1078
1084
|
}
|
|
1079
1085
|
};
|
|
1080
|
-
const {tempPointBounds: tempPointBounds$1, setPoint: setPoint$2, addPoint: addPoint$2, toBounds: toBounds$
|
|
1086
|
+
const {tempPointBounds: tempPointBounds$1, setPoint: setPoint$2, addPoint: addPoint$2, toBounds: toBounds$2} = TwoPointBoundsHelper;
|
|
1081
1087
|
const {toOuterPoint: toOuterPoint$2} = MatrixHelper;
|
|
1082
1088
|
const {float: float, fourNumber: fourNumber} = MathHelper;
|
|
1083
|
-
const {floor: floor$2, ceil: ceil$
|
|
1089
|
+
const {floor: floor$2, ceil: ceil$2} = Math;
|
|
1084
1090
|
let right$1, bottom$1, boundsRight, boundsBottom;
|
|
1085
1091
|
const point = {};
|
|
1086
1092
|
const toPoint$4 = {};
|
|
@@ -1204,7 +1210,7 @@ var LeaferUI = function(exports) {
|
|
|
1204
1210
|
point.x = t.x;
|
|
1205
1211
|
toOuterPoint$2(matrix, point, toPoint$4);
|
|
1206
1212
|
addPoint$2(tempPointBounds$1, toPoint$4.x, toPoint$4.y);
|
|
1207
|
-
toBounds$
|
|
1213
|
+
toBounds$2(tempPointBounds$1, to);
|
|
1208
1214
|
}
|
|
1209
1215
|
},
|
|
1210
1216
|
toInnerOf(t, matrix, to) {
|
|
@@ -1242,8 +1248,8 @@ var LeaferUI = function(exports) {
|
|
|
1242
1248
|
const {x: x, y: y} = t;
|
|
1243
1249
|
t.x = floor$2(t.x);
|
|
1244
1250
|
t.y = floor$2(t.y);
|
|
1245
|
-
t.width = x > t.x ? ceil$
|
|
1246
|
-
t.height = y > t.y ? ceil$
|
|
1251
|
+
t.width = x > t.x ? ceil$2(t.width + x - t.x) : ceil$2(t.width);
|
|
1252
|
+
t.height = y > t.y ? ceil$2(t.height + y - t.y) : ceil$2(t.height);
|
|
1247
1253
|
},
|
|
1248
1254
|
unsign(t) {
|
|
1249
1255
|
if (t.width < 0) {
|
|
@@ -1303,7 +1309,7 @@ var LeaferUI = function(exports) {
|
|
|
1303
1309
|
},
|
|
1304
1310
|
setPoints(t, points) {
|
|
1305
1311
|
points.forEach((point, index) => index === 0 ? setPoint$2(tempPointBounds$1, point.x, point.y) : addPoint$2(tempPointBounds$1, point.x, point.y));
|
|
1306
|
-
toBounds$
|
|
1312
|
+
toBounds$2(tempPointBounds$1, t);
|
|
1307
1313
|
},
|
|
1308
1314
|
setPoint(t, point) {
|
|
1309
1315
|
B.set(t, point.x, point.y);
|
|
@@ -2060,15 +2066,15 @@ var LeaferUI = function(exports) {
|
|
|
2060
2066
|
DataHelper.copyAttrs(s, size, canvasSizeAttrs);
|
|
2061
2067
|
canvasSizeAttrs.forEach(key => s[key] || (s[key] = 1));
|
|
2062
2068
|
this.bounds = new Bounds(0, 0, this.width, this.height);
|
|
2063
|
-
|
|
2064
|
-
this.updateViewSize();
|
|
2065
|
-
this.smooth = this.config.smooth;
|
|
2066
|
-
}
|
|
2069
|
+
this.updateViewSize();
|
|
2067
2070
|
this.updateClientBounds();
|
|
2068
|
-
if (this.context
|
|
2069
|
-
this.
|
|
2070
|
-
this.
|
|
2071
|
-
|
|
2071
|
+
if (this.context) {
|
|
2072
|
+
this.smooth = this.config.smooth;
|
|
2073
|
+
if (!this.unreal && takeCanvas) {
|
|
2074
|
+
this.clearWorld(takeCanvas.bounds);
|
|
2075
|
+
this.copyWorld(takeCanvas);
|
|
2076
|
+
takeCanvas.recycle();
|
|
2077
|
+
}
|
|
2072
2078
|
}
|
|
2073
2079
|
}
|
|
2074
2080
|
updateViewSize() {}
|
|
@@ -2369,7 +2375,7 @@ var LeaferUI = function(exports) {
|
|
|
2369
2375
|
data[0] ? drawer.arcTo(x, y, right, y, data[0]) : drawer.lineTo(x, y);
|
|
2370
2376
|
}
|
|
2371
2377
|
};
|
|
2372
|
-
const {sin: sin$3, cos: cos$3, atan2: atan2$1, ceil: ceil, abs: abs$2, PI: PI$2, sqrt: sqrt$1, pow: pow} = Math;
|
|
2378
|
+
const {sin: sin$3, cos: cos$3, hypot: hypot, atan2: atan2$1, ceil: ceil$1, abs: abs$2, PI: PI$2, sqrt: sqrt$1, pow: pow} = Math;
|
|
2373
2379
|
const {setPoint: setPoint$1, addPoint: addPoint$1} = TwoPointBoundsHelper;
|
|
2374
2380
|
const {set: set, toNumberPoints: toNumberPoints} = PointHelper;
|
|
2375
2381
|
const {M: M$5, L: L$6, C: C$4, Q: Q$4, Z: Z$5} = PathCommandMap;
|
|
@@ -2435,9 +2441,11 @@ var LeaferUI = function(exports) {
|
|
|
2435
2441
|
const CBy = toY - y1;
|
|
2436
2442
|
let startRadian = atan2$1(BAy, BAx);
|
|
2437
2443
|
let endRadian = atan2$1(CBy, CBx);
|
|
2444
|
+
const lenBA = hypot(BAx, BAy);
|
|
2445
|
+
const lenCB = hypot(CBx, CBy);
|
|
2438
2446
|
let totalRadian = endRadian - startRadian;
|
|
2439
2447
|
if (totalRadian < 0) totalRadian += PI2;
|
|
2440
|
-
if (
|
|
2448
|
+
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$2(totalRadian - PI$2) < 1e-12) {
|
|
2441
2449
|
if (data) data.push(L$6, x1, y1);
|
|
2442
2450
|
if (setPointBounds) {
|
|
2443
2451
|
setPoint$1(setPointBounds, fromX, fromY);
|
|
@@ -2470,7 +2478,7 @@ var LeaferUI = function(exports) {
|
|
|
2470
2478
|
let totalRadian = endRadian - startRadian;
|
|
2471
2479
|
if (totalRadian < 0) totalRadian += PI2; else if (totalRadian > PI2) totalRadian -= PI2;
|
|
2472
2480
|
if (anticlockwise) totalRadian -= PI2;
|
|
2473
|
-
const parts = ceil(abs$2(totalRadian / PI_2));
|
|
2481
|
+
const parts = ceil$1(abs$2(totalRadian / PI_2));
|
|
2474
2482
|
const partRadian = totalRadian / parts;
|
|
2475
2483
|
const partRadian4Sin = sin$3(partRadian / 4);
|
|
2476
2484
|
const control = 8 / 3 * partRadian4Sin * partRadian4Sin / sin$3(partRadian / 2);
|
|
@@ -3010,11 +3018,7 @@ var LeaferUI = function(exports) {
|
|
|
3010
3018
|
this.set(path);
|
|
3011
3019
|
}
|
|
3012
3020
|
set(path) {
|
|
3013
|
-
|
|
3014
|
-
this.__path = isString(path) ? PathHelper.parse(path) : path;
|
|
3015
|
-
} else {
|
|
3016
|
-
this.__path = [];
|
|
3017
|
-
}
|
|
3021
|
+
this.__path = path ? isString(path) ? PathHelper.parse(path) : path : [];
|
|
3018
3022
|
return this;
|
|
3019
3023
|
}
|
|
3020
3024
|
beginPath() {
|
|
@@ -3176,7 +3180,7 @@ var LeaferUI = function(exports) {
|
|
|
3176
3180
|
};
|
|
3177
3181
|
const {M: M$1, L: L$2, C: C, Q: Q, Z: Z$1, N: N, D: D$1, X: X, G: G, F: F$1, O: O, P: P, U: U} = PathCommandMap;
|
|
3178
3182
|
const {toTwoPointBounds: toTwoPointBounds, toTwoPointBoundsByQuadraticCurve: toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc: arc, ellipse: ellipse$1} = BezierHelper;
|
|
3179
|
-
const {addPointBounds: addPointBounds, copy: copy$6, addPoint: addPoint, setPoint: setPoint, addBounds: addBounds, toBounds: toBounds$
|
|
3183
|
+
const {addPointBounds: addPointBounds, copy: copy$6, addPoint: addPoint, setPoint: setPoint, addBounds: addBounds, toBounds: toBounds$1} = TwoPointBoundsHelper;
|
|
3180
3184
|
const debug$9 = Debug.get("PathBounds");
|
|
3181
3185
|
let radius, radiusX, radiusY;
|
|
3182
3186
|
const tempPointBounds = {};
|
|
@@ -3185,7 +3189,7 @@ var LeaferUI = function(exports) {
|
|
|
3185
3189
|
const PathBounds = {
|
|
3186
3190
|
toBounds(data, setBounds) {
|
|
3187
3191
|
PathBounds.toTwoPointBounds(data, setPointBounds);
|
|
3188
|
-
toBounds$
|
|
3192
|
+
toBounds$1(setPointBounds, setBounds);
|
|
3189
3193
|
},
|
|
3190
3194
|
toTwoPointBounds(data, setPointBounds) {
|
|
3191
3195
|
if (!data || !data.length) return setPoint(setPointBounds, 0, 0);
|
|
@@ -3367,10 +3371,13 @@ var LeaferUI = function(exports) {
|
|
|
3367
3371
|
return smooth;
|
|
3368
3372
|
}
|
|
3369
3373
|
};
|
|
3370
|
-
|
|
3374
|
+
function path(path) {
|
|
3375
|
+
return new PathCreator(path);
|
|
3376
|
+
}
|
|
3377
|
+
const pen = path();
|
|
3378
|
+
PathHelper.creator = path();
|
|
3371
3379
|
PathHelper.parse = PathConvert.parse;
|
|
3372
3380
|
PathHelper.convertToCanvasData = PathConvert.toCanvasData;
|
|
3373
|
-
const pen = new PathCreator;
|
|
3374
3381
|
const {drawRoundRect: drawRoundRect} = RectHelper;
|
|
3375
3382
|
function roundRect(drawer) {
|
|
3376
3383
|
if (drawer && !drawer.roundRect) {
|
|
@@ -3723,7 +3730,7 @@ var LeaferUI = function(exports) {
|
|
|
3723
3730
|
return FileHelper.alphaPixelTypes.some(item => I.isFormat(item, config));
|
|
3724
3731
|
},
|
|
3725
3732
|
isFormat(format, config) {
|
|
3726
|
-
if (config.format
|
|
3733
|
+
if (config.format) return config.format === format;
|
|
3727
3734
|
const {url: url} = config;
|
|
3728
3735
|
if (url.startsWith("data:")) {
|
|
3729
3736
|
if (url.startsWith("data:" + FileHelper.mineType(format))) return true;
|
|
@@ -3813,7 +3820,7 @@ var LeaferUI = function(exports) {
|
|
|
3813
3820
|
getFull(_filters) {
|
|
3814
3821
|
return this.view;
|
|
3815
3822
|
}
|
|
3816
|
-
getCanvas(width, height, opacity, _filters, xGap, yGap) {
|
|
3823
|
+
getCanvas(width, height, opacity, _filters, xGap, yGap, smooth) {
|
|
3817
3824
|
width || (width = this.width);
|
|
3818
3825
|
height || (height = this.height);
|
|
3819
3826
|
if (this.cache) {
|
|
@@ -3829,6 +3836,7 @@ var LeaferUI = function(exports) {
|
|
|
3829
3836
|
const canvas = Platform.origin.createCanvas(max$1(floor$1(width + (xGap || 0)), 1), max$1(floor$1(height + (yGap || 0)), 1));
|
|
3830
3837
|
const ctx = canvas.getContext("2d");
|
|
3831
3838
|
if (opacity) ctx.globalAlpha = opacity;
|
|
3839
|
+
ctx.imageSmoothingEnabled = smooth === false ? false : true;
|
|
3832
3840
|
ctx.drawImage(this.view, 0, 0, width, height);
|
|
3833
3841
|
this.cache = this.use > 1 ? {
|
|
3834
3842
|
data: canvas,
|
|
@@ -3867,7 +3875,7 @@ var LeaferUI = function(exports) {
|
|
|
3867
3875
|
return {
|
|
3868
3876
|
get() {
|
|
3869
3877
|
const v = this[privateKey];
|
|
3870
|
-
return
|
|
3878
|
+
return v == null ? defaultValue : v;
|
|
3871
3879
|
},
|
|
3872
3880
|
set(value) {
|
|
3873
3881
|
this[privateKey] = value;
|
|
@@ -4120,21 +4128,21 @@ var LeaferUI = function(exports) {
|
|
|
4120
4128
|
};
|
|
4121
4129
|
} else if (typeof defaultValue === "function") {
|
|
4122
4130
|
property.get = function() {
|
|
4123
|
-
|
|
4124
|
-
return v
|
|
4131
|
+
const v = this[computedKey];
|
|
4132
|
+
return v == null ? defaultValue(this.__leaf) : v;
|
|
4125
4133
|
};
|
|
4126
4134
|
} else if (isObject(defaultValue)) {
|
|
4127
4135
|
const isEmpty = isEmptyData(defaultValue);
|
|
4128
4136
|
property.get = function() {
|
|
4129
|
-
|
|
4130
|
-
return v
|
|
4137
|
+
const v = this[computedKey];
|
|
4138
|
+
return v == null ? this[computedKey] = isEmpty ? {} : DataHelper.clone(defaultValue) : v;
|
|
4131
4139
|
};
|
|
4132
4140
|
}
|
|
4133
4141
|
const isBox = target.isBranchLeaf;
|
|
4134
4142
|
if (key === "width") {
|
|
4135
4143
|
property.get = function() {
|
|
4136
4144
|
const v = this[computedKey];
|
|
4137
|
-
if (v
|
|
4145
|
+
if (v == null) {
|
|
4138
4146
|
const t = this, naturalWidth = t.__naturalWidth, leaf = t.__leaf;
|
|
4139
4147
|
if (!defaultValue || leaf.pathInputed) return leaf.boxBounds.width;
|
|
4140
4148
|
if (naturalWidth) return t._height && t.__useNaturalRatio ? t._height * naturalWidth / t.__naturalHeight : naturalWidth;
|
|
@@ -4144,7 +4152,7 @@ var LeaferUI = function(exports) {
|
|
|
4144
4152
|
} else if (key === "height") {
|
|
4145
4153
|
property.get = function() {
|
|
4146
4154
|
const v = this[computedKey];
|
|
4147
|
-
if (v
|
|
4155
|
+
if (v == null) {
|
|
4148
4156
|
const t = this, naturalHeight = t.__naturalHeight, leaf = t.__leaf;
|
|
4149
4157
|
if (!defaultValue || leaf.pathInputed) return leaf.boxBounds.height;
|
|
4150
4158
|
if (naturalHeight) return t._width && t.__useNaturalRatio ? t._width * naturalHeight / t.__naturalWidth : naturalHeight;
|
|
@@ -4428,8 +4436,9 @@ var LeaferUI = function(exports) {
|
|
|
4428
4436
|
};
|
|
4429
4437
|
const L = LeafHelper;
|
|
4430
4438
|
const {updateAllMatrix: updateAllMatrix$3, updateMatrix: updateMatrix$2, updateAllWorldOpacity: updateAllWorldOpacity, updateAllChange: updateAllChange$1, updateChange: updateChange$1} = L;
|
|
4431
|
-
function getTempLocal(t,
|
|
4432
|
-
|
|
4439
|
+
function getTempLocal(t, worldPoint) {
|
|
4440
|
+
t.updateLayout();
|
|
4441
|
+
return t.parent ? PointHelper.tempToInnerOf(worldPoint, t.parent.scrollWorldTransform) : worldPoint;
|
|
4433
4442
|
}
|
|
4434
4443
|
const LeafBoundsHelper = {
|
|
4435
4444
|
worldBounds(target) {
|
|
@@ -4876,7 +4885,7 @@ var LeaferUI = function(exports) {
|
|
|
4876
4885
|
}
|
|
4877
4886
|
boxChange() {
|
|
4878
4887
|
this.boxChanged = true;
|
|
4879
|
-
this.localBoxChanged || this.localBoxChange();
|
|
4888
|
+
this.localBoxChanged ? this.boundsChanged || (this.boundsChanged = true) : this.localBoxChange();
|
|
4880
4889
|
this.hitCanvasChanged = true;
|
|
4881
4890
|
}
|
|
4882
4891
|
localBoxChange() {
|
|
@@ -4910,7 +4919,7 @@ var LeaferUI = function(exports) {
|
|
|
4910
4919
|
}
|
|
4911
4920
|
matrixChange() {
|
|
4912
4921
|
this.matrixChanged = true;
|
|
4913
|
-
this.localBoxChanged || this.localBoxChange();
|
|
4922
|
+
this.localBoxChanged ? this.boundsChanged || (this.boundsChanged = true) : this.localBoxChange();
|
|
4914
4923
|
}
|
|
4915
4924
|
surfaceChange() {
|
|
4916
4925
|
this.surfaceChanged = true;
|
|
@@ -5354,7 +5363,7 @@ var LeaferUI = function(exports) {
|
|
|
5354
5363
|
const {updateMatrix: updateMatrix$1, updateAllMatrix: updateAllMatrix$2} = LeafHelper;
|
|
5355
5364
|
const {updateBounds: updateBounds$1} = BranchHelper;
|
|
5356
5365
|
const {toOuterOf: toOuterOf$1, copyAndSpread: copyAndSpread$1, copy: copy$3} = BoundsHelper;
|
|
5357
|
-
const {toBounds: toBounds
|
|
5366
|
+
const {toBounds: toBounds} = PathBounds;
|
|
5358
5367
|
const LeafBounds = {
|
|
5359
5368
|
__updateWorldBounds() {
|
|
5360
5369
|
const layout = this.__layout;
|
|
@@ -5425,8 +5434,8 @@ var LeaferUI = function(exports) {
|
|
|
5425
5434
|
__updateBoxBounds(_secondLayout, _bounds) {
|
|
5426
5435
|
const b = this.__layout.boxBounds;
|
|
5427
5436
|
const data = this.__;
|
|
5428
|
-
if (data.
|
|
5429
|
-
toBounds
|
|
5437
|
+
if (data.__usePathBox) {
|
|
5438
|
+
toBounds(data.path, b);
|
|
5430
5439
|
} else {
|
|
5431
5440
|
b.x = 0;
|
|
5432
5441
|
b.y = 0;
|
|
@@ -5884,10 +5893,10 @@ var LeaferUI = function(exports) {
|
|
|
5884
5893
|
relative.innerToWorld(world, to, distance);
|
|
5885
5894
|
world = to ? to : world;
|
|
5886
5895
|
}
|
|
5887
|
-
toInnerPoint(this.
|
|
5896
|
+
toInnerPoint(this.scrollWorldTransform, world, to, distance);
|
|
5888
5897
|
}
|
|
5889
5898
|
innerToWorld(inner, to, distance, relative) {
|
|
5890
|
-
toOuterPoint(this.
|
|
5899
|
+
toOuterPoint(this.scrollWorldTransform, inner, to, distance);
|
|
5891
5900
|
if (relative) relative.worldToInner(to ? to : inner, null, distance);
|
|
5892
5901
|
}
|
|
5893
5902
|
getBoxPoint(world, relative, distance, change) {
|
|
@@ -6341,7 +6350,7 @@ var LeaferUI = function(exports) {
|
|
|
6341
6350
|
this.levelMap = null;
|
|
6342
6351
|
}
|
|
6343
6352
|
}
|
|
6344
|
-
const version = "1.9.
|
|
6353
|
+
const version = "1.9.5";
|
|
6345
6354
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6346
6355
|
get allowBackgroundColor() {
|
|
6347
6356
|
return true;
|
|
@@ -6737,7 +6746,7 @@ var LeaferUI = function(exports) {
|
|
|
6737
6746
|
this.times = 0;
|
|
6738
6747
|
this.config = {
|
|
6739
6748
|
usePartRender: true,
|
|
6740
|
-
maxFPS:
|
|
6749
|
+
maxFPS: 120
|
|
6741
6750
|
};
|
|
6742
6751
|
this.target = target;
|
|
6743
6752
|
this.canvas = canvas;
|
|
@@ -6892,11 +6901,15 @@ var LeaferUI = function(exports) {
|
|
|
6892
6901
|
if (this.requestTime || !target) return;
|
|
6893
6902
|
if (target.parentApp) return target.parentApp.requestRender(false);
|
|
6894
6903
|
const requestTime = this.requestTime = Date.now();
|
|
6895
|
-
|
|
6896
|
-
|
|
6904
|
+
const render = () => {
|
|
6905
|
+
const nowFPS = 1e3 / (Date.now() - requestTime);
|
|
6906
|
+
const {maxFPS: maxFPS} = this.config;
|
|
6907
|
+
if (maxFPS && nowFPS > maxFPS - .5) return Platform.requestRender(render);
|
|
6908
|
+
this.FPS = Math.min(120, Math.ceil(nowFPS));
|
|
6897
6909
|
this.requestTime = 0;
|
|
6898
6910
|
this.checkRender();
|
|
6899
|
-
}
|
|
6911
|
+
};
|
|
6912
|
+
Platform.requestRender(render);
|
|
6900
6913
|
}
|
|
6901
6914
|
__onResize(e) {
|
|
6902
6915
|
if (this.canvas.unreal) return;
|
|
@@ -6939,7 +6952,8 @@ var LeaferUI = function(exports) {
|
|
|
6939
6952
|
if (this.target) {
|
|
6940
6953
|
this.stop();
|
|
6941
6954
|
this.__removeListenEvents();
|
|
6942
|
-
this.
|
|
6955
|
+
this.config = {};
|
|
6956
|
+
this.target = this.canvas = null;
|
|
6943
6957
|
}
|
|
6944
6958
|
}
|
|
6945
6959
|
}
|
|
@@ -7216,7 +7230,11 @@ var LeaferUI = function(exports) {
|
|
|
7216
7230
|
}
|
|
7217
7231
|
}
|
|
7218
7232
|
class FrameData extends BoxData {}
|
|
7219
|
-
class LineData extends UIData {
|
|
7233
|
+
class LineData extends UIData {
|
|
7234
|
+
get __usePathBox() {
|
|
7235
|
+
return this.points || this.__pathInputed;
|
|
7236
|
+
}
|
|
7237
|
+
}
|
|
7220
7238
|
class RectData extends UIData {
|
|
7221
7239
|
get __boxStroke() {
|
|
7222
7240
|
return !this.__pathInputed;
|
|
@@ -7227,7 +7245,7 @@ var LeaferUI = function(exports) {
|
|
|
7227
7245
|
return !this.__pathInputed;
|
|
7228
7246
|
}
|
|
7229
7247
|
}
|
|
7230
|
-
class PolygonData extends
|
|
7248
|
+
class PolygonData extends LineData {}
|
|
7231
7249
|
class StarData extends UIData {}
|
|
7232
7250
|
class PathData extends UIData {
|
|
7233
7251
|
get __pathInputed() {
|
|
@@ -7521,20 +7539,9 @@ var LeaferUI = function(exports) {
|
|
|
7521
7539
|
if (!path) this.__drawPathByBox(pen);
|
|
7522
7540
|
return pen;
|
|
7523
7541
|
}
|
|
7524
|
-
constructor(data) {
|
|
7525
|
-
super(data);
|
|
7526
|
-
}
|
|
7527
7542
|
reset(_data) {}
|
|
7528
|
-
set(data,
|
|
7529
|
-
if (data)
|
|
7530
|
-
if (transition) {
|
|
7531
|
-
if (transition === "temp") {
|
|
7532
|
-
this.lockNormalStyle = true;
|
|
7533
|
-
Object.assign(this, data);
|
|
7534
|
-
this.lockNormalStyle = false;
|
|
7535
|
-
} else this.animate(data, transition);
|
|
7536
|
-
} else Object.assign(this, data);
|
|
7537
|
-
}
|
|
7543
|
+
set(data, _transition) {
|
|
7544
|
+
if (data) Object.assign(this, data);
|
|
7538
7545
|
}
|
|
7539
7546
|
get(name) {
|
|
7540
7547
|
return isString(name) ? this.__.__getInput(name) : this.__.__getInputData(name);
|
|
@@ -7580,7 +7587,7 @@ var LeaferUI = function(exports) {
|
|
|
7580
7587
|
const data = this.__;
|
|
7581
7588
|
if (data.path) {
|
|
7582
7589
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
7583
|
-
if (data.__useArrow) PathArrow.addArrows(this
|
|
7590
|
+
if (data.__useArrow) PathArrow.addArrows(this);
|
|
7584
7591
|
} else data.__pathForRender && (data.__pathForRender = undefined);
|
|
7585
7592
|
}
|
|
7586
7593
|
__drawRenderPath(canvas) {
|
|
@@ -7604,7 +7611,8 @@ var LeaferUI = function(exports) {
|
|
|
7604
7611
|
drawImagePlaceholder(canvas, _image) {
|
|
7605
7612
|
Paint.fill(this.__.placeholderColor, this, canvas);
|
|
7606
7613
|
}
|
|
7607
|
-
animate(
|
|
7614
|
+
animate(keyframe, _options, _type, _isTemp) {
|
|
7615
|
+
this.set(keyframe);
|
|
7608
7616
|
return Plugin.need("animate");
|
|
7609
7617
|
}
|
|
7610
7618
|
killAnimate(_type, _nextStyle) {}
|
|
@@ -7718,9 +7726,6 @@ var LeaferUI = function(exports) {
|
|
|
7718
7726
|
get isBranch() {
|
|
7719
7727
|
return true;
|
|
7720
7728
|
}
|
|
7721
|
-
constructor(data) {
|
|
7722
|
-
super(data);
|
|
7723
|
-
}
|
|
7724
7729
|
reset(data) {
|
|
7725
7730
|
this.__setBranch();
|
|
7726
7731
|
super.reset(data);
|
|
@@ -7838,7 +7843,7 @@ var LeaferUI = function(exports) {
|
|
|
7838
7843
|
const canvas = this.canvas = Creator.canvas(config);
|
|
7839
7844
|
this.__controllers.push(this.renderer = Creator.renderer(this, canvas, config), this.watcher = Creator.watcher(this, config), this.layouter = Creator.layouter(this, config));
|
|
7840
7845
|
if (this.isApp) this.__setApp();
|
|
7841
|
-
this.__checkAutoLayout(
|
|
7846
|
+
this.__checkAutoLayout();
|
|
7842
7847
|
this.view = canvas.view;
|
|
7843
7848
|
if (!parentApp) {
|
|
7844
7849
|
this.selector = Creator.selector(this);
|
|
@@ -7937,7 +7942,8 @@ var LeaferUI = function(exports) {
|
|
|
7937
7942
|
this.leafer = leafer;
|
|
7938
7943
|
this.__level = 1;
|
|
7939
7944
|
}
|
|
7940
|
-
__checkAutoLayout(
|
|
7945
|
+
__checkAutoLayout() {
|
|
7946
|
+
const {config: config, parentApp: parentApp} = this;
|
|
7941
7947
|
if (!parentApp) {
|
|
7942
7948
|
if (!config.width || !config.height) this.autoLayout = new AutoBounds(config);
|
|
7943
7949
|
this.canvas.startAutoLayout(this.autoLayout, this.__onResize.bind(this));
|
|
@@ -7963,9 +7969,10 @@ var LeaferUI = function(exports) {
|
|
|
7963
7969
|
return super.__getAttr(attrName);
|
|
7964
7970
|
}
|
|
7965
7971
|
__changeCanvasSize(attrName, newValue) {
|
|
7966
|
-
const
|
|
7967
|
-
data
|
|
7968
|
-
|
|
7972
|
+
const {config: config, canvas: canvas} = this;
|
|
7973
|
+
const data = DataHelper.copyAttrs({}, canvas, canvasSizeAttrs);
|
|
7974
|
+
data[attrName] = config[attrName] = newValue;
|
|
7975
|
+
config.width && config.height ? canvas.stopAutoLayout() : this.__checkAutoLayout();
|
|
7969
7976
|
this.__doResize(data);
|
|
7970
7977
|
}
|
|
7971
7978
|
__changeFill(newValue) {
|
|
@@ -8112,9 +8119,9 @@ var LeaferUI = function(exports) {
|
|
|
8112
8119
|
if (!this.parent) {
|
|
8113
8120
|
if (this.selector) this.selector.destroy();
|
|
8114
8121
|
if (this.hitCanvasManager) this.hitCanvasManager.destroy();
|
|
8115
|
-
this.canvasManager.destroy();
|
|
8122
|
+
if (this.canvasManager) this.canvasManager.destroy();
|
|
8116
8123
|
}
|
|
8117
|
-
this.canvas.destroy();
|
|
8124
|
+
if (this.canvas) this.canvas.destroy();
|
|
8118
8125
|
this.config.view = this.view = this.parentApp = null;
|
|
8119
8126
|
if (this.userConfig) this.userConfig.view = null;
|
|
8120
8127
|
super.destroy();
|
|
@@ -8137,9 +8144,6 @@ var LeaferUI = function(exports) {
|
|
|
8137
8144
|
get __tag() {
|
|
8138
8145
|
return "Rect";
|
|
8139
8146
|
}
|
|
8140
|
-
constructor(data) {
|
|
8141
|
-
super(data);
|
|
8142
|
-
}
|
|
8143
8147
|
};
|
|
8144
8148
|
__decorate([ dataProcessor(RectData) ], exports.Rect.prototype, "__", void 0);
|
|
8145
8149
|
exports.Rect = __decorate([ useModule(RectRender), rewriteAble(), registerUI() ], exports.Rect);
|
|
@@ -8188,29 +8192,24 @@ var LeaferUI = function(exports) {
|
|
|
8188
8192
|
}
|
|
8189
8193
|
__updateStrokeBounds() {}
|
|
8190
8194
|
__updateRenderBounds() {
|
|
8191
|
-
let isOverflow;
|
|
8195
|
+
let isOverflow, isScrollMode;
|
|
8192
8196
|
if (this.children.length) {
|
|
8193
|
-
const data = this.__, layout = this.__layout, {renderBounds: renderBounds, boxBounds: boxBounds} = layout;
|
|
8197
|
+
const data = this.__, layout = this.__layout, {renderBounds: renderBounds, boxBounds: boxBounds} = layout, {overflow: overflow} = data;
|
|
8194
8198
|
const childrenRenderBounds = layout.childrenRenderBounds || (layout.childrenRenderBounds = getBoundsData());
|
|
8195
8199
|
super.__updateRenderBounds(childrenRenderBounds);
|
|
8196
|
-
if (
|
|
8200
|
+
if (isScrollMode = overflow.includes("scroll")) {
|
|
8197
8201
|
add(childrenRenderBounds, boxBounds);
|
|
8198
8202
|
scroll(childrenRenderBounds, data);
|
|
8199
8203
|
}
|
|
8200
8204
|
this.__updateRectRenderBounds();
|
|
8201
8205
|
isOverflow = !includes$1(boxBounds, childrenRenderBounds);
|
|
8202
|
-
if (isOverflow &&
|
|
8206
|
+
if (isOverflow && overflow === "show") add(renderBounds, childrenRenderBounds);
|
|
8203
8207
|
} else this.__updateRectRenderBounds();
|
|
8204
8208
|
DataHelper.stintSet(this, "isOverflow", isOverflow);
|
|
8205
|
-
this.__checkScroll();
|
|
8209
|
+
this.__checkScroll(isScrollMode);
|
|
8206
8210
|
}
|
|
8207
8211
|
__updateRectRenderBounds() {}
|
|
8208
|
-
|
|
8209
|
-
if (this.hasScroller) this.__updateScroll();
|
|
8210
|
-
super.__updateWorldBounds();
|
|
8211
|
-
}
|
|
8212
|
-
__checkScroll() {}
|
|
8213
|
-
__updateScroll() {}
|
|
8212
|
+
__checkScroll(_isScrollMode) {}
|
|
8214
8213
|
__updateRectChange() {}
|
|
8215
8214
|
__updateChange() {
|
|
8216
8215
|
super.__updateChange();
|
|
@@ -8256,9 +8255,6 @@ var LeaferUI = function(exports) {
|
|
|
8256
8255
|
get isFrame() {
|
|
8257
8256
|
return true;
|
|
8258
8257
|
}
|
|
8259
|
-
constructor(data) {
|
|
8260
|
-
super(data);
|
|
8261
|
-
}
|
|
8262
8258
|
};
|
|
8263
8259
|
__decorate([ dataProcessor(FrameData) ], exports.Frame.prototype, "__", void 0);
|
|
8264
8260
|
__decorate([ surfaceType("#FFFFFF") ], exports.Frame.prototype, "fill", void 0);
|
|
@@ -8269,9 +8265,6 @@ var LeaferUI = function(exports) {
|
|
|
8269
8265
|
get __tag() {
|
|
8270
8266
|
return "Ellipse";
|
|
8271
8267
|
}
|
|
8272
|
-
constructor(data) {
|
|
8273
|
-
super(data);
|
|
8274
|
-
}
|
|
8275
8268
|
__updatePath() {
|
|
8276
8269
|
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = this.__;
|
|
8277
8270
|
const rx = width / 2, ry = height / 2;
|
|
@@ -8307,7 +8300,6 @@ var LeaferUI = function(exports) {
|
|
|
8307
8300
|
exports.Ellipse = __decorate([ registerUI() ], exports.Ellipse);
|
|
8308
8301
|
const {moveTo: moveTo$2, lineTo: lineTo$2, drawPoints: drawPoints$1} = PathCommandDataHelper;
|
|
8309
8302
|
const {rotate: rotate$1, getAngle: getAngle$1, getDistance: getDistance$2, defaultPoint: defaultPoint} = PointHelper;
|
|
8310
|
-
const {toBounds: toBounds} = PathBounds;
|
|
8311
8303
|
exports.Line = class Line extends exports.UI {
|
|
8312
8304
|
get __tag() {
|
|
8313
8305
|
return "Line";
|
|
@@ -8324,31 +8316,16 @@ var LeaferUI = function(exports) {
|
|
|
8324
8316
|
this.rotation = getAngle$1(defaultPoint, value);
|
|
8325
8317
|
if (this.height) this.height = 0;
|
|
8326
8318
|
}
|
|
8327
|
-
constructor(data) {
|
|
8328
|
-
super(data);
|
|
8329
|
-
}
|
|
8330
8319
|
__updatePath() {
|
|
8331
8320
|
const data = this.__;
|
|
8332
8321
|
const path = data.path = [];
|
|
8333
8322
|
if (data.points) {
|
|
8334
|
-
drawPoints$1(path, data.points,
|
|
8323
|
+
drawPoints$1(path, data.points, data.curve, data.closed);
|
|
8335
8324
|
} else {
|
|
8336
8325
|
moveTo$2(path, 0, 0);
|
|
8337
8326
|
lineTo$2(path, this.width, 0);
|
|
8338
8327
|
}
|
|
8339
8328
|
}
|
|
8340
|
-
__updateRenderPath() {
|
|
8341
|
-
const data = this.__;
|
|
8342
|
-
if (!this.pathInputed && data.points && data.curve) {
|
|
8343
|
-
drawPoints$1(data.__pathForRender = [], data.points, data.curve, data.closed);
|
|
8344
|
-
if (data.__useArrow) PathArrow.addArrows(this, false);
|
|
8345
|
-
} else super.__updateRenderPath();
|
|
8346
|
-
}
|
|
8347
|
-
__updateBoxBounds() {
|
|
8348
|
-
if (this.points) {
|
|
8349
|
-
toBounds(this.__.__pathForRender, this.__layout.boxBounds);
|
|
8350
|
-
} else super.__updateBoxBounds();
|
|
8351
|
-
}
|
|
8352
8329
|
};
|
|
8353
8330
|
__decorate([ dataProcessor(LineData) ], exports.Line.prototype, "__", void 0);
|
|
8354
8331
|
__decorate([ affectStrokeBoundsType("center") ], exports.Line.prototype, "strokeAlign", void 0);
|
|
@@ -8364,15 +8341,13 @@ var LeaferUI = function(exports) {
|
|
|
8364
8341
|
get __tag() {
|
|
8365
8342
|
return "Polygon";
|
|
8366
8343
|
}
|
|
8367
|
-
constructor(data) {
|
|
8368
|
-
super(data);
|
|
8369
|
-
}
|
|
8370
8344
|
__updatePath() {
|
|
8371
|
-
const
|
|
8372
|
-
|
|
8373
|
-
|
|
8345
|
+
const data = this.__;
|
|
8346
|
+
const path = data.path = [];
|
|
8347
|
+
if (data.points) {
|
|
8348
|
+
drawPoints(path, data.points, data.curve, true);
|
|
8374
8349
|
} else {
|
|
8375
|
-
const {width: width, height: height, sides: sides} =
|
|
8350
|
+
const {width: width, height: height, sides: sides} = data;
|
|
8376
8351
|
const rx = width / 2, ry = height / 2;
|
|
8377
8352
|
moveTo$1(path, rx, 0);
|
|
8378
8353
|
for (let i = 1; i < sides; i++) {
|
|
@@ -8397,9 +8372,6 @@ var LeaferUI = function(exports) {
|
|
|
8397
8372
|
get __tag() {
|
|
8398
8373
|
return "Star";
|
|
8399
8374
|
}
|
|
8400
|
-
constructor(data) {
|
|
8401
|
-
super(data);
|
|
8402
|
-
}
|
|
8403
8375
|
__updatePath() {
|
|
8404
8376
|
const {width: width, height: height, corners: corners, innerRadius: innerRadius} = this.__;
|
|
8405
8377
|
const rx = width / 2, ry = height / 2;
|
|
@@ -8427,9 +8399,6 @@ var LeaferUI = function(exports) {
|
|
|
8427
8399
|
const {fill: fill} = this.__;
|
|
8428
8400
|
return isArray(fill) && fill[0].image;
|
|
8429
8401
|
}
|
|
8430
|
-
constructor(data) {
|
|
8431
|
-
super(data);
|
|
8432
|
-
}
|
|
8433
8402
|
};
|
|
8434
8403
|
__decorate([ dataProcessor(ImageData) ], exports.Image.prototype, "__", void 0);
|
|
8435
8404
|
__decorate([ boundsType("") ], exports.Image.prototype, "url", void 0);
|
|
@@ -8514,9 +8483,6 @@ var LeaferUI = function(exports) {
|
|
|
8514
8483
|
this.updateLayout();
|
|
8515
8484
|
return this.__.__textDrawData;
|
|
8516
8485
|
}
|
|
8517
|
-
constructor(data) {
|
|
8518
|
-
super(data);
|
|
8519
|
-
}
|
|
8520
8486
|
__updateTextDrawData() {
|
|
8521
8487
|
const data = this.__;
|
|
8522
8488
|
const {lineHeight: lineHeight, letterSpacing: letterSpacing, fontFamily: fontFamily, fontSize: fontSize, fontWeight: fontWeight, italic: italic, textCase: textCase, textOverflow: textOverflow, padding: padding} = data;
|
|
@@ -8620,9 +8586,6 @@ var LeaferUI = function(exports) {
|
|
|
8620
8586
|
get __tag() {
|
|
8621
8587
|
return "Path";
|
|
8622
8588
|
}
|
|
8623
|
-
constructor(data) {
|
|
8624
|
-
super(data);
|
|
8625
|
-
}
|
|
8626
8589
|
};
|
|
8627
8590
|
__decorate([ dataProcessor(PathData) ], exports.Path.prototype, "__", void 0);
|
|
8628
8591
|
__decorate([ affectStrokeBoundsType("center") ], exports.Path.prototype, "strokeAlign", void 0);
|
|
@@ -8631,9 +8594,6 @@ var LeaferUI = function(exports) {
|
|
|
8631
8594
|
get __tag() {
|
|
8632
8595
|
return "Pen";
|
|
8633
8596
|
}
|
|
8634
|
-
constructor(data) {
|
|
8635
|
-
super(data);
|
|
8636
|
-
}
|
|
8637
8597
|
setStyle(data) {
|
|
8638
8598
|
const path = this.pathElement = new exports.Path(data);
|
|
8639
8599
|
this.pathStyle = data;
|
|
@@ -9279,7 +9239,7 @@ var LeaferUI = function(exports) {
|
|
|
9279
9239
|
if (leafer && leafer.viewReady) leafer.renderer.ignore = value;
|
|
9280
9240
|
}
|
|
9281
9241
|
const {get: get$1, scale: scale, copy: copy$1} = MatrixHelper;
|
|
9282
|
-
const {floor: floor, max: max, abs: abs} = Math;
|
|
9242
|
+
const {floor: floor, ceil: ceil, max: max, abs: abs} = Math;
|
|
9283
9243
|
function createPattern(ui, paint, pixelRatio) {
|
|
9284
9244
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, paint.scaleFixed);
|
|
9285
9245
|
const id = scaleX + "-" + scaleY + "-" + pixelRatio;
|
|
@@ -9288,8 +9248,6 @@ var LeaferUI = function(exports) {
|
|
|
9288
9248
|
let imageScale, imageMatrix, {width: width, height: height, scaleX: sx, scaleY: sy, transform: transform, repeat: repeat, gap: gap} = data;
|
|
9289
9249
|
scaleX *= pixelRatio;
|
|
9290
9250
|
scaleY *= pixelRatio;
|
|
9291
|
-
const xGap = gap && gap.x * scaleX;
|
|
9292
|
-
const yGap = gap && gap.y * scaleY;
|
|
9293
9251
|
if (sx) {
|
|
9294
9252
|
sx = abs(sx);
|
|
9295
9253
|
sy = abs(sy);
|
|
@@ -9306,7 +9264,10 @@ var LeaferUI = function(exports) {
|
|
|
9306
9264
|
if (size > Platform.image.maxCacheSize) return false;
|
|
9307
9265
|
}
|
|
9308
9266
|
let maxSize = Platform.image.maxPatternSize;
|
|
9309
|
-
if (
|
|
9267
|
+
if (image.isSVG) {
|
|
9268
|
+
const ws = width / image.width;
|
|
9269
|
+
if (ws > 1) imageScale = ws / ceil(ws);
|
|
9270
|
+
} else {
|
|
9310
9271
|
const imageSize = image.width * image.height;
|
|
9311
9272
|
if (maxSize > imageSize) maxSize = imageSize;
|
|
9312
9273
|
}
|
|
@@ -9321,18 +9282,20 @@ var LeaferUI = function(exports) {
|
|
|
9321
9282
|
scaleX /= sx;
|
|
9322
9283
|
scaleY /= sy;
|
|
9323
9284
|
}
|
|
9285
|
+
const xGap = gap && gap.x * scaleX;
|
|
9286
|
+
const yGap = gap && gap.y * scaleY;
|
|
9324
9287
|
if (transform || scaleX !== 1 || scaleY !== 1) {
|
|
9288
|
+
const canvasWidth = width + (xGap || 0);
|
|
9289
|
+
const canvasHeight = height + (yGap || 0);
|
|
9290
|
+
scaleX /= canvasWidth / max(floor(canvasWidth), 1);
|
|
9291
|
+
scaleY /= canvasHeight / max(floor(canvasHeight), 1);
|
|
9325
9292
|
if (!imageMatrix) {
|
|
9326
9293
|
imageMatrix = get$1();
|
|
9327
9294
|
if (transform) copy$1(imageMatrix, transform);
|
|
9328
9295
|
}
|
|
9329
9296
|
scale(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
9330
9297
|
}
|
|
9331
|
-
|
|
9332
|
-
const canvasWidth = width + (xGap || 0), canvasHeight = height + (yGap || 0);
|
|
9333
|
-
scale(imageMatrix, canvasWidth / max(floor(canvasWidth), 1), canvasHeight / max(floor(canvasHeight), 1));
|
|
9334
|
-
}
|
|
9335
|
-
const canvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap);
|
|
9298
|
+
const canvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap, ui.leafer && ui.leafer.config.smooth);
|
|
9336
9299
|
const pattern = image.getPattern(canvas, repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
9337
9300
|
paint.style = pattern;
|
|
9338
9301
|
paint.patternId = id;
|
|
@@ -10328,6 +10291,7 @@ var LeaferUI = function(exports) {
|
|
|
10328
10291
|
exports.maskType = maskType;
|
|
10329
10292
|
exports.naturalBoundsType = naturalBoundsType;
|
|
10330
10293
|
exports.opacityType = opacityType;
|
|
10294
|
+
exports.path = path;
|
|
10331
10295
|
exports.pathInputType = pathInputType;
|
|
10332
10296
|
exports.pathType = pathType;
|
|
10333
10297
|
exports.pen = pen;
|