@leafer-ui/worker 1.9.5 → 1.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/worker.cjs +27 -7
- package/dist/worker.esm.js +28 -8
- package/dist/worker.esm.min.js +1 -1
- package/dist/worker.esm.min.js.map +1 -1
- package/dist/worker.js +173 -103
- package/dist/worker.min.cjs +1 -1
- package/dist/worker.min.cjs.map +1 -1
- package/dist/worker.min.js +1 -1
- package/dist/worker.min.js.map +1 -1
- package/dist/worker.module.js +190 -117
- package/dist/worker.module.min.js +1 -1
- package/dist/worker.module.min.js.map +1 -1
- package/package.json +11 -11
package/dist/worker.module.js
CHANGED
|
@@ -372,7 +372,7 @@ function getMatrixData() {
|
|
|
372
372
|
|
|
373
373
|
const {sin: sin$5, cos: cos$5, acos: acos, sqrt: sqrt$3} = Math;
|
|
374
374
|
|
|
375
|
-
const {float: float$
|
|
375
|
+
const {float: float$2} = MathHelper;
|
|
376
376
|
|
|
377
377
|
const tempPoint$3 = {};
|
|
378
378
|
|
|
@@ -423,6 +423,15 @@ const MatrixHelper = {
|
|
|
423
423
|
t.c *= scaleY;
|
|
424
424
|
t.d *= scaleY;
|
|
425
425
|
},
|
|
426
|
+
pixelScale(t, pixelRatio, to) {
|
|
427
|
+
to || (to = t);
|
|
428
|
+
to.a = t.a * pixelRatio;
|
|
429
|
+
to.b = t.b * pixelRatio;
|
|
430
|
+
to.c = t.c * pixelRatio;
|
|
431
|
+
to.d = t.d * pixelRatio;
|
|
432
|
+
to.e = t.e * pixelRatio;
|
|
433
|
+
to.f = t.f * pixelRatio;
|
|
434
|
+
},
|
|
426
435
|
scaleOfOuter(t, origin, scaleX, scaleY) {
|
|
427
436
|
M$6.toInnerPoint(t, origin, tempPoint$3);
|
|
428
437
|
M$6.scaleOfInner(t, tempPoint$3, scaleX, scaleY);
|
|
@@ -614,12 +623,12 @@ const MatrixHelper = {
|
|
|
614
623
|
const cosR = c / scaleY;
|
|
615
624
|
rotation = PI_2 - (d > 0 ? acos(-cosR) : -acos(cosR));
|
|
616
625
|
}
|
|
617
|
-
const cosR = float$
|
|
626
|
+
const cosR = float$2(cos$5(rotation));
|
|
618
627
|
const sinR = sin$5(rotation);
|
|
619
|
-
scaleX = float$
|
|
620
|
-
skewX = cosR ? float$
|
|
621
|
-
skewY = cosR ? float$
|
|
622
|
-
rotation = float$
|
|
628
|
+
scaleX = float$2(scaleX), scaleY = float$2(scaleY);
|
|
629
|
+
skewX = cosR ? float$2((c / scaleY + sinR) / cosR / OneRadian, 9) : 0;
|
|
630
|
+
skewY = cosR ? float$2((b / scaleX - sinR) / cosR / OneRadian, 9) : 0;
|
|
631
|
+
rotation = float$2(rotation / OneRadian);
|
|
623
632
|
} else {
|
|
624
633
|
scaleX = a;
|
|
625
634
|
scaleY = d;
|
|
@@ -922,6 +931,10 @@ class Matrix {
|
|
|
922
931
|
this.scaleY *= y || x;
|
|
923
932
|
return this;
|
|
924
933
|
}
|
|
934
|
+
pixelScale(pixelRatio) {
|
|
935
|
+
MatrixHelper.pixelScale(this, pixelRatio);
|
|
936
|
+
return this;
|
|
937
|
+
}
|
|
925
938
|
scaleOfOuter(origin, x, y) {
|
|
926
939
|
MatrixHelper.scaleOfOuter(this, origin, x, y);
|
|
927
940
|
return this;
|
|
@@ -1141,7 +1154,7 @@ const {tempPointBounds: tempPointBounds$1, setPoint: setPoint$2, addPoint: addPo
|
|
|
1141
1154
|
|
|
1142
1155
|
const {toOuterPoint: toOuterPoint$2} = MatrixHelper;
|
|
1143
1156
|
|
|
1144
|
-
const {float: float, fourNumber: fourNumber} = MathHelper;
|
|
1157
|
+
const {float: float$1, fourNumber: fourNumber} = MathHelper;
|
|
1145
1158
|
|
|
1146
1159
|
const {floor: floor$2, ceil: ceil$2} = Math;
|
|
1147
1160
|
|
|
@@ -1324,10 +1337,10 @@ const BoundsHelper = {
|
|
|
1324
1337
|
}
|
|
1325
1338
|
},
|
|
1326
1339
|
float(t, maxLength) {
|
|
1327
|
-
t.x = float(t.x, maxLength);
|
|
1328
|
-
t.y = float(t.y, maxLength);
|
|
1329
|
-
t.width = float(t.width, maxLength);
|
|
1330
|
-
t.height = float(t.height, maxLength);
|
|
1340
|
+
t.x = float$1(t.x, maxLength);
|
|
1341
|
+
t.y = float$1(t.y, maxLength);
|
|
1342
|
+
t.width = float$1(t.width, maxLength);
|
|
1343
|
+
t.height = float$1(t.height, maxLength);
|
|
1331
1344
|
},
|
|
1332
1345
|
add(t, bounds, isPoint) {
|
|
1333
1346
|
right$1 = t.x + t.width;
|
|
@@ -2146,7 +2159,7 @@ __decorate([ contextMethod() ], Canvas$1.prototype, "measureText", null);
|
|
|
2146
2159
|
|
|
2147
2160
|
__decorate([ contextMethod() ], Canvas$1.prototype, "strokeText", null);
|
|
2148
2161
|
|
|
2149
|
-
const {copy: copy$8, multiplyParent: multiplyParent$4} = MatrixHelper, {round: round$1} = Math, tempPixelBounds = new Bounds, tempPixelBounds2 = new Bounds;
|
|
2162
|
+
const {copy: copy$8, multiplyParent: multiplyParent$4, pixelScale: pixelScale} = MatrixHelper, {round: round$1} = Math, tempPixelBounds = new Bounds, tempPixelBounds2 = new Bounds;
|
|
2150
2163
|
|
|
2151
2164
|
const minSize = {
|
|
2152
2165
|
width: 1,
|
|
@@ -2247,12 +2260,7 @@ class LeaferCanvasBase extends Canvas$1 {
|
|
|
2247
2260
|
setWorld(matrix, parentMatrix) {
|
|
2248
2261
|
const {pixelRatio: pixelRatio, pixelSnap: pixelSnap} = this, w = this.worldTransform;
|
|
2249
2262
|
if (parentMatrix) multiplyParent$4(matrix, parentMatrix, w);
|
|
2250
|
-
|
|
2251
|
-
w.b = matrix.b * pixelRatio;
|
|
2252
|
-
w.c = matrix.c * pixelRatio;
|
|
2253
|
-
w.d = matrix.d * pixelRatio;
|
|
2254
|
-
w.e = matrix.e * pixelRatio;
|
|
2255
|
-
w.f = matrix.f * pixelRatio;
|
|
2263
|
+
pixelScale(matrix, pixelRatio, w);
|
|
2256
2264
|
if (pixelSnap) {
|
|
2257
2265
|
if (matrix.half && matrix.half * pixelRatio % 2) w.e = round$1(w.e - .5) + .5, w.f = round$1(w.f - .5) + .5; else w.e = round$1(w.e),
|
|
2258
2266
|
w.f = round$1(w.f);
|
|
@@ -4265,6 +4273,18 @@ function surfaceType(defaultValue) {
|
|
|
4265
4273
|
}));
|
|
4266
4274
|
}
|
|
4267
4275
|
|
|
4276
|
+
function dimType(defaultValue) {
|
|
4277
|
+
return decorateLeafAttr(defaultValue, key => attr({
|
|
4278
|
+
set(value) {
|
|
4279
|
+
if (this.__setAttr(key, value)) {
|
|
4280
|
+
const data = this.__;
|
|
4281
|
+
DataHelper.stintSet(data, "__useDim", data.dim || data.bright || data.dimskip);
|
|
4282
|
+
this.__layout.surfaceChange();
|
|
4283
|
+
}
|
|
4284
|
+
}
|
|
4285
|
+
}));
|
|
4286
|
+
}
|
|
4287
|
+
|
|
4268
4288
|
function opacityType(defaultValue) {
|
|
4269
4289
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4270
4290
|
set(value) {
|
|
@@ -4309,7 +4329,7 @@ function sortType(defaultValue) {
|
|
|
4309
4329
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
4310
4330
|
set(value) {
|
|
4311
4331
|
if (this.__setAttr(key, value)) {
|
|
4312
|
-
this.__layout.
|
|
4332
|
+
this.__layout.surfaceChange();
|
|
4313
4333
|
this.waitParent(() => {
|
|
4314
4334
|
this.parent.__layout.childrenSortChange();
|
|
4315
4335
|
});
|
|
@@ -4346,7 +4366,7 @@ function hitType(defaultValue) {
|
|
|
4346
4366
|
set(value) {
|
|
4347
4367
|
if (this.__setAttr(key, value)) {
|
|
4348
4368
|
this.__layout.hitCanvasChanged = true;
|
|
4349
|
-
if (Debug.showBounds === "hit") this.__layout.
|
|
4369
|
+
if (Debug.showBounds === "hit") this.__layout.surfaceChange();
|
|
4350
4370
|
if (this.leafer) this.leafer.updateCursor();
|
|
4351
4371
|
}
|
|
4352
4372
|
}
|
|
@@ -5463,6 +5483,8 @@ LeaferEvent.RESTART = "leafer.restart";
|
|
|
5463
5483
|
|
|
5464
5484
|
LeaferEvent.END = "leafer.end";
|
|
5465
5485
|
|
|
5486
|
+
LeaferEvent.UPDATE_MODE = "leafer.update_mode";
|
|
5487
|
+
|
|
5466
5488
|
LeaferEvent.TRANSFORM = "leafer.transform";
|
|
5467
5489
|
|
|
5468
5490
|
LeaferEvent.MOVE = "leafer.move";
|
|
@@ -5859,6 +5881,7 @@ const LeafRender = {
|
|
|
5859
5881
|
if (options.shape) return this.__renderShape(canvas, options);
|
|
5860
5882
|
if (this.__worldOpacity) {
|
|
5861
5883
|
const data = this.__;
|
|
5884
|
+
if (data.bright && !options.topRendering) return options.topList.add(this);
|
|
5862
5885
|
canvas.setWorld(this.__nowWorld = this.__getNowWorld(options));
|
|
5863
5886
|
canvas.opacity = options.dimOpacity && !data.dimskip ? data.opacity * options.dimOpacity : data.opacity;
|
|
5864
5887
|
if (this.__.__single) {
|
|
@@ -5907,7 +5930,9 @@ const BranchRender = {
|
|
|
5907
5930
|
this.__nowWorld = this.__getNowWorld(options);
|
|
5908
5931
|
if (this.__worldOpacity) {
|
|
5909
5932
|
const data = this.__;
|
|
5910
|
-
if (data.
|
|
5933
|
+
if (data.__useDim) {
|
|
5934
|
+
if (data.dim) options.dimOpacity = data.dim === true ? .2 : data.dim; else if (data.bright && !options.topRendering) return options.topList.add(this); else if (data.dimskip) options.dimOpacity && (options.dimOpacity = 0);
|
|
5935
|
+
}
|
|
5911
5936
|
if (data.__single && !this.isBranchLeaf) {
|
|
5912
5937
|
if (data.eraser === "path") return this.__renderEraser(canvas, options);
|
|
5913
5938
|
const tempCanvas = canvas.getSameCanvas(false, true);
|
|
@@ -6749,7 +6774,7 @@ class LeafLevelList {
|
|
|
6749
6774
|
}
|
|
6750
6775
|
}
|
|
6751
6776
|
|
|
6752
|
-
const version = "1.9.
|
|
6777
|
+
const version = "1.9.7";
|
|
6753
6778
|
|
|
6754
6779
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6755
6780
|
get allowBackgroundColor() {
|
|
@@ -7303,7 +7328,7 @@ class Renderer {
|
|
|
7303
7328
|
};
|
|
7304
7329
|
if (this.needFill) canvas.fillWorld(bounds, this.config.fill);
|
|
7305
7330
|
if (Debug.showRepaint) Debug.drawRepaint(canvas, bounds);
|
|
7306
|
-
this.target
|
|
7331
|
+
Platform.render(this.target, canvas, options);
|
|
7307
7332
|
this.renderBounds = realBounds = realBounds || bounds;
|
|
7308
7333
|
this.renderOptions = options;
|
|
7309
7334
|
this.totalBounds.isEmpty() ? this.totalBounds = realBounds : this.totalBounds.add(realBounds);
|
|
@@ -7475,7 +7500,7 @@ class Picker {
|
|
|
7475
7500
|
item = path.list[i];
|
|
7476
7501
|
if (!item.__.hittable) break;
|
|
7477
7502
|
hittablePath.addAt(item, 0);
|
|
7478
|
-
if (!item.__.hitChildren) break;
|
|
7503
|
+
if (!item.__.hitChildren || item.isLeafer && item.mode === "draw") break;
|
|
7479
7504
|
}
|
|
7480
7505
|
return hittablePath;
|
|
7481
7506
|
}
|
|
@@ -7579,6 +7604,15 @@ Object.assign(Creator, {
|
|
|
7579
7604
|
|
|
7580
7605
|
Platform.layout = Layouter.fullLayout;
|
|
7581
7606
|
|
|
7607
|
+
Platform.render = function(target, canvas, options) {
|
|
7608
|
+
const topOptions = Object.assign(Object.assign({}, options), {
|
|
7609
|
+
topRendering: true
|
|
7610
|
+
});
|
|
7611
|
+
options.topList = new LeafList;
|
|
7612
|
+
target.__render(canvas, options);
|
|
7613
|
+
if (options.topList.length) options.topList.forEach(item => item.__render(canvas, topOptions));
|
|
7614
|
+
};
|
|
7615
|
+
|
|
7582
7616
|
function effectType(defaultValue) {
|
|
7583
7617
|
return decorateLeafAttr(defaultValue, key => attr({
|
|
7584
7618
|
set(value) {
|
|
@@ -7932,8 +7966,6 @@ class TextData extends UIData {
|
|
|
7932
7966
|
if (!boxStyle) box.parent = t, box.__world = t.__world, boxLayout.boxBounds = layout.boxBounds;
|
|
7933
7967
|
box.set(value);
|
|
7934
7968
|
if (boxLayout.strokeChanged) layout.strokeChange();
|
|
7935
|
-
if (boxLayout.renderChanged) layout.renderChange();
|
|
7936
|
-
box.__updateChange();
|
|
7937
7969
|
} else if (box) {
|
|
7938
7970
|
t.__box = box.parent = null;
|
|
7939
7971
|
box.destroy();
|
|
@@ -8003,7 +8035,7 @@ const UIBounds = {
|
|
|
8003
8035
|
__updateRenderSpread() {
|
|
8004
8036
|
let width = 0;
|
|
8005
8037
|
const {shadow: shadow, innerShadow: innerShadow, blur: blur, backgroundBlur: backgroundBlur, filter: filter, renderSpread: renderSpread} = this.__;
|
|
8006
|
-
if (shadow)
|
|
8038
|
+
if (shadow) width = Effect.getShadowSpread(this, shadow);
|
|
8007
8039
|
if (blur) width = Math.max(width, blur);
|
|
8008
8040
|
if (filter) width += Filter.getSpread(filter);
|
|
8009
8041
|
if (renderSpread) width += renderSpread;
|
|
@@ -8016,36 +8048,69 @@ const UIBounds = {
|
|
|
8016
8048
|
}
|
|
8017
8049
|
};
|
|
8018
8050
|
|
|
8051
|
+
const {float: float} = MathHelper;
|
|
8052
|
+
|
|
8053
|
+
const tempContent = new Bounds, tempMerge = new Bounds, tempIntersect = new Bounds;
|
|
8054
|
+
|
|
8019
8055
|
const DragBoundsHelper = {
|
|
8056
|
+
limitMove(leaf, move) {
|
|
8057
|
+
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
8058
|
+
if (dragBounds) D.getValidMove(leaf.__localBoxBounds, D.getDragBounds(leaf), dragBoundsType, move, true);
|
|
8059
|
+
D.axisMove(leaf, move);
|
|
8060
|
+
},
|
|
8061
|
+
limitScaleOf(leaf, origin, scale) {
|
|
8062
|
+
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
8063
|
+
if (dragBounds) D.getValidScaleOf(leaf.__localBoxBounds, D.getDragBounds(leaf), dragBoundsType, leaf.getLocalPointByInner(leaf.getInnerPointByBox(origin)), scale, true);
|
|
8064
|
+
},
|
|
8065
|
+
axisMove(leaf, move) {
|
|
8066
|
+
const {draggable: draggable} = leaf;
|
|
8067
|
+
if (draggable === "x") move.y = 0;
|
|
8068
|
+
if (draggable === "y") move.x = 0;
|
|
8069
|
+
},
|
|
8070
|
+
getDragBounds(leaf) {
|
|
8071
|
+
const {dragBounds: dragBounds} = leaf;
|
|
8072
|
+
return dragBounds === "parent" ? leaf.parent.boxBounds : dragBounds;
|
|
8073
|
+
},
|
|
8074
|
+
isInnerMode(content, dragBounds, dragBoundsType, sideType) {
|
|
8075
|
+
return dragBoundsType === "inner" || dragBoundsType === "auto" && content[sideType] > dragBounds[sideType];
|
|
8076
|
+
},
|
|
8020
8077
|
getValidMove(content, dragBounds, dragBoundsType, move, change) {
|
|
8021
8078
|
const x = content.x + move.x, y = content.y + move.y, right = x + content.width, bottom = y + content.height;
|
|
8022
8079
|
const boundsRight = dragBounds.x + dragBounds.width, boundsBottom = dragBounds.y + dragBounds.height;
|
|
8023
8080
|
if (!change) move = Object.assign({}, move);
|
|
8024
|
-
|
|
8025
|
-
const isBiggerHeight = content.height > dragBounds.height;
|
|
8026
|
-
if (isBiggerWidth && dragBoundsType !== "outer") {
|
|
8081
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
8027
8082
|
if (x > dragBounds.x) move.x += dragBounds.x - x; else if (right < boundsRight) move.x += boundsRight - right;
|
|
8028
8083
|
} else {
|
|
8029
8084
|
if (x < dragBounds.x) move.x += dragBounds.x - x; else if (right > boundsRight) move.x += boundsRight - right;
|
|
8030
8085
|
}
|
|
8031
|
-
if (
|
|
8086
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
8032
8087
|
if (y > dragBounds.y) move.y += dragBounds.y - y; else if (bottom < boundsBottom) move.y += boundsBottom - bottom;
|
|
8033
8088
|
} else {
|
|
8034
8089
|
if (y < dragBounds.y) move.y += dragBounds.y - y; else if (bottom > boundsBottom) move.y += boundsBottom - bottom;
|
|
8035
8090
|
}
|
|
8036
|
-
move.x =
|
|
8037
|
-
move.y =
|
|
8091
|
+
move.x = float(move.x);
|
|
8092
|
+
move.y = float(move.y);
|
|
8038
8093
|
return move;
|
|
8039
8094
|
},
|
|
8040
|
-
|
|
8041
|
-
|
|
8042
|
-
|
|
8043
|
-
|
|
8044
|
-
|
|
8045
|
-
|
|
8046
|
-
|
|
8047
|
-
|
|
8048
|
-
|
|
8095
|
+
getValidScaleOf(content, dragBounds, dragBoundsType, origin, scale, change) {
|
|
8096
|
+
if (!change) scale = Object.assign({}, scale);
|
|
8097
|
+
let fitScaleX, fitScaleY;
|
|
8098
|
+
tempContent.set(content).scaleOf(origin, scale.x, scale.y).unsign();
|
|
8099
|
+
tempMerge.set(tempContent).add(dragBounds);
|
|
8100
|
+
tempIntersect.set(tempContent).intersect(dragBounds);
|
|
8101
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
8102
|
+
fitScaleX = tempMerge.width / tempContent.width;
|
|
8103
|
+
} else {
|
|
8104
|
+
fitScaleX = tempIntersect.width / tempContent.width;
|
|
8105
|
+
}
|
|
8106
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
8107
|
+
fitScaleY = tempMerge.height / tempContent.height;
|
|
8108
|
+
} else {
|
|
8109
|
+
fitScaleY = tempIntersect.height / tempContent.height;
|
|
8110
|
+
}
|
|
8111
|
+
scale.x = float(tempIntersect.width) ? scale.x * fitScaleX : 1;
|
|
8112
|
+
scale.y = float(tempIntersect.height) ? scale.y * fitScaleY : 1;
|
|
8113
|
+
return scale;
|
|
8049
8114
|
}
|
|
8050
8115
|
};
|
|
8051
8116
|
|
|
@@ -8063,7 +8128,7 @@ const UIRender = {
|
|
|
8063
8128
|
}
|
|
8064
8129
|
if (data.__useEffect) {
|
|
8065
8130
|
const {shadow: shadow, fill: fill, stroke: stroke} = data, otherEffect = data.innerShadow || data.blur || data.backgroundBlur || data.filter;
|
|
8066
|
-
stintSet$1(data, "__isFastShadow", shadow && !otherEffect && shadow.length < 2 && !shadow[0].spread && fill && !data.__isTransparentFill && !(isArray(fill) && fill.length > 1) && (this.useFastShadow || !stroke || stroke && data.strokeAlign === "inside"));
|
|
8131
|
+
stintSet$1(data, "__isFastShadow", shadow && !otherEffect && shadow.length < 2 && !shadow[0].spread && !Effect.isTransformShadow(shadow[0]) && fill && !data.__isTransparentFill && !(isArray(fill) && fill.length > 1) && (this.useFastShadow || !stroke || stroke && data.strokeAlign === "inside"));
|
|
8067
8132
|
data.__useEffect = !!(shadow || otherEffect);
|
|
8068
8133
|
}
|
|
8069
8134
|
data.__checkSingle();
|
|
@@ -8323,9 +8388,9 @@ __decorate([ visibleType(true) ], UI.prototype, "visible", void 0);
|
|
|
8323
8388
|
|
|
8324
8389
|
__decorate([ surfaceType(false) ], UI.prototype, "locked", void 0);
|
|
8325
8390
|
|
|
8326
|
-
__decorate([
|
|
8391
|
+
__decorate([ dimType(false) ], UI.prototype, "dim", void 0);
|
|
8327
8392
|
|
|
8328
|
-
__decorate([
|
|
8393
|
+
__decorate([ dimType(false) ], UI.prototype, "dimskip", void 0);
|
|
8329
8394
|
|
|
8330
8395
|
__decorate([ sortType(0) ], UI.prototype, "zIndex", void 0);
|
|
8331
8396
|
|
|
@@ -8701,7 +8766,9 @@ let Leafer = Leafer_1 = class Leafer extends Group {
|
|
|
8701
8766
|
} else if (attrName === "zIndex") {
|
|
8702
8767
|
this.canvas.zIndex = newValue;
|
|
8703
8768
|
setTimeout(() => this.parent && this.parent.__updateSortChildren());
|
|
8704
|
-
}
|
|
8769
|
+
} else if (attrName === "mode") this.emit(LeaferEvent.UPDATE_MODE, {
|
|
8770
|
+
mode: newValue
|
|
8771
|
+
});
|
|
8705
8772
|
}
|
|
8706
8773
|
return super.__setAttr(attrName, newValue);
|
|
8707
8774
|
}
|
|
@@ -8884,6 +8951,8 @@ __decorate([ dataProcessor(LeaferData) ], Leafer.prototype, "__", void 0);
|
|
|
8884
8951
|
|
|
8885
8952
|
__decorate([ boundsType() ], Leafer.prototype, "pixelRatio", void 0);
|
|
8886
8953
|
|
|
8954
|
+
__decorate([ dataType("normal") ], Leafer.prototype, "mode", void 0);
|
|
8955
|
+
|
|
8887
8956
|
Leafer = Leafer_1 = __decorate([ registerUI() ], Leafer);
|
|
8888
8957
|
|
|
8889
8958
|
let Rect = class Rect extends UI {
|
|
@@ -9076,57 +9145,9 @@ __decorate([ pathType(0) ], Ellipse.prototype, "endAngle", void 0);
|
|
|
9076
9145
|
|
|
9077
9146
|
Ellipse = __decorate([ registerUI() ], Ellipse);
|
|
9078
9147
|
|
|
9079
|
-
const {moveTo: moveTo$2, lineTo: lineTo$2, drawPoints: drawPoints$1} = PathCommandDataHelper;
|
|
9080
|
-
|
|
9081
|
-
const {rotate: rotate$1, getAngle: getAngle$1, getDistance: getDistance$2, defaultPoint: defaultPoint} = PointHelper;
|
|
9082
|
-
|
|
9083
|
-
let Line = class Line extends UI {
|
|
9084
|
-
get __tag() {
|
|
9085
|
-
return "Line";
|
|
9086
|
-
}
|
|
9087
|
-
get toPoint() {
|
|
9088
|
-
const {width: width, rotation: rotation} = this.__;
|
|
9089
|
-
const to = getPointData();
|
|
9090
|
-
if (width) to.x = width;
|
|
9091
|
-
if (rotation) rotate$1(to, rotation);
|
|
9092
|
-
return to;
|
|
9093
|
-
}
|
|
9094
|
-
set toPoint(value) {
|
|
9095
|
-
this.width = getDistance$2(defaultPoint, value);
|
|
9096
|
-
this.rotation = getAngle$1(defaultPoint, value);
|
|
9097
|
-
if (this.height) this.height = 0;
|
|
9098
|
-
}
|
|
9099
|
-
__updatePath() {
|
|
9100
|
-
const data = this.__;
|
|
9101
|
-
const path = data.path = [];
|
|
9102
|
-
if (data.points) {
|
|
9103
|
-
drawPoints$1(path, data.points, data.curve, data.closed);
|
|
9104
|
-
} else {
|
|
9105
|
-
moveTo$2(path, 0, 0);
|
|
9106
|
-
lineTo$2(path, this.width, 0);
|
|
9107
|
-
}
|
|
9108
|
-
}
|
|
9109
|
-
};
|
|
9110
|
-
|
|
9111
|
-
__decorate([ dataProcessor(LineData) ], Line.prototype, "__", void 0);
|
|
9112
|
-
|
|
9113
|
-
__decorate([ affectStrokeBoundsType("center") ], Line.prototype, "strokeAlign", void 0);
|
|
9114
|
-
|
|
9115
|
-
__decorate([ boundsType(0) ], Line.prototype, "height", void 0);
|
|
9116
|
-
|
|
9117
|
-
__decorate([ pathType() ], Line.prototype, "points", void 0);
|
|
9118
|
-
|
|
9119
|
-
__decorate([ pathType(0) ], Line.prototype, "curve", void 0);
|
|
9120
|
-
|
|
9121
|
-
__decorate([ pathType(false) ], Line.prototype, "closed", void 0);
|
|
9122
|
-
|
|
9123
|
-
Line = __decorate([ registerUI() ], Line);
|
|
9124
|
-
|
|
9125
9148
|
const {sin: sin$1, cos: cos$1, PI: PI$1} = Math;
|
|
9126
9149
|
|
|
9127
|
-
const {moveTo: moveTo$
|
|
9128
|
-
|
|
9129
|
-
const line = Line.prototype;
|
|
9150
|
+
const {moveTo: moveTo$2, lineTo: lineTo$2, closePath: closePath$1, drawPoints: drawPoints$1} = PathCommandDataHelper;
|
|
9130
9151
|
|
|
9131
9152
|
let Polygon = class Polygon extends UI {
|
|
9132
9153
|
get __tag() {
|
|
@@ -9136,19 +9157,17 @@ let Polygon = class Polygon extends UI {
|
|
|
9136
9157
|
const data = this.__;
|
|
9137
9158
|
const path = data.path = [];
|
|
9138
9159
|
if (data.points) {
|
|
9139
|
-
drawPoints(path, data.points, data.curve, true);
|
|
9160
|
+
drawPoints$1(path, data.points, data.curve, true);
|
|
9140
9161
|
} else {
|
|
9141
9162
|
const {width: width, height: height, sides: sides} = data;
|
|
9142
9163
|
const rx = width / 2, ry = height / 2;
|
|
9143
|
-
moveTo$
|
|
9164
|
+
moveTo$2(path, rx, 0);
|
|
9144
9165
|
for (let i = 1; i < sides; i++) {
|
|
9145
|
-
lineTo$
|
|
9166
|
+
lineTo$2(path, rx + rx * sin$1(i * 2 * PI$1 / sides), ry - ry * cos$1(i * 2 * PI$1 / sides));
|
|
9146
9167
|
}
|
|
9147
9168
|
closePath$1(path);
|
|
9148
9169
|
}
|
|
9149
9170
|
}
|
|
9150
|
-
__updateRenderPath() {}
|
|
9151
|
-
__updateBoxBounds() {}
|
|
9152
9171
|
};
|
|
9153
9172
|
|
|
9154
9173
|
__decorate([ dataProcessor(PolygonData) ], Polygon.prototype, "__", void 0);
|
|
@@ -9159,15 +9178,11 @@ __decorate([ pathType() ], Polygon.prototype, "points", void 0);
|
|
|
9159
9178
|
|
|
9160
9179
|
__decorate([ pathType(0) ], Polygon.prototype, "curve", void 0);
|
|
9161
9180
|
|
|
9162
|
-
__decorate([ rewrite(line.__updateRenderPath) ], Polygon.prototype, "__updateRenderPath", null);
|
|
9163
|
-
|
|
9164
|
-
__decorate([ rewrite(line.__updateBoxBounds) ], Polygon.prototype, "__updateBoxBounds", null);
|
|
9165
|
-
|
|
9166
9181
|
Polygon = __decorate([ rewriteAble(), registerUI() ], Polygon);
|
|
9167
9182
|
|
|
9168
9183
|
const {sin: sin, cos: cos, PI: PI} = Math;
|
|
9169
9184
|
|
|
9170
|
-
const {moveTo: moveTo, lineTo: lineTo, closePath: closePath} = PathCommandDataHelper;
|
|
9185
|
+
const {moveTo: moveTo$1, lineTo: lineTo$1, closePath: closePath} = PathCommandDataHelper;
|
|
9171
9186
|
|
|
9172
9187
|
let Star = class Star extends UI {
|
|
9173
9188
|
get __tag() {
|
|
@@ -9177,9 +9192,9 @@ let Star = class Star extends UI {
|
|
|
9177
9192
|
const {width: width, height: height, corners: corners, innerRadius: innerRadius} = this.__;
|
|
9178
9193
|
const rx = width / 2, ry = height / 2;
|
|
9179
9194
|
const path = this.__.path = [];
|
|
9180
|
-
moveTo(path, rx, 0);
|
|
9195
|
+
moveTo$1(path, rx, 0);
|
|
9181
9196
|
for (let i = 1; i < corners * 2; i++) {
|
|
9182
|
-
lineTo(path, rx + (i % 2 === 0 ? rx : rx * innerRadius) * sin(i * PI / corners), ry - (i % 2 === 0 ? ry : ry * innerRadius) * cos(i * PI / corners));
|
|
9197
|
+
lineTo$1(path, rx + (i % 2 === 0 ? rx : rx * innerRadius) * sin(i * PI / corners), ry - (i % 2 === 0 ? ry : ry * innerRadius) * cos(i * PI / corners));
|
|
9183
9198
|
}
|
|
9184
9199
|
closePath(path);
|
|
9185
9200
|
}
|
|
@@ -9193,6 +9208,52 @@ __decorate([ pathType(.382) ], Star.prototype, "innerRadius", void 0);
|
|
|
9193
9208
|
|
|
9194
9209
|
Star = __decorate([ registerUI() ], Star);
|
|
9195
9210
|
|
|
9211
|
+
const {moveTo: moveTo, lineTo: lineTo, drawPoints: drawPoints} = PathCommandDataHelper;
|
|
9212
|
+
|
|
9213
|
+
const {rotate: rotate$1, getAngle: getAngle$1, getDistance: getDistance$2, defaultPoint: defaultPoint} = PointHelper;
|
|
9214
|
+
|
|
9215
|
+
let Line = class Line extends UI {
|
|
9216
|
+
get __tag() {
|
|
9217
|
+
return "Line";
|
|
9218
|
+
}
|
|
9219
|
+
get toPoint() {
|
|
9220
|
+
const {width: width, rotation: rotation} = this.__;
|
|
9221
|
+
const to = getPointData();
|
|
9222
|
+
if (width) to.x = width;
|
|
9223
|
+
if (rotation) rotate$1(to, rotation);
|
|
9224
|
+
return to;
|
|
9225
|
+
}
|
|
9226
|
+
set toPoint(value) {
|
|
9227
|
+
this.width = getDistance$2(defaultPoint, value);
|
|
9228
|
+
this.rotation = getAngle$1(defaultPoint, value);
|
|
9229
|
+
if (this.height) this.height = 0;
|
|
9230
|
+
}
|
|
9231
|
+
__updatePath() {
|
|
9232
|
+
const data = this.__;
|
|
9233
|
+
const path = data.path = [];
|
|
9234
|
+
if (data.points) {
|
|
9235
|
+
drawPoints(path, data.points, data.curve, data.closed);
|
|
9236
|
+
} else {
|
|
9237
|
+
moveTo(path, 0, 0);
|
|
9238
|
+
lineTo(path, this.width, 0);
|
|
9239
|
+
}
|
|
9240
|
+
}
|
|
9241
|
+
};
|
|
9242
|
+
|
|
9243
|
+
__decorate([ dataProcessor(LineData) ], Line.prototype, "__", void 0);
|
|
9244
|
+
|
|
9245
|
+
__decorate([ affectStrokeBoundsType("center") ], Line.prototype, "strokeAlign", void 0);
|
|
9246
|
+
|
|
9247
|
+
__decorate([ boundsType(0) ], Line.prototype, "height", void 0);
|
|
9248
|
+
|
|
9249
|
+
__decorate([ pathType() ], Line.prototype, "points", void 0);
|
|
9250
|
+
|
|
9251
|
+
__decorate([ pathType(0) ], Line.prototype, "curve", void 0);
|
|
9252
|
+
|
|
9253
|
+
__decorate([ pathType(false) ], Line.prototype, "closed", void 0);
|
|
9254
|
+
|
|
9255
|
+
Line = __decorate([ registerUI() ], Line);
|
|
9256
|
+
|
|
9196
9257
|
let Image = class Image extends Rect {
|
|
9197
9258
|
get __tag() {
|
|
9198
9259
|
return "Image";
|
|
@@ -9340,10 +9401,6 @@ let Text = class Text extends UI {
|
|
|
9340
9401
|
DataHelper.stintSet(this, "isOverflow", !includes(b, contentBounds));
|
|
9341
9402
|
if (this.isOverflow) setList(data.__textBoxBounds = {}, [ b, contentBounds ]), layout.renderChanged = true; else data.__textBoxBounds = b;
|
|
9342
9403
|
}
|
|
9343
|
-
__onUpdateSize() {
|
|
9344
|
-
if (this.__box) this.__box.__onUpdateSize();
|
|
9345
|
-
super.__onUpdateSize();
|
|
9346
|
-
}
|
|
9347
9404
|
__updateRenderSpread() {
|
|
9348
9405
|
let width = super.__updateRenderSpread();
|
|
9349
9406
|
if (!width) width = this.isOverflow ? 1 : 0;
|
|
@@ -9354,6 +9411,11 @@ let Text = class Text extends UI {
|
|
|
9354
9411
|
copyAndSpread(renderBounds, this.__.__textBoxBounds, renderSpread);
|
|
9355
9412
|
if (this.__box) this.__box.__layout.renderBounds = renderBounds;
|
|
9356
9413
|
}
|
|
9414
|
+
__updateChange() {
|
|
9415
|
+
super.__updateChange();
|
|
9416
|
+
const box = this.__box;
|
|
9417
|
+
if (box) box.__onUpdateSize(), box.__updateChange();
|
|
9418
|
+
}
|
|
9357
9419
|
__drawRenderPath(canvas) {
|
|
9358
9420
|
canvas.font = this.__.__font;
|
|
9359
9421
|
}
|
|
@@ -11831,12 +11893,18 @@ function shadow(ui, current, shape) {
|
|
|
11831
11893
|
}
|
|
11832
11894
|
worldCanvas ? other.copyWorld(worldCanvas, nowWorld, nowWorld, "destination-out") : other.copyWorld(shape.canvas, shapeBounds, bounds, "destination-out");
|
|
11833
11895
|
}
|
|
11834
|
-
LeafHelper.copyCanvasByWorld(ui, current, other, copyBounds, item.blendMode);
|
|
11896
|
+
if (Effect.isTransformShadow(item)) Effect.renderTransformShadow(ui, current, other, copyBounds, item); else LeafHelper.copyCanvasByWorld(ui, current, other, copyBounds, item.blendMode);
|
|
11835
11897
|
if (end && index < end) other.clearWorld(copyBounds);
|
|
11836
11898
|
});
|
|
11837
11899
|
other.recycle(copyBounds);
|
|
11838
11900
|
}
|
|
11839
11901
|
|
|
11902
|
+
function getShadowSpread(_ui, shadow) {
|
|
11903
|
+
let width = 0;
|
|
11904
|
+
shadow.forEach(item => width = Math.max(width, Math.max(Math.abs(item.y), Math.abs(item.x)) + (item.spread > 0 ? item.spread : 0) + item.blur * 1.5));
|
|
11905
|
+
return width;
|
|
11906
|
+
}
|
|
11907
|
+
|
|
11840
11908
|
function drawWorldShadow(canvas, outBounds, spreadScale, shape) {
|
|
11841
11909
|
const {bounds: bounds, shapeBounds: shapeBounds} = shape;
|
|
11842
11910
|
if (Platform.fullImageShadow) {
|
|
@@ -11914,7 +11982,11 @@ const EffectModule = {
|
|
|
11914
11982
|
shadow: shadow,
|
|
11915
11983
|
innerShadow: innerShadow,
|
|
11916
11984
|
blur: blur,
|
|
11917
|
-
backgroundBlur: backgroundBlur
|
|
11985
|
+
backgroundBlur: backgroundBlur,
|
|
11986
|
+
getShadowSpread: getShadowSpread,
|
|
11987
|
+
isTransformShadow(_shadow) {
|
|
11988
|
+
return undefined;
|
|
11989
|
+
}
|
|
11918
11990
|
};
|
|
11919
11991
|
|
|
11920
11992
|
const {excludeRenderBounds: excludeRenderBounds} = LeafBoundsHelper;
|
|
@@ -12422,16 +12494,17 @@ function toTextChar(row) {
|
|
|
12422
12494
|
}
|
|
12423
12495
|
|
|
12424
12496
|
function decorationText(drawData, style) {
|
|
12425
|
-
let type;
|
|
12497
|
+
let type, offset = 0;
|
|
12426
12498
|
const {fontSize: fontSize, textDecoration: textDecoration} = style;
|
|
12427
12499
|
drawData.decorationHeight = fontSize / 11;
|
|
12428
12500
|
if (isObject(textDecoration)) {
|
|
12429
12501
|
type = textDecoration.type;
|
|
12430
12502
|
if (textDecoration.color) drawData.decorationColor = ColorConvert.string(textDecoration.color);
|
|
12503
|
+
if (textDecoration.offset) offset = Math.min(fontSize * .3, Math.max(textDecoration.offset, -fontSize * .15));
|
|
12431
12504
|
} else type = textDecoration;
|
|
12432
12505
|
switch (type) {
|
|
12433
12506
|
case "under":
|
|
12434
|
-
drawData.decorationY = [ fontSize * .15 ];
|
|
12507
|
+
drawData.decorationY = [ fontSize * .15 + offset ];
|
|
12435
12508
|
break;
|
|
12436
12509
|
|
|
12437
12510
|
case "delete":
|
|
@@ -12439,7 +12512,7 @@ function decorationText(drawData, style) {
|
|
|
12439
12512
|
break;
|
|
12440
12513
|
|
|
12441
12514
|
case "under-delete":
|
|
12442
|
-
drawData.decorationY = [ fontSize * .15, -fontSize * .35 ];
|
|
12515
|
+
drawData.decorationY = [ fontSize * .15 + offset, -fontSize * .35 ];
|
|
12443
12516
|
}
|
|
12444
12517
|
}
|
|
12445
12518
|
|
|
@@ -12543,4 +12616,4 @@ Object.assign(Creator, {
|
|
|
12543
12616
|
|
|
12544
12617
|
useCanvas();
|
|
12545
12618
|
|
|
12546
|
-
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Frame, FrameData, Group, GroupData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix$1 as tempMatrix, tempPoint$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|
|
12619
|
+
export { AlignHelper, Answer, App, AroundHelper, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent, Dragger, DropEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Frame, FrameData, Group, GroupData, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, Line, LineData, MathHelper, Matrix, MatrixHelper, MoveEvent, MyDragEvent, MyImage, MyPointerEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, RotateEvent, Run, Selector, Star, StarData, State, StringNumberMap, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, ZoomEvent, affectRenderBoundsType, affectStrokeBoundsType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleType, scrollType, sortType, strokeType, surfaceType, tempBounds$1 as tempBounds, tempMatrix$1 as tempMatrix, tempPoint$2 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
|