leafer-ui 1.9.4 → 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/web.cjs +62 -33
- package/dist/web.esm.js +63 -34
- package/dist/web.esm.min.js +1 -1
- package/dist/web.esm.min.js.map +1 -1
- package/dist/web.js +129 -142
- 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 +131 -145
- package/dist/web.module.min.js +1 -1
- package/dist/web.module.min.js.map +1 -1
- package/package.json +11 -11
package/dist/web.js
CHANGED
|
@@ -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;
|
|
@@ -1080,10 +1083,10 @@ var LeaferUI = function(exports) {
|
|
|
1080
1083
|
toPoint$5(align, box, to, onlyBoxSize, content, onlyContentSize);
|
|
1081
1084
|
}
|
|
1082
1085
|
};
|
|
1083
|
-
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;
|
|
1084
1087
|
const {toOuterPoint: toOuterPoint$2} = MatrixHelper;
|
|
1085
1088
|
const {float: float, fourNumber: fourNumber} = MathHelper;
|
|
1086
|
-
const {floor: floor$2, ceil: ceil$
|
|
1089
|
+
const {floor: floor$2, ceil: ceil$2} = Math;
|
|
1087
1090
|
let right$1, bottom$1, boundsRight, boundsBottom;
|
|
1088
1091
|
const point = {};
|
|
1089
1092
|
const toPoint$4 = {};
|
|
@@ -1207,7 +1210,7 @@ var LeaferUI = function(exports) {
|
|
|
1207
1210
|
point.x = t.x;
|
|
1208
1211
|
toOuterPoint$2(matrix, point, toPoint$4);
|
|
1209
1212
|
addPoint$2(tempPointBounds$1, toPoint$4.x, toPoint$4.y);
|
|
1210
|
-
toBounds$
|
|
1213
|
+
toBounds$2(tempPointBounds$1, to);
|
|
1211
1214
|
}
|
|
1212
1215
|
},
|
|
1213
1216
|
toInnerOf(t, matrix, to) {
|
|
@@ -1245,8 +1248,8 @@ var LeaferUI = function(exports) {
|
|
|
1245
1248
|
const {x: x, y: y} = t;
|
|
1246
1249
|
t.x = floor$2(t.x);
|
|
1247
1250
|
t.y = floor$2(t.y);
|
|
1248
|
-
t.width = x > t.x ? ceil$
|
|
1249
|
-
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);
|
|
1250
1253
|
},
|
|
1251
1254
|
unsign(t) {
|
|
1252
1255
|
if (t.width < 0) {
|
|
@@ -1306,7 +1309,7 @@ var LeaferUI = function(exports) {
|
|
|
1306
1309
|
},
|
|
1307
1310
|
setPoints(t, points) {
|
|
1308
1311
|
points.forEach((point, index) => index === 0 ? setPoint$2(tempPointBounds$1, point.x, point.y) : addPoint$2(tempPointBounds$1, point.x, point.y));
|
|
1309
|
-
toBounds$
|
|
1312
|
+
toBounds$2(tempPointBounds$1, t);
|
|
1310
1313
|
},
|
|
1311
1314
|
setPoint(t, point) {
|
|
1312
1315
|
B.set(t, point.x, point.y);
|
|
@@ -2063,15 +2066,15 @@ var LeaferUI = function(exports) {
|
|
|
2063
2066
|
DataHelper.copyAttrs(s, size, canvasSizeAttrs);
|
|
2064
2067
|
canvasSizeAttrs.forEach(key => s[key] || (s[key] = 1));
|
|
2065
2068
|
this.bounds = new Bounds(0, 0, this.width, this.height);
|
|
2066
|
-
|
|
2067
|
-
this.updateViewSize();
|
|
2068
|
-
this.smooth = this.config.smooth;
|
|
2069
|
-
}
|
|
2069
|
+
this.updateViewSize();
|
|
2070
2070
|
this.updateClientBounds();
|
|
2071
|
-
if (this.context
|
|
2072
|
-
this.
|
|
2073
|
-
this.
|
|
2074
|
-
|
|
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
|
+
}
|
|
2075
2078
|
}
|
|
2076
2079
|
}
|
|
2077
2080
|
updateViewSize() {}
|
|
@@ -2372,7 +2375,7 @@ var LeaferUI = function(exports) {
|
|
|
2372
2375
|
data[0] ? drawer.arcTo(x, y, right, y, data[0]) : drawer.lineTo(x, y);
|
|
2373
2376
|
}
|
|
2374
2377
|
};
|
|
2375
|
-
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;
|
|
2376
2379
|
const {setPoint: setPoint$1, addPoint: addPoint$1} = TwoPointBoundsHelper;
|
|
2377
2380
|
const {set: set, toNumberPoints: toNumberPoints} = PointHelper;
|
|
2378
2381
|
const {M: M$5, L: L$6, C: C$4, Q: Q$4, Z: Z$5} = PathCommandMap;
|
|
@@ -2438,9 +2441,11 @@ var LeaferUI = function(exports) {
|
|
|
2438
2441
|
const CBy = toY - y1;
|
|
2439
2442
|
let startRadian = atan2$1(BAy, BAx);
|
|
2440
2443
|
let endRadian = atan2$1(CBy, CBx);
|
|
2444
|
+
const lenBA = hypot(BAx, BAy);
|
|
2445
|
+
const lenCB = hypot(CBx, CBy);
|
|
2441
2446
|
let totalRadian = endRadian - startRadian;
|
|
2442
2447
|
if (totalRadian < 0) totalRadian += PI2;
|
|
2443
|
-
if (
|
|
2448
|
+
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$2(totalRadian - PI$2) < 1e-12) {
|
|
2444
2449
|
if (data) data.push(L$6, x1, y1);
|
|
2445
2450
|
if (setPointBounds) {
|
|
2446
2451
|
setPoint$1(setPointBounds, fromX, fromY);
|
|
@@ -2473,7 +2478,7 @@ var LeaferUI = function(exports) {
|
|
|
2473
2478
|
let totalRadian = endRadian - startRadian;
|
|
2474
2479
|
if (totalRadian < 0) totalRadian += PI2; else if (totalRadian > PI2) totalRadian -= PI2;
|
|
2475
2480
|
if (anticlockwise) totalRadian -= PI2;
|
|
2476
|
-
const parts = ceil(abs$2(totalRadian / PI_2));
|
|
2481
|
+
const parts = ceil$1(abs$2(totalRadian / PI_2));
|
|
2477
2482
|
const partRadian = totalRadian / parts;
|
|
2478
2483
|
const partRadian4Sin = sin$3(partRadian / 4);
|
|
2479
2484
|
const control = 8 / 3 * partRadian4Sin * partRadian4Sin / sin$3(partRadian / 2);
|
|
@@ -3013,11 +3018,7 @@ var LeaferUI = function(exports) {
|
|
|
3013
3018
|
this.set(path);
|
|
3014
3019
|
}
|
|
3015
3020
|
set(path) {
|
|
3016
|
-
|
|
3017
|
-
this.__path = isString(path) ? PathHelper.parse(path) : path;
|
|
3018
|
-
} else {
|
|
3019
|
-
this.__path = [];
|
|
3020
|
-
}
|
|
3021
|
+
this.__path = path ? isString(path) ? PathHelper.parse(path) : path : [];
|
|
3021
3022
|
return this;
|
|
3022
3023
|
}
|
|
3023
3024
|
beginPath() {
|
|
@@ -3179,7 +3180,7 @@ var LeaferUI = function(exports) {
|
|
|
3179
3180
|
};
|
|
3180
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;
|
|
3181
3182
|
const {toTwoPointBounds: toTwoPointBounds, toTwoPointBoundsByQuadraticCurve: toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc: arc, ellipse: ellipse$1} = BezierHelper;
|
|
3182
|
-
const {addPointBounds: addPointBounds, copy: copy$7, addPoint: addPoint, setPoint: setPoint, addBounds: addBounds, toBounds: toBounds$
|
|
3183
|
+
const {addPointBounds: addPointBounds, copy: copy$7, addPoint: addPoint, setPoint: setPoint, addBounds: addBounds, toBounds: toBounds$1} = TwoPointBoundsHelper;
|
|
3183
3184
|
const debug$b = Debug.get("PathBounds");
|
|
3184
3185
|
let radius, radiusX, radiusY;
|
|
3185
3186
|
const tempPointBounds = {};
|
|
@@ -3188,7 +3189,7 @@ var LeaferUI = function(exports) {
|
|
|
3188
3189
|
const PathBounds = {
|
|
3189
3190
|
toBounds(data, setBounds) {
|
|
3190
3191
|
PathBounds.toTwoPointBounds(data, setPointBounds);
|
|
3191
|
-
toBounds$
|
|
3192
|
+
toBounds$1(setPointBounds, setBounds);
|
|
3192
3193
|
},
|
|
3193
3194
|
toTwoPointBounds(data, setPointBounds) {
|
|
3194
3195
|
if (!data || !data.length) return setPoint(setPointBounds, 0, 0);
|
|
@@ -3370,10 +3371,13 @@ var LeaferUI = function(exports) {
|
|
|
3370
3371
|
return smooth;
|
|
3371
3372
|
}
|
|
3372
3373
|
};
|
|
3373
|
-
|
|
3374
|
+
function path(path) {
|
|
3375
|
+
return new PathCreator(path);
|
|
3376
|
+
}
|
|
3377
|
+
const pen = path();
|
|
3378
|
+
PathHelper.creator = path();
|
|
3374
3379
|
PathHelper.parse = PathConvert.parse;
|
|
3375
3380
|
PathHelper.convertToCanvasData = PathConvert.toCanvasData;
|
|
3376
|
-
const pen = new PathCreator;
|
|
3377
3381
|
const {drawRoundRect: drawRoundRect} = RectHelper;
|
|
3378
3382
|
function roundRect(drawer) {
|
|
3379
3383
|
if (drawer && !drawer.roundRect) {
|
|
@@ -3726,7 +3730,7 @@ var LeaferUI = function(exports) {
|
|
|
3726
3730
|
return FileHelper.alphaPixelTypes.some(item => I$1.isFormat(item, config));
|
|
3727
3731
|
},
|
|
3728
3732
|
isFormat(format, config) {
|
|
3729
|
-
if (config.format
|
|
3733
|
+
if (config.format) return config.format === format;
|
|
3730
3734
|
const {url: url} = config;
|
|
3731
3735
|
if (url.startsWith("data:")) {
|
|
3732
3736
|
if (url.startsWith("data:" + FileHelper.mineType(format))) return true;
|
|
@@ -3816,7 +3820,7 @@ var LeaferUI = function(exports) {
|
|
|
3816
3820
|
getFull(_filters) {
|
|
3817
3821
|
return this.view;
|
|
3818
3822
|
}
|
|
3819
|
-
getCanvas(width, height, opacity, _filters, xGap, yGap) {
|
|
3823
|
+
getCanvas(width, height, opacity, _filters, xGap, yGap, smooth) {
|
|
3820
3824
|
width || (width = this.width);
|
|
3821
3825
|
height || (height = this.height);
|
|
3822
3826
|
if (this.cache) {
|
|
@@ -3832,6 +3836,7 @@ var LeaferUI = function(exports) {
|
|
|
3832
3836
|
const canvas = Platform.origin.createCanvas(max$1(floor$1(width + (xGap || 0)), 1), max$1(floor$1(height + (yGap || 0)), 1));
|
|
3833
3837
|
const ctx = canvas.getContext("2d");
|
|
3834
3838
|
if (opacity) ctx.globalAlpha = opacity;
|
|
3839
|
+
ctx.imageSmoothingEnabled = smooth === false ? false : true;
|
|
3835
3840
|
ctx.drawImage(this.view, 0, 0, width, height);
|
|
3836
3841
|
this.cache = this.use > 1 ? {
|
|
3837
3842
|
data: canvas,
|
|
@@ -4431,8 +4436,9 @@ var LeaferUI = function(exports) {
|
|
|
4431
4436
|
};
|
|
4432
4437
|
const L = LeafHelper;
|
|
4433
4438
|
const {updateAllMatrix: updateAllMatrix$3, updateMatrix: updateMatrix$2, updateAllWorldOpacity: updateAllWorldOpacity, updateAllChange: updateAllChange$1, updateChange: updateChange$1} = L;
|
|
4434
|
-
function getTempLocal(t,
|
|
4435
|
-
|
|
4439
|
+
function getTempLocal(t, worldPoint) {
|
|
4440
|
+
t.updateLayout();
|
|
4441
|
+
return t.parent ? PointHelper.tempToInnerOf(worldPoint, t.parent.scrollWorldTransform) : worldPoint;
|
|
4436
4442
|
}
|
|
4437
4443
|
const LeafBoundsHelper = {
|
|
4438
4444
|
worldBounds(target) {
|
|
@@ -5357,7 +5363,7 @@ var LeaferUI = function(exports) {
|
|
|
5357
5363
|
const {updateMatrix: updateMatrix$1, updateAllMatrix: updateAllMatrix$2} = LeafHelper;
|
|
5358
5364
|
const {updateBounds: updateBounds$1} = BranchHelper;
|
|
5359
5365
|
const {toOuterOf: toOuterOf$1, copyAndSpread: copyAndSpread$1, copy: copy$4} = BoundsHelper;
|
|
5360
|
-
const {toBounds: toBounds
|
|
5366
|
+
const {toBounds: toBounds} = PathBounds;
|
|
5361
5367
|
const LeafBounds = {
|
|
5362
5368
|
__updateWorldBounds() {
|
|
5363
5369
|
const layout = this.__layout;
|
|
@@ -5428,8 +5434,8 @@ var LeaferUI = function(exports) {
|
|
|
5428
5434
|
__updateBoxBounds(_secondLayout, _bounds) {
|
|
5429
5435
|
const b = this.__layout.boxBounds;
|
|
5430
5436
|
const data = this.__;
|
|
5431
|
-
if (data.
|
|
5432
|
-
toBounds
|
|
5437
|
+
if (data.__usePathBox) {
|
|
5438
|
+
toBounds(data.path, b);
|
|
5433
5439
|
} else {
|
|
5434
5440
|
b.x = 0;
|
|
5435
5441
|
b.y = 0;
|
|
@@ -6344,7 +6350,7 @@ var LeaferUI = function(exports) {
|
|
|
6344
6350
|
this.levelMap = null;
|
|
6345
6351
|
}
|
|
6346
6352
|
}
|
|
6347
|
-
const version = "1.9.
|
|
6353
|
+
const version = "1.9.5";
|
|
6348
6354
|
const debug$5 = Debug.get("LeaferCanvas");
|
|
6349
6355
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6350
6356
|
set zIndex(zIndex) {
|
|
@@ -6433,10 +6439,22 @@ var LeaferUI = function(exports) {
|
|
|
6433
6439
|
updateViewSize() {
|
|
6434
6440
|
const {width: width, height: height, pixelRatio: pixelRatio} = this;
|
|
6435
6441
|
const {style: style} = this.view;
|
|
6436
|
-
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
|
|
6442
|
+
if (this.unreal) {
|
|
6443
|
+
const {config: config, autoWidthStr: autoWidthStr, autoHeightStr: autoHeightStr} = this;
|
|
6444
|
+
if (config.width) {
|
|
6445
|
+
if (isUndefined(autoWidthStr)) this.autoWidthStr = style.width || "";
|
|
6446
|
+
style.width = config.width + "px";
|
|
6447
|
+
} else if (!isUndefined(autoWidthStr)) style.width = autoWidthStr;
|
|
6448
|
+
if (config.height) {
|
|
6449
|
+
if (isUndefined(autoHeightStr)) this.autoHeightStr = style.height || "";
|
|
6450
|
+
style.height = config.height + "px";
|
|
6451
|
+
} else if (!isUndefined(autoHeightStr)) style.height = autoHeightStr;
|
|
6452
|
+
} else {
|
|
6453
|
+
style.width = width + "px";
|
|
6454
|
+
style.height = height + "px";
|
|
6455
|
+
this.view.width = Math.ceil(width * pixelRatio);
|
|
6456
|
+
this.view.height = Math.ceil(height * pixelRatio);
|
|
6457
|
+
}
|
|
6440
6458
|
}
|
|
6441
6459
|
updateClientBounds() {
|
|
6442
6460
|
if (this.view.parentElement) this.clientBounds = this.view.getBoundingClientRect();
|
|
@@ -6445,6 +6463,7 @@ var LeaferUI = function(exports) {
|
|
|
6445
6463
|
this.resizeListener = listener;
|
|
6446
6464
|
if (autoBounds) {
|
|
6447
6465
|
this.autoBounds = autoBounds;
|
|
6466
|
+
if (this.resizeObserver) return;
|
|
6448
6467
|
try {
|
|
6449
6468
|
this.resizeObserver = new ResizeObserver(entries => {
|
|
6450
6469
|
this.updateClientBounds();
|
|
@@ -6461,18 +6480,10 @@ var LeaferUI = function(exports) {
|
|
|
6461
6480
|
} catch (_a) {
|
|
6462
6481
|
this.imitateResizeObserver();
|
|
6463
6482
|
}
|
|
6483
|
+
this.stopListenPixelRatio();
|
|
6464
6484
|
} else {
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
if (!this.config.pixelRatio && this.pixelRatio !== pixelRatio) {
|
|
6468
|
-
const {width: width, height: height} = this;
|
|
6469
|
-
this.emitResize({
|
|
6470
|
-
width: width,
|
|
6471
|
-
height: height,
|
|
6472
|
-
pixelRatio: pixelRatio
|
|
6473
|
-
});
|
|
6474
|
-
}
|
|
6475
|
-
});
|
|
6485
|
+
this.listenPixelRatio();
|
|
6486
|
+
if (this.unreal) this.updateViewSize();
|
|
6476
6487
|
}
|
|
6477
6488
|
}
|
|
6478
6489
|
imitateResizeObserver() {
|
|
@@ -6481,6 +6492,25 @@ var LeaferUI = function(exports) {
|
|
|
6481
6492
|
Platform.requestRender(this.imitateResizeObserver.bind(this));
|
|
6482
6493
|
}
|
|
6483
6494
|
}
|
|
6495
|
+
listenPixelRatio() {
|
|
6496
|
+
if (!this.windowListener) window.addEventListener("resize", this.windowListener = () => {
|
|
6497
|
+
const pixelRatio = Platform.devicePixelRatio;
|
|
6498
|
+
if (!this.config.pixelRatio && this.pixelRatio !== pixelRatio) {
|
|
6499
|
+
const {width: width, height: height} = this;
|
|
6500
|
+
this.emitResize({
|
|
6501
|
+
width: width,
|
|
6502
|
+
height: height,
|
|
6503
|
+
pixelRatio: pixelRatio
|
|
6504
|
+
});
|
|
6505
|
+
}
|
|
6506
|
+
});
|
|
6507
|
+
}
|
|
6508
|
+
stopListenPixelRatio() {
|
|
6509
|
+
if (this.windowListener) {
|
|
6510
|
+
window.removeEventListener("resize", this.windowListener);
|
|
6511
|
+
this.windowListener = null;
|
|
6512
|
+
}
|
|
6513
|
+
}
|
|
6484
6514
|
checkAutoBounds(parentSize) {
|
|
6485
6515
|
const view = this.view;
|
|
6486
6516
|
const {x: x, y: y, width: width, height: height} = this.autoBounds.getBoundsFrom(parentSize);
|
|
@@ -6518,10 +6548,7 @@ var LeaferUI = function(exports) {
|
|
|
6518
6548
|
destroy() {
|
|
6519
6549
|
if (this.view) {
|
|
6520
6550
|
this.stopAutoLayout();
|
|
6521
|
-
|
|
6522
|
-
window.removeEventListener("resize", this.windowListener);
|
|
6523
|
-
this.windowListener = null;
|
|
6524
|
-
}
|
|
6551
|
+
this.stopListenPixelRatio();
|
|
6525
6552
|
if (!this.unreal) {
|
|
6526
6553
|
const view = this.view;
|
|
6527
6554
|
if (view.parentElement) view.remove();
|
|
@@ -6925,7 +6952,7 @@ var LeaferUI = function(exports) {
|
|
|
6925
6952
|
this.times = 0;
|
|
6926
6953
|
this.config = {
|
|
6927
6954
|
usePartRender: true,
|
|
6928
|
-
maxFPS:
|
|
6955
|
+
maxFPS: 120
|
|
6929
6956
|
};
|
|
6930
6957
|
this.target = target;
|
|
6931
6958
|
this.canvas = canvas;
|
|
@@ -7080,11 +7107,15 @@ var LeaferUI = function(exports) {
|
|
|
7080
7107
|
if (this.requestTime || !target) return;
|
|
7081
7108
|
if (target.parentApp) return target.parentApp.requestRender(false);
|
|
7082
7109
|
const requestTime = this.requestTime = Date.now();
|
|
7083
|
-
|
|
7084
|
-
|
|
7110
|
+
const render = () => {
|
|
7111
|
+
const nowFPS = 1e3 / (Date.now() - requestTime);
|
|
7112
|
+
const {maxFPS: maxFPS} = this.config;
|
|
7113
|
+
if (maxFPS && nowFPS > maxFPS - .5) return Platform.requestRender(render);
|
|
7114
|
+
this.FPS = Math.min(120, Math.ceil(nowFPS));
|
|
7085
7115
|
this.requestTime = 0;
|
|
7086
7116
|
this.checkRender();
|
|
7087
|
-
}
|
|
7117
|
+
};
|
|
7118
|
+
Platform.requestRender(render);
|
|
7088
7119
|
}
|
|
7089
7120
|
__onResize(e) {
|
|
7090
7121
|
if (this.canvas.unreal) return;
|
|
@@ -7127,7 +7158,8 @@ var LeaferUI = function(exports) {
|
|
|
7127
7158
|
if (this.target) {
|
|
7128
7159
|
this.stop();
|
|
7129
7160
|
this.__removeListenEvents();
|
|
7130
|
-
this.
|
|
7161
|
+
this.config = {};
|
|
7162
|
+
this.target = this.canvas = null;
|
|
7131
7163
|
}
|
|
7132
7164
|
}
|
|
7133
7165
|
}
|
|
@@ -7584,7 +7616,11 @@ var LeaferUI = function(exports) {
|
|
|
7584
7616
|
}
|
|
7585
7617
|
}
|
|
7586
7618
|
class FrameData extends BoxData {}
|
|
7587
|
-
class LineData extends UIData {
|
|
7619
|
+
class LineData extends UIData {
|
|
7620
|
+
get __usePathBox() {
|
|
7621
|
+
return this.points || this.__pathInputed;
|
|
7622
|
+
}
|
|
7623
|
+
}
|
|
7588
7624
|
class RectData extends UIData {
|
|
7589
7625
|
get __boxStroke() {
|
|
7590
7626
|
return !this.__pathInputed;
|
|
@@ -7595,7 +7631,7 @@ var LeaferUI = function(exports) {
|
|
|
7595
7631
|
return !this.__pathInputed;
|
|
7596
7632
|
}
|
|
7597
7633
|
}
|
|
7598
|
-
class PolygonData extends
|
|
7634
|
+
class PolygonData extends LineData {}
|
|
7599
7635
|
class StarData extends UIData {}
|
|
7600
7636
|
class PathData extends UIData {
|
|
7601
7637
|
get __pathInputed() {
|
|
@@ -7889,20 +7925,9 @@ var LeaferUI = function(exports) {
|
|
|
7889
7925
|
if (!path) this.__drawPathByBox(pen);
|
|
7890
7926
|
return pen;
|
|
7891
7927
|
}
|
|
7892
|
-
constructor(data) {
|
|
7893
|
-
super(data);
|
|
7894
|
-
}
|
|
7895
7928
|
reset(_data) {}
|
|
7896
|
-
set(data,
|
|
7897
|
-
if (data)
|
|
7898
|
-
if (transition) {
|
|
7899
|
-
if (transition === "temp") {
|
|
7900
|
-
this.lockNormalStyle = true;
|
|
7901
|
-
Object.assign(this, data);
|
|
7902
|
-
this.lockNormalStyle = false;
|
|
7903
|
-
} else this.animate(data, transition);
|
|
7904
|
-
} else Object.assign(this, data);
|
|
7905
|
-
}
|
|
7929
|
+
set(data, _transition) {
|
|
7930
|
+
if (data) Object.assign(this, data);
|
|
7906
7931
|
}
|
|
7907
7932
|
get(name) {
|
|
7908
7933
|
return isString(name) ? this.__.__getInput(name) : this.__.__getInputData(name);
|
|
@@ -7948,7 +7973,7 @@ var LeaferUI = function(exports) {
|
|
|
7948
7973
|
const data = this.__;
|
|
7949
7974
|
if (data.path) {
|
|
7950
7975
|
data.__pathForRender = data.cornerRadius ? PathCorner.smooth(data.path, data.cornerRadius, data.cornerSmoothing) : data.path;
|
|
7951
|
-
if (data.__useArrow) PathArrow.addArrows(this
|
|
7976
|
+
if (data.__useArrow) PathArrow.addArrows(this);
|
|
7952
7977
|
} else data.__pathForRender && (data.__pathForRender = undefined);
|
|
7953
7978
|
}
|
|
7954
7979
|
__drawRenderPath(canvas) {
|
|
@@ -7972,7 +7997,8 @@ var LeaferUI = function(exports) {
|
|
|
7972
7997
|
drawImagePlaceholder(canvas, _image) {
|
|
7973
7998
|
Paint.fill(this.__.placeholderColor, this, canvas);
|
|
7974
7999
|
}
|
|
7975
|
-
animate(
|
|
8000
|
+
animate(keyframe, _options, _type, _isTemp) {
|
|
8001
|
+
this.set(keyframe);
|
|
7976
8002
|
return Plugin.need("animate");
|
|
7977
8003
|
}
|
|
7978
8004
|
killAnimate(_type, _nextStyle) {}
|
|
@@ -8086,9 +8112,6 @@ var LeaferUI = function(exports) {
|
|
|
8086
8112
|
get isBranch() {
|
|
8087
8113
|
return true;
|
|
8088
8114
|
}
|
|
8089
|
-
constructor(data) {
|
|
8090
|
-
super(data);
|
|
8091
|
-
}
|
|
8092
8115
|
reset(data) {
|
|
8093
8116
|
this.__setBranch();
|
|
8094
8117
|
super.reset(data);
|
|
@@ -8206,7 +8229,7 @@ var LeaferUI = function(exports) {
|
|
|
8206
8229
|
const canvas = this.canvas = Creator.canvas(config);
|
|
8207
8230
|
this.__controllers.push(this.renderer = Creator.renderer(this, canvas, config), this.watcher = Creator.watcher(this, config), this.layouter = Creator.layouter(this, config));
|
|
8208
8231
|
if (this.isApp) this.__setApp();
|
|
8209
|
-
this.__checkAutoLayout(
|
|
8232
|
+
this.__checkAutoLayout();
|
|
8210
8233
|
this.view = canvas.view;
|
|
8211
8234
|
if (!parentApp) {
|
|
8212
8235
|
this.selector = Creator.selector(this);
|
|
@@ -8305,7 +8328,8 @@ var LeaferUI = function(exports) {
|
|
|
8305
8328
|
this.leafer = leafer;
|
|
8306
8329
|
this.__level = 1;
|
|
8307
8330
|
}
|
|
8308
|
-
__checkAutoLayout(
|
|
8331
|
+
__checkAutoLayout() {
|
|
8332
|
+
const {config: config, parentApp: parentApp} = this;
|
|
8309
8333
|
if (!parentApp) {
|
|
8310
8334
|
if (!config.width || !config.height) this.autoLayout = new AutoBounds(config);
|
|
8311
8335
|
this.canvas.startAutoLayout(this.autoLayout, this.__onResize.bind(this));
|
|
@@ -8331,9 +8355,10 @@ var LeaferUI = function(exports) {
|
|
|
8331
8355
|
return super.__getAttr(attrName);
|
|
8332
8356
|
}
|
|
8333
8357
|
__changeCanvasSize(attrName, newValue) {
|
|
8334
|
-
const
|
|
8335
|
-
data
|
|
8336
|
-
|
|
8358
|
+
const {config: config, canvas: canvas} = this;
|
|
8359
|
+
const data = DataHelper.copyAttrs({}, canvas, canvasSizeAttrs);
|
|
8360
|
+
data[attrName] = config[attrName] = newValue;
|
|
8361
|
+
config.width && config.height ? canvas.stopAutoLayout() : this.__checkAutoLayout();
|
|
8337
8362
|
this.__doResize(data);
|
|
8338
8363
|
}
|
|
8339
8364
|
__changeFill(newValue) {
|
|
@@ -8480,9 +8505,9 @@ var LeaferUI = function(exports) {
|
|
|
8480
8505
|
if (!this.parent) {
|
|
8481
8506
|
if (this.selector) this.selector.destroy();
|
|
8482
8507
|
if (this.hitCanvasManager) this.hitCanvasManager.destroy();
|
|
8483
|
-
this.canvasManager.destroy();
|
|
8508
|
+
if (this.canvasManager) this.canvasManager.destroy();
|
|
8484
8509
|
}
|
|
8485
|
-
this.canvas.destroy();
|
|
8510
|
+
if (this.canvas) this.canvas.destroy();
|
|
8486
8511
|
this.config.view = this.view = this.parentApp = null;
|
|
8487
8512
|
if (this.userConfig) this.userConfig.view = null;
|
|
8488
8513
|
super.destroy();
|
|
@@ -8505,9 +8530,6 @@ var LeaferUI = function(exports) {
|
|
|
8505
8530
|
get __tag() {
|
|
8506
8531
|
return "Rect";
|
|
8507
8532
|
}
|
|
8508
|
-
constructor(data) {
|
|
8509
|
-
super(data);
|
|
8510
|
-
}
|
|
8511
8533
|
};
|
|
8512
8534
|
__decorate([ dataProcessor(RectData) ], exports.Rect.prototype, "__", void 0);
|
|
8513
8535
|
exports.Rect = __decorate([ useModule(RectRender), rewriteAble(), registerUI() ], exports.Rect);
|
|
@@ -8619,9 +8641,6 @@ var LeaferUI = function(exports) {
|
|
|
8619
8641
|
get isFrame() {
|
|
8620
8642
|
return true;
|
|
8621
8643
|
}
|
|
8622
|
-
constructor(data) {
|
|
8623
|
-
super(data);
|
|
8624
|
-
}
|
|
8625
8644
|
};
|
|
8626
8645
|
__decorate([ dataProcessor(FrameData) ], exports.Frame.prototype, "__", void 0);
|
|
8627
8646
|
__decorate([ surfaceType("#FFFFFF") ], exports.Frame.prototype, "fill", void 0);
|
|
@@ -8632,9 +8651,6 @@ var LeaferUI = function(exports) {
|
|
|
8632
8651
|
get __tag() {
|
|
8633
8652
|
return "Ellipse";
|
|
8634
8653
|
}
|
|
8635
|
-
constructor(data) {
|
|
8636
|
-
super(data);
|
|
8637
|
-
}
|
|
8638
8654
|
__updatePath() {
|
|
8639
8655
|
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = this.__;
|
|
8640
8656
|
const rx = width / 2, ry = height / 2;
|
|
@@ -8670,7 +8686,6 @@ var LeaferUI = function(exports) {
|
|
|
8670
8686
|
exports.Ellipse = __decorate([ registerUI() ], exports.Ellipse);
|
|
8671
8687
|
const {moveTo: moveTo$2, lineTo: lineTo$2, drawPoints: drawPoints$1} = PathCommandDataHelper;
|
|
8672
8688
|
const {rotate: rotate$1, getAngle: getAngle$1, getDistance: getDistance$2, defaultPoint: defaultPoint} = PointHelper;
|
|
8673
|
-
const {toBounds: toBounds} = PathBounds;
|
|
8674
8689
|
exports.Line = class Line extends exports.UI {
|
|
8675
8690
|
get __tag() {
|
|
8676
8691
|
return "Line";
|
|
@@ -8687,31 +8702,16 @@ var LeaferUI = function(exports) {
|
|
|
8687
8702
|
this.rotation = getAngle$1(defaultPoint, value);
|
|
8688
8703
|
if (this.height) this.height = 0;
|
|
8689
8704
|
}
|
|
8690
|
-
constructor(data) {
|
|
8691
|
-
super(data);
|
|
8692
|
-
}
|
|
8693
8705
|
__updatePath() {
|
|
8694
8706
|
const data = this.__;
|
|
8695
8707
|
const path = data.path = [];
|
|
8696
8708
|
if (data.points) {
|
|
8697
|
-
drawPoints$1(path, data.points,
|
|
8709
|
+
drawPoints$1(path, data.points, data.curve, data.closed);
|
|
8698
8710
|
} else {
|
|
8699
8711
|
moveTo$2(path, 0, 0);
|
|
8700
8712
|
lineTo$2(path, this.width, 0);
|
|
8701
8713
|
}
|
|
8702
8714
|
}
|
|
8703
|
-
__updateRenderPath() {
|
|
8704
|
-
const data = this.__;
|
|
8705
|
-
if (!this.pathInputed && data.points && data.curve) {
|
|
8706
|
-
drawPoints$1(data.__pathForRender = [], data.points, data.curve, data.closed);
|
|
8707
|
-
if (data.__useArrow) PathArrow.addArrows(this, false);
|
|
8708
|
-
} else super.__updateRenderPath();
|
|
8709
|
-
}
|
|
8710
|
-
__updateBoxBounds() {
|
|
8711
|
-
if (this.points) {
|
|
8712
|
-
toBounds(this.__.__pathForRender, this.__layout.boxBounds);
|
|
8713
|
-
} else super.__updateBoxBounds();
|
|
8714
|
-
}
|
|
8715
8715
|
};
|
|
8716
8716
|
__decorate([ dataProcessor(LineData) ], exports.Line.prototype, "__", void 0);
|
|
8717
8717
|
__decorate([ affectStrokeBoundsType("center") ], exports.Line.prototype, "strokeAlign", void 0);
|
|
@@ -8727,15 +8727,13 @@ var LeaferUI = function(exports) {
|
|
|
8727
8727
|
get __tag() {
|
|
8728
8728
|
return "Polygon";
|
|
8729
8729
|
}
|
|
8730
|
-
constructor(data) {
|
|
8731
|
-
super(data);
|
|
8732
|
-
}
|
|
8733
8730
|
__updatePath() {
|
|
8734
|
-
const
|
|
8735
|
-
|
|
8736
|
-
|
|
8731
|
+
const data = this.__;
|
|
8732
|
+
const path = data.path = [];
|
|
8733
|
+
if (data.points) {
|
|
8734
|
+
drawPoints(path, data.points, data.curve, true);
|
|
8737
8735
|
} else {
|
|
8738
|
-
const {width: width, height: height, sides: sides} =
|
|
8736
|
+
const {width: width, height: height, sides: sides} = data;
|
|
8739
8737
|
const rx = width / 2, ry = height / 2;
|
|
8740
8738
|
moveTo$1(path, rx, 0);
|
|
8741
8739
|
for (let i = 1; i < sides; i++) {
|
|
@@ -8760,9 +8758,6 @@ var LeaferUI = function(exports) {
|
|
|
8760
8758
|
get __tag() {
|
|
8761
8759
|
return "Star";
|
|
8762
8760
|
}
|
|
8763
|
-
constructor(data) {
|
|
8764
|
-
super(data);
|
|
8765
|
-
}
|
|
8766
8761
|
__updatePath() {
|
|
8767
8762
|
const {width: width, height: height, corners: corners, innerRadius: innerRadius} = this.__;
|
|
8768
8763
|
const rx = width / 2, ry = height / 2;
|
|
@@ -8790,9 +8785,6 @@ var LeaferUI = function(exports) {
|
|
|
8790
8785
|
const {fill: fill} = this.__;
|
|
8791
8786
|
return isArray(fill) && fill[0].image;
|
|
8792
8787
|
}
|
|
8793
|
-
constructor(data) {
|
|
8794
|
-
super(data);
|
|
8795
|
-
}
|
|
8796
8788
|
};
|
|
8797
8789
|
__decorate([ dataProcessor(ImageData) ], exports.Image.prototype, "__", void 0);
|
|
8798
8790
|
__decorate([ boundsType("") ], exports.Image.prototype, "url", void 0);
|
|
@@ -8877,9 +8869,6 @@ var LeaferUI = function(exports) {
|
|
|
8877
8869
|
this.updateLayout();
|
|
8878
8870
|
return this.__.__textDrawData;
|
|
8879
8871
|
}
|
|
8880
|
-
constructor(data) {
|
|
8881
|
-
super(data);
|
|
8882
|
-
}
|
|
8883
8872
|
__updateTextDrawData() {
|
|
8884
8873
|
const data = this.__;
|
|
8885
8874
|
const {lineHeight: lineHeight, letterSpacing: letterSpacing, fontFamily: fontFamily, fontSize: fontSize, fontWeight: fontWeight, italic: italic, textCase: textCase, textOverflow: textOverflow, padding: padding} = data;
|
|
@@ -8983,9 +8972,6 @@ var LeaferUI = function(exports) {
|
|
|
8983
8972
|
get __tag() {
|
|
8984
8973
|
return "Path";
|
|
8985
8974
|
}
|
|
8986
|
-
constructor(data) {
|
|
8987
|
-
super(data);
|
|
8988
|
-
}
|
|
8989
8975
|
};
|
|
8990
8976
|
__decorate([ dataProcessor(PathData) ], exports.Path.prototype, "__", void 0);
|
|
8991
8977
|
__decorate([ affectStrokeBoundsType("center") ], exports.Path.prototype, "strokeAlign", void 0);
|
|
@@ -8994,9 +8980,6 @@ var LeaferUI = function(exports) {
|
|
|
8994
8980
|
get __tag() {
|
|
8995
8981
|
return "Pen";
|
|
8996
8982
|
}
|
|
8997
|
-
constructor(data) {
|
|
8998
|
-
super(data);
|
|
8999
|
-
}
|
|
9000
8983
|
setStyle(data) {
|
|
9001
8984
|
const path = this.pathElement = new exports.Path(data);
|
|
9002
8985
|
this.pathStyle = data;
|
|
@@ -11239,7 +11222,7 @@ var LeaferUI = function(exports) {
|
|
|
11239
11222
|
if (leafer && leafer.viewReady) leafer.renderer.ignore = value;
|
|
11240
11223
|
}
|
|
11241
11224
|
const {get: get$1, scale: scale, copy: copy$1} = MatrixHelper;
|
|
11242
|
-
const {floor: floor, max: max, abs: abs} = Math;
|
|
11225
|
+
const {floor: floor, ceil: ceil, max: max, abs: abs} = Math;
|
|
11243
11226
|
function createPattern(ui, paint, pixelRatio) {
|
|
11244
11227
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, paint.scaleFixed);
|
|
11245
11228
|
const id = scaleX + "-" + scaleY + "-" + pixelRatio;
|
|
@@ -11248,8 +11231,6 @@ var LeaferUI = function(exports) {
|
|
|
11248
11231
|
let imageScale, imageMatrix, {width: width, height: height, scaleX: sx, scaleY: sy, transform: transform, repeat: repeat, gap: gap} = data;
|
|
11249
11232
|
scaleX *= pixelRatio;
|
|
11250
11233
|
scaleY *= pixelRatio;
|
|
11251
|
-
const xGap = gap && gap.x * scaleX;
|
|
11252
|
-
const yGap = gap && gap.y * scaleY;
|
|
11253
11234
|
if (sx) {
|
|
11254
11235
|
sx = abs(sx);
|
|
11255
11236
|
sy = abs(sy);
|
|
@@ -11266,7 +11247,10 @@ var LeaferUI = function(exports) {
|
|
|
11266
11247
|
if (size > Platform.image.maxCacheSize) return false;
|
|
11267
11248
|
}
|
|
11268
11249
|
let maxSize = Platform.image.maxPatternSize;
|
|
11269
|
-
if (
|
|
11250
|
+
if (image.isSVG) {
|
|
11251
|
+
const ws = width / image.width;
|
|
11252
|
+
if (ws > 1) imageScale = ws / ceil(ws);
|
|
11253
|
+
} else {
|
|
11270
11254
|
const imageSize = image.width * image.height;
|
|
11271
11255
|
if (maxSize > imageSize) maxSize = imageSize;
|
|
11272
11256
|
}
|
|
@@ -11281,18 +11265,20 @@ var LeaferUI = function(exports) {
|
|
|
11281
11265
|
scaleX /= sx;
|
|
11282
11266
|
scaleY /= sy;
|
|
11283
11267
|
}
|
|
11268
|
+
const xGap = gap && gap.x * scaleX;
|
|
11269
|
+
const yGap = gap && gap.y * scaleY;
|
|
11284
11270
|
if (transform || scaleX !== 1 || scaleY !== 1) {
|
|
11271
|
+
const canvasWidth = width + (xGap || 0);
|
|
11272
|
+
const canvasHeight = height + (yGap || 0);
|
|
11273
|
+
scaleX /= canvasWidth / max(floor(canvasWidth), 1);
|
|
11274
|
+
scaleY /= canvasHeight / max(floor(canvasHeight), 1);
|
|
11285
11275
|
if (!imageMatrix) {
|
|
11286
11276
|
imageMatrix = get$1();
|
|
11287
11277
|
if (transform) copy$1(imageMatrix, transform);
|
|
11288
11278
|
}
|
|
11289
11279
|
scale(imageMatrix, 1 / scaleX, 1 / scaleY);
|
|
11290
11280
|
}
|
|
11291
|
-
|
|
11292
|
-
const canvasWidth = width + (xGap || 0), canvasHeight = height + (yGap || 0);
|
|
11293
|
-
scale(imageMatrix, canvasWidth / max(floor(canvasWidth), 1), canvasHeight / max(floor(canvasHeight), 1));
|
|
11294
|
-
}
|
|
11295
|
-
const canvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap);
|
|
11281
|
+
const canvas = image.getCanvas(width, height, data.opacity, data.filters, xGap, yGap, ui.leafer && ui.leafer.config.smooth);
|
|
11296
11282
|
const pattern = image.getPattern(canvas, repeat || (Platform.origin.noRepeat || "no-repeat"), imageMatrix, paint);
|
|
11297
11283
|
paint.style = pattern;
|
|
11298
11284
|
paint.patternId = id;
|
|
@@ -12306,6 +12292,7 @@ var LeaferUI = function(exports) {
|
|
|
12306
12292
|
exports.maskType = maskType;
|
|
12307
12293
|
exports.naturalBoundsType = naturalBoundsType;
|
|
12308
12294
|
exports.opacityType = opacityType;
|
|
12295
|
+
exports.path = path;
|
|
12309
12296
|
exports.pathInputType = pathInputType;
|
|
12310
12297
|
exports.pathType = pathType;
|
|
12311
12298
|
exports.pen = pen;
|