@leafer/miniapp 1.9.9 → 1.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/miniapp.module.js +259 -184
- package/dist/miniapp.module.min.js +1 -1
- package/dist/miniapp.module.min.js.map +1 -1
- package/package.json +21 -21
package/dist/miniapp.module.js
CHANGED
|
@@ -249,7 +249,7 @@ class LeafData {
|
|
|
249
249
|
|
|
250
250
|
let tempA, tempB, tempTo;
|
|
251
251
|
|
|
252
|
-
const {max: max$
|
|
252
|
+
const {max: max$6} = Math, tempFour = [ 0, 0, 0, 0 ];
|
|
253
253
|
|
|
254
254
|
const FourNumberHelper = {
|
|
255
255
|
zero: [ ...tempFour ],
|
|
@@ -263,7 +263,7 @@ const FourNumberHelper = {
|
|
|
263
263
|
return to;
|
|
264
264
|
},
|
|
265
265
|
setTemp(top, right, bottom, left) {
|
|
266
|
-
return set$
|
|
266
|
+
return set$2(tempFour, top, right, bottom, left);
|
|
267
267
|
},
|
|
268
268
|
toTempAB(a, b, change) {
|
|
269
269
|
tempTo = change ? isNumber(a) ? b : a : [];
|
|
@@ -301,24 +301,24 @@ const FourNumberHelper = {
|
|
|
301
301
|
return data;
|
|
302
302
|
},
|
|
303
303
|
max(t, other, change) {
|
|
304
|
-
if (isNumber(t) && isNumber(other)) return max$
|
|
304
|
+
if (isNumber(t) && isNumber(other)) return max$6(t, other);
|
|
305
305
|
toTempAB(t, other, change);
|
|
306
|
-
return set$
|
|
306
|
+
return set$2(tempTo, max$6(tempA[0], tempB[0]), max$6(tempA[1], tempB[1]), max$6(tempA[2], tempB[2]), max$6(tempA[3], tempB[3]));
|
|
307
307
|
},
|
|
308
308
|
add(t, other, change) {
|
|
309
309
|
if (isNumber(t) && isNumber(other)) return t + other;
|
|
310
310
|
toTempAB(t, other, change);
|
|
311
|
-
return set$
|
|
311
|
+
return set$2(tempTo, tempA[0] + tempB[0], tempA[1] + tempB[1], tempA[2] + tempB[2], tempA[3] + tempB[3]);
|
|
312
312
|
},
|
|
313
313
|
swapAndScale(t, scaleX, scaleY, change) {
|
|
314
314
|
if (isNumber(t)) return scaleX === scaleY ? t * scaleX : [ t * scaleY, t * scaleX ];
|
|
315
315
|
const to = change ? t : [];
|
|
316
316
|
const [top, right, bottom, left] = t.length === 4 ? t : get$5(t);
|
|
317
|
-
return set$
|
|
317
|
+
return set$2(to, bottom * scaleY, left * scaleX, top * scaleY, right * scaleX);
|
|
318
318
|
}
|
|
319
319
|
};
|
|
320
320
|
|
|
321
|
-
const {set: set$
|
|
321
|
+
const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumberHelper;
|
|
322
322
|
|
|
323
323
|
const {round: round$6, pow: pow$2, PI: PI$4} = Math;
|
|
324
324
|
|
|
@@ -720,7 +720,7 @@ const M$b = MatrixHelper;
|
|
|
720
720
|
|
|
721
721
|
const {toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$3} = MatrixHelper;
|
|
722
722
|
|
|
723
|
-
const {sin: sin$5, cos: cos$5, abs: abs$
|
|
723
|
+
const {sin: sin$5, cos: cos$5, abs: abs$a, sqrt: sqrt$4, atan2: atan2$2, min: min$2, round: round$5} = Math;
|
|
724
724
|
|
|
725
725
|
const PointHelper = {
|
|
726
726
|
defaultPoint: getPointData(),
|
|
@@ -813,12 +813,12 @@ const PointHelper = {
|
|
|
813
813
|
return getDistanceFrom(t.x, t.y, point.x, point.y);
|
|
814
814
|
},
|
|
815
815
|
getDistanceFrom(x1, y1, x2, y2) {
|
|
816
|
-
const x = abs$
|
|
817
|
-
const y = abs$
|
|
816
|
+
const x = abs$a(x2 - x1);
|
|
817
|
+
const y = abs$a(y2 - y1);
|
|
818
818
|
return sqrt$4(x * x + y * y);
|
|
819
819
|
},
|
|
820
820
|
getMinDistanceFrom(x1, y1, x2, y2, x3, y3) {
|
|
821
|
-
return min$
|
|
821
|
+
return min$2(getDistanceFrom(x1, y1, x2, y2), getDistanceFrom(x2, y2, x3, y3));
|
|
822
822
|
},
|
|
823
823
|
getAngle(t, to) {
|
|
824
824
|
return getAtan2(t, to) / OneRadian;
|
|
@@ -2592,11 +2592,11 @@ const RectHelper = {
|
|
|
2592
2592
|
}
|
|
2593
2593
|
};
|
|
2594
2594
|
|
|
2595
|
-
const {sin: sin$4, cos: cos$4, hypot: hypot, atan2: atan2$1, ceil: ceil$2, abs: abs$
|
|
2595
|
+
const {sin: sin$4, cos: cos$4, hypot: hypot, atan2: atan2$1, ceil: ceil$2, abs: abs$9, PI: PI$3, sqrt: sqrt$3, pow: pow$1} = Math;
|
|
2596
2596
|
|
|
2597
2597
|
const {setPoint: setPoint$4, addPoint: addPoint$2} = TwoPointBoundsHelper;
|
|
2598
2598
|
|
|
2599
|
-
const {set: set, toNumberPoints: toNumberPoints$1} = PointHelper;
|
|
2599
|
+
const {set: set$1, toNumberPoints: toNumberPoints$1} = PointHelper;
|
|
2600
2600
|
|
|
2601
2601
|
const {M: M$a, L: L$a, C: C$8, Q: Q$7, Z: Z$8} = PathCommandMap;
|
|
2602
2602
|
|
|
@@ -2667,14 +2667,14 @@ const BezierHelper = {
|
|
|
2667
2667
|
const lenCB = hypot(CBx, CBy);
|
|
2668
2668
|
let totalRadian = endRadian - startRadian;
|
|
2669
2669
|
if (totalRadian < 0) totalRadian += PI2;
|
|
2670
|
-
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$
|
|
2670
|
+
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$9(totalRadian - PI$3) < 1e-12) {
|
|
2671
2671
|
if (data) data.push(L$a, x1, y1);
|
|
2672
2672
|
if (setPointBounds) {
|
|
2673
2673
|
setPoint$4(setPointBounds, fromX, fromY);
|
|
2674
2674
|
addPoint$2(setPointBounds, x1, y1);
|
|
2675
2675
|
}
|
|
2676
|
-
if (setStartPoint) set(setStartPoint, fromX, fromY);
|
|
2677
|
-
if (setEndPoint) set(setEndPoint, x1, y1);
|
|
2676
|
+
if (setStartPoint) set$1(setStartPoint, fromX, fromY);
|
|
2677
|
+
if (setEndPoint) set$1(setEndPoint, x1, y1);
|
|
2678
2678
|
return;
|
|
2679
2679
|
}
|
|
2680
2680
|
const anticlockwise = BAx * CBy - CBx * BAy < 0;
|
|
@@ -2700,7 +2700,7 @@ const BezierHelper = {
|
|
|
2700
2700
|
let totalRadian = endRadian - startRadian;
|
|
2701
2701
|
if (totalRadian < 0) totalRadian += PI2; else if (totalRadian > PI2) totalRadian -= PI2;
|
|
2702
2702
|
if (anticlockwise) totalRadian -= PI2;
|
|
2703
|
-
const parts = ceil$2(abs$
|
|
2703
|
+
const parts = ceil$2(abs$9(totalRadian / PI_2));
|
|
2704
2704
|
const partRadian = totalRadian / parts;
|
|
2705
2705
|
const partRadian4Sin = sin$4(partRadian / 4);
|
|
2706
2706
|
const control = 8 / 3 * partRadian4Sin * partRadian4Sin / sin$4(partRadian / 2);
|
|
@@ -2714,7 +2714,7 @@ const BezierHelper = {
|
|
|
2714
2714
|
let fromX = cx + x, fromY = cy + y;
|
|
2715
2715
|
if (data) data.push(data.length ? L$a : M$a, fromX, fromY);
|
|
2716
2716
|
if (setPointBounds) setPoint$4(setPointBounds, fromX, fromY);
|
|
2717
|
-
if (setStartPoint) set(setStartPoint, fromX, fromY);
|
|
2717
|
+
if (setStartPoint) set$1(setStartPoint, fromX, fromY);
|
|
2718
2718
|
for (let i = 0; i < parts; i++) {
|
|
2719
2719
|
endCos = cos$4(endRadian);
|
|
2720
2720
|
endSin = sin$4(endRadian);
|
|
@@ -2733,7 +2733,7 @@ const BezierHelper = {
|
|
|
2733
2733
|
startRadian = endRadian;
|
|
2734
2734
|
endRadian += partRadian;
|
|
2735
2735
|
}
|
|
2736
|
-
if (setEndPoint) set(setEndPoint, cx + x, cy + y);
|
|
2736
|
+
if (setEndPoint) set$1(setEndPoint, cx + x, cy + y);
|
|
2737
2737
|
},
|
|
2738
2738
|
quadraticCurveTo(data, fromX, fromY, x1, y1, toX, toY) {
|
|
2739
2739
|
data.push(C$8, (fromX + 2 * x1) / 3, (fromY + 2 * y1) / 3, (toX + 2 * x1) / 3, (toY + 2 * y1) / 3, toX, toY);
|
|
@@ -3167,7 +3167,7 @@ const {M: M$8, L: L$8, C: C$6, Q: Q$5, Z: Z$6, N: N$4, D: D$5, X: X$4, G: G$4, F
|
|
|
3167
3167
|
|
|
3168
3168
|
const {getMinDistanceFrom: getMinDistanceFrom, getRadianFrom: getRadianFrom} = PointHelper;
|
|
3169
3169
|
|
|
3170
|
-
const {tan: tan, min: min, abs: abs$
|
|
3170
|
+
const {tan: tan, min: min$1, abs: abs$8} = Math;
|
|
3171
3171
|
|
|
3172
3172
|
const startPoint = {};
|
|
3173
3173
|
|
|
@@ -3225,7 +3225,7 @@ const PathCommandDataHelper = {
|
|
|
3225
3225
|
arcTo(data, x1, y1, x2, y2, radius, lastX, lastY) {
|
|
3226
3226
|
if (!isUndefined(lastX)) {
|
|
3227
3227
|
const d = getMinDistanceFrom(lastX, lastY, x1, y1, x2, y2);
|
|
3228
|
-
radius = min(radius, min(d / 2, d / 2 * abs$
|
|
3228
|
+
radius = min$1(radius, min$1(d / 2, d / 2 * abs$8(tan(getRadianFrom(lastX, lastY, x1, y1, x2, y2) / 2))));
|
|
3229
3229
|
}
|
|
3230
3230
|
data.push(U$4, x1, y1, x2, y2, radius);
|
|
3231
3231
|
},
|
|
@@ -3840,7 +3840,12 @@ class TaskProcessor {
|
|
|
3840
3840
|
runTask() {
|
|
3841
3841
|
const task = this.list[this.index];
|
|
3842
3842
|
if (!task) {
|
|
3843
|
-
this.nextTask();
|
|
3843
|
+
this.timer = setTimeout(() => this.nextTask());
|
|
3844
|
+
return;
|
|
3845
|
+
}
|
|
3846
|
+
if (task.isCancel) {
|
|
3847
|
+
this.index++;
|
|
3848
|
+
this.runTask();
|
|
3844
3849
|
return;
|
|
3845
3850
|
}
|
|
3846
3851
|
task.run().then(() => {
|
|
@@ -3871,16 +3876,15 @@ class TaskProcessor {
|
|
|
3871
3876
|
}
|
|
3872
3877
|
setParallelList() {
|
|
3873
3878
|
let task;
|
|
3879
|
+
const {config: config, list: list, index: index} = this;
|
|
3874
3880
|
this.parallelList = [];
|
|
3875
3881
|
this.parallelSuccessNumber = 0;
|
|
3876
|
-
let end =
|
|
3877
|
-
if (end >
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
this.parallelList.push(task);
|
|
3882
|
-
} else {
|
|
3883
|
-
break;
|
|
3882
|
+
let end = index + config.parallel;
|
|
3883
|
+
if (end > list.length) end = list.length;
|
|
3884
|
+
if (config.parallel > 1) {
|
|
3885
|
+
for (let i = index; i < end; i++) {
|
|
3886
|
+
task = list[i];
|
|
3887
|
+
if (task.parallel) this.parallelList.push(task); else break;
|
|
3884
3888
|
}
|
|
3885
3889
|
}
|
|
3886
3890
|
}
|
|
@@ -4023,7 +4027,7 @@ const I$1 = ImageManager;
|
|
|
4023
4027
|
|
|
4024
4028
|
const {IMAGE: IMAGE, create: create$1} = IncrementId;
|
|
4025
4029
|
|
|
4026
|
-
const {floor: floor$2, max: max$
|
|
4030
|
+
const {floor: floor$2, max: max$5} = Math;
|
|
4027
4031
|
|
|
4028
4032
|
class LeaferImage {
|
|
4029
4033
|
get url() {
|
|
@@ -4112,7 +4116,7 @@ class LeaferImage {
|
|
|
4112
4116
|
}
|
|
4113
4117
|
if (data) return data;
|
|
4114
4118
|
}
|
|
4115
|
-
const canvas = Platform.origin.createCanvas(max$
|
|
4119
|
+
const canvas = Platform.origin.createCanvas(max$5(floor$2(width + (xGap || 0)), 1), max$5(floor$2(height + (yGap || 0)), 1));
|
|
4116
4120
|
const ctx = canvas.getContext("2d");
|
|
4117
4121
|
if (opacity) ctx.globalAlpha = opacity;
|
|
4118
4122
|
ctx.imageSmoothingEnabled = smooth === false ? false : true;
|
|
@@ -6815,7 +6819,7 @@ class LeafLevelList {
|
|
|
6815
6819
|
}
|
|
6816
6820
|
}
|
|
6817
6821
|
|
|
6818
|
-
const version = "1.9.
|
|
6822
|
+
const version = "1.9.11";
|
|
6819
6823
|
|
|
6820
6824
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6821
6825
|
get allowBackgroundColor() {
|
|
@@ -7634,7 +7638,7 @@ class Picker {
|
|
|
7634
7638
|
children: [ target ]
|
|
7635
7639
|
} : target);
|
|
7636
7640
|
const {list: list} = this.findList;
|
|
7637
|
-
const leaf = this.getBestMatchLeaf(list, options.bottomList, ignoreHittable);
|
|
7641
|
+
const leaf = this.getBestMatchLeaf(list, options.bottomList, ignoreHittable, !!options.findList);
|
|
7638
7642
|
const path = ignoreHittable ? this.getPath(leaf) : this.getHitablePath(leaf);
|
|
7639
7643
|
this.clear();
|
|
7640
7644
|
return through ? {
|
|
@@ -7649,7 +7653,7 @@ class Picker {
|
|
|
7649
7653
|
hitPoint(hitPoint, hitRadius, options) {
|
|
7650
7654
|
return !!this.getByPoint(hitPoint, hitRadius, options).target;
|
|
7651
7655
|
}
|
|
7652
|
-
getBestMatchLeaf(list, bottomList, ignoreHittable) {
|
|
7656
|
+
getBestMatchLeaf(list, bottomList, ignoreHittable, allowNull) {
|
|
7653
7657
|
const findList = this.findList = new LeafList;
|
|
7654
7658
|
if (list.length) {
|
|
7655
7659
|
let find;
|
|
@@ -7680,15 +7684,27 @@ class Picker {
|
|
|
7680
7684
|
if (findList.length) return findList.list[0];
|
|
7681
7685
|
}
|
|
7682
7686
|
}
|
|
7687
|
+
if (allowNull) return null;
|
|
7683
7688
|
return ignoreHittable ? list[0] : list.find(item => LeafHelper.worldHittable(item));
|
|
7684
7689
|
}
|
|
7685
7690
|
getPath(leaf) {
|
|
7686
|
-
const path = new LeafList;
|
|
7691
|
+
const path = new LeafList, syncList = [], {target: target} = this;
|
|
7687
7692
|
while (leaf) {
|
|
7693
|
+
if (leaf.syncEventer) syncList.push(leaf.syncEventer);
|
|
7688
7694
|
path.add(leaf);
|
|
7689
7695
|
leaf = leaf.parent;
|
|
7696
|
+
if (leaf === target) break;
|
|
7697
|
+
}
|
|
7698
|
+
if (syncList.length) {
|
|
7699
|
+
syncList.forEach(item => {
|
|
7700
|
+
while (item) {
|
|
7701
|
+
if (item.__.hittable) path.add(item);
|
|
7702
|
+
item = item.parent;
|
|
7703
|
+
if (item === target) break;
|
|
7704
|
+
}
|
|
7705
|
+
});
|
|
7690
7706
|
}
|
|
7691
|
-
if (
|
|
7707
|
+
if (target) path.add(target);
|
|
7692
7708
|
return path;
|
|
7693
7709
|
}
|
|
7694
7710
|
getHitablePath(leaf) {
|
|
@@ -8186,12 +8202,12 @@ class ImageData extends RectData {
|
|
|
8186
8202
|
}
|
|
8187
8203
|
__getData() {
|
|
8188
8204
|
const data = super.__getData();
|
|
8189
|
-
delete data.fill;
|
|
8205
|
+
if (data.url) delete data.fill;
|
|
8190
8206
|
return data;
|
|
8191
8207
|
}
|
|
8192
8208
|
__getInputData(names, options) {
|
|
8193
8209
|
const data = super.__getInputData(names, options);
|
|
8194
|
-
delete data.fill;
|
|
8210
|
+
if (data.url) delete data.fill;
|
|
8195
8211
|
return data;
|
|
8196
8212
|
}
|
|
8197
8213
|
}
|
|
@@ -8210,7 +8226,7 @@ class CanvasData extends RectData {
|
|
|
8210
8226
|
}
|
|
8211
8227
|
}
|
|
8212
8228
|
|
|
8213
|
-
const {max: max$
|
|
8229
|
+
const {max: max$4, add: add$1} = FourNumberHelper;
|
|
8214
8230
|
|
|
8215
8231
|
const UIBounds = {
|
|
8216
8232
|
__updateStrokeSpread() {
|
|
@@ -8226,7 +8242,7 @@ const UIBounds = {
|
|
|
8226
8242
|
}
|
|
8227
8243
|
if (data.__useArrow) spread += strokeWidth * 5;
|
|
8228
8244
|
if (box) {
|
|
8229
|
-
spread = max$
|
|
8245
|
+
spread = max$4(spread, box.__layout.strokeSpread = box.__updateStrokeSpread());
|
|
8230
8246
|
boxSpread = Math.max(boxSpread, box.__layout.strokeBoxSpread);
|
|
8231
8247
|
}
|
|
8232
8248
|
this.__layout.strokeBoxSpread = boxSpread;
|
|
@@ -8236,86 +8252,18 @@ const UIBounds = {
|
|
|
8236
8252
|
let spread = 0;
|
|
8237
8253
|
const {shadow: shadow, innerShadow: innerShadow, blur: blur, backgroundBlur: backgroundBlur, filter: filter, renderSpread: renderSpread} = this.__, {strokeSpread: strokeSpread} = this.__layout, box = this.__box;
|
|
8238
8254
|
if (shadow) spread = Effect.getShadowRenderSpread(this, shadow);
|
|
8239
|
-
if (blur) spread = max$
|
|
8255
|
+
if (blur) spread = max$4(spread, blur);
|
|
8240
8256
|
if (filter) spread = add$1(spread, Filter.getSpread(filter));
|
|
8241
8257
|
if (renderSpread) spread = add$1(spread, renderSpread);
|
|
8242
8258
|
if (strokeSpread) spread = add$1(spread, strokeSpread);
|
|
8243
8259
|
let shapeSpread = spread;
|
|
8244
|
-
if (innerShadow) shapeSpread = max$
|
|
8245
|
-
if (backgroundBlur) shapeSpread = max$
|
|
8260
|
+
if (innerShadow) shapeSpread = max$4(shapeSpread, Effect.getInnerShadowSpread(this, innerShadow));
|
|
8261
|
+
if (backgroundBlur) shapeSpread = max$4(shapeSpread, backgroundBlur);
|
|
8246
8262
|
this.__layout.renderShapeSpread = shapeSpread;
|
|
8247
|
-
return box ? max$
|
|
8248
|
-
}
|
|
8249
|
-
};
|
|
8250
|
-
|
|
8251
|
-
const {float: float$1} = MathHelper;
|
|
8252
|
-
|
|
8253
|
-
const tempContent = new Bounds, tempMerge = new Bounds, tempIntersect = new Bounds;
|
|
8254
|
-
|
|
8255
|
-
const DragBoundsHelper = {
|
|
8256
|
-
limitMove(leaf, move) {
|
|
8257
|
-
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
8258
|
-
if (dragBounds) D$2.getValidMove(leaf.__localBoxBounds, D$2.getDragBounds(leaf), dragBoundsType, move, true);
|
|
8259
|
-
D$2.axisMove(leaf, move);
|
|
8260
|
-
},
|
|
8261
|
-
limitScaleOf(leaf, origin, scale) {
|
|
8262
|
-
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
8263
|
-
if (dragBounds) D$2.getValidScaleOf(leaf.__localBoxBounds, D$2.getDragBounds(leaf), dragBoundsType, leaf.getLocalPointByInner(leaf.getInnerPointByBox(origin)), scale, true);
|
|
8264
|
-
},
|
|
8265
|
-
axisMove(leaf, move) {
|
|
8266
|
-
const {draggable: draggable} = leaf;
|
|
8267
|
-
if (draggable === "x") move.y = 0;
|
|
8268
|
-
if (draggable === "y") move.x = 0;
|
|
8269
|
-
},
|
|
8270
|
-
getDragBounds(leaf) {
|
|
8271
|
-
const {dragBounds: dragBounds} = leaf;
|
|
8272
|
-
return dragBounds === "parent" ? leaf.parent.boxBounds : dragBounds;
|
|
8273
|
-
},
|
|
8274
|
-
isInnerMode(content, dragBounds, dragBoundsType, sideType) {
|
|
8275
|
-
return dragBoundsType === "inner" || dragBoundsType === "auto" && content[sideType] > dragBounds[sideType];
|
|
8276
|
-
},
|
|
8277
|
-
getValidMove(content, dragBounds, dragBoundsType, move, change) {
|
|
8278
|
-
const x = content.x + move.x, y = content.y + move.y, right = x + content.width, bottom = y + content.height;
|
|
8279
|
-
const boundsRight = dragBounds.x + dragBounds.width, boundsBottom = dragBounds.y + dragBounds.height;
|
|
8280
|
-
if (!change) move = Object.assign({}, move);
|
|
8281
|
-
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
8282
|
-
if (x > dragBounds.x) move.x += dragBounds.x - x; else if (right < boundsRight) move.x += boundsRight - right;
|
|
8283
|
-
} else {
|
|
8284
|
-
if (x < dragBounds.x) move.x += dragBounds.x - x; else if (right > boundsRight) move.x += boundsRight - right;
|
|
8285
|
-
}
|
|
8286
|
-
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
8287
|
-
if (y > dragBounds.y) move.y += dragBounds.y - y; else if (bottom < boundsBottom) move.y += boundsBottom - bottom;
|
|
8288
|
-
} else {
|
|
8289
|
-
if (y < dragBounds.y) move.y += dragBounds.y - y; else if (bottom > boundsBottom) move.y += boundsBottom - bottom;
|
|
8290
|
-
}
|
|
8291
|
-
move.x = float$1(move.x);
|
|
8292
|
-
move.y = float$1(move.y);
|
|
8293
|
-
return move;
|
|
8294
|
-
},
|
|
8295
|
-
getValidScaleOf(content, dragBounds, dragBoundsType, origin, scale, change) {
|
|
8296
|
-
if (!change) scale = Object.assign({}, scale);
|
|
8297
|
-
let fitScaleX, fitScaleY;
|
|
8298
|
-
tempContent.set(content).scaleOf(origin, scale.x, scale.y).unsign();
|
|
8299
|
-
tempMerge.set(tempContent).add(dragBounds);
|
|
8300
|
-
tempIntersect.set(tempContent).intersect(dragBounds);
|
|
8301
|
-
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
8302
|
-
fitScaleX = tempMerge.width / tempContent.width;
|
|
8303
|
-
} else {
|
|
8304
|
-
fitScaleX = tempIntersect.width / tempContent.width;
|
|
8305
|
-
}
|
|
8306
|
-
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
8307
|
-
fitScaleY = tempMerge.height / tempContent.height;
|
|
8308
|
-
} else {
|
|
8309
|
-
fitScaleY = tempIntersect.height / tempContent.height;
|
|
8310
|
-
}
|
|
8311
|
-
scale.x = float$1(tempIntersect.width) ? scale.x * fitScaleX : 1;
|
|
8312
|
-
scale.y = float$1(tempIntersect.height) ? scale.y * fitScaleY : 1;
|
|
8313
|
-
return scale;
|
|
8263
|
+
return box ? max$4(box.__updateRenderSpread(), spread) : spread;
|
|
8314
8264
|
}
|
|
8315
8265
|
};
|
|
8316
8266
|
|
|
8317
|
-
const D$2 = DragBoundsHelper;
|
|
8318
|
-
|
|
8319
8267
|
const {stintSet: stintSet$1} = DataHelper;
|
|
8320
8268
|
|
|
8321
8269
|
const UIRender = {
|
|
@@ -9981,6 +9929,106 @@ class UIEvent extends Event {
|
|
|
9981
9929
|
}
|
|
9982
9930
|
}
|
|
9983
9931
|
|
|
9932
|
+
const {min: min, max: max$3, abs: abs$7} = Math, {float: float$1, sign: sign$2} = MathHelper, {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = BoundsHelper;
|
|
9933
|
+
|
|
9934
|
+
const tempContent = new Bounds, tempDragBounds = new Bounds;
|
|
9935
|
+
|
|
9936
|
+
const DragBoundsHelper = {
|
|
9937
|
+
limitMove(leaf, move) {
|
|
9938
|
+
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
9939
|
+
if (dragBounds) D$2.getValidMove(leaf.__localBoxBounds, D$2.getDragBounds(leaf), dragBoundsType, move, true);
|
|
9940
|
+
D$2.axisMove(leaf, move);
|
|
9941
|
+
},
|
|
9942
|
+
limitScaleOf(leaf, origin, scale, lockRatio) {
|
|
9943
|
+
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
9944
|
+
if (dragBounds) D$2.getValidScaleOf(leaf.__localBoxBounds, D$2.getDragBounds(leaf), dragBoundsType, leaf.getLocalPointByInner(leaf.getInnerPointByBox(origin)), scale, lockRatio, true);
|
|
9945
|
+
},
|
|
9946
|
+
axisMove(leaf, move) {
|
|
9947
|
+
const {draggable: draggable} = leaf;
|
|
9948
|
+
if (draggable === "x") move.y = 0;
|
|
9949
|
+
if (draggable === "y") move.x = 0;
|
|
9950
|
+
},
|
|
9951
|
+
getDragBounds(leaf) {
|
|
9952
|
+
const {dragBounds: dragBounds} = leaf;
|
|
9953
|
+
return dragBounds === "parent" ? leaf.parent.boxBounds : dragBounds;
|
|
9954
|
+
},
|
|
9955
|
+
isInnerMode(content, dragBounds, dragBoundsType, sideType) {
|
|
9956
|
+
return dragBoundsType === "inner" || dragBoundsType === "auto" && content[sideType] > dragBounds[sideType];
|
|
9957
|
+
},
|
|
9958
|
+
getValidMove(content, dragBounds, dragBoundsType, move, change) {
|
|
9959
|
+
const x = content.x + move.x, y = content.y + move.y, right = x + content.width, bottom = y + content.height;
|
|
9960
|
+
const boundsRight = dragBounds.x + dragBounds.width, boundsBottom = dragBounds.y + dragBounds.height;
|
|
9961
|
+
if (!change) move = Object.assign({}, move);
|
|
9962
|
+
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
9963
|
+
if (x > dragBounds.x) move.x += dragBounds.x - x; else if (right < boundsRight) move.x += boundsRight - right;
|
|
9964
|
+
} else {
|
|
9965
|
+
if (x < dragBounds.x) move.x += dragBounds.x - x; else if (right > boundsRight) move.x += boundsRight - right;
|
|
9966
|
+
}
|
|
9967
|
+
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
9968
|
+
if (y > dragBounds.y) move.y += dragBounds.y - y; else if (bottom < boundsBottom) move.y += boundsBottom - bottom;
|
|
9969
|
+
} else {
|
|
9970
|
+
if (y < dragBounds.y) move.y += dragBounds.y - y; else if (bottom > boundsBottom) move.y += boundsBottom - bottom;
|
|
9971
|
+
}
|
|
9972
|
+
move.x = float$1(move.x);
|
|
9973
|
+
move.y = float$1(move.y);
|
|
9974
|
+
return move;
|
|
9975
|
+
},
|
|
9976
|
+
getValidScaleOf(content, dragBounds, dragBoundsType, origin, scale, lockRatio, change) {
|
|
9977
|
+
if (!change) scale = Object.assign({}, scale);
|
|
9978
|
+
tempDragBounds.set(dragBounds);
|
|
9979
|
+
tempContent.set(content).scaleOf(origin, scale.x, scale.y);
|
|
9980
|
+
const originLeftScale = (origin.x - content.x) / content.width, originRightScale = 1 - originLeftScale;
|
|
9981
|
+
const originTopScale = (origin.y - content.y) / content.height, originBottomScale = 1 - originTopScale;
|
|
9982
|
+
let correctScaleX = 1, correctScaleY = 1, aScale, bScale, aSize, bSize;
|
|
9983
|
+
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
9984
|
+
if (scale.x < 0) tempContent.scaleOf(origin, correctScaleX = 1 / scale.x, 1);
|
|
9985
|
+
aSize = float$1(tempContent.minX - tempDragBounds.minX);
|
|
9986
|
+
bSize = float$1(tempDragBounds.maxX - tempContent.maxX);
|
|
9987
|
+
aScale = originLeftScale && aSize > 0 ? 1 + aSize / (originLeftScale * tempContent.width) : 1;
|
|
9988
|
+
bScale = originRightScale && bSize > 0 ? 1 + bSize / (originRightScale * tempContent.width) : 1;
|
|
9989
|
+
correctScaleX *= max$3(aScale, bScale);
|
|
9990
|
+
} else {
|
|
9991
|
+
if (scale.x < 0) {
|
|
9992
|
+
if (float$1(minX(content) - minX(dragBounds)) <= 0 || float$1(maxX(dragBounds) - maxX(content)) <= 0) tempContent.scaleOf(origin, correctScaleX = 1 / scale.x, 1);
|
|
9993
|
+
tempContent.unsign();
|
|
9994
|
+
}
|
|
9995
|
+
aSize = float$1(tempDragBounds.minX - tempContent.minX);
|
|
9996
|
+
bSize = float$1(tempContent.maxX - tempDragBounds.maxX);
|
|
9997
|
+
aScale = originLeftScale && aSize > 0 ? 1 - aSize / (originLeftScale * tempContent.width) : 1;
|
|
9998
|
+
bScale = originRightScale && bSize > 0 ? 1 - bSize / (originRightScale * tempContent.width) : 1;
|
|
9999
|
+
correctScaleX *= min(aScale, bScale);
|
|
10000
|
+
}
|
|
10001
|
+
if (D$2.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
10002
|
+
if (scale.y < 0) tempContent.scaleOf(origin, 1, correctScaleY = 1 / scale.y);
|
|
10003
|
+
aSize = float$1(tempContent.minY - tempDragBounds.minY);
|
|
10004
|
+
bSize = float$1(tempDragBounds.maxY - tempContent.maxY);
|
|
10005
|
+
aScale = originTopScale && aSize > 0 ? 1 + aSize / (originTopScale * tempContent.height) : 1;
|
|
10006
|
+
bScale = originBottomScale && bSize > 0 ? 1 + bSize / (originBottomScale * tempContent.height) : 1;
|
|
10007
|
+
correctScaleY *= max$3(aScale, bScale);
|
|
10008
|
+
if (lockRatio) {
|
|
10009
|
+
aScale = max$3(abs$7(correctScaleX), abs$7(correctScaleY));
|
|
10010
|
+
correctScaleX = sign$2(correctScaleX) * aScale;
|
|
10011
|
+
correctScaleY = sign$2(correctScaleY) * aScale;
|
|
10012
|
+
}
|
|
10013
|
+
} else {
|
|
10014
|
+
if (scale.y < 0) {
|
|
10015
|
+
if (float$1(minY(content) - minY(dragBounds)) <= 0 || float$1(maxY(dragBounds) - maxY(content)) <= 0) tempContent.scaleOf(origin, 1, correctScaleY = 1 / scale.y);
|
|
10016
|
+
tempContent.unsign();
|
|
10017
|
+
}
|
|
10018
|
+
aSize = float$1(tempDragBounds.minY - tempContent.minY);
|
|
10019
|
+
bSize = float$1(tempContent.maxY - tempDragBounds.maxY);
|
|
10020
|
+
aScale = originTopScale && aSize > 0 ? 1 - aSize / (originTopScale * tempContent.height) : 1;
|
|
10021
|
+
bScale = originBottomScale && bSize > 0 ? 1 - bSize / (originBottomScale * tempContent.height) : 1;
|
|
10022
|
+
correctScaleY *= min(aScale, bScale);
|
|
10023
|
+
}
|
|
10024
|
+
scale.x *= isFinite(correctScaleX) ? correctScaleX : 1;
|
|
10025
|
+
scale.y *= isFinite(correctScaleY) ? correctScaleY : 1;
|
|
10026
|
+
return scale;
|
|
10027
|
+
}
|
|
10028
|
+
};
|
|
10029
|
+
|
|
10030
|
+
const D$2 = DragBoundsHelper;
|
|
10031
|
+
|
|
9984
10032
|
let PointerEvent = class PointerEvent extends UIEvent {};
|
|
9985
10033
|
|
|
9986
10034
|
PointerEvent.POINTER = "pointer";
|
|
@@ -11051,9 +11099,9 @@ const ui$5 = UI.prototype;
|
|
|
11051
11099
|
|
|
11052
11100
|
ui$5.__updateHitCanvas = function() {
|
|
11053
11101
|
if (this.__box) this.__box.__updateHitCanvas();
|
|
11054
|
-
const
|
|
11055
|
-
if (!
|
|
11056
|
-
const data = this.__
|
|
11102
|
+
const {hitCanvasManager: hitCanvasManager} = this.leafer || this.parent && this.parent.leafer || {};
|
|
11103
|
+
if (!hitCanvasManager) return;
|
|
11104
|
+
const data = this.__;
|
|
11057
11105
|
const isHitPixelFill = (data.__isAlphaPixelFill || data.__isCanvas) && data.hitFill === "pixel";
|
|
11058
11106
|
const isHitPixelStroke = data.__isAlphaPixelStroke && data.hitStroke === "pixel";
|
|
11059
11107
|
const isHitPixel = isHitPixelFill || isHitPixelStroke;
|
|
@@ -11637,7 +11685,14 @@ const PaintModule = {
|
|
|
11637
11685
|
|
|
11638
11686
|
let origin$1 = {}, tempMatrix$1 = getMatrixData();
|
|
11639
11687
|
|
|
11640
|
-
const {get: get$3, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, multiplyParent: multiplyParent, scale: scaleHelper, rotate: rotate$2, skew: skewHelper} = MatrixHelper;
|
|
11688
|
+
const {get: get$3, set: set, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, multiplyParent: multiplyParent, scale: scaleHelper, rotate: rotate$2, skew: skewHelper} = MatrixHelper;
|
|
11689
|
+
|
|
11690
|
+
function stretchMode(data, box, scaleX, scaleY) {
|
|
11691
|
+
const transform = get$3();
|
|
11692
|
+
translate$1(transform, box.x, box.y);
|
|
11693
|
+
if (scaleX) scaleHelper(transform, scaleX, scaleY);
|
|
11694
|
+
data.transform = transform;
|
|
11695
|
+
}
|
|
11641
11696
|
|
|
11642
11697
|
function fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
11643
11698
|
const transform = get$3();
|
|
@@ -11654,8 +11709,11 @@ function clipMode(data, box, x, y, scaleX, scaleY, rotation, skew, clipScaleX, c
|
|
|
11654
11709
|
const transform = get$3();
|
|
11655
11710
|
layout$3(transform, box, x, y, scaleX, scaleY, rotation, skew);
|
|
11656
11711
|
if (clipScaleX) {
|
|
11657
|
-
|
|
11658
|
-
|
|
11712
|
+
if (rotation || skew) {
|
|
11713
|
+
set(tempMatrix$1);
|
|
11714
|
+
scaleOfOuter$1(tempMatrix$1, box, clipScaleX, clipScaleY);
|
|
11715
|
+
multiplyParent(transform, tempMatrix$1);
|
|
11716
|
+
} else scaleOfOuter$1(transform, box, clipScaleX, clipScaleY);
|
|
11659
11717
|
}
|
|
11660
11718
|
data.transform = transform;
|
|
11661
11719
|
}
|
|
@@ -11751,7 +11809,10 @@ function getPatternData(paint, box, image) {
|
|
|
11751
11809
|
if (offset) PointHelper.move(tempImage, offset);
|
|
11752
11810
|
switch (mode) {
|
|
11753
11811
|
case "stretch":
|
|
11754
|
-
if (!sameBox)
|
|
11812
|
+
if (!sameBox) {
|
|
11813
|
+
scaleX = box.width / width, scaleY = box.height / height;
|
|
11814
|
+
stretchMode(data, box, scaleX, scaleY);
|
|
11815
|
+
}
|
|
11755
11816
|
break;
|
|
11756
11817
|
|
|
11757
11818
|
case "normal":
|
|
@@ -11760,7 +11821,7 @@ function getPatternData(paint, box, image) {
|
|
|
11760
11821
|
let clipScaleX, clipScaleY;
|
|
11761
11822
|
if (clipSize) clipScaleX = box.width / clipSize.width, clipScaleY = box.height / clipSize.height;
|
|
11762
11823
|
clipMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation, skew, clipScaleX, clipScaleY);
|
|
11763
|
-
if (clipScaleX) scaleX = scaleX ? scaleX * clipScaleX :
|
|
11824
|
+
if (clipScaleX) scaleX = scaleX ? scaleX * clipScaleX : clipScaleX, scaleY = scaleY ? scaleY * clipScaleY : clipScaleY;
|
|
11764
11825
|
}
|
|
11765
11826
|
break;
|
|
11766
11827
|
|
|
@@ -11777,17 +11838,14 @@ function getPatternData(paint, box, image) {
|
|
|
11777
11838
|
if (scaleX) fillOrFitMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation);
|
|
11778
11839
|
}
|
|
11779
11840
|
if (!data.transform) {
|
|
11780
|
-
if (box.x || box.y)
|
|
11781
|
-
data.transform = get$2();
|
|
11782
|
-
translate(data.transform, box.x, box.y);
|
|
11783
|
-
}
|
|
11841
|
+
if (box.x || box.y) translate(data.transform = get$2(), box.x, box.y);
|
|
11784
11842
|
}
|
|
11785
|
-
|
|
11843
|
+
data.width = width;
|
|
11844
|
+
data.height = height;
|
|
11845
|
+
if (scaleX) {
|
|
11786
11846
|
data.scaleX = scaleX;
|
|
11787
11847
|
data.scaleY = scaleY;
|
|
11788
11848
|
}
|
|
11789
|
-
data.width = width;
|
|
11790
|
-
data.height = height;
|
|
11791
11849
|
if (opacity) data.opacity = opacity;
|
|
11792
11850
|
if (filters) data.filters = filters;
|
|
11793
11851
|
if (repeat) data.repeat = isString(repeat) ? repeat === "x" ? "repeat-x" : "repeat-y" : "repeat";
|
|
@@ -11919,7 +11977,7 @@ function ignoreRender(ui, value) {
|
|
|
11919
11977
|
|
|
11920
11978
|
const {get: get$1, scale: scale$2, copy: copy$4} = MatrixHelper;
|
|
11921
11979
|
|
|
11922
|
-
const {floor: floor$1, ceil: ceil$1, max: max$2, abs: abs$
|
|
11980
|
+
const {floor: floor$1, ceil: ceil$1, max: max$2, abs: abs$6} = Math;
|
|
11923
11981
|
|
|
11924
11982
|
function createPattern(ui, paint, pixelRatio) {
|
|
11925
11983
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, paint.scaleFixed);
|
|
@@ -11930,8 +11988,8 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
11930
11988
|
scaleX *= pixelRatio;
|
|
11931
11989
|
scaleY *= pixelRatio;
|
|
11932
11990
|
if (sx) {
|
|
11933
|
-
sx = abs$
|
|
11934
|
-
sy = abs$
|
|
11991
|
+
sx = abs$6(sx);
|
|
11992
|
+
sy = abs$6(sy);
|
|
11935
11993
|
imageMatrix = get$1();
|
|
11936
11994
|
copy$4(imageMatrix, transform);
|
|
11937
11995
|
scale$2(imageMatrix, 1 / sx, 1 / sy);
|
|
@@ -12073,6 +12131,7 @@ const PaintImageModule = {
|
|
|
12073
12131
|
recycleImage: recycleImage,
|
|
12074
12132
|
createData: createData,
|
|
12075
12133
|
getPatternData: getPatternData,
|
|
12134
|
+
stretchMode: stretchMode,
|
|
12076
12135
|
fillOrFitMode: fillOrFitMode,
|
|
12077
12136
|
clipMode: clipMode,
|
|
12078
12137
|
repeatMode: repeatMode
|
|
@@ -12183,7 +12242,7 @@ const PaintGradientModule = {
|
|
|
12183
12242
|
getTransform: getTransform
|
|
12184
12243
|
};
|
|
12185
12244
|
|
|
12186
|
-
const {copy: copy$3, move: move$6, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max$1} = Math;
|
|
12245
|
+
const {copy: copy$3, move: move$6, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max$1, abs: abs$5} = Math;
|
|
12187
12246
|
|
|
12188
12247
|
const tempBounds = {}, tempMatrix = new Matrix;
|
|
12189
12248
|
|
|
@@ -12227,7 +12286,7 @@ function shadow$1(ui, current, shape) {
|
|
|
12227
12286
|
function getShadowRenderSpread(_ui, shadow) {
|
|
12228
12287
|
let top = 0, right = 0, bottom = 0, left = 0, x, y, spread, blur;
|
|
12229
12288
|
shadow.forEach(item => {
|
|
12230
|
-
x = item.x || 0, y = item.y || 0,
|
|
12289
|
+
x = item.x || 0, y = item.y || 0, blur = (item.blur || 0) * 1.5, spread = abs$5(item.spread || 0);
|
|
12231
12290
|
top = max$1(top, spread + blur - y);
|
|
12232
12291
|
right = max$1(right, spread + blur + x);
|
|
12233
12292
|
bottom = max$1(bottom, spread + blur + y);
|
|
@@ -12238,11 +12297,11 @@ function getShadowRenderSpread(_ui, shadow) {
|
|
|
12238
12297
|
|
|
12239
12298
|
function getShadowTransform(ui, canvas, _shape, shadow, outBounds, otherScale, isInnerShaodw) {
|
|
12240
12299
|
if (shadow.spread) {
|
|
12241
|
-
const
|
|
12300
|
+
const spread = shadow.spread * 2 * otherScale * (isInnerShaodw ? -1 : 1), {width: width, height: height} = ui.__layout.strokeBounds;
|
|
12242
12301
|
tempMatrix.set().scaleOfOuter({
|
|
12243
12302
|
x: (outBounds.x + outBounds.width / 2) * canvas.pixelRatio,
|
|
12244
12303
|
y: (outBounds.y + outBounds.height / 2) * canvas.pixelRatio
|
|
12245
|
-
},
|
|
12304
|
+
}, 1 + spread / width, 1 + spread / height);
|
|
12246
12305
|
return tempMatrix;
|
|
12247
12306
|
}
|
|
12248
12307
|
return undefined;
|
|
@@ -13009,7 +13068,10 @@ function targetAttr(fn) {
|
|
|
13009
13068
|
t.setDimOthers(false);
|
|
13010
13069
|
t.setBright(false);
|
|
13011
13070
|
if (isArray(value) && value.length > 1 && value[0].locked) value.splice(0, 1);
|
|
13012
|
-
if (t.single)
|
|
13071
|
+
if (t.single) {
|
|
13072
|
+
delete t.element.syncEventer;
|
|
13073
|
+
delete t.element.__world.ignorePixelSnap;
|
|
13074
|
+
}
|
|
13013
13075
|
}
|
|
13014
13076
|
const type = isSelect ? EditorEvent.BEFORE_SELECT : EditorEvent.BEFORE_HOVER;
|
|
13015
13077
|
if (this.hasEvent(type)) this.emitEvent(new EditorEvent(type, {
|
|
@@ -13030,7 +13092,15 @@ function mergeConfigAttr() {
|
|
|
13030
13092
|
defineKey(target, key, {
|
|
13031
13093
|
get() {
|
|
13032
13094
|
const {config: config, element: element, dragPoint: dragPoint, editBox: editBox, app: app} = this, mergeConfig = Object.assign({}, config);
|
|
13033
|
-
if (element && element.editConfig)
|
|
13095
|
+
if (element && element.editConfig) {
|
|
13096
|
+
let {editConfig: editConfig} = element;
|
|
13097
|
+
if (editConfig.hover || editConfig.hoverStyle) {
|
|
13098
|
+
editConfig = Object.assign({}, editConfig);
|
|
13099
|
+
delete editConfig.hover;
|
|
13100
|
+
delete editConfig.hoverStyle;
|
|
13101
|
+
}
|
|
13102
|
+
Object.assign(mergeConfig, editConfig);
|
|
13103
|
+
}
|
|
13034
13104
|
if (editBox.config) Object.assign(mergeConfig, editBox.config);
|
|
13035
13105
|
if (dragPoint) {
|
|
13036
13106
|
if (dragPoint.editConfig) Object.assign(mergeConfig, dragPoint.editConfig);
|
|
@@ -13047,7 +13117,7 @@ function mergeConfigAttr() {
|
|
|
13047
13117
|
};
|
|
13048
13118
|
}
|
|
13049
13119
|
|
|
13050
|
-
const {abs: abs$
|
|
13120
|
+
const {abs: abs$4} = Math;
|
|
13051
13121
|
|
|
13052
13122
|
const {copy: copy$2, scale: scale$1} = MatrixHelper;
|
|
13053
13123
|
|
|
@@ -13090,7 +13160,7 @@ class Stroker extends UI {
|
|
|
13090
13160
|
leaf = list[i];
|
|
13091
13161
|
const {worldTransform: worldTransform, worldRenderBounds: worldRenderBounds} = leaf;
|
|
13092
13162
|
if (worldRenderBounds.width && worldRenderBounds.height && (!bounds || bounds.hit(worldRenderBounds, options.matrix))) {
|
|
13093
|
-
const aScaleX = abs$
|
|
13163
|
+
const aScaleX = abs$4(worldTransform.scaleX), aScaleY = abs$4(worldTransform.scaleY);
|
|
13094
13164
|
copy$2(matrix$1, worldTransform);
|
|
13095
13165
|
matrix$1.half = strokeWidth % 2;
|
|
13096
13166
|
if (aScaleX !== aScaleY) {
|
|
@@ -13104,7 +13174,7 @@ class Stroker extends UI {
|
|
|
13104
13174
|
canvas.setWorld(matrix$1, options.matrix);
|
|
13105
13175
|
canvas.beginPath();
|
|
13106
13176
|
if (leaf.__.__useArrow) leaf.__drawPath(canvas); else leaf.__.__pathForRender ? leaf.__drawRenderPath(canvas) : leaf.__drawPathByBox(canvas);
|
|
13107
|
-
data.strokeWidth = strokeWidth / abs$
|
|
13177
|
+
data.strokeWidth = strokeWidth / abs$4(worldTransform.scaleX);
|
|
13108
13178
|
}
|
|
13109
13179
|
if (stroke) isString(stroke) ? Paint.stroke(stroke, this, canvas) : Paint.strokes(stroke, this, canvas);
|
|
13110
13180
|
if (fill) isString(fill) ? Paint.fill(fill, this, canvas) : Paint.fills(fill, this, canvas);
|
|
@@ -13216,8 +13286,10 @@ class EditSelect extends Group {
|
|
|
13216
13286
|
onHover() {
|
|
13217
13287
|
const {editor: editor} = this;
|
|
13218
13288
|
if (this.running && !this.dragging && !editor.dragging) {
|
|
13219
|
-
const {
|
|
13220
|
-
|
|
13289
|
+
const {hoverTarget: hoverTarget, mergeConfig: mergeConfig} = editor, config = Object.assign({}, mergeConfig);
|
|
13290
|
+
if (hoverTarget && hoverTarget.editConfig) Object.assign(config, hoverTarget.editConfig);
|
|
13291
|
+
const {stroke: stroke, strokeWidth: strokeWidth, hover: hover, hoverStyle: hoverStyle} = config;
|
|
13292
|
+
this.hoverStroker.setTarget(hover ? hoverTarget : null, Object.assign({
|
|
13221
13293
|
stroke: stroke,
|
|
13222
13294
|
strokeWidth: strokeWidth
|
|
13223
13295
|
}, hoverStyle || {}));
|
|
@@ -13397,13 +13469,11 @@ class EditSelect extends Group {
|
|
|
13397
13469
|
|
|
13398
13470
|
const {topLeft: topLeft$1, top: top$1, topRight: topRight$1, right: right$2, bottomRight: bottomRight, bottom: bottom$1, bottomLeft: bottomLeft, left: left$2} = Direction9;
|
|
13399
13471
|
|
|
13400
|
-
const {toPoint: toPoint} = AroundHelper;
|
|
13401
|
-
|
|
13402
|
-
const {within: within$3, sign: sign$1} = MathHelper;
|
|
13472
|
+
const {toPoint: toPoint} = AroundHelper, {within: within$3, sign: sign$1} = MathHelper, {abs: abs$3} = Math;
|
|
13403
13473
|
|
|
13404
13474
|
const EditDataHelper = {
|
|
13405
13475
|
getScaleData(target, startBounds, direction, totalMoveOrScale, lockRatio, around, flipable, scaleMode) {
|
|
13406
|
-
let align, origin = {}, scaleX = 1, scaleY = 1;
|
|
13476
|
+
let align, origin = {}, scaleX = 1, scaleY = 1, lockScale;
|
|
13407
13477
|
const {boxBounds: boxBounds, widthRange: widthRange, heightRange: heightRange, dragBounds: dragBounds, worldBoxBounds: worldBoxBounds} = target;
|
|
13408
13478
|
const {width: width, height: height} = startBounds;
|
|
13409
13479
|
const originChangedScaleX = target.scaleX / startBounds.scaleX;
|
|
@@ -13473,23 +13543,22 @@ const EditDataHelper = {
|
|
|
13473
13543
|
if (lockRatio === "corner" && direction % 2) {
|
|
13474
13544
|
lockRatio = false;
|
|
13475
13545
|
} else {
|
|
13476
|
-
let scale;
|
|
13477
13546
|
switch (direction) {
|
|
13478
13547
|
case top$1:
|
|
13479
13548
|
case bottom$1:
|
|
13480
|
-
|
|
13549
|
+
scaleX = scaleY;
|
|
13481
13550
|
break;
|
|
13482
13551
|
|
|
13483
13552
|
case left$2:
|
|
13484
13553
|
case right$2:
|
|
13485
|
-
|
|
13554
|
+
scaleY = scaleX;
|
|
13486
13555
|
break;
|
|
13487
13556
|
|
|
13488
13557
|
default:
|
|
13489
|
-
|
|
13558
|
+
lockScale = Math.sqrt(abs$3(scaleX * scaleY));
|
|
13559
|
+
scaleX = sign$1(scaleX) * lockScale;
|
|
13560
|
+
scaleY = sign$1(scaleY) * lockScale;
|
|
13490
13561
|
}
|
|
13491
|
-
scaleX = scaleX < 0 ? -scale : scale;
|
|
13492
|
-
scaleY = scaleY < 0 ? -scale : scale;
|
|
13493
13562
|
}
|
|
13494
13563
|
}
|
|
13495
13564
|
}
|
|
@@ -13507,7 +13576,7 @@ const EditDataHelper = {
|
|
|
13507
13576
|
x: scaleX,
|
|
13508
13577
|
y: scaleY
|
|
13509
13578
|
};
|
|
13510
|
-
DragBoundsHelper.limitScaleOf(target, origin, scaleData);
|
|
13579
|
+
DragBoundsHelper.limitScaleOf(target, origin, scaleData, lockRatio);
|
|
13511
13580
|
scaleX = scaleData.x;
|
|
13512
13581
|
scaleY = scaleData.y;
|
|
13513
13582
|
}
|
|
@@ -13519,9 +13588,13 @@ const EditDataHelper = {
|
|
|
13519
13588
|
const nowHeight = boxBounds.height * target.scaleY;
|
|
13520
13589
|
scaleY = within$3(nowHeight * scaleY, heightRange) / nowHeight;
|
|
13521
13590
|
}
|
|
13522
|
-
if (useScaleX &&
|
|
13523
|
-
if (useScaleY &&
|
|
13524
|
-
if (lockRatio && scaleX !== scaleY)
|
|
13591
|
+
if (useScaleX && abs$3(scaleX * worldBoxBounds.width) < 1) scaleX = sign$1(scaleX) / worldBoxBounds.width;
|
|
13592
|
+
if (useScaleY && abs$3(scaleY * worldBoxBounds.height) < 1) scaleY = sign$1(scaleY) / worldBoxBounds.height;
|
|
13593
|
+
if (lockRatio && scaleX !== scaleY) {
|
|
13594
|
+
lockScale = Math.min(abs$3(scaleX), abs$3(scaleY));
|
|
13595
|
+
scaleX = sign$1(scaleX) * lockScale;
|
|
13596
|
+
scaleY = sign$1(scaleY) * lockScale;
|
|
13597
|
+
}
|
|
13525
13598
|
return {
|
|
13526
13599
|
origin: origin,
|
|
13527
13600
|
scaleX: scaleX,
|
|
@@ -13771,7 +13844,7 @@ class EditBox extends Group {
|
|
|
13771
13844
|
return this.scaleX * this.scaleY < 0;
|
|
13772
13845
|
}
|
|
13773
13846
|
get canUse() {
|
|
13774
|
-
return this.
|
|
13847
|
+
return this.app && this.editor.editing;
|
|
13775
13848
|
}
|
|
13776
13849
|
get canGesture() {
|
|
13777
13850
|
if (!this.canUse) return false;
|
|
@@ -13852,7 +13925,7 @@ class EditBox extends Group {
|
|
|
13852
13925
|
}
|
|
13853
13926
|
load() {
|
|
13854
13927
|
const {target: target, mergeConfig: mergeConfig, single: single, rect: rect, circle: circle, resizePoints: resizePoints, resizeLines: resizeLines} = this;
|
|
13855
|
-
const {stroke: stroke, strokeWidth: strokeWidth, resizeLine: resizeLine} = mergeConfig;
|
|
13928
|
+
const {stroke: stroke, strokeWidth: strokeWidth, resizeLine: resizeLine, ignorePixelSnap: ignorePixelSnap} = mergeConfig;
|
|
13856
13929
|
const pointsStyle = this.getPointsStyle();
|
|
13857
13930
|
const middlePointsStyle = this.getMiddlePointsStyle();
|
|
13858
13931
|
this.visible = !target.locked;
|
|
@@ -13872,16 +13945,16 @@ class EditBox extends Group {
|
|
|
13872
13945
|
strokeWidth: strokeWidth,
|
|
13873
13946
|
editConfig: editConfig
|
|
13874
13947
|
}, mergeConfig.rect || {}));
|
|
13875
|
-
const
|
|
13876
|
-
rect.hittable = !
|
|
13877
|
-
|
|
13878
|
-
if (syncEventer) {
|
|
13948
|
+
const rectThrough = isNull(mergeConfig.rectThrough) ? single : mergeConfig.rectThrough;
|
|
13949
|
+
rect.hittable = !rectThrough;
|
|
13950
|
+
if (rectThrough) {
|
|
13879
13951
|
target.syncEventer = rect;
|
|
13880
13952
|
this.app.interaction.bottomList = [ {
|
|
13881
13953
|
target: rect,
|
|
13882
13954
|
proxy: target
|
|
13883
13955
|
} ];
|
|
13884
13956
|
}
|
|
13957
|
+
if (single) DataHelper.stintSet(target.__world, "ignorePixelSnap", ignorePixelSnap);
|
|
13885
13958
|
updateMoveCursor(this);
|
|
13886
13959
|
}
|
|
13887
13960
|
update() {
|
|
@@ -14045,29 +14118,25 @@ class EditBox extends Group {
|
|
|
14045
14118
|
this.dragPoint = null;
|
|
14046
14119
|
}
|
|
14047
14120
|
onTransformStart(e) {
|
|
14048
|
-
if (this.
|
|
14049
|
-
|
|
14050
|
-
|
|
14051
|
-
|
|
14052
|
-
|
|
14053
|
-
|
|
14054
|
-
|
|
14055
|
-
|
|
14056
|
-
|
|
14057
|
-
|
|
14058
|
-
|
|
14059
|
-
|
|
14060
|
-
dragStartData.rotation = target.rotation;
|
|
14061
|
-
}
|
|
14121
|
+
if (this.moving) this.editor.opacity = this.mergedConfig.hideOnMove ? 0 : 1;
|
|
14122
|
+
if (this.resizing) ResizeEvent.resizingKeys = this.editor.leafList.keys;
|
|
14123
|
+
const {dragStartData: dragStartData, target: target} = this;
|
|
14124
|
+
dragStartData.x = e.x;
|
|
14125
|
+
dragStartData.y = e.y;
|
|
14126
|
+
dragStartData.totalOffset = getPointData();
|
|
14127
|
+
dragStartData.point = {
|
|
14128
|
+
x: target.x,
|
|
14129
|
+
y: target.y
|
|
14130
|
+
};
|
|
14131
|
+
dragStartData.bounds = Object.assign({}, target.getLayoutBounds("box", "local"));
|
|
14132
|
+
dragStartData.rotation = target.rotation;
|
|
14062
14133
|
}
|
|
14063
14134
|
onTransformEnd(e) {
|
|
14064
|
-
if (this.
|
|
14065
|
-
|
|
14066
|
-
|
|
14067
|
-
|
|
14068
|
-
|
|
14069
|
-
this.update();
|
|
14070
|
-
}
|
|
14135
|
+
if (this.canDragLimitAnimate && (e instanceof DragEvent || e instanceof MoveEvent)) this.transformTool.onMove(e);
|
|
14136
|
+
if (this.resizing) ResizeEvent.resizingKeys = null;
|
|
14137
|
+
this.dragging = this.gesturing = this.moving = this.resizing = this.rotating = this.skewing = false;
|
|
14138
|
+
this.editor.opacity = 1;
|
|
14139
|
+
this.editor.update();
|
|
14071
14140
|
}
|
|
14072
14141
|
onMove(e) {
|
|
14073
14142
|
if (this.canGesture && e.moveType !== "drag") {
|
|
@@ -14096,6 +14165,12 @@ class EditBox extends Group {
|
|
|
14096
14165
|
}
|
|
14097
14166
|
}
|
|
14098
14167
|
}
|
|
14168
|
+
onGestureStart(e) {
|
|
14169
|
+
if (this.canGesture && e.moveType !== "drag") this.onTransformStart(e);
|
|
14170
|
+
}
|
|
14171
|
+
onGestureEnd(e) {
|
|
14172
|
+
if (this.canGesture && e.moveType !== "drag") this.onTransformEnd(e);
|
|
14173
|
+
}
|
|
14099
14174
|
isHoldRotateKey(e) {
|
|
14100
14175
|
const {rotateKey: rotateKey} = this.mergedConfig;
|
|
14101
14176
|
if (rotateKey) return e.isHoldKeys(rotateKey);
|
|
@@ -14165,7 +14240,7 @@ class EditBox extends Group {
|
|
|
14165
14240
|
const {rect: rect, editor: editor, __eventIds: events} = this;
|
|
14166
14241
|
events.push(rect.on_([ [ PointerEvent.DOUBLE_TAP, this.onDoubleTap, this ], [ PointerEvent.LONG_PRESS, this.onLongPress, this ] ]));
|
|
14167
14242
|
this.waitLeafer(() => {
|
|
14168
|
-
events.push(editor.app.on_([ [ [ KeyEvent.HOLD, KeyEvent.UP ], this.onKey, this ], [ KeyEvent.DOWN, this.onArrow, this ], [
|
|
14243
|
+
events.push(editor.app.on_([ [ [ KeyEvent.HOLD, KeyEvent.UP ], this.onKey, this ], [ KeyEvent.DOWN, this.onArrow, this ], [ MoveEvent.BEFORE_MOVE, this.onMove, this, true ], [ ZoomEvent.BEFORE_ZOOM, this.onScale, this, true ], [ RotateEvent.BEFORE_ROTATE, this.onRotate, this, true ], [ [ MoveEvent.START, ZoomEvent.START, RotateEvent.START ], this.onGestureStart, this ], [ [ MoveEvent.END, ZoomEvent.END, RotateEvent.END ], this.onGestureEnd, this ] ]));
|
|
14169
14244
|
});
|
|
14170
14245
|
}
|
|
14171
14246
|
__removeListenEvents() {
|