@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/src/map/map.d.ts CHANGED
@@ -17,4 +17,5 @@ export declare class ViewMap {
17
17
  private onMouseDown;
18
18
  private onMouseMove;
19
19
  private onMouseUp;
20
+ private onWheel;
20
21
  }
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;
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../packages/core/src/map/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../packages/core/src/map/map.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -163,6 +163,7 @@ export var formatAttrs = new Set([
163
163
  'animateLineWidth',
164
164
  'gradientSmooth',
165
165
  'lineSmooth',
166
+ 'animations'
166
167
  ]);
167
168
  /**
168
169
  * 清空 pen 的 生命周期
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
@@ -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
- pen.showChild === undefined) {
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];