@meta2d/core 1.0.48 → 1.0.50
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 +2 -0
- package/src/canvas/canvas.js +184 -55
- package/src/canvas/canvas.js.map +1 -1
- package/src/core.d.ts +12 -0
- package/src/core.js +308 -137
- package/src/core.js.map +1 -1
- package/src/data.js +1 -0
- package/src/data.js.map +1 -1
- package/src/diagrams/index.d.ts +3 -0
- package/src/diagrams/index.js +5 -1
- package/src/diagrams/index.js.map +1 -1
- package/src/diagrams/panel.d.ts +2 -0
- package/src/diagrams/panel.js +131 -0
- package/src/diagrams/panel.js.map +1 -0
- package/src/options.d.ts +1 -0
- package/src/options.js.map +1 -1
- package/src/pen/model.d.ts +4 -0
- package/src/pen/model.js.map +1 -1
- package/src/pen/render.d.ts +1 -0
- package/src/pen/render.js +50 -11
- package/src/pen/render.js.map +1 -1
- package/src/pen/text.js +6 -6
- package/src/pen/text.js.map +1 -1
- package/src/rect/rect.d.ts +3 -1
- package/src/rect/rect.js +17 -3
- package/src/rect/rect.js.map +1 -1
- package/src/store/store.d.ts +13 -0
- package/src/store/store.js.map +1 -1
- package/src/utils/url.js +1 -1
- package/src/utils/url.js.map +1 -1
package/src/data.js
CHANGED
package/src/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../packages/core/src/data.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAUX;AAVD,WAAY,SAAS;IACnB,yCAAI,CAAA;IACJ,qDAAU,CAAA;IACV,qDAAU,CAAA;IACV,yCAAI,CAAA;IACJ,yCAAI,CAAA;IACJ,6CAAM,CAAA;IACN,6CAAM,CAAA;IACN,6DAAc,CAAA;IACd,6DAAc,CAAA;AAChB,CAAC,EAVW,SAAS,KAAT,SAAS,QAUpB;AAED,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,qDAAS,CAAA;IACT,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,qDAAS,CAAA;AACX,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,2CAAI,CAAA;IACJ,qDAAS,CAAA;AACX,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,0CAAS,CAAA;IACT,qCAAE,CAAA;IACF,2CAAK,CAAA;IACL,6CAAM,CAAA;IACN,yCAAI,CAAA;AACN,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACH,CAAC;AACX,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,IAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAEhE,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,WAAW;IACX,SAAS;IACT,UAAU;IACV,YAAY;IACZ,OAAO;IACP,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../packages/core/src/data.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAUX;AAVD,WAAY,SAAS;IACnB,yCAAI,CAAA;IACJ,qDAAU,CAAA;IACV,qDAAU,CAAA;IACV,yCAAI,CAAA;IACJ,yCAAI,CAAA;IACJ,6CAAM,CAAA;IACN,6CAAM,CAAA;IACN,6DAAc,CAAA;IACd,6DAAc,CAAA;AAChB,CAAC,EAVW,SAAS,KAAT,SAAS,QAUpB;AAED,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,qDAAS,CAAA;IACT,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,qDAAS,CAAA;AACX,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,2CAAI,CAAA;IACJ,qDAAS,CAAA;AACX,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,0CAAS,CAAA;IACT,qCAAE,CAAA;IACF,2CAAK,CAAA;IACL,6CAAM,CAAA;IACN,yCAAI,CAAA;AACN,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACH,CAAC;AACX,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,IAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAEhE,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC9B,MAAM;IACN,WAAW;IACX,SAAS;IACT,UAAU;IACV,YAAY;IACZ,OAAO;IACP,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;CACV,CAAC"}
|
package/src/diagrams/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from './people';
|
|
|
15
15
|
export * from './line';
|
|
16
16
|
export * from './iframe';
|
|
17
17
|
export * from './video';
|
|
18
|
+
export * from './panel';
|
|
18
19
|
import { rectangle } from './rectangle';
|
|
19
20
|
import { circle } from './circle';
|
|
20
21
|
import { svgPath } from './svgPath';
|
|
@@ -34,6 +35,7 @@ import { video } from './video';
|
|
|
34
35
|
import { gif } from './gif';
|
|
35
36
|
import { mindNode, mindNodeAnchors } from './mindNode';
|
|
36
37
|
import { mindLine, mindLineAnchors } from './mindLine';
|
|
38
|
+
import { panel } from './panel';
|
|
37
39
|
export declare function commonPens(): {
|
|
38
40
|
rectangle: typeof rectangle;
|
|
39
41
|
square: typeof rectangle;
|
|
@@ -58,6 +60,7 @@ export declare function commonPens(): {
|
|
|
58
60
|
mindNode: typeof mindNode;
|
|
59
61
|
mindLine: typeof mindLine;
|
|
60
62
|
mindNode2: typeof rectangle;
|
|
63
|
+
panel: typeof panel;
|
|
61
64
|
};
|
|
62
65
|
export declare function commonAnchors(): {
|
|
63
66
|
triangle: typeof triangleAnchors;
|
package/src/diagrams/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from './people';
|
|
|
15
15
|
export * from './line';
|
|
16
16
|
export * from './iframe';
|
|
17
17
|
export * from './video';
|
|
18
|
+
export * from './panel';
|
|
18
19
|
import { rectangle, square } from './rectangle';
|
|
19
20
|
import { circle } from './circle';
|
|
20
21
|
import { svgPath } from './svgPath';
|
|
@@ -27,6 +28,7 @@ import { leftArrow, rightArrow, twowayArrow } from './arrow';
|
|
|
27
28
|
import { message } from './message';
|
|
28
29
|
import { cloud } from './cloud';
|
|
29
30
|
import { file } from './file';
|
|
31
|
+
// import { cube } from './cube';
|
|
30
32
|
import { people } from './people';
|
|
31
33
|
import { line } from './line';
|
|
32
34
|
import { iframe } from './iframe';
|
|
@@ -34,6 +36,7 @@ import { video } from './video';
|
|
|
34
36
|
import { gif } from './gif';
|
|
35
37
|
import { mindNode, mindNodeAnchors } from './mindNode';
|
|
36
38
|
import { mindLine, mindLineAnchors } from './mindLine';
|
|
39
|
+
import { panel } from './panel';
|
|
37
40
|
export function commonPens() {
|
|
38
41
|
return {
|
|
39
42
|
rectangle: rectangle,
|
|
@@ -58,7 +61,8 @@ export function commonPens() {
|
|
|
58
61
|
gif: gif,
|
|
59
62
|
mindNode: mindNode,
|
|
60
63
|
mindLine: mindLine,
|
|
61
|
-
mindNode2: rectangle
|
|
64
|
+
mindNode2: rectangle,
|
|
65
|
+
panel: panel
|
|
62
66
|
};
|
|
63
67
|
}
|
|
64
68
|
export function commonAnchors() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/diagrams/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/diagrams/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,iCAAiC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,SAAS,WAAA;QACT,MAAM,QAAA;QACN,MAAM,QAAA;QACN,OAAO,SAAA;QACP,OAAO,SAAA;QACP,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,OAAO,SAAA;QACP,SAAS,WAAA;QACT,UAAU,YAAA;QACV,WAAW,aAAA;QACX,OAAO,SAAA;QACP,KAAK,OAAA;QACL,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,KAAK,OAAA;QACL,GAAG,KAAA;QACH,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,SAAS,EAAC,SAAS;QACnB,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,eAAe;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { movingSuffix } from '../canvas';
|
|
2
|
+
import { rectInRect } from '../rect';
|
|
3
|
+
import { deepClone } from '../utils';
|
|
4
|
+
export function panel(pen, ctx) {
|
|
5
|
+
var path = !ctx ? new Path2D() : ctx;
|
|
6
|
+
if (!pen.onDestroy) {
|
|
7
|
+
pen.onDestroy = destory;
|
|
8
|
+
pen.onMove = move;
|
|
9
|
+
pen.onRotate = move;
|
|
10
|
+
pen.onMouseEnter = mouseEnter;
|
|
11
|
+
pen.onMouseLeave = mouseLeave;
|
|
12
|
+
pen.onMouseMove = mouseMove;
|
|
13
|
+
pen.onMouseUp = mouseUp;
|
|
14
|
+
pen.onInput = input;
|
|
15
|
+
}
|
|
16
|
+
var wr = pen.calculative.borderRadius || 0, hr = wr;
|
|
17
|
+
var _a = pen.calculative.worldRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height, ex = _a.ex, ey = _a.ey;
|
|
18
|
+
var textX = pen.calculative.worldTextRect.x;
|
|
19
|
+
if (wr < 1) {
|
|
20
|
+
wr = width * wr;
|
|
21
|
+
hr = height * hr;
|
|
22
|
+
}
|
|
23
|
+
var r = wr < hr ? wr : hr;
|
|
24
|
+
if (width < 2 * r) {
|
|
25
|
+
r = width / 2;
|
|
26
|
+
}
|
|
27
|
+
if (height < 2 * r) {
|
|
28
|
+
r = height / 2;
|
|
29
|
+
}
|
|
30
|
+
var textWidth = getTextWidth(pen.text, pen.calculative.fontSize);
|
|
31
|
+
path.moveTo(x + r, y);
|
|
32
|
+
path.lineTo(textX - 5, y);
|
|
33
|
+
path.moveTo(textX + textWidth + 5, y);
|
|
34
|
+
path.lineTo(textX + textWidth + 5, y);
|
|
35
|
+
path.arcTo(ex, y, ex, ey, r);
|
|
36
|
+
path.arcTo(ex, ey, x, ey, r);
|
|
37
|
+
path.arcTo(x, ey, x, y, r);
|
|
38
|
+
path.arcTo(x, y, ex, y, r);
|
|
39
|
+
if (path instanceof Path2D) {
|
|
40
|
+
return path;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function getTextWidth(text, fontSize) {
|
|
44
|
+
// 近似计算
|
|
45
|
+
var chinese = text.match(/[^\x00-\xff]/g) || '';
|
|
46
|
+
var chineseWidth = chinese.length * fontSize; // 中文占用的宽度
|
|
47
|
+
var spaces = text.match(/\s/g) || '';
|
|
48
|
+
var spaceWidth = spaces.length * fontSize * 0.3; // 空格占用的宽度
|
|
49
|
+
var otherWidth = (text.length - chinese.length - spaces.length) * fontSize * 0.6; // 其他字符占用的宽度
|
|
50
|
+
var currentWidth = chineseWidth + spaceWidth + otherWidth;
|
|
51
|
+
return currentWidth;
|
|
52
|
+
}
|
|
53
|
+
function input(pen, text) {
|
|
54
|
+
pen.text = text;
|
|
55
|
+
pen.calculative.text = pen.text;
|
|
56
|
+
// this.inputDiv.dataset.penId = undefined;
|
|
57
|
+
pen.calculative.canvas.updatePenRect(pen);
|
|
58
|
+
// this.patchFlags = true;
|
|
59
|
+
// this.store.emitter.emit('valueUpdate', pen);
|
|
60
|
+
}
|
|
61
|
+
function destory(pen) { }
|
|
62
|
+
function move(pen) { }
|
|
63
|
+
function mouseEnter(pen) {
|
|
64
|
+
// const activePens = pen.calculative.canvas.store.active;
|
|
65
|
+
// if(activePens&&activePens.length){
|
|
66
|
+
// activePens.forEach((activePen:Pen)=>{
|
|
67
|
+
// if(rectInRect(activePen.calculative.worldRect,pen.calculative.worldRect,true)){
|
|
68
|
+
// if(!pen.followers){
|
|
69
|
+
// pen.followers =[];
|
|
70
|
+
// }
|
|
71
|
+
// if(!pen.followers.includes(activePen.id)){
|
|
72
|
+
// pen.followers.push(activePen.id);
|
|
73
|
+
// }
|
|
74
|
+
// }
|
|
75
|
+
// })
|
|
76
|
+
// }
|
|
77
|
+
}
|
|
78
|
+
function mouseLeave(pen) {
|
|
79
|
+
var activePens = pen.calculative.canvas.store.active;
|
|
80
|
+
if (activePens && activePens.length) {
|
|
81
|
+
activePens.forEach(function (activePen) {
|
|
82
|
+
// if(!rectInRect(activePen.calculative.worldRect,pen.calculative.worldRect,true)){
|
|
83
|
+
// if(!pen.followers){
|
|
84
|
+
// pen.followers =[];
|
|
85
|
+
// }
|
|
86
|
+
// if(!pen.followers.includes(activePen.id)){
|
|
87
|
+
// pen.followers.push(activePen.id);
|
|
88
|
+
// }
|
|
89
|
+
// }
|
|
90
|
+
if (pen.followers) {
|
|
91
|
+
var idx = pen.followers.findIndex(function (id) { return id === activePen.id; });
|
|
92
|
+
if (idx !== -1) {
|
|
93
|
+
var movingPen = pen.calculative.canvas.store.pens[activePen.id + movingSuffix];
|
|
94
|
+
if (movingPen && movingPen.calculative) {
|
|
95
|
+
var isIn = rectInRect(movingPen.calculative.worldRect, pen.calculative.worldRect, true);
|
|
96
|
+
if (!isIn) {
|
|
97
|
+
pen.followers.splice(idx, 1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function mouseUp(pen) {
|
|
106
|
+
var activePens = pen.calculative.canvas.store.active;
|
|
107
|
+
if (activePens && activePens.length) {
|
|
108
|
+
activePens.forEach(function (activePen) {
|
|
109
|
+
var movingPen = pen.calculative.canvas.store.pens[activePen.id + movingSuffix];
|
|
110
|
+
if (movingPen && movingPen.calculative) {
|
|
111
|
+
var inRect = deepClone(pen.calculative.worldRect);
|
|
112
|
+
inRect.x -= 1;
|
|
113
|
+
inRect.y -= 1;
|
|
114
|
+
inRect.width += 2;
|
|
115
|
+
inRect.height += 2;
|
|
116
|
+
if (rectInRect(movingPen.calculative.worldRect, inRect, true)) {
|
|
117
|
+
if (!pen.followers) {
|
|
118
|
+
pen.followers = [];
|
|
119
|
+
}
|
|
120
|
+
if (!pen.followers.includes(activePen.id)) {
|
|
121
|
+
pen.followers.push(activePen.id);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function mouseMove(pen, e) {
|
|
129
|
+
// console.log(e,pen.calculative.canvas.store.active);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../../../../packages/core/src/diagrams/panel.ts"],"names":[],"mappings":"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"}
|
package/src/options.d.ts
CHANGED
package/src/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../packages/core/src/options.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAAS,CAAA;IACT,qDAAQ,CAAA;IACR,iDAAM,CAAA;AACR,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../packages/core/src/options.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAAS,CAAA;IACT,qDAAQ,CAAA;IACR,iDAAM,CAAA;AACR,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AA4GD,MAAM,CAAC,IAAM,cAAc,GAAY;IACrC,UAAU,EACR,2EAA2E;IAC7E,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,uBAAuB;IACnC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,MAAM;IACxB,SAAS,EAAE,uBAAuB;IAClC,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,WAAW,CAAC,QAAQ;IAC7B,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,OAAO;IACxB,QAAQ,EAAE,EAAE;IACZ,eAAe,EAAE,EAAE;IACnB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE;QACd;YACE,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL;QACD;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;SACP;QACD;YACE,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL;QACD;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;SACP;KACF;IACD,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,CAAC;IACpB,oBAAoB,EAAE,KAAK;IAC3B,GAAG,EAAE,EAAE;IACP,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,EAAE;IACb,eAAe,EAAC,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAC,IAAI;CACnB,CAAC"}
|
package/src/pen/model.d.ts
CHANGED
|
@@ -164,6 +164,7 @@ export interface Pen extends Rect {
|
|
|
164
164
|
backgroundImage?: string;
|
|
165
165
|
strokeImage?: string;
|
|
166
166
|
children?: string[];
|
|
167
|
+
followers?: string[];
|
|
167
168
|
anchors?: Point[];
|
|
168
169
|
anchorRadius?: number;
|
|
169
170
|
anchorBackground?: string;
|
|
@@ -258,6 +259,8 @@ export interface Pen extends Rect {
|
|
|
258
259
|
disabledBackground?: string;
|
|
259
260
|
disabledTextColor?: string;
|
|
260
261
|
inputType?: string;
|
|
262
|
+
deviceId?: string;
|
|
263
|
+
pivot?: Point;
|
|
261
264
|
calculative?: {
|
|
262
265
|
x?: number;
|
|
263
266
|
y?: number;
|
|
@@ -357,6 +360,7 @@ export interface Pen extends Rect {
|
|
|
357
360
|
active?: boolean;
|
|
358
361
|
focus?: boolean;
|
|
359
362
|
hover?: boolean;
|
|
363
|
+
containerHover?: boolean;
|
|
360
364
|
isDock?: boolean;
|
|
361
365
|
pencil?: boolean;
|
|
362
366
|
activeAnchor?: Point;
|
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
|
@@ -12,6 +12,7 @@ import { Meta2dStore } from '../store';
|
|
|
12
12
|
export declare function isAncestor(pen: Pen, ancestor: Pen): boolean;
|
|
13
13
|
export declare function getParent(pen: Pen, root?: boolean): Pen;
|
|
14
14
|
export declare function getAllChildren(pen: Pen, store: Meta2dStore): Pen[];
|
|
15
|
+
export declare function getAllFollowers(pen: Pen, store: Meta2dStore): Pen[];
|
|
15
16
|
export declare function getGradientAnimatePath(pen: Pen): Path2D;
|
|
16
17
|
export declare function drawImage(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, pen: Pen): void;
|
|
17
18
|
/**
|
package/src/pen/render.js
CHANGED
|
@@ -49,7 +49,7 @@ import { CanvasLayer, LineAnimateType, LockState, } from './model';
|
|
|
49
49
|
import { drawArrow, getLineRect, getSplitAnchor } from '../diagrams';
|
|
50
50
|
import { Direction, inheritanceProps } from '../data';
|
|
51
51
|
import { calcRotate, distance, facePoint, rotatePoint, scalePoint, translatePoint, TwoWay, } from '../point';
|
|
52
|
-
import { calcCenter, calcRightBottom, calcRelativePoint, calcRelativeRect, rectInRect, scaleRect, translateRect, } from '../rect';
|
|
52
|
+
import { calcCenter, calcRightBottom, calcRelativePoint, calcRelativeRect, rectInRect, scaleRect, translateRect, calcPivot } from '../rect';
|
|
53
53
|
import { globalStore } from '../store';
|
|
54
54
|
import { calcTextLines, calcTextDrawRect, calcTextRect } from './text';
|
|
55
55
|
import { deepClone } from '../utils/clone';
|
|
@@ -99,6 +99,20 @@ export function getAllChildren(pen, store) {
|
|
|
99
99
|
});
|
|
100
100
|
return children;
|
|
101
101
|
}
|
|
102
|
+
export function getAllFollowers(pen, store) {
|
|
103
|
+
if (!pen || !pen.followers) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
var followers = [];
|
|
107
|
+
pen.followers.forEach(function (id) {
|
|
108
|
+
var follower = store.pens[id];
|
|
109
|
+
if (follower && !follower.parentId) {
|
|
110
|
+
followers.push(follower);
|
|
111
|
+
followers.push.apply(followers, __spreadArray([], __read(getAllFollowers(follower, store)), false));
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return followers;
|
|
115
|
+
}
|
|
102
116
|
function drawBkLinearGradient(ctx, pen) {
|
|
103
117
|
var _a = pen.calculative, worldRect = _a.worldRect, gradientFromColor = _a.gradientFromColor, gradientToColor = _a.gradientToColor, gradientAngle = _a.gradientAngle;
|
|
104
118
|
return linearGradient(ctx, worldRect, gradientFromColor, gradientToColor, gradientAngle);
|
|
@@ -1021,7 +1035,7 @@ export function ctxFlip(ctx, pen) {
|
|
|
1021
1035
|
}
|
|
1022
1036
|
export function ctxRotate(ctx, pen, noFlip) {
|
|
1023
1037
|
if (noFlip === void 0) { noFlip = false; }
|
|
1024
|
-
var _a = pen.calculative.worldRect.center, x = _a.x, y = _a.y;
|
|
1038
|
+
var _a = pen.calculative.worldRect.pivot || pen.calculative.worldRect.center, x = _a.x, y = _a.y;
|
|
1025
1039
|
ctx.translate(x, y);
|
|
1026
1040
|
var rotate = (pen.calculative.rotate * Math.PI) / 180;
|
|
1027
1041
|
// 目前只有水平和垂直翻转,都需要 * -1
|
|
@@ -1261,6 +1275,7 @@ export function renderPenRaw(ctx, pen, rect, download) {
|
|
|
1261
1275
|
// for canvas2svg
|
|
1262
1276
|
(_c = (_b = ctx).setAttrs) === null || _c === void 0 ? void 0 : _c.call(_b, pen);
|
|
1263
1277
|
// end
|
|
1278
|
+
var lineGradientFlag = false;
|
|
1264
1279
|
var store = pen.calculative.canvas.store;
|
|
1265
1280
|
var textFlip = pen.textFlip || store.options.textFlip;
|
|
1266
1281
|
var textRotate = pen.textRotate || store.options.textRotate;
|
|
@@ -1311,7 +1326,14 @@ export function renderPenRaw(ctx, pen, rect, download) {
|
|
|
1311
1326
|
}
|
|
1312
1327
|
}
|
|
1313
1328
|
else {
|
|
1314
|
-
|
|
1329
|
+
var stroke = void 0;
|
|
1330
|
+
if (pen.calculative.strokeType && pen.calculative.lineGradientColors && pen.name === 'line') {
|
|
1331
|
+
lineGradientFlag = true;
|
|
1332
|
+
}
|
|
1333
|
+
else {
|
|
1334
|
+
stroke = pen.calculative.color || getGlobalColor(store);
|
|
1335
|
+
}
|
|
1336
|
+
ctx.strokeStyle = stroke;
|
|
1315
1337
|
}
|
|
1316
1338
|
if (pen.backgroundImage) {
|
|
1317
1339
|
if (pen.calculative.backgroundImg) {
|
|
@@ -1339,8 +1361,14 @@ export function renderPenRaw(ctx, pen, rect, download) {
|
|
|
1339
1361
|
ctx.shadowOffsetY = pen.calculative.shadowOffsetY;
|
|
1340
1362
|
ctx.shadowBlur = pen.calculative.shadowBlur;
|
|
1341
1363
|
}
|
|
1342
|
-
|
|
1343
|
-
|
|
1364
|
+
if (lineGradientFlag) {
|
|
1365
|
+
ctxDrawLinearGradientPath(ctx, pen);
|
|
1366
|
+
ctxDrawLinePath(true, ctx, pen, store);
|
|
1367
|
+
}
|
|
1368
|
+
else {
|
|
1369
|
+
ctxDrawPath(false, ctx, pen, store, fill);
|
|
1370
|
+
ctxDrawCanvas(ctx, pen);
|
|
1371
|
+
}
|
|
1344
1372
|
// renderPenRaw 用在 downloadPng svg , echarts 等图形需要
|
|
1345
1373
|
if (pen.calculative.img) {
|
|
1346
1374
|
ctx.save();
|
|
@@ -1759,6 +1787,9 @@ export function calcWorldRects(pen) {
|
|
|
1759
1787
|
rect.rotate = pen.rotate;
|
|
1760
1788
|
calcRightBottom(rect);
|
|
1761
1789
|
calcCenter(rect);
|
|
1790
|
+
if (pen.pivot) {
|
|
1791
|
+
calcPivot(rect, pen.pivot);
|
|
1792
|
+
}
|
|
1762
1793
|
}
|
|
1763
1794
|
else {
|
|
1764
1795
|
var parent_1 = store.pens[pen.parentId];
|
|
@@ -1783,6 +1814,9 @@ export function calcWorldRects(pen) {
|
|
|
1783
1814
|
calcRightBottom(rect);
|
|
1784
1815
|
rect.rotate = parentRect.rotate + pen.rotate;
|
|
1785
1816
|
calcCenter(rect);
|
|
1817
|
+
if (pen.pivot) {
|
|
1818
|
+
calcPivot(rect, pen.pivot);
|
|
1819
|
+
}
|
|
1786
1820
|
}
|
|
1787
1821
|
pen.calculative.worldRect = rect;
|
|
1788
1822
|
// 这里的 rect 均是绝对值
|
|
@@ -1804,7 +1838,8 @@ export function calcPadding(pen, rect) {
|
|
|
1804
1838
|
(pen.calculative.paddingRight *= rect.width);
|
|
1805
1839
|
}
|
|
1806
1840
|
export function calcPenRect(pen) {
|
|
1807
|
-
var worldRect = pen.calculative.worldRect;
|
|
1841
|
+
var worldRect = deepClone(pen.calculative.worldRect);
|
|
1842
|
+
delete worldRect.pivot;
|
|
1808
1843
|
if (!pen.parentId) {
|
|
1809
1844
|
Object.assign(pen, worldRect);
|
|
1810
1845
|
return;
|
|
@@ -1848,7 +1883,7 @@ export function calcWorldAnchors(pen) {
|
|
|
1848
1883
|
}
|
|
1849
1884
|
if (pen.calculative.rotate) {
|
|
1850
1885
|
anchors.forEach(function (anchor) {
|
|
1851
|
-
rotatePoint(anchor, pen.calculative.rotate, pen.calculative.worldRect.center);
|
|
1886
|
+
rotatePoint(anchor, pen.calculative.rotate, pen.calculative.worldRect.pivot || pen.calculative.worldRect.center);
|
|
1852
1887
|
});
|
|
1853
1888
|
}
|
|
1854
1889
|
if (!pen.type || pen.anchors) {
|
|
@@ -1923,9 +1958,9 @@ export function calcIconRect(pens, pen) {
|
|
|
1923
1958
|
calcCenter(pen.calculative.worldIconRect);
|
|
1924
1959
|
}
|
|
1925
1960
|
export function scalePen(pen, scale, center) {
|
|
1926
|
-
scaleRect(pen.calculative.worldRect, scale, center);
|
|
1961
|
+
scaleRect(pen.calculative.worldRect, scale, center, pen.pivot);
|
|
1927
1962
|
if (pen.calculative.initRect) {
|
|
1928
|
-
scaleRect(pen.calculative.initRect, scale, center);
|
|
1963
|
+
scaleRect(pen.calculative.initRect, scale, center, pen.pivot);
|
|
1929
1964
|
}
|
|
1930
1965
|
if (pen.calculative.x) {
|
|
1931
1966
|
scalePoint(pen.calculative, scale, center);
|
|
@@ -2321,7 +2356,7 @@ export function initPrevFrame(pen) {
|
|
|
2321
2356
|
}
|
|
2322
2357
|
// 根据process进度值(纯小数),计算节点动画属性
|
|
2323
2358
|
export function setNodeAnimateProcess(pen, process) {
|
|
2324
|
-
var _a;
|
|
2359
|
+
var _a, _b;
|
|
2325
2360
|
if (process < 0) {
|
|
2326
2361
|
return;
|
|
2327
2362
|
}
|
|
@@ -2415,6 +2450,10 @@ export function setNodeAnimateProcess(pen, process) {
|
|
|
2415
2450
|
pen.calculative.canvas.canvasImage.init();
|
|
2416
2451
|
}
|
|
2417
2452
|
}
|
|
2453
|
+
else if ((_b = pen.children) === null || _b === void 0 ? void 0 : _b.length) {
|
|
2454
|
+
var childs = getAllChildren(pen, pen.calculative.canvas.store);
|
|
2455
|
+
pen.calculative.canvas.initImageCanvas(childs);
|
|
2456
|
+
}
|
|
2418
2457
|
}
|
|
2419
2458
|
pen.calculative[k] = frame[k];
|
|
2420
2459
|
var v = {};
|
|
@@ -2663,7 +2702,7 @@ function initLineRect(pen) {
|
|
|
2663
2702
|
* @returns
|
|
2664
2703
|
*/
|
|
2665
2704
|
export function getPensDisableResize(pens) {
|
|
2666
|
-
return pens.every(function (pen) { return pen.disableSize; });
|
|
2705
|
+
return pens.every(function (pen) { return pen.disableSize || pen.pivot; }); //旋转中心点图元不允许改变大小
|
|
2667
2706
|
}
|
|
2668
2707
|
export function getFrameValue(pen, prop, frameIndex) {
|
|
2669
2708
|
if (!pen.frames || !prop) {
|