leafer-draw 1.5.1 → 1.5.2
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 +31 -12
- package/dist/web.cjs.map +1 -1
- package/dist/web.esm.js +31 -12
- package/dist/web.esm.js.map +1 -1
- package/dist/web.esm.min.js +1 -1
- package/dist/web.esm.min.js.map +1 -1
- package/dist/web.js +106 -50
- package/dist/web.js.map +1 -1
- 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 +106 -51
- package/dist/web.module.js.map +1 -1
- package/dist/web.module.min.js +1 -1
- package/dist/web.module.min.js.map +1 -1
- package/package.json +2 -2
package/dist/web.js
CHANGED
|
@@ -119,8 +119,9 @@ var LeaferUI = (function (exports) {
|
|
|
119
119
|
if (!scaleData)
|
|
120
120
|
scaleData = {};
|
|
121
121
|
if (size) {
|
|
122
|
-
|
|
123
|
-
scaleData.
|
|
122
|
+
const scaleX = (typeof size === 'number' ? size : size.width || 0) / originSize.width, scaleY = (typeof size === 'number' ? size : size.height || 0) / originSize.height;
|
|
123
|
+
scaleData.scaleX = scaleX || scaleY || 1;
|
|
124
|
+
scaleData.scaleY = scaleY || scaleX || 1;
|
|
124
125
|
}
|
|
125
126
|
else if (scale)
|
|
126
127
|
MathHelper.assignScale(scaleData, scale);
|
|
@@ -1693,6 +1694,9 @@ var LeaferUI = (function (exports) {
|
|
|
1693
1694
|
function isNull(value) {
|
|
1694
1695
|
return value === undefined || value === null;
|
|
1695
1696
|
}
|
|
1697
|
+
function isEmptyData(value) {
|
|
1698
|
+
return JSON.stringify(value) === '{}';
|
|
1699
|
+
}
|
|
1696
1700
|
|
|
1697
1701
|
/******************************************************************************
|
|
1698
1702
|
Copyright (c) Microsoft Corporation.
|
|
@@ -2348,7 +2352,7 @@ var LeaferUI = (function (exports) {
|
|
|
2348
2352
|
const { sin: sin$3, cos: cos$3, atan2: atan2$1, ceil: ceil$1, abs: abs$3, PI: PI$2, sqrt: sqrt$1, pow } = Math;
|
|
2349
2353
|
const { setPoint: setPoint$1, addPoint: addPoint$1 } = TwoPointBoundsHelper;
|
|
2350
2354
|
const { set, toNumberPoints } = PointHelper;
|
|
2351
|
-
const { M: M$5, L: L$6, C: C$
|
|
2355
|
+
const { M: M$5, L: L$6, C: C$4, Q: Q$4, Z: Z$5 } = PathCommandMap;
|
|
2352
2356
|
const tempPoint$2 = {};
|
|
2353
2357
|
const BezierHelper = {
|
|
2354
2358
|
points(data, originPoints, curve, close) {
|
|
@@ -2383,7 +2387,7 @@ var LeaferUI = (function (exports) {
|
|
|
2383
2387
|
data.push(Q$4, c1X, c1Y, bX, bY);
|
|
2384
2388
|
}
|
|
2385
2389
|
else {
|
|
2386
|
-
data.push(C$
|
|
2390
|
+
data.push(C$4, c2X, c2Y, c1X, c1Y, bX, bY);
|
|
2387
2391
|
}
|
|
2388
2392
|
c2X = bX + cb * cX;
|
|
2389
2393
|
c2Y = bY + cb * cY;
|
|
@@ -2488,7 +2492,7 @@ var LeaferUI = (function (exports) {
|
|
|
2488
2492
|
x2 = cx + x + control * (rotationCos * radiusX * endSin + rotationSin * radiusY * endCos);
|
|
2489
2493
|
y2 = cy + y + control * (rotationSin * radiusX * endSin - rotationCos * radiusY * endCos);
|
|
2490
2494
|
if (data)
|
|
2491
|
-
data.push(C$
|
|
2495
|
+
data.push(C$4, x1, y1, x2, y2, cx + x, cy + y);
|
|
2492
2496
|
if (setPointBounds)
|
|
2493
2497
|
toTwoPointBounds$1(cx + startX, cy + startY, x1, y1, x2, y2, cx + x, cy + y, setPointBounds, true);
|
|
2494
2498
|
startX = x;
|
|
@@ -2502,7 +2506,7 @@ var LeaferUI = (function (exports) {
|
|
|
2502
2506
|
set(setEndPoint, cx + x, cy + y);
|
|
2503
2507
|
},
|
|
2504
2508
|
quadraticCurveTo(data, fromX, fromY, x1, y1, toX, toY) {
|
|
2505
|
-
data.push(C$
|
|
2509
|
+
data.push(C$4, (fromX + 2 * x1) / 3, (fromY + 2 * y1) / 3, (toX + 2 * x1) / 3, (toY + 2 * y1) / 3, toX, toY);
|
|
2506
2510
|
},
|
|
2507
2511
|
toTwoPointBoundsByQuadraticCurve(fromX, fromY, x1, y1, toX, toY, pointBounds, addMode) {
|
|
2508
2512
|
toTwoPointBounds$1(fromX, fromY, (fromX + 2 * x1) / 3, (fromY + 2 * y1) / 3, (toX + 2 * x1) / 3, (toY + 2 * y1) / 3, toX, toY, pointBounds, addMode);
|
|
@@ -2610,7 +2614,7 @@ var LeaferUI = (function (exports) {
|
|
|
2610
2614
|
}
|
|
2611
2615
|
};
|
|
2612
2616
|
|
|
2613
|
-
const { M: M$4, m, L: L$5, l, H, h, V, v, C: C$
|
|
2617
|
+
const { M: M$4, m, L: L$5, l, H, h, V, v, C: C$3, c, S, s, Q: Q$3, q, T, t, A, a, Z: Z$4, z, N: N$3, D: D$3, X: X$3, G: G$3, F: F$4, O: O$3, P: P$3, U: U$3 } = PathCommandMap;
|
|
2614
2618
|
const { rect: rect$2, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1 } = BezierHelper;
|
|
2615
2619
|
const { ellipticalArc } = EllipseHelper;
|
|
2616
2620
|
const debug$c = Debug.get('PathConvert');
|
|
@@ -2738,14 +2742,14 @@ var LeaferUI = (function (exports) {
|
|
|
2738
2742
|
old[i + 4] += y;
|
|
2739
2743
|
command = S;
|
|
2740
2744
|
case S:
|
|
2741
|
-
smooth = (lastCommand === C$
|
|
2745
|
+
smooth = (lastCommand === C$3) || (lastCommand === S);
|
|
2742
2746
|
x1 = smooth ? (x * 2 - controlX) : old[i + 1];
|
|
2743
2747
|
y1 = smooth ? (y * 2 - controlY) : old[i + 2];
|
|
2744
2748
|
controlX = old[i + 1];
|
|
2745
2749
|
controlY = old[i + 2];
|
|
2746
2750
|
x = old[i + 3];
|
|
2747
2751
|
y = old[i + 4];
|
|
2748
|
-
data.push(C$
|
|
2752
|
+
data.push(C$3, x1, y1, controlX, controlY, x, y);
|
|
2749
2753
|
i += 5;
|
|
2750
2754
|
break;
|
|
2751
2755
|
case c:
|
|
@@ -2755,13 +2759,13 @@ var LeaferUI = (function (exports) {
|
|
|
2755
2759
|
old[i + 4] += y;
|
|
2756
2760
|
old[i + 5] += x;
|
|
2757
2761
|
old[i + 6] += y;
|
|
2758
|
-
command = C$
|
|
2759
|
-
case C$
|
|
2762
|
+
command = C$3;
|
|
2763
|
+
case C$3:
|
|
2760
2764
|
controlX = old[i + 3];
|
|
2761
2765
|
controlY = old[i + 4];
|
|
2762
2766
|
x = old[i + 5];
|
|
2763
2767
|
y = old[i + 6];
|
|
2764
|
-
data.push(C$
|
|
2768
|
+
data.push(C$3, old[i + 1], old[i + 2], controlX, controlY, x, y);
|
|
2765
2769
|
i += 7;
|
|
2766
2770
|
break;
|
|
2767
2771
|
case t:
|
|
@@ -2872,7 +2876,7 @@ var LeaferUI = (function (exports) {
|
|
|
2872
2876
|
data.push(L$5, item.x, item.y);
|
|
2873
2877
|
break;
|
|
2874
2878
|
case 'C':
|
|
2875
|
-
data.push(C$
|
|
2879
|
+
data.push(C$3, item.x1, item.y1, item.x2, item.y2, item.x, item.y);
|
|
2876
2880
|
break;
|
|
2877
2881
|
case 'Q':
|
|
2878
2882
|
data.push(Q$3, item.x1, item.y1, item.x, item.y);
|
|
@@ -2899,7 +2903,7 @@ var LeaferUI = (function (exports) {
|
|
|
2899
2903
|
};
|
|
2900
2904
|
const { current, pushData, copyData } = PathConvert;
|
|
2901
2905
|
|
|
2902
|
-
const { M: M$3, L: L$4, C: C$
|
|
2906
|
+
const { M: M$3, L: L$4, C: C$2, Q: Q$2, Z: Z$3, N: N$2, D: D$2, X: X$2, G: G$2, F: F$3, O: O$2, P: P$2, U: U$2 } = PathCommandMap;
|
|
2903
2907
|
const { getMinDistanceFrom, getRadianFrom } = PointHelper;
|
|
2904
2908
|
const { tan, min, abs: abs$2 } = Math;
|
|
2905
2909
|
const startPoint = {};
|
|
@@ -2914,7 +2918,7 @@ var LeaferUI = (function (exports) {
|
|
|
2914
2918
|
data.push(L$4, x, y);
|
|
2915
2919
|
},
|
|
2916
2920
|
bezierCurveTo(data, x1, y1, x2, y2, x, y) {
|
|
2917
|
-
data.push(C$
|
|
2921
|
+
data.push(C$2, x1, y1, x2, y2, x, y);
|
|
2918
2922
|
},
|
|
2919
2923
|
quadraticCurveTo(data, x1, y1, x, y) {
|
|
2920
2924
|
data.push(Q$2, x1, y1, x, y);
|
|
@@ -3076,7 +3080,7 @@ var LeaferUI = (function (exports) {
|
|
|
3076
3080
|
paint() { }
|
|
3077
3081
|
}
|
|
3078
3082
|
|
|
3079
|
-
const { M: M$2, L: L$3, C: C$
|
|
3083
|
+
const { M: M$2, L: L$3, C: C$1, Q: Q$1, Z: Z$2, N: N$1, D: D$1, X: X$1, G: G$1, F: F$2, O: O$1, P: P$1, U: U$1 } = PathCommandMap;
|
|
3080
3084
|
const debug$b = Debug.get('PathDrawer');
|
|
3081
3085
|
const PathDrawer = {
|
|
3082
3086
|
drawPathByData(drawer, data) {
|
|
@@ -3095,7 +3099,7 @@ var LeaferUI = (function (exports) {
|
|
|
3095
3099
|
drawer.lineTo(data[i + 1], data[i + 2]);
|
|
3096
3100
|
i += 3;
|
|
3097
3101
|
break;
|
|
3098
|
-
case C$
|
|
3102
|
+
case C$1:
|
|
3099
3103
|
drawer.bezierCurveTo(data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5], data[i + 6]);
|
|
3100
3104
|
i += 7;
|
|
3101
3105
|
break;
|
|
@@ -3147,7 +3151,7 @@ var LeaferUI = (function (exports) {
|
|
|
3147
3151
|
}
|
|
3148
3152
|
};
|
|
3149
3153
|
|
|
3150
|
-
const { M: M$1, L: L$2, C
|
|
3154
|
+
const { M: M$1, L: L$2, C, Q, Z: Z$1, N, D, X, G, F: F$1, O, P, U } = PathCommandMap;
|
|
3151
3155
|
const { toTwoPointBounds, toTwoPointBoundsByQuadraticCurve, arcTo: arcTo$1, arc, ellipse: ellipse$1 } = BezierHelper;
|
|
3152
3156
|
const { addPointBounds, copy: copy$7, addPoint, setPoint, addBounds, toBounds: toBounds$2 } = TwoPointBoundsHelper;
|
|
3153
3157
|
const debug$a = Debug.get('PathBounds');
|
|
@@ -3168,7 +3172,7 @@ var LeaferUI = (function (exports) {
|
|
|
3168
3172
|
while (i < len) {
|
|
3169
3173
|
command = data[i];
|
|
3170
3174
|
if (i === 0) {
|
|
3171
|
-
if (command === Z$1 || command === C
|
|
3175
|
+
if (command === Z$1 || command === C || command === Q) {
|
|
3172
3176
|
setPoint(setPointBounds, x, y);
|
|
3173
3177
|
}
|
|
3174
3178
|
else {
|
|
@@ -3183,7 +3187,7 @@ var LeaferUI = (function (exports) {
|
|
|
3183
3187
|
addPoint(setPointBounds, x, y);
|
|
3184
3188
|
i += 3;
|
|
3185
3189
|
break;
|
|
3186
|
-
case C
|
|
3190
|
+
case C:
|
|
3187
3191
|
toX = data[i + 5];
|
|
3188
3192
|
toY = data[i + 6];
|
|
3189
3193
|
toTwoPointBounds(x, y, data[i + 1], data[i + 2], data[i + 3], data[i + 4], toX, toY, tempPointBounds);
|
|
@@ -3265,12 +3269,12 @@ var LeaferUI = (function (exports) {
|
|
|
3265
3269
|
}
|
|
3266
3270
|
};
|
|
3267
3271
|
|
|
3268
|
-
const { M, L: L$1,
|
|
3272
|
+
const { M, L: L$1, Z } = PathCommandMap;
|
|
3269
3273
|
const { getCenterX, getCenterY } = PointHelper;
|
|
3270
3274
|
const { arcTo } = PathCommandDataHelper;
|
|
3271
3275
|
const PathCorner = {
|
|
3272
3276
|
smooth(data, cornerRadius, _cornerSmoothing) {
|
|
3273
|
-
let command;
|
|
3277
|
+
let command, commandLen;
|
|
3274
3278
|
let i = 0, x = 0, y = 0, startX = 0, startY = 0, secondX = 0, secondY = 0, lastX = 0, lastY = 0;
|
|
3275
3279
|
const len = data.length;
|
|
3276
3280
|
const smooth = [];
|
|
@@ -3307,15 +3311,16 @@ var LeaferUI = (function (exports) {
|
|
|
3307
3311
|
lastX = x;
|
|
3308
3312
|
lastY = y;
|
|
3309
3313
|
break;
|
|
3310
|
-
case C:
|
|
3311
|
-
smooth.push(C, data[i + 1], data[i + 2], data[i + 3], data[i + 4], data[i + 5], data[i + 6]);
|
|
3312
|
-
i += 7;
|
|
3313
|
-
break;
|
|
3314
3314
|
case Z:
|
|
3315
3315
|
arcTo(smooth, startX, startY, secondX, secondY, cornerRadius, lastX, lastY);
|
|
3316
3316
|
smooth.push(Z);
|
|
3317
3317
|
i += 1;
|
|
3318
3318
|
break;
|
|
3319
|
+
default:
|
|
3320
|
+
commandLen = PathNumberCommandLengthMap[command];
|
|
3321
|
+
for (let j = 0; j < commandLen; j++)
|
|
3322
|
+
smooth.push(data[i + j]);
|
|
3323
|
+
i += commandLen;
|
|
3319
3324
|
}
|
|
3320
3325
|
}
|
|
3321
3326
|
if (command !== Z) {
|
|
@@ -4077,28 +4082,42 @@ var LeaferUI = (function (exports) {
|
|
|
4077
4082
|
return v === undefined ? defaultValue(this.__leaf) : v;
|
|
4078
4083
|
};
|
|
4079
4084
|
}
|
|
4085
|
+
else if (typeof defaultValue === 'object') {
|
|
4086
|
+
const isEmpty = isEmptyData(defaultValue);
|
|
4087
|
+
property.get = function () {
|
|
4088
|
+
let v = this[computedKey];
|
|
4089
|
+
return v === undefined ? this[computedKey] = isEmpty ? {} : DataHelper.clone(defaultValue) : v;
|
|
4090
|
+
};
|
|
4091
|
+
}
|
|
4092
|
+
const isBox = target.isBranchLeaf;
|
|
4080
4093
|
if (key === 'width') {
|
|
4081
4094
|
property.get = function () {
|
|
4082
4095
|
const v = this[computedKey];
|
|
4083
4096
|
if (v === undefined) {
|
|
4084
|
-
const t = this;
|
|
4085
|
-
|
|
4097
|
+
const t = this, naturalWidth = t.__naturalWidth, leaf = t.__leaf;
|
|
4098
|
+
if (!defaultValue || leaf.pathInputed)
|
|
4099
|
+
return leaf.boxBounds.width;
|
|
4100
|
+
if (naturalWidth)
|
|
4101
|
+
return t._height && t.__useNaturalRatio ? t._height * naturalWidth / t.__naturalHeight : naturalWidth;
|
|
4102
|
+
return (isBox && leaf.children.length) ? leaf.boxBounds.width : defaultValue;
|
|
4086
4103
|
}
|
|
4087
|
-
else
|
|
4104
|
+
else
|
|
4088
4105
|
return v;
|
|
4089
|
-
}
|
|
4090
4106
|
};
|
|
4091
4107
|
}
|
|
4092
4108
|
else if (key === 'height') {
|
|
4093
4109
|
property.get = function () {
|
|
4094
4110
|
const v = this[computedKey];
|
|
4095
4111
|
if (v === undefined) {
|
|
4096
|
-
const t = this;
|
|
4097
|
-
|
|
4112
|
+
const t = this, naturalHeight = t.__naturalHeight, leaf = t.__leaf;
|
|
4113
|
+
if (!defaultValue || leaf.pathInputed)
|
|
4114
|
+
return leaf.boxBounds.height;
|
|
4115
|
+
if (naturalHeight)
|
|
4116
|
+
return t._width && t.__useNaturalRatio ? t._width * naturalHeight / t.__naturalWidth : naturalHeight;
|
|
4117
|
+
return (isBox && leaf.children.length) ? leaf.boxBounds.height : defaultValue;
|
|
4098
4118
|
}
|
|
4099
|
-
else
|
|
4119
|
+
else
|
|
4100
4120
|
return v;
|
|
4101
|
-
}
|
|
4102
4121
|
};
|
|
4103
4122
|
}
|
|
4104
4123
|
let descriptor, find = data;
|
|
@@ -4525,7 +4544,12 @@ var LeaferUI = (function (exports) {
|
|
|
4525
4544
|
while (root.parent && !root.parent.leafer) {
|
|
4526
4545
|
root = root.parent;
|
|
4527
4546
|
}
|
|
4528
|
-
|
|
4547
|
+
const r = root;
|
|
4548
|
+
if (r.__fullLayouting)
|
|
4549
|
+
return;
|
|
4550
|
+
r.__fullLayouting = true;
|
|
4551
|
+
Platform.layout(r);
|
|
4552
|
+
delete r.__fullLayouting;
|
|
4529
4553
|
}
|
|
4530
4554
|
}
|
|
4531
4555
|
getTransform(relative = 'world') {
|
|
@@ -6050,7 +6074,7 @@ var LeaferUI = (function (exports) {
|
|
|
6050
6074
|
}
|
|
6051
6075
|
}
|
|
6052
6076
|
|
|
6053
|
-
const version = "1.5.
|
|
6077
|
+
const version = "1.5.2";
|
|
6054
6078
|
|
|
6055
6079
|
const debug$4 = Debug.get('LeaferCanvas');
|
|
6056
6080
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
@@ -7664,7 +7688,7 @@ var LeaferUI = (function (exports) {
|
|
|
7664
7688
|
strokeType()
|
|
7665
7689
|
], exports.UI.prototype, "dashPattern", void 0);
|
|
7666
7690
|
__decorate([
|
|
7667
|
-
strokeType()
|
|
7691
|
+
strokeType(0)
|
|
7668
7692
|
], exports.UI.prototype, "dashOffset", void 0);
|
|
7669
7693
|
__decorate([
|
|
7670
7694
|
strokeType(10)
|
|
@@ -7757,6 +7781,12 @@ var LeaferUI = (function (exports) {
|
|
|
7757
7781
|
__decorate([
|
|
7758
7782
|
dataProcessor(GroupData)
|
|
7759
7783
|
], exports.Group.prototype, "__", void 0);
|
|
7784
|
+
__decorate([
|
|
7785
|
+
boundsType(0)
|
|
7786
|
+
], exports.Group.prototype, "width", void 0);
|
|
7787
|
+
__decorate([
|
|
7788
|
+
boundsType(0)
|
|
7789
|
+
], exports.Group.prototype, "height", void 0);
|
|
7760
7790
|
exports.Group = __decorate([
|
|
7761
7791
|
useModule(exports.Branch),
|
|
7762
7792
|
registerUI()
|
|
@@ -8172,7 +8202,7 @@ var LeaferUI = (function (exports) {
|
|
|
8172
8202
|
__updateRectBoxBounds() { }
|
|
8173
8203
|
__updateBoxBounds(_secondLayout) {
|
|
8174
8204
|
const data = this.__;
|
|
8175
|
-
if (this.children.length) {
|
|
8205
|
+
if (this.children.length && !this.pathInputed) {
|
|
8176
8206
|
if (data.__autoSide) {
|
|
8177
8207
|
if (data.__hasSurface)
|
|
8178
8208
|
this.__extraUpdate();
|
|
@@ -8241,6 +8271,12 @@ var LeaferUI = (function (exports) {
|
|
|
8241
8271
|
__decorate([
|
|
8242
8272
|
dataProcessor(BoxData)
|
|
8243
8273
|
], exports.Box.prototype, "__", void 0);
|
|
8274
|
+
__decorate([
|
|
8275
|
+
boundsType(100)
|
|
8276
|
+
], exports.Box.prototype, "width", void 0);
|
|
8277
|
+
__decorate([
|
|
8278
|
+
boundsType(100)
|
|
8279
|
+
], exports.Box.prototype, "height", void 0);
|
|
8244
8280
|
__decorate([
|
|
8245
8281
|
dataType(false)
|
|
8246
8282
|
], exports.Box.prototype, "resizeChildren", void 0);
|
|
@@ -8839,16 +8875,20 @@ var LeaferUI = (function (exports) {
|
|
|
8839
8875
|
}
|
|
8840
8876
|
|
|
8841
8877
|
function fillText(ui, canvas) {
|
|
8842
|
-
let row;
|
|
8843
|
-
const { rows, decorationY
|
|
8878
|
+
let row, data = ui.__.__textDrawData;
|
|
8879
|
+
const { rows, decorationY } = data;
|
|
8844
8880
|
for (let i = 0, len = rows.length; i < len; i++) {
|
|
8845
8881
|
row = rows[i];
|
|
8846
8882
|
if (row.text)
|
|
8847
8883
|
canvas.fillText(row.text, row.x, row.y);
|
|
8848
8884
|
else if (row.data)
|
|
8849
8885
|
row.data.forEach(charData => { canvas.fillText(charData.char, charData.x, row.y); });
|
|
8850
|
-
|
|
8851
|
-
|
|
8886
|
+
}
|
|
8887
|
+
if (decorationY) {
|
|
8888
|
+
const { decorationColor, decorationHeight } = data;
|
|
8889
|
+
if (decorationColor)
|
|
8890
|
+
canvas.fillStyle = decorationColor;
|
|
8891
|
+
rows.forEach(row => decorationY.forEach(value => canvas.fillRect(row.x, row.y + value, row.width, decorationHeight)));
|
|
8852
8892
|
}
|
|
8853
8893
|
}
|
|
8854
8894
|
|
|
@@ -8919,16 +8959,18 @@ var LeaferUI = (function (exports) {
|
|
|
8919
8959
|
out.recycle(ui.__nowWorld);
|
|
8920
8960
|
}
|
|
8921
8961
|
function drawTextStroke(ui, canvas) {
|
|
8922
|
-
let row;
|
|
8923
|
-
const { rows, decorationY
|
|
8962
|
+
let row, data = ui.__.__textDrawData;
|
|
8963
|
+
const { rows, decorationY } = data;
|
|
8924
8964
|
for (let i = 0, len = rows.length; i < len; i++) {
|
|
8925
8965
|
row = rows[i];
|
|
8926
8966
|
if (row.text)
|
|
8927
8967
|
canvas.strokeText(row.text, row.x, row.y);
|
|
8928
8968
|
else if (row.data)
|
|
8929
8969
|
row.data.forEach(charData => { canvas.strokeText(charData.char, charData.x, row.y); });
|
|
8930
|
-
|
|
8931
|
-
|
|
8970
|
+
}
|
|
8971
|
+
if (decorationY) {
|
|
8972
|
+
const { decorationHeight } = data;
|
|
8973
|
+
rows.forEach(row => decorationY.forEach(value => canvas.strokeRect(row.x, row.y + value, row.width, decorationHeight)));
|
|
8932
8974
|
}
|
|
8933
8975
|
}
|
|
8934
8976
|
function drawStrokesStyle(strokes, isText, ui, canvas) {
|
|
@@ -9494,6 +9536,8 @@ var LeaferUI = (function (exports) {
|
|
|
9494
9536
|
}
|
|
9495
9537
|
image.unload(paints[i].loadId, !input.some((item) => item.url === url));
|
|
9496
9538
|
}
|
|
9539
|
+
else
|
|
9540
|
+
paints[i].style = null;
|
|
9497
9541
|
}
|
|
9498
9542
|
}
|
|
9499
9543
|
return recycleMap;
|
|
@@ -10226,14 +10270,25 @@ var LeaferUI = (function (exports) {
|
|
|
10226
10270
|
}
|
|
10227
10271
|
|
|
10228
10272
|
function decorationText(drawData, style) {
|
|
10229
|
-
|
|
10273
|
+
let type;
|
|
10274
|
+
const { fontSize, textDecoration } = style;
|
|
10230
10275
|
drawData.decorationHeight = fontSize / 11;
|
|
10231
|
-
|
|
10276
|
+
if (typeof textDecoration === 'object') {
|
|
10277
|
+
type = textDecoration.type;
|
|
10278
|
+
if (textDecoration.color)
|
|
10279
|
+
drawData.decorationColor = ColorConvert.string(textDecoration.color);
|
|
10280
|
+
}
|
|
10281
|
+
else
|
|
10282
|
+
type = textDecoration;
|
|
10283
|
+
switch (type) {
|
|
10232
10284
|
case 'under':
|
|
10233
|
-
drawData.decorationY = fontSize * 0.15;
|
|
10285
|
+
drawData.decorationY = [fontSize * 0.15];
|
|
10234
10286
|
break;
|
|
10235
10287
|
case 'delete':
|
|
10236
|
-
drawData.decorationY = -fontSize * 0.35;
|
|
10288
|
+
drawData.decorationY = [-fontSize * 0.35];
|
|
10289
|
+
break;
|
|
10290
|
+
case 'under-delete':
|
|
10291
|
+
drawData.decorationY = [fontSize * 0.15, -fontSize * 0.35];
|
|
10237
10292
|
}
|
|
10238
10293
|
}
|
|
10239
10294
|
|
|
@@ -10458,6 +10513,7 @@ var LeaferUI = (function (exports) {
|
|
|
10458
10513
|
exports.getMatrixData = getMatrixData;
|
|
10459
10514
|
exports.getPointData = getPointData;
|
|
10460
10515
|
exports.hitType = hitType;
|
|
10516
|
+
exports.isEmptyData = isEmptyData;
|
|
10461
10517
|
exports.isNull = isNull;
|
|
10462
10518
|
exports.layoutProcessor = layoutProcessor;
|
|
10463
10519
|
exports.maskType = maskType;
|