@meta2d/core 1.0.42 → 1.0.43
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/core.d.ts +2 -0
- package/src/core.js +79 -19
- package/src/core.js.map +1 -1
- package/src/diagrams/line/arrow.js +47 -17
- package/src/diagrams/line/arrow.js.map +1 -1
- package/src/options.js +1 -1
- package/src/pen/model.d.ts +2 -1
- package/src/pen/model.js +1 -0
- package/src/pen/model.js.map +1 -1
- package/src/pen/render.js +15 -4
- package/src/pen/render.js.map +1 -1
- package/src/store/store.d.ts +5 -0
- package/src/store/store.js +3 -0
- package/src/store/store.js.map +1 -1
- package/src/theme.d.ts +13 -0
- package/src/theme.js +23 -0
- package/src/theme.js.map +1 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LineAnimateType } from '../../pen';
|
|
1
2
|
//箭头动画
|
|
2
3
|
export function drawArrow(pen, ctx) {
|
|
3
4
|
var path = !ctx ? new Path2D() : ctx;
|
|
@@ -5,6 +6,9 @@ export function drawArrow(pen, ctx) {
|
|
|
5
6
|
var scale = pen.calculative.canvas.store.data.scale;
|
|
6
7
|
var size = (pen.calculative.animateLineWidth || 6) * scale; // 箭头大小
|
|
7
8
|
var arrowLength = (pen.animateLineWidth * 2 || 12) * scale; // 箭头长度
|
|
9
|
+
if (pen.lineAnimateType === LineAnimateType.WaterDrop) {
|
|
10
|
+
arrowLength = (pen.animateLineWidth * 4 || 24) * scale; // 水滴长度
|
|
11
|
+
}
|
|
8
12
|
var d = (pen.animateInterval || 100) * scale; // 箭头间距
|
|
9
13
|
var smoothLenth = pen.calculative.lineWidth * (pen.calculative.lineSmooth || 0); //*scale;
|
|
10
14
|
var lineWidth = (pen.calculative.animateLineWidth / 2 || 3) * scale;
|
|
@@ -42,25 +46,17 @@ export function drawArrow(pen, ctx) {
|
|
|
42
46
|
var newPTFrom = Math.sqrt(Math.pow((newP.x - from.x), 2) + Math.pow((newP.y - from.y), 2));
|
|
43
47
|
var ptTFrom = Math.sqrt(Math.pow((pt.x - from.x), 2) + Math.pow((pt.y - from.y), 2));
|
|
44
48
|
while (newPTFrom < ptTFrom) {
|
|
45
|
-
if (((pen.animateReverse && newPTFrom - arrowLength
|
|
49
|
+
if (((pen.animateReverse && newPTFrom - arrowLength < ptTFrom) || //不允许超出连线绘制
|
|
46
50
|
(!pen.animateReverse &&
|
|
47
|
-
newPTFrom > arrowLength
|
|
48
|
-
newPTFrom > (smoothLenth + arrowLength
|
|
51
|
+
newPTFrom > arrowLength)) &&
|
|
52
|
+
newPTFrom > (smoothLenth + arrowLength) &&
|
|
49
53
|
ptTFrom - newPTFrom > smoothLenth) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
path.moveTo(pr.x, pr.y);
|
|
57
|
-
path.lineTo(newP.x, newP.y);
|
|
58
|
-
path.lineTo(pl.x, pl.y);
|
|
59
|
-
path.lineTo(pl1.x, pl1.y);
|
|
60
|
-
path.lineTo(pl2.x, pl2.y);
|
|
61
|
-
path.lineTo(pr2.x, pr2.y);
|
|
62
|
-
path.lineTo(pr1.x, pr1.y);
|
|
63
|
-
path.lineTo(pr.x, pr.y);
|
|
54
|
+
if (pen.lineAnimateType === LineAnimateType.Arrow) {
|
|
55
|
+
arrow(path, newP, size, angle, lineWidth, arrowLength);
|
|
56
|
+
}
|
|
57
|
+
else if (pen.lineAnimateType === LineAnimateType.WaterDrop) {
|
|
58
|
+
waterDrop(path, newP, pen.animateReverse, angle, lineWidth, arrowLength);
|
|
59
|
+
}
|
|
64
60
|
}
|
|
65
61
|
newP.x += d * Math.cos((angle * Math.PI) / 180);
|
|
66
62
|
newP.y -= d * Math.sin((angle * Math.PI) / 180);
|
|
@@ -95,4 +91,38 @@ function getRotatePoint(p, rp, _angle) {
|
|
|
95
91
|
y: (p.x - rp.x) * Math.sin(angle) + (p.y - rp.y) * Math.cos(angle) + rp.y,
|
|
96
92
|
};
|
|
97
93
|
}
|
|
94
|
+
//标准箭头
|
|
95
|
+
function arrow(path, newP, size, angle, lineWidth, arrowLength) {
|
|
96
|
+
var pr = getRotatePoint({ x: newP.x + size, y: newP.y + 0.57 * size }, { x: newP.x, y: newP.y }, angle);
|
|
97
|
+
var pl = getRotatePoint({ x: newP.x + size, y: newP.y - 0.57 * size }, { x: newP.x, y: newP.y }, angle);
|
|
98
|
+
var pr1 = getRotatePoint({ x: newP.x + size, y: newP.y + lineWidth / 2 }, { x: newP.x, y: newP.y }, angle);
|
|
99
|
+
var pr2 = getRotatePoint({ x: newP.x + arrowLength, y: newP.y + lineWidth / 2 }, { x: newP.x, y: newP.y }, angle);
|
|
100
|
+
var pl1 = getRotatePoint({ x: newP.x + size, y: newP.y - lineWidth / 2 }, { x: newP.x, y: newP.y }, angle);
|
|
101
|
+
var pl2 = getRotatePoint({ x: newP.x + arrowLength, y: newP.y - lineWidth / 2 }, { x: newP.x, y: newP.y }, angle);
|
|
102
|
+
path.moveTo(pr.x, pr.y);
|
|
103
|
+
path.lineTo(newP.x, newP.y);
|
|
104
|
+
path.lineTo(pl.x, pl.y);
|
|
105
|
+
path.lineTo(pl1.x, pl1.y);
|
|
106
|
+
path.lineTo(pl2.x, pl2.y);
|
|
107
|
+
path.lineTo(pr2.x, pr2.y);
|
|
108
|
+
path.lineTo(pr1.x, pr1.y);
|
|
109
|
+
path.lineTo(pr.x, pr.y);
|
|
110
|
+
}
|
|
111
|
+
//水滴
|
|
112
|
+
function waterDrop(path, newP, reverse, angle, lineWidth, arrowLength) {
|
|
113
|
+
var dis = lineWidth / 2;
|
|
114
|
+
if (reverse) {
|
|
115
|
+
dis = -lineWidth / 2;
|
|
116
|
+
}
|
|
117
|
+
var pl1 = getRotatePoint({ x: newP.x, y: newP.y + dis }, { x: newP.x, y: newP.y }, angle);
|
|
118
|
+
var pE = getRotatePoint({ x: newP.x + arrowLength, y: newP.y }, { x: newP.x, y: newP.y }, angle);
|
|
119
|
+
var rAngle = Math.PI / 2;
|
|
120
|
+
if (reverse) {
|
|
121
|
+
rAngle = -Math.PI / 2;
|
|
122
|
+
}
|
|
123
|
+
path.moveTo(newP.x, newP.y);
|
|
124
|
+
path.arc(newP.x, newP.y, lineWidth / 2, -rAngle - angle / 180 * Math.PI, rAngle - angle / 180 * Math.PI, false);
|
|
125
|
+
path.lineTo(pE.x, pE.y);
|
|
126
|
+
path.lineTo(pl1.x, pl1.y);
|
|
127
|
+
}
|
|
98
128
|
//# sourceMappingURL=arrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/arrow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arrow.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/arrow.ts"],"names":[],"mappings":"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"}
|
package/src/options.js
CHANGED
package/src/pen/model.d.ts
CHANGED
package/src/pen/model.js
CHANGED
|
@@ -75,6 +75,7 @@ export var LineAnimateType;
|
|
|
75
75
|
LineAnimateType[LineAnimateType["Beads"] = 1] = "Beads";
|
|
76
76
|
LineAnimateType[LineAnimateType["Dot"] = 2] = "Dot";
|
|
77
77
|
LineAnimateType[LineAnimateType["Arrow"] = 3] = "Arrow";
|
|
78
|
+
LineAnimateType[LineAnimateType["WaterDrop"] = 4] = "WaterDrop";
|
|
78
79
|
})(LineAnimateType || (LineAnimateType = {}));
|
|
79
80
|
/**
|
|
80
81
|
* dom 类型的 图形
|
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,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
|
package/src/pen/render.js
CHANGED
|
@@ -433,7 +433,7 @@ function smoothTransition(ctx, pen, smoothLenth, p1, p2, p3) {
|
|
|
433
433
|
var last = getSmoothAdjacent(smoothLenth, p2, p1);
|
|
434
434
|
var next = getSmoothAdjacent(smoothLenth, p2, p3);
|
|
435
435
|
var contrlPoint = { x: p2.x, y: p2.y };
|
|
436
|
-
var points = getBezierPoints(
|
|
436
|
+
var points = getBezierPoints(pen.calculative.canvas.store.data.smoothNum || 20, last, contrlPoint, next);
|
|
437
437
|
for (var k = 0; k < points.length - 1; k++) {
|
|
438
438
|
drawLinearGradientLine(ctx, pen, [
|
|
439
439
|
{
|
|
@@ -1421,7 +1421,14 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1421
1421
|
ctx.restore();
|
|
1422
1422
|
}
|
|
1423
1423
|
if (path instanceof Path2D) {
|
|
1424
|
-
|
|
1424
|
+
if (pen.type) {
|
|
1425
|
+
if (pen.close) {
|
|
1426
|
+
fill && ctx.fill(path);
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
else {
|
|
1430
|
+
fill && ctx.fill(path);
|
|
1431
|
+
}
|
|
1425
1432
|
}
|
|
1426
1433
|
else {
|
|
1427
1434
|
ctx.save();
|
|
@@ -1485,7 +1492,7 @@ export function ctxDrawPath(canUsePath, ctx, pen, store, fill) {
|
|
|
1485
1492
|
if (pen.calculative.animatePos) {
|
|
1486
1493
|
ctx.save();
|
|
1487
1494
|
setCtxLineAnimate(ctx, pen, store);
|
|
1488
|
-
if (pen.lineAnimateType === LineAnimateType.Arrow) {
|
|
1495
|
+
if (pen.lineAnimateType === LineAnimateType.Arrow || pen.lineAnimateType === LineAnimateType.WaterDrop) {
|
|
1489
1496
|
//箭头动画
|
|
1490
1497
|
var _path = drawArrow(pen, ctx);
|
|
1491
1498
|
if (_path instanceof Path2D) {
|
|
@@ -1532,7 +1539,7 @@ export function ctxDrawLinePath(canUsePath, ctx, pen, store) {
|
|
|
1532
1539
|
ctx.beginPath();
|
|
1533
1540
|
if (path instanceof Path2D) {
|
|
1534
1541
|
if (pen.lineName === 'polyline' || pen.lineName === 'line') {
|
|
1535
|
-
if (pen.lineAnimateType === LineAnimateType.Arrow) {
|
|
1542
|
+
if (pen.lineAnimateType === LineAnimateType.Arrow || pen.lineAnimateType === LineAnimateType.WaterDrop) {
|
|
1536
1543
|
//箭头动画
|
|
1537
1544
|
var _path = drawArrow(pen);
|
|
1538
1545
|
ctx.stroke(_path);
|
|
@@ -1622,6 +1629,10 @@ export function setCtxLineAnimate(ctx, pen, store) {
|
|
|
1622
1629
|
ctx.fillStyle = pen.animateColor || store.options.animateColor;
|
|
1623
1630
|
ctx.lineWidth = 1;
|
|
1624
1631
|
break;
|
|
1632
|
+
case LineAnimateType.WaterDrop:
|
|
1633
|
+
ctx.fillStyle = pen.animateColor || store.options.animateColor;
|
|
1634
|
+
ctx.lineWidth = 1;
|
|
1635
|
+
break;
|
|
1625
1636
|
default:
|
|
1626
1637
|
if (pen.animateReverse) {
|
|
1627
1638
|
ctx.lineDashOffset = Number.EPSILON; //防止在执行动画时会绘制多余的远点
|