@meta2d/core 1.0.52 → 1.0.53
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/package.json +1 -1
- package/src/canvas/canvas.d.ts +10 -1
- package/src/canvas/canvas.js +475 -29
- package/src/canvas/canvas.js.map +1 -1
- package/src/canvas/canvasImage.d.ts +5 -1
- package/src/canvas/canvasImage.js +54 -12
- package/src/canvas/canvasImage.js.map +1 -1
- package/src/canvas/magnifierCanvas.js +5 -3
- package/src/canvas/magnifierCanvas.js.map +1 -1
- package/src/core.d.ts +1 -0
- package/src/core.js +284 -83
- package/src/core.js.map +1 -1
- package/src/map/map.d.ts +1 -0
- package/src/map/map.js +68 -1
- package/src/map/map.js.map +1 -1
- package/src/pen/model.d.ts +3 -0
- package/src/pen/model.js +1 -0
- package/src/pen/model.js.map +1 -1
- package/src/pen/render.d.ts +2 -0
- package/src/pen/render.js +135 -4
- package/src/pen/render.js.map +1 -1
- package/src/store/store.d.ts +21 -0
- package/src/store/store.js.map +1 -1
package/src/map/map.d.ts
CHANGED
package/src/map/map.js
CHANGED
|
@@ -2,6 +2,7 @@ import { calcRightBottom, getRect, translateRect } from '../rect';
|
|
|
2
2
|
var ViewMap = /** @class */ (function () {
|
|
3
3
|
function ViewMap(parent) {
|
|
4
4
|
var _this = this;
|
|
5
|
+
var _a;
|
|
5
6
|
this.parent = parent;
|
|
6
7
|
this.boxWidth = 320;
|
|
7
8
|
this.boxHeight = 180;
|
|
@@ -38,16 +39,71 @@ var ViewMap = /** @class */ (function () {
|
|
|
38
39
|
_this.isDown = false;
|
|
39
40
|
}
|
|
40
41
|
};
|
|
42
|
+
this.onWheel = function (e) {
|
|
43
|
+
//放大镜缩放
|
|
44
|
+
var scaleOff = 0.015;
|
|
45
|
+
if (_this.parent.store.options.scaleOff) {
|
|
46
|
+
scaleOff = _this.parent.store.options.scaleOff;
|
|
47
|
+
if (e.deltaY > 0) {
|
|
48
|
+
scaleOff = -_this.parent.store.options.scaleOff;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
var isMac = /mac os /i.test(navigator.userAgent);
|
|
53
|
+
if (isMac) {
|
|
54
|
+
if (!e.ctrlKey) {
|
|
55
|
+
scaleOff *= e.wheelDeltaY / 240;
|
|
56
|
+
}
|
|
57
|
+
else if (e.deltaY > 0) {
|
|
58
|
+
scaleOff *= -1;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
var offset = 0.2;
|
|
63
|
+
if (e.deltaY.toString().indexOf('.') !== -1) {
|
|
64
|
+
offset = 0.01;
|
|
65
|
+
}
|
|
66
|
+
if (e.deltaY > 0) {
|
|
67
|
+
scaleOff = -offset;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
scaleOff = offset;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
var x = e.offsetX, y = e.offsetY;
|
|
75
|
+
var width = _this.parent.store.data.width || _this.parent.store.options.width;
|
|
76
|
+
var height = _this.parent.store.data.height || _this.parent.store.options.height;
|
|
77
|
+
if (width && height) {
|
|
78
|
+
//大屏
|
|
79
|
+
x =
|
|
80
|
+
(x / _this.boxWidth) * width * _this.parent.store.data.scale +
|
|
81
|
+
_this.parent.store.data.origin.x +
|
|
82
|
+
_this.parent.store.data.x;
|
|
83
|
+
y =
|
|
84
|
+
(y / _this.boxHeight) * height * _this.parent.store.data.scale +
|
|
85
|
+
_this.parent.store.data.origin.y +
|
|
86
|
+
_this.parent.store.data.y;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
var rect = _this.parent.parent.getRect();
|
|
90
|
+
x = (x / _this.boxWidth) * rect.width + rect.x + _this.parent.store.data.x;
|
|
91
|
+
y =
|
|
92
|
+
(y / _this.boxHeight) * rect.height + rect.y + _this.parent.store.data.y;
|
|
93
|
+
}
|
|
94
|
+
_this.parent.scale(_this.parent.store.data.scale + scaleOff, { x: x, y: y });
|
|
95
|
+
};
|
|
41
96
|
this.box = document.createElement('div');
|
|
42
97
|
this.img = new Image();
|
|
43
98
|
this.view = document.createElement('div');
|
|
44
99
|
this.box.appendChild(this.img);
|
|
45
100
|
this.box.appendChild(this.view);
|
|
46
|
-
this.parent.externalElements.appendChild(this.box);
|
|
101
|
+
(_a = this.parent.externalElements) === null || _a === void 0 ? void 0 : _a.parentElement.appendChild(this.box);
|
|
47
102
|
this.box.className = 'meta2d-map';
|
|
48
103
|
this.box.onmousedown = this.onMouseDown;
|
|
49
104
|
this.box.onmousemove = this.onMouseMove;
|
|
50
105
|
this.box.onmouseup = this.onMouseUp;
|
|
106
|
+
this.box.onwheel = this.onWheel;
|
|
51
107
|
var sheet;
|
|
52
108
|
for (var i = 0; i < document.styleSheets.length; i++) {
|
|
53
109
|
if (document.styleSheets[i].title === 'le5le/map') {
|
|
@@ -89,6 +145,17 @@ var ViewMap = /** @class */ (function () {
|
|
|
89
145
|
var data = this.parent.store.data;
|
|
90
146
|
if (data.pens.length) {
|
|
91
147
|
var rect = getRect(data.pens);
|
|
148
|
+
var vW = this.parent.store.data.width || this.parent.store.options.width;
|
|
149
|
+
var vH = this.parent.store.data.height || this.parent.store.options.height;
|
|
150
|
+
if (vW && vH) {
|
|
151
|
+
//大屏
|
|
152
|
+
rect = {
|
|
153
|
+
x: this.parent.store.data.origin.x,
|
|
154
|
+
y: this.parent.store.data.origin.y,
|
|
155
|
+
width: vW * this.parent.store.data.scale,
|
|
156
|
+
height: vH * this.parent.store.data.scale,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
92
159
|
// rect += data.x y 得到相对坐标
|
|
93
160
|
translateRect(rect, data.x, data.y);
|
|
94
161
|
var rectRatio = rect.width / rect.height;
|
package/src/map/map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../packages/core/src/map/map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE;IAUE,iBAAmB,MAAc;QAAjC,
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../packages/core/src/map/map.ts"],"names":[],"mappings":"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"}
|
package/src/pen/model.d.ts
CHANGED
|
@@ -119,6 +119,8 @@ export interface Pen extends Rect {
|
|
|
119
119
|
gradientColors?: string;
|
|
120
120
|
lineGradientColors?: string;
|
|
121
121
|
lineCap?: CanvasLineCap;
|
|
122
|
+
fromLineCap?: CanvasLineCap;
|
|
123
|
+
toLineCap?: CanvasLineCap;
|
|
122
124
|
lineJoin?: CanvasLineJoin;
|
|
123
125
|
shadowColor?: string;
|
|
124
126
|
shadowBlur?: number;
|
|
@@ -282,6 +284,7 @@ export interface Pen extends Rect {
|
|
|
282
284
|
textDrawRect?: Rect;
|
|
283
285
|
svgRect?: Rect;
|
|
284
286
|
initRect?: Rect;
|
|
287
|
+
initRelativeRect?: Rect;
|
|
285
288
|
rotate?: number;
|
|
286
289
|
lineWidth?: number;
|
|
287
290
|
borderWidth?: number;
|
package/src/pen/model.js
CHANGED
package/src/pen/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,qCAAI,CAAA;IACJ,qCAAI,CAAA;AACN,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;AAED,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,yCAAI,CAAA;IACJ,uDAAW,CAAA;IACX,uDAAW,CAAA;IACX,yDAAY,CAAA;IACZ,iEAAgB,CAAA;IAChB,iBAAiB;IACjB,gDAAY,CAAA;AACd,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iDAAO,CAAA;IACP,uCAAE,CAAA;IACF,yCAAG,CAAA;AACL,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,uCAAI,CAAA;IACJ,2CAAM,CAAA;IACN,2CAAM,CAAA;AACR,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,oBAAoB;AACpB,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,iEAAkB,CAAA;IAClB,uEAAiB,CAAA;IACjB,yDAAU,CAAA;IACV,2DAAW,CAAA,CAAC,OAAO;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,qBAAqB;AACrB,gBAAgB;AAChB,wBAAwB;AACxB,sBAAsB;AACtB,iBAAiB;AACjB,IAAI;AAEJ,wBAAwB;AACxB,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,WAAW;IACX,YAAY;IACZ,UAAU;IACV,SAAS;IACT,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,UAAU;IACV,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,CAAC,IAAM,0BAA0B,GAAG;IACxC,YAAY;IACZ,cAAc;IACd,eAAe;IACf,aAAa;IACb,OAAO;IACP,OAAO;IACP,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,IAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAoB3E,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,yDAAM,CAAA;IACN,uDAAK,CAAA;IACL,mDAAG,CAAA;IACH,uDAAK,CAAA;IACL,+DAAS,CAAA;AACX,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
|
package/src/pen/render.d.ts
CHANGED
|
@@ -72,11 +72,13 @@ export declare function calcWorldRects(pen: Pen): Rect;
|
|
|
72
72
|
export declare function calcPadding(pen: Pen, rect: Rect): void;
|
|
73
73
|
export declare function calcPenRect(pen: Pen): void;
|
|
74
74
|
export declare function calcWorldAnchors(pen: Pen): void;
|
|
75
|
+
export declare function calcChildrenInitRect(pen: Pen): void;
|
|
75
76
|
export declare function calcWorldPointOfPen(pen: Pen, pt: Point): Point;
|
|
76
77
|
export declare function calcIconRect(pens: {
|
|
77
78
|
[key: string]: Pen;
|
|
78
79
|
}, pen: Pen): void;
|
|
79
80
|
export declare function scalePen(pen: Pen, scale: number, center: Point): void;
|
|
81
|
+
export declare function scaleChildrenInitRect(pen: Pen, scale: number, center: Point): void;
|
|
80
82
|
export declare function pushPenAnchor(pen: Pen, pt: Point): {
|
|
81
83
|
id: string;
|
|
82
84
|
penId: string;
|
package/src/pen/render.js
CHANGED
|
@@ -418,7 +418,40 @@ function ctxDrawLinearGradientPath(ctx, pen) {
|
|
|
418
418
|
if (i < anchors.length - 2) {
|
|
419
419
|
_last = getSmoothAdjacent(smoothLenth, anchors[i + 1], anchors[i]);
|
|
420
420
|
}
|
|
421
|
+
var flag = false;
|
|
422
|
+
if (i === 0) {
|
|
423
|
+
if (pen.fromLineCap && pen.fromLineCap !== 'butt') {
|
|
424
|
+
ctx.save();
|
|
425
|
+
flag = true;
|
|
426
|
+
ctx.lineCap = pen.fromLineCap;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
if (i !== 0 && i === anchors.length - 2) {
|
|
430
|
+
if (pen.toLineCap && pen.toLineCap !== 'butt') {
|
|
431
|
+
ctx.save();
|
|
432
|
+
flag = true;
|
|
433
|
+
ctx.lineCap = pen.toLineCap;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
421
436
|
drawLinearGradientLine(ctx, pen, [_next, _last]);
|
|
437
|
+
if (flag) {
|
|
438
|
+
ctx.restore();
|
|
439
|
+
}
|
|
440
|
+
if (anchors.length === 2 && i === 0) {
|
|
441
|
+
ctx.save();
|
|
442
|
+
flag = true;
|
|
443
|
+
ctx.lineCap = pen.toLineCap;
|
|
444
|
+
var _y = 0.1;
|
|
445
|
+
var _x = 0.1;
|
|
446
|
+
if (_next.x - _last.x === 0) {
|
|
447
|
+
_x = 0;
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
_y = (_next.y - _last.y) / (_next.x - _last.x) * 0.1;
|
|
451
|
+
}
|
|
452
|
+
drawLinearGradientLine(ctx, pen, [{ x: _last.x - _x, y: _last.y - _y }, _last]);
|
|
453
|
+
ctx.restore();
|
|
454
|
+
}
|
|
422
455
|
}
|
|
423
456
|
}
|
|
424
457
|
}
|
|
@@ -1441,6 +1474,23 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1441
1474
|
var path = canUsePath
|
|
1442
1475
|
? store.path2dMap.get(pen)
|
|
1443
1476
|
: globalStore.path2dDraws[pen.name];
|
|
1477
|
+
var path_from = null;
|
|
1478
|
+
var path_to = null;
|
|
1479
|
+
if (pen.type === PenType.Line) {
|
|
1480
|
+
//线段的起始和结束线帽 分别配置
|
|
1481
|
+
if (pen.fromLineCap && pen.fromLineCap !== 'butt') {
|
|
1482
|
+
ctx.lineCap = 'butt';
|
|
1483
|
+
path_from = new Path2D();
|
|
1484
|
+
path_from.moveTo(pen.calculative.worldAnchors[0].x, pen.calculative.worldAnchors[0].y);
|
|
1485
|
+
path_from.lineTo(pen.calculative.worldAnchors[0].x, pen.calculative.worldAnchors[0].y);
|
|
1486
|
+
}
|
|
1487
|
+
if (pen.toLineCap && pen.toLineCap !== 'butt') {
|
|
1488
|
+
ctx.lineCap = 'butt';
|
|
1489
|
+
path_to = new Path2D();
|
|
1490
|
+
path_to.moveTo(pen.calculative.worldAnchors[pen.calculative.worldAnchors.length - 1].x, pen.calculative.worldAnchors[pen.calculative.worldAnchors.length - 1].y);
|
|
1491
|
+
path_to.lineTo(pen.calculative.worldAnchors[pen.calculative.worldAnchors.length - 1].x, pen.calculative.worldAnchors[pen.calculative.worldAnchors.length - 1].y);
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1444
1494
|
if (path) {
|
|
1445
1495
|
if (pen.type === PenType.Line && pen.borderWidth) {
|
|
1446
1496
|
ctx.save();
|
|
@@ -1448,6 +1498,12 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1448
1498
|
var lineWidth = pen.calculative.lineWidth + pen.calculative.borderWidth;
|
|
1449
1499
|
ctx.lineWidth = lineWidth;
|
|
1450
1500
|
ctx.strokeStyle = pen.borderColor;
|
|
1501
|
+
if (path_from) {
|
|
1502
|
+
ctx.save();
|
|
1503
|
+
ctx.lineCap = pen.fromLineCap;
|
|
1504
|
+
ctx.stroke(path_from);
|
|
1505
|
+
ctx.restore();
|
|
1506
|
+
}
|
|
1451
1507
|
if (path instanceof Path2D) {
|
|
1452
1508
|
fill && ctx.fill(path);
|
|
1453
1509
|
lineWidth && ctx.stroke(path);
|
|
@@ -1457,6 +1513,12 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1457
1513
|
fill && ctx.fill();
|
|
1458
1514
|
lineWidth && ctx.stroke();
|
|
1459
1515
|
}
|
|
1516
|
+
if (path_to) {
|
|
1517
|
+
ctx.save();
|
|
1518
|
+
ctx.lineCap = pen.toLineCap;
|
|
1519
|
+
ctx.stroke(path_to);
|
|
1520
|
+
ctx.restore();
|
|
1521
|
+
}
|
|
1460
1522
|
ctx.restore();
|
|
1461
1523
|
}
|
|
1462
1524
|
if (path instanceof Path2D) {
|
|
@@ -1522,7 +1584,19 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1522
1584
|
if (pen.calculative.lineWidth) {
|
|
1523
1585
|
if (path instanceof Path2D) {
|
|
1524
1586
|
if (store.options.svgPathStroke || pen.name !== 'svgPath') {
|
|
1587
|
+
if (path_from) {
|
|
1588
|
+
ctx.save();
|
|
1589
|
+
ctx.lineCap = pen.fromLineCap;
|
|
1590
|
+
ctx.stroke(path_from);
|
|
1591
|
+
ctx.restore();
|
|
1592
|
+
}
|
|
1525
1593
|
ctx.stroke(path);
|
|
1594
|
+
if (path_to) {
|
|
1595
|
+
ctx.save();
|
|
1596
|
+
ctx.lineCap = pen.toLineCap;
|
|
1597
|
+
ctx.stroke(path_to);
|
|
1598
|
+
ctx.restore();
|
|
1599
|
+
}
|
|
1526
1600
|
}
|
|
1527
1601
|
}
|
|
1528
1602
|
else {
|
|
@@ -1548,6 +1622,13 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1548
1622
|
}
|
|
1549
1623
|
else {
|
|
1550
1624
|
if (path instanceof Path2D) {
|
|
1625
|
+
if (path_from && !pen.lineAnimateType) {
|
|
1626
|
+
ctx.save();
|
|
1627
|
+
ctx.lineCap = pen.fromLineCap;
|
|
1628
|
+
ctx.stroke(path_from);
|
|
1629
|
+
ctx.restore();
|
|
1630
|
+
}
|
|
1631
|
+
ctx.lineCap = pen.lineCap;
|
|
1551
1632
|
ctx.stroke(path);
|
|
1552
1633
|
}
|
|
1553
1634
|
else {
|
|
@@ -1900,6 +1981,33 @@ export function calcWorldAnchors(pen) {
|
|
|
1900
1981
|
}
|
|
1901
1982
|
pen.calculative.gradientAnimatePath = undefined;
|
|
1902
1983
|
}
|
|
1984
|
+
export function calcChildrenInitRect(pen) {
|
|
1985
|
+
var _a;
|
|
1986
|
+
// 重新计算子节点初始化坐标
|
|
1987
|
+
if ((_a = pen.children) === null || _a === void 0 ? void 0 : _a.length) {
|
|
1988
|
+
var parentRect_1 = pen.calculative.worldRect;
|
|
1989
|
+
pen.children.forEach(function (id) {
|
|
1990
|
+
var child = pen.calculative.canvas.store.pens[id];
|
|
1991
|
+
if (child.calculative.initRect && child.calculative.initRelativeRect) {
|
|
1992
|
+
child.calculative.initRect.x =
|
|
1993
|
+
parentRect_1.x +
|
|
1994
|
+
parentRect_1.width * child.calculative.initRelativeRect.x;
|
|
1995
|
+
child.calculative.initRect.y =
|
|
1996
|
+
parentRect_1.y +
|
|
1997
|
+
parentRect_1.height * child.calculative.initRelativeRect.y;
|
|
1998
|
+
child.calculative.initRect.ex =
|
|
1999
|
+
child.calculative.initRect.x +
|
|
2000
|
+
parentRect_1.width * child.calculative.initRelativeRect.width;
|
|
2001
|
+
child.calculative.initRect.ey =
|
|
2002
|
+
child.calculative.initRect.y +
|
|
2003
|
+
parentRect_1.height +
|
|
2004
|
+
child.calculative.initRelativeRect.height;
|
|
2005
|
+
calcCenter(child.calculative.initRect);
|
|
2006
|
+
}
|
|
2007
|
+
calcChildrenInitRect(child);
|
|
2008
|
+
});
|
|
2009
|
+
}
|
|
2010
|
+
}
|
|
1903
2011
|
export function calcWorldPointOfPen(pen, pt) {
|
|
1904
2012
|
var p = __assign({}, pt);
|
|
1905
2013
|
var _a = pen.calculative.worldRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
|
|
@@ -1966,6 +2074,7 @@ export function scalePen(pen, scale, center) {
|
|
|
1966
2074
|
if (pen.calculative.initRect) {
|
|
1967
2075
|
scaleRect(pen.calculative.initRect, scale, center, pen.pivot);
|
|
1968
2076
|
}
|
|
2077
|
+
scaleChildrenInitRect(pen, scale, center);
|
|
1969
2078
|
if (pen.calculative.x) {
|
|
1970
2079
|
scalePoint(pen.calculative, scale, center);
|
|
1971
2080
|
}
|
|
@@ -1973,6 +2082,19 @@ export function scalePen(pen, scale, center) {
|
|
|
1973
2082
|
calcWorldAnchors(pen);
|
|
1974
2083
|
}
|
|
1975
2084
|
}
|
|
2085
|
+
export function scaleChildrenInitRect(pen, scale, center) {
|
|
2086
|
+
var _a;
|
|
2087
|
+
if ((_a = pen.children) === null || _a === void 0 ? void 0 : _a.length) {
|
|
2088
|
+
pen.children.forEach(function (id) {
|
|
2089
|
+
var child = pen.calculative.canvas.store.pens[id];
|
|
2090
|
+
if (child &&
|
|
2091
|
+
child.calculative.initRect) {
|
|
2092
|
+
scaleRect(child.calculative.initRect, scale, center);
|
|
2093
|
+
}
|
|
2094
|
+
scaleChildrenInitRect(child, scale, center);
|
|
2095
|
+
});
|
|
2096
|
+
}
|
|
2097
|
+
}
|
|
1976
2098
|
export function pushPenAnchor(pen, pt) {
|
|
1977
2099
|
if (!pen.anchors) {
|
|
1978
2100
|
pen.anchors = [];
|
|
@@ -2264,6 +2386,14 @@ export function setNodeAnimate(pen, now) {
|
|
|
2264
2386
|
pen.calculative.x = pen.calculative.worldRect.x;
|
|
2265
2387
|
pen.calculative.y = pen.calculative.worldRect.y;
|
|
2266
2388
|
pen.calculative.initRect = deepClone(pen.calculative.worldRect);
|
|
2389
|
+
if (pen.parentId) {
|
|
2390
|
+
pen.calculative.initRelativeRect = {
|
|
2391
|
+
x: pen.x,
|
|
2392
|
+
y: pen.y,
|
|
2393
|
+
width: pen.width,
|
|
2394
|
+
height: pen.height,
|
|
2395
|
+
};
|
|
2396
|
+
}
|
|
2267
2397
|
pen.calculative.initRect.rotate = pen.calculative.rotate || 0;
|
|
2268
2398
|
initPrevFrame(pen);
|
|
2269
2399
|
}
|
|
@@ -2317,8 +2447,8 @@ export function setNodeAnimate(pen, now) {
|
|
|
2317
2447
|
// 以初始位置为参考点。因为网页在后台时,不执行动画帧,网页恢复显示时,位置不确定
|
|
2318
2448
|
pen.calculative.x = pen.calculative.initRect.x;
|
|
2319
2449
|
pen.calculative.y = pen.calculative.initRect.y;
|
|
2320
|
-
if ((_c = pen.children) === null || _c === void 0 ? void 0 : _c.length) {
|
|
2321
|
-
pen.calculative.canvas.rotatePen(pen, (pen.calculative.initRect.rotate || 0) - pen.calculative.rotate, pen.calculative.initRect);
|
|
2450
|
+
if (((_c = pen.children) === null || _c === void 0 ? void 0 : _c.length) && !pen.parentId) {
|
|
2451
|
+
pen.calculative.canvas.rotatePen(pen, (pen.calculative.initRect.rotate || 0) - (pen.calculative.rotate || 0), pen.calculative.initRect);
|
|
2322
2452
|
}
|
|
2323
2453
|
else {
|
|
2324
2454
|
pen.calculative.rotate = pen.calculative.initRect.rotate || 0;
|
|
@@ -3045,8 +3175,9 @@ export function setChildValue(pen, data) {
|
|
|
3045
3175
|
}
|
|
3046
3176
|
}
|
|
3047
3177
|
}
|
|
3048
|
-
if (pen.calculative.canvas.parent.isCombine(pen)
|
|
3049
|
-
|
|
3178
|
+
if (pen.calculative.canvas.parent.isCombine(pen)
|
|
3179
|
+
//&& pen.showChild === undefined
|
|
3180
|
+
) {
|
|
3050
3181
|
var children = pen.children;
|
|
3051
3182
|
children === null || children === void 0 ? void 0 : children.forEach(function (childId) {
|
|
3052
3183
|
var child = pen.calculative.canvas.store.pens[childId];
|