@meta2d/core 1.0.0

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.
Files changed (202) hide show
  1. package/index.d.ts +9 -0
  2. package/index.js +10 -0
  3. package/index.js.map +1 -0
  4. package/package.json +39 -0
  5. package/src/canvas/canvas.d.ts +399 -0
  6. package/src/canvas/canvas.js +5920 -0
  7. package/src/canvas/canvas.js.map +1 -0
  8. package/src/canvas/canvasImage.d.ts +25 -0
  9. package/src/canvas/canvasImage.js +343 -0
  10. package/src/canvas/canvasImage.js.map +1 -0
  11. package/src/canvas/index.d.ts +2 -0
  12. package/src/canvas/index.js +3 -0
  13. package/src/canvas/index.js.map +1 -0
  14. package/src/canvas/magnifierCanvas.d.ts +20 -0
  15. package/src/canvas/magnifierCanvas.js +99 -0
  16. package/src/canvas/magnifierCanvas.js.map +1 -0
  17. package/src/canvas/offscreen.d.ts +2 -0
  18. package/src/canvas/offscreen.js +14 -0
  19. package/src/canvas/offscreen.js.map +1 -0
  20. package/src/core.d.ts +348 -0
  21. package/src/core.js +2465 -0
  22. package/src/core.js.map +1 -0
  23. package/src/data.d.ts +34 -0
  24. package/src/data.js +83 -0
  25. package/src/data.js.map +1 -0
  26. package/src/diagrams/arrow.d.ts +4 -0
  27. package/src/diagrams/arrow.js +47 -0
  28. package/src/diagrams/arrow.js.map +1 -0
  29. package/src/diagrams/circle.d.ts +2 -0
  30. package/src/diagrams/circle.js +9 -0
  31. package/src/diagrams/circle.js.map +1 -0
  32. package/src/diagrams/cloud.d.ts +2 -0
  33. package/src/diagrams/cloud.js +12 -0
  34. package/src/diagrams/cloud.js.map +1 -0
  35. package/src/diagrams/cube.d.ts +2 -0
  36. package/src/diagrams/cube.js +70 -0
  37. package/src/diagrams/cube.js.map +1 -0
  38. package/src/diagrams/diamond.d.ts +2 -0
  39. package/src/diagrams/diamond.js +13 -0
  40. package/src/diagrams/diamond.js.map +1 -0
  41. package/src/diagrams/file.d.ts +2 -0
  42. package/src/diagrams/file.js +18 -0
  43. package/src/diagrams/file.js.map +1 -0
  44. package/src/diagrams/gif.d.ts +5 -0
  45. package/src/diagrams/gif.js +80 -0
  46. package/src/diagrams/gif.js.map +1 -0
  47. package/src/diagrams/hexagon.d.ts +2 -0
  48. package/src/diagrams/hexagon.js +55 -0
  49. package/src/diagrams/hexagon.js.map +1 -0
  50. package/src/diagrams/iframe.d.ts +5 -0
  51. package/src/diagrams/iframe.js +52 -0
  52. package/src/diagrams/iframe.js.map +1 -0
  53. package/src/diagrams/index.d.ts +67 -0
  54. package/src/diagrams/index.js +72 -0
  55. package/src/diagrams/index.js.map +1 -0
  56. package/src/diagrams/line/curve.d.ts +16 -0
  57. package/src/diagrams/line/curve.js +233 -0
  58. package/src/diagrams/line/curve.js.map +1 -0
  59. package/src/diagrams/line/index.d.ts +4 -0
  60. package/src/diagrams/line/index.js +5 -0
  61. package/src/diagrams/line/index.js.map +1 -0
  62. package/src/diagrams/line/line.d.ts +42 -0
  63. package/src/diagrams/line/line.js +419 -0
  64. package/src/diagrams/line/line.js.map +1 -0
  65. package/src/diagrams/line/polyline.d.ts +10 -0
  66. package/src/diagrams/line/polyline.js +622 -0
  67. package/src/diagrams/line/polyline.js.map +1 -0
  68. package/src/diagrams/line/smooth.d.ts +3 -0
  69. package/src/diagrams/line/smooth.js +174 -0
  70. package/src/diagrams/line/smooth.js.map +1 -0
  71. package/src/diagrams/message.d.ts +2 -0
  72. package/src/diagrams/message.js +15 -0
  73. package/src/diagrams/message.js.map +1 -0
  74. package/src/diagrams/mindLine.d.ts +3 -0
  75. package/src/diagrams/mindLine.js +31 -0
  76. package/src/diagrams/mindLine.js.map +1 -0
  77. package/src/diagrams/mindNode.d.ts +3 -0
  78. package/src/diagrams/mindNode.js +189 -0
  79. package/src/diagrams/mindNode.js.map +1 -0
  80. package/src/diagrams/pentagon.d.ts +3 -0
  81. package/src/diagrams/pentagon.js +46 -0
  82. package/src/diagrams/pentagon.js.map +1 -0
  83. package/src/diagrams/pentagram.d.ts +3 -0
  84. package/src/diagrams/pentagram.js +77 -0
  85. package/src/diagrams/pentagram.js.map +1 -0
  86. package/src/diagrams/people.d.ts +2 -0
  87. package/src/diagrams/people.js +19 -0
  88. package/src/diagrams/people.js.map +1 -0
  89. package/src/diagrams/rectangle.d.ts +3 -0
  90. package/src/diagrams/rectangle.js +26 -0
  91. package/src/diagrams/rectangle.js.map +1 -0
  92. package/src/diagrams/svg/parse.d.ts +15 -0
  93. package/src/diagrams/svg/parse.js +326 -0
  94. package/src/diagrams/svg/parse.js.map +1 -0
  95. package/src/diagrams/svgPath.d.ts +2 -0
  96. package/src/diagrams/svgPath.js +30 -0
  97. package/src/diagrams/svgPath.js.map +1 -0
  98. package/src/diagrams/triangle.d.ts +3 -0
  99. package/src/diagrams/triangle.js +41 -0
  100. package/src/diagrams/triangle.js.map +1 -0
  101. package/src/diagrams/video.d.ts +5 -0
  102. package/src/diagrams/video.js +143 -0
  103. package/src/diagrams/video.js.map +1 -0
  104. package/src/event/event.d.ts +45 -0
  105. package/src/event/event.js +17 -0
  106. package/src/event/event.js.map +1 -0
  107. package/src/event/index.d.ts +1 -0
  108. package/src/event/index.js +2 -0
  109. package/src/event/index.js.map +1 -0
  110. package/src/map/index.d.ts +1 -0
  111. package/src/map/index.js +2 -0
  112. package/src/map/index.js.map +1 -0
  113. package/src/map/map.d.ts +20 -0
  114. package/src/map/map.js +143 -0
  115. package/src/map/map.js.map +1 -0
  116. package/src/options.d.ts +70 -0
  117. package/src/options.js +61 -0
  118. package/src/options.js.map +1 -0
  119. package/src/pen/arrow.d.ts +4 -0
  120. package/src/pen/arrow.js +186 -0
  121. package/src/pen/arrow.js.map +1 -0
  122. package/src/pen/index.d.ts +5 -0
  123. package/src/pen/index.js +6 -0
  124. package/src/pen/index.js.map +1 -0
  125. package/src/pen/math.d.ts +28 -0
  126. package/src/pen/math.js +304 -0
  127. package/src/pen/math.js.map +1 -0
  128. package/src/pen/model.d.ts +354 -0
  129. package/src/pen/model.js +172 -0
  130. package/src/pen/model.js.map +1 -0
  131. package/src/pen/render.d.ts +132 -0
  132. package/src/pen/render.js +1908 -0
  133. package/src/pen/render.js.map +1 -0
  134. package/src/pen/text.d.ts +7 -0
  135. package/src/pen/text.js +311 -0
  136. package/src/pen/text.js.map +1 -0
  137. package/src/pen/utils.d.ts +2 -0
  138. package/src/pen/utils.js +41 -0
  139. package/src/pen/utils.js.map +1 -0
  140. package/src/point/index.d.ts +1 -0
  141. package/src/point/index.js +2 -0
  142. package/src/point/index.js.map +1 -0
  143. package/src/point/point.d.ts +53 -0
  144. package/src/point/point.js +119 -0
  145. package/src/point/point.js.map +1 -0
  146. package/src/rect/index.d.ts +1 -0
  147. package/src/rect/index.js +2 -0
  148. package/src/rect/index.js.map +1 -0
  149. package/src/rect/rect.d.ts +49 -0
  150. package/src/rect/rect.js +446 -0
  151. package/src/rect/rect.js.map +1 -0
  152. package/src/rect/triangle.d.ts +2 -0
  153. package/src/rect/triangle.js +10 -0
  154. package/src/rect/triangle.js.map +1 -0
  155. package/src/scroll/index.d.ts +1 -0
  156. package/src/scroll/index.js +2 -0
  157. package/src/scroll/index.js.map +1 -0
  158. package/src/scroll/scroll.d.ts +32 -0
  159. package/src/scroll/scroll.js +193 -0
  160. package/src/scroll/scroll.js.map +1 -0
  161. package/src/store/global.d.ts +25 -0
  162. package/src/store/global.js +18 -0
  163. package/src/store/global.js.map +1 -0
  164. package/src/store/index.d.ts +2 -0
  165. package/src/store/index.js +3 -0
  166. package/src/store/index.js.map +1 -0
  167. package/src/store/store.d.ts +104 -0
  168. package/src/store/store.js +73 -0
  169. package/src/store/store.js.map +1 -0
  170. package/src/tooltip/index.d.ts +1 -0
  171. package/src/tooltip/index.js +2 -0
  172. package/src/tooltip/index.js.map +1 -0
  173. package/src/tooltip/tooltip.d.ts +40 -0
  174. package/src/tooltip/tooltip.js +162 -0
  175. package/src/tooltip/tooltip.js.map +1 -0
  176. package/src/utils/browser.d.ts +1 -0
  177. package/src/utils/browser.js +4 -0
  178. package/src/utils/browser.js.map +1 -0
  179. package/src/utils/clone.d.ts +8 -0
  180. package/src/utils/clone.js +73 -0
  181. package/src/utils/clone.js.map +1 -0
  182. package/src/utils/color.d.ts +3 -0
  183. package/src/utils/color.js +126 -0
  184. package/src/utils/color.js.map +1 -0
  185. package/src/utils/error.d.ts +2 -0
  186. package/src/utils/error.js +6 -0
  187. package/src/utils/error.js.map +1 -0
  188. package/src/utils/file.d.ts +2 -0
  189. package/src/utils/file.js +84 -0
  190. package/src/utils/file.js.map +1 -0
  191. package/src/utils/index.d.ts +7 -0
  192. package/src/utils/index.js +8 -0
  193. package/src/utils/index.js.map +1 -0
  194. package/src/utils/math.d.ts +18 -0
  195. package/src/utils/math.js +141 -0
  196. package/src/utils/math.js.map +1 -0
  197. package/src/utils/padding.d.ts +7 -0
  198. package/src/utils/padding.js +47 -0
  199. package/src/utils/padding.js.map +1 -0
  200. package/src/utils/uuid.d.ts +4 -0
  201. package/src/utils/uuid.js +13 -0
  202. package/src/utils/uuid.js.map +1 -0
@@ -0,0 +1,55 @@
1
+ export function hexagon(pen, ctx) {
2
+ var path = !ctx ? new Path2D() : ctx;
3
+ var _a = pen.calculative.worldRect, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
4
+ path.moveTo(x + width / 4, y);
5
+ path.lineTo(x + (width * 3) / 4, y);
6
+ path.lineTo(x + width, y + height / 2);
7
+ path.lineTo(x + (width * 3) / 4, y + height);
8
+ path.lineTo(x + (width * 1) / 4, y + height);
9
+ path.lineTo(x, y + height / 2);
10
+ path.lineTo(x + width / 4, y);
11
+ path.closePath();
12
+ if (path instanceof Path2D)
13
+ return path;
14
+ }
15
+ // export function hexagonAnchors(pen: Pen) {
16
+ // const anchors: Point[] = [];
17
+ // anchors.push({
18
+ // id: '0',
19
+ // penId: pen.id,
20
+ // x: 0.25,
21
+ // y: 0,
22
+ // });
23
+ // anchors.push({
24
+ // id: '1',
25
+ // penId: pen.id,
26
+ // x: 0.75,
27
+ // y: 0,
28
+ // });
29
+ // anchors.push({
30
+ // id: '2',
31
+ // penId: pen.id,
32
+ // x: 1,
33
+ // y: 0.5,
34
+ // });
35
+ // anchors.push({
36
+ // id: '3',
37
+ // penId: pen.id,
38
+ // x: 0.75,
39
+ // y: 1,
40
+ // });
41
+ // anchors.push({
42
+ // id: '4',
43
+ // penId: pen.id,
44
+ // x: 0.25,
45
+ // y: 1,
46
+ // });
47
+ // anchors.push({
48
+ // id: '5',
49
+ // penId: pen.id,
50
+ // x: 0,
51
+ // y: 0.5,
52
+ // });
53
+ // pen.anchors = anchors;
54
+ // }
55
+ //# sourceMappingURL=hexagon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexagon.js","sourceRoot":"","sources":["../../../../packages/core/src/diagrams/hexagon.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CAAC,GAAQ,EAAE,GAA8B;IAC9D,IAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACjC,IAAA,KAA0B,GAAG,CAAC,WAAW,CAAC,SAAS,EAAjD,CAAC,OAAA,EAAE,CAAC,OAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAA8B,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9B,IAAI,CAAC,SAAS,EAAE,CAAC;IACjB,IAAI,IAAI,YAAY,MAAM;QAAE,OAAO,IAAI,CAAC;AAC1C,CAAC;AAED,6CAA6C;AAC7C,iCAAiC;AACjC,mBAAmB;AACnB,eAAe;AACf,qBAAqB;AACrB,eAAe;AACf,YAAY;AACZ,QAAQ;AAER,mBAAmB;AACnB,eAAe;AACf,qBAAqB;AACrB,eAAe;AACf,YAAY;AACZ,QAAQ;AAER,mBAAmB;AACnB,eAAe;AACf,qBAAqB;AACrB,YAAY;AACZ,cAAc;AACd,QAAQ;AACR,mBAAmB;AACnB,eAAe;AACf,qBAAqB;AACrB,eAAe;AACf,YAAY;AACZ,QAAQ;AACR,mBAAmB;AACnB,eAAe;AACf,qBAAqB;AACrB,eAAe;AACf,YAAY;AACZ,QAAQ;AACR,mBAAmB;AACnB,eAAe;AACf,qBAAqB;AACrB,YAAY;AACZ,cAAc;AACd,QAAQ;AACR,2BAA2B;AAC3B,IAAI"}
@@ -0,0 +1,5 @@
1
+ import { Pen } from '../pen';
2
+ export declare const iframes: {
3
+ [id: string]: HTMLIFrameElement;
4
+ };
5
+ export declare function iframe(pen: Pen): Path2D;
@@ -0,0 +1,52 @@
1
+ import { setElemPosition } from '../pen';
2
+ export var iframes = {};
3
+ export function iframe(pen) {
4
+ var _a;
5
+ if (!pen.onDestroy) {
6
+ pen.onDestroy = destory;
7
+ pen.onMove = move;
8
+ pen.onResize = move;
9
+ pen.onRotate = move;
10
+ pen.onValue = move;
11
+ pen.onChangeId = changeId;
12
+ }
13
+ if (!iframes[pen.id]) {
14
+ var iframe_1 = document.createElement('iframe');
15
+ iframe_1.scrolling = 'no';
16
+ iframe_1.frameBorder = '0';
17
+ iframe_1.src = pen.iframe;
18
+ iframes[pen.id] = iframe_1;
19
+ pen.calculative.iframe = pen.iframe;
20
+ (_a = pen.calculative.canvas.externalElements) === null || _a === void 0 ? void 0 : _a.appendChild(iframe_1);
21
+ setElemPosition(pen, iframe_1);
22
+ }
23
+ else if (iframes[pen.id].getAttribute('src') !== pen.iframe) {
24
+ iframes[pen.id].src = pen.iframe;
25
+ pen.calculative.iframe = pen.iframe;
26
+ }
27
+ if (pen.calculative.patchFlags) {
28
+ setElemPosition(pen, iframes[pen.id]);
29
+ }
30
+ return new Path2D();
31
+ }
32
+ function destory(pen) {
33
+ iframes[pen.id].remove();
34
+ iframes[pen.id] = undefined;
35
+ }
36
+ function move(pen) {
37
+ if (!iframes[pen.id]) {
38
+ return;
39
+ }
40
+ setElemPosition(pen, iframes[pen.id]);
41
+ if (iframes[pen.id].getAttribute('src') !== pen.iframe) {
42
+ iframes[pen.id].src = pen.iframe;
43
+ }
44
+ }
45
+ function changeId(pen, oldId, newId) {
46
+ if (!iframes[oldId]) {
47
+ return;
48
+ }
49
+ iframes[newId] = iframes[oldId];
50
+ delete iframes[oldId];
51
+ }
52
+ //# sourceMappingURL=iframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe.js","sourceRoot":"","sources":["../../../../packages/core/src/diagrams/iframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,CAAC,IAAM,OAAO,GAEhB,EAAE,CAAC;AAEP,MAAM,UAAU,MAAM,CAAC,GAAQ;;IAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;QAClB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QACnB,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;KAC3B;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACpB,IAAM,QAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,QAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,QAAM,CAAC,WAAW,GAAG,GAAG,CAAC;QACzB,QAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAM,CAAC;QACzB,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACpC,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,0CAAE,WAAW,CAAC,QAAM,CAAC,CAAC;QAC7D,eAAe,CAAC,GAAG,EAAE,QAAM,CAAC,CAAC;KAC9B;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;KACrC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE;QAC9B,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACvC;IACD,OAAO,IAAI,MAAM,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,OAAO,CAAC,GAAQ;IACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAC9B,CAAC;AAED,SAAS,IAAI,CAAC,GAAQ;IACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QACpB,OAAO;KACR;IACD,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE;QACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;KAClC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAQ,EAAE,KAAa,EAAE,KAAa;IACtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO;KACR;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,67 @@
1
+ export * from './rectangle';
2
+ export * from './circle';
3
+ export * from './svgPath';
4
+ export * from './diamond';
5
+ export * from './triangle';
6
+ export * from './pentagon';
7
+ export * from './pentagram';
8
+ export * from './hexagon';
9
+ export * from './arrow';
10
+ export * from './message';
11
+ export * from './cloud';
12
+ export * from './file';
13
+ export * from './cube';
14
+ export * from './people';
15
+ export * from './line';
16
+ export * from './iframe';
17
+ export * from './video';
18
+ import { rectangle } from './rectangle';
19
+ import { circle } from './circle';
20
+ import { svgPath } from './svgPath';
21
+ import { diamond } from './diamond';
22
+ import { triangle, triangleAnchors } from './triangle';
23
+ import { pentagon, pentagonAnchors } from './pentagon';
24
+ import { pentagram, pentagramAnchors } from './pentagram';
25
+ import { hexagon } from './hexagon';
26
+ import { leftArrow, rightArrow, twowayArrow } from './arrow';
27
+ import { message } from './message';
28
+ import { cloud } from './cloud';
29
+ import { file } from './file';
30
+ import { people } from './people';
31
+ import { line } from './line';
32
+ import { iframe } from './iframe';
33
+ import { video } from './video';
34
+ import { gif } from './gif';
35
+ import { mindNode, mindNodeAnchors } from './mindNode';
36
+ import { mindLine, mindLineAnchors } from './mindLine';
37
+ export declare function commonPens(): {
38
+ rectangle: typeof rectangle;
39
+ square: typeof rectangle;
40
+ circle: typeof circle;
41
+ svgPath: typeof svgPath;
42
+ diamond: typeof diamond;
43
+ triangle: typeof triangle;
44
+ pentagon: typeof pentagon;
45
+ pentagram: typeof pentagram;
46
+ hexagon: typeof hexagon;
47
+ leftArrow: typeof leftArrow;
48
+ rightArrow: typeof rightArrow;
49
+ twowayArrow: typeof twowayArrow;
50
+ message: typeof message;
51
+ cloud: typeof cloud;
52
+ file: typeof file;
53
+ people: typeof people;
54
+ line: typeof line;
55
+ iframe: typeof iframe;
56
+ video: typeof video;
57
+ gif: typeof gif;
58
+ mindNode: typeof mindNode;
59
+ mindLine: typeof mindLine;
60
+ };
61
+ export declare function commonAnchors(): {
62
+ triangle: typeof triangleAnchors;
63
+ pentagon: typeof pentagonAnchors;
64
+ pentagram: typeof pentagramAnchors;
65
+ mindNode: typeof mindNodeAnchors;
66
+ mindLine: typeof mindLineAnchors;
67
+ };
@@ -0,0 +1,72 @@
1
+ export * from './rectangle';
2
+ export * from './circle';
3
+ export * from './svgPath';
4
+ export * from './diamond';
5
+ export * from './triangle';
6
+ export * from './pentagon';
7
+ export * from './pentagram';
8
+ export * from './hexagon';
9
+ export * from './arrow';
10
+ export * from './message';
11
+ export * from './cloud';
12
+ export * from './file';
13
+ export * from './cube';
14
+ export * from './people';
15
+ export * from './line';
16
+ export * from './iframe';
17
+ export * from './video';
18
+ import { rectangle, square } from './rectangle';
19
+ import { circle } from './circle';
20
+ import { svgPath } from './svgPath';
21
+ import { diamond } from './diamond';
22
+ import { triangle, triangleAnchors } from './triangle';
23
+ import { pentagon, pentagonAnchors } from './pentagon';
24
+ import { pentagram, pentagramAnchors } from './pentagram';
25
+ import { hexagon } from './hexagon';
26
+ import { leftArrow, rightArrow, twowayArrow } from './arrow';
27
+ import { message } from './message';
28
+ import { cloud } from './cloud';
29
+ import { file } from './file';
30
+ import { people } from './people';
31
+ import { line } from './line';
32
+ import { iframe } from './iframe';
33
+ import { video } from './video';
34
+ import { gif } from './gif';
35
+ import { mindNode, mindNodeAnchors } from './mindNode';
36
+ import { mindLine, mindLineAnchors } from './mindLine';
37
+ export function commonPens() {
38
+ return {
39
+ rectangle: rectangle,
40
+ square: square,
41
+ circle: circle,
42
+ svgPath: svgPath,
43
+ diamond: diamond,
44
+ triangle: triangle,
45
+ pentagon: pentagon,
46
+ pentagram: pentagram,
47
+ hexagon: hexagon,
48
+ leftArrow: leftArrow,
49
+ rightArrow: rightArrow,
50
+ twowayArrow: twowayArrow,
51
+ message: message,
52
+ cloud: cloud,
53
+ file: file,
54
+ people: people,
55
+ line: line,
56
+ iframe: iframe,
57
+ video: video,
58
+ gif: gif,
59
+ mindNode: mindNode,
60
+ mindLine: mindLine,
61
+ };
62
+ }
63
+ export function commonAnchors() {
64
+ return {
65
+ triangle: triangleAnchors,
66
+ pentagon: pentagonAnchors,
67
+ pentagram: pentagramAnchors,
68
+ mindNode: mindNodeAnchors,
69
+ mindLine: mindLineAnchors,
70
+ };
71
+ }
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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;AAE9B,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;AAEvD,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;KACT,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,16 @@
1
+ import { Pen } from '../../pen';
2
+ import { Point } from '../../point';
3
+ import { Meta2dStore } from '../../store';
4
+ export declare function curve(store: Meta2dStore, pen: Pen, mousedwon?: Point): void;
5
+ export declare function getQuadraticPoint(step: number, from: Point, cp: Point, to: Point): {
6
+ x: number;
7
+ y: number;
8
+ step: number;
9
+ };
10
+ export declare function getBezierPoint(step: number, from: Point, cp1: Point, cp2: Point, to: Point): {
11
+ x: number;
12
+ y: number;
13
+ step: number;
14
+ };
15
+ export declare function getSplitAnchor(pen: Pen, pt: Point, index: number): Point;
16
+ export declare function mind(store: Meta2dStore, pen: Pen, mousedwon?: Point): void;
@@ -0,0 +1,233 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { Direction } from '../../data';
13
+ import { facePen, getToAnchor } from '../../pen';
14
+ import { distance, PrevNextType, rotatePoint } from '../../point';
15
+ import { s8 } from '../../utils';
16
+ export function curve(store, pen, mousedwon) {
17
+ if (!pen.calculative.worldAnchors) {
18
+ pen.calculative.worldAnchors = [];
19
+ }
20
+ if (mousedwon) {
21
+ if (pen.calculative.activeAnchor) {
22
+ pen.calculative.activeAnchor.next = {
23
+ penId: pen.id,
24
+ x: mousedwon.x,
25
+ y: mousedwon.y,
26
+ };
27
+ if (distance(pen.calculative.activeAnchor.next, pen.calculative.activeAnchor) < 5) {
28
+ pen.calculative.activeAnchor.next = undefined;
29
+ }
30
+ else {
31
+ pen.calculative.activeAnchor.prev = __assign({}, pen.calculative.activeAnchor.next);
32
+ rotatePoint(pen.calculative.activeAnchor.prev, 180, pen.calculative.activeAnchor);
33
+ }
34
+ }
35
+ }
36
+ else {
37
+ var from = pen.calculative.worldAnchors[0];
38
+ if (!from.next) {
39
+ var fromFace = facePen(from, store.pens[from.connectTo]);
40
+ calcCurveCP(from, fromFace, 50);
41
+ from.prev = undefined;
42
+ }
43
+ var to = pen.calculative.worldAnchors[pen.calculative.worldAnchors.length - 1];
44
+ if (to && to !== from && !to.prev) {
45
+ var toFace = facePen(to, store.pens[to.connectTo]);
46
+ calcCurveCP(to, toFace, -50);
47
+ to.next = undefined;
48
+ }
49
+ }
50
+ }
51
+ function calcCurveCP(pt, d, dis) {
52
+ switch (d) {
53
+ case Direction.Up:
54
+ pt.prev = {
55
+ penId: pt.penId,
56
+ x: pt.x,
57
+ y: pt.y + dis,
58
+ };
59
+ pt.next = {
60
+ penId: pt.penId,
61
+ x: pt.x,
62
+ y: pt.y - dis,
63
+ };
64
+ break;
65
+ case Direction.Right:
66
+ pt.prev = {
67
+ penId: pt.penId,
68
+ x: pt.x - dis,
69
+ y: pt.y,
70
+ };
71
+ pt.next = {
72
+ penId: pt.penId,
73
+ x: pt.x + dis,
74
+ y: pt.y,
75
+ };
76
+ break;
77
+ case Direction.Bottom:
78
+ pt.prev = {
79
+ penId: pt.penId,
80
+ x: pt.x,
81
+ y: pt.y - dis,
82
+ };
83
+ pt.next = {
84
+ penId: pt.penId,
85
+ x: pt.x,
86
+ y: pt.y + dis,
87
+ };
88
+ break;
89
+ case Direction.Left:
90
+ pt.prev = {
91
+ penId: pt.penId,
92
+ x: pt.x + dis,
93
+ y: pt.y,
94
+ };
95
+ pt.next = {
96
+ penId: pt.penId,
97
+ x: pt.x - dis,
98
+ y: pt.y,
99
+ };
100
+ break;
101
+ }
102
+ }
103
+ // Get a point in quadratic.
104
+ // pos - The position of point in quadratic. It is expressed as a percentage(0 - 1).
105
+ export function getQuadraticPoint(step, from, cp, to) {
106
+ var pos = 1 - step;
107
+ var x = pos * pos * from.x + 2 * pos * step * cp.x + step * step * to.x;
108
+ var y = pos * pos * from.y + 2 * pos * step * cp.y + step * step * to.y;
109
+ return { x: x, y: y, step: step };
110
+ }
111
+ // Get a point in bezier.
112
+ // pos - The position of point in bezier. It is expressed as a percentage(0 - 1).
113
+ export function getBezierPoint(step, from, cp1, cp2, to) {
114
+ var x1 = from.x, y1 = from.y;
115
+ var x2 = to.x, y2 = to.y;
116
+ var cx1 = cp1.x, cy1 = cp1.y;
117
+ var cx2 = cp2.x, cy2 = cp2.y;
118
+ var pos = 1 - step;
119
+ var x = x1 * pos * pos * pos +
120
+ 3 * cx1 * step * pos * pos +
121
+ 3 * cx2 * step * step * pos +
122
+ x2 * step * step * step;
123
+ var y = y1 * pos * pos * pos +
124
+ 3 * cy1 * step * pos * pos +
125
+ 3 * cy2 * step * step * pos +
126
+ y2 * step * step * step;
127
+ return { x: x, y: y, step: step };
128
+ }
129
+ function lerp(pt1, pt2, t) {
130
+ return {
131
+ x: pt1.x + t * (pt2.x - pt1.x),
132
+ y: pt1.y + t * (pt2.y - pt1.y),
133
+ };
134
+ }
135
+ export function getSplitAnchor(pen, pt, index) {
136
+ var from = pen.calculative.worldAnchors[index];
137
+ var to = pen.calculative.worldAnchors[index + 1];
138
+ var t = pt.step;
139
+ var anchor;
140
+ if (from.next && to.prev) {
141
+ var p0 = from;
142
+ var p1 = from.next;
143
+ var p2 = to.prev;
144
+ var p3 = to;
145
+ var p4 = lerp(p0, p1, t);
146
+ var p5 = lerp(p1, p2, t);
147
+ var p6 = lerp(p2, p3, t);
148
+ var p7 = lerp(p4, p5, t);
149
+ var p8 = lerp(p5, p6, t);
150
+ anchor = lerp(p7, p8, t);
151
+ p7.penId = pen.id;
152
+ anchor.prev = p7;
153
+ p8.penId = pen.id;
154
+ anchor.next = p8;
155
+ from.next.x = p4.x;
156
+ from.next.y = p4.y;
157
+ to.prev.x = p6.x;
158
+ to.prev.y = p6.y;
159
+ }
160
+ else if (from.next || to.prev) {
161
+ var p0 = from;
162
+ var p1 = from.next || to.prev;
163
+ var p2 = to;
164
+ var p3 = lerp(p0, p1, t);
165
+ var p4 = lerp(p1, p2, t);
166
+ anchor = pt;
167
+ p3.penId = pen.id;
168
+ p4.penId = pen.id;
169
+ anchor.prev = p3;
170
+ anchor.next = p4;
171
+ from.next = undefined;
172
+ to.prev = undefined;
173
+ }
174
+ else {
175
+ // 并非贝塞尔点,即 from 和 to 之间是一条直线
176
+ anchor = pt;
177
+ }
178
+ anchor.penId = pen.id;
179
+ anchor.id = s8();
180
+ anchor.prevNextType = PrevNextType.Bilateral;
181
+ return anchor;
182
+ }
183
+ export function mind(store, pen, mousedwon) {
184
+ if (!pen.calculative.worldAnchors) {
185
+ pen.calculative.worldAnchors = [];
186
+ }
187
+ if (pen.calculative.worldAnchors.length < 2) {
188
+ return;
189
+ }
190
+ var from = pen.calculative.activeAnchor;
191
+ var to = mousedwon || getToAnchor(pen);
192
+ if (!from || !to) {
193
+ return;
194
+ }
195
+ var dis = 20;
196
+ var fromPen = store.pens[from.connectTo];
197
+ var fromFace = facePen(from, fromPen);
198
+ if (fromFace === Direction.None) {
199
+ if (to.x > from.x) {
200
+ fromFace = Direction.Right;
201
+ }
202
+ else {
203
+ fromFace = Direction.Left;
204
+ }
205
+ }
206
+ from.next = {
207
+ id: s8(),
208
+ penId: pen.id,
209
+ x: from.x,
210
+ y: from.y,
211
+ prevNextType: 2,
212
+ };
213
+ to.prev = { id: s8(), penId: pen.id, x: to.x, y: to.y, prevNextType: 2 };
214
+ switch (fromFace) {
215
+ case Direction.Up:
216
+ from.next.y -= dis;
217
+ to.prev.y = from.y;
218
+ break;
219
+ case Direction.Bottom:
220
+ from.next.y += dis;
221
+ to.prev.y = from.y;
222
+ break;
223
+ case Direction.Left:
224
+ from.next.x -= dis;
225
+ to.prev.x = from.x;
226
+ break;
227
+ default:
228
+ from.next.x += dis;
229
+ to.prev.x = from.x;
230
+ break;
231
+ }
232
+ }
233
+ //# sourceMappingURL=curve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/curve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './line';
2
+ export * from './curve';
3
+ export * from './polyline';
4
+ export * from './smooth';
@@ -0,0 +1,5 @@
1
+ export * from './line';
2
+ export * from './curve';
3
+ export * from './polyline';
4
+ export * from './smooth';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/diagrams/line/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Pen } from '../../pen';
2
+ import { Point } from '../../point';
3
+ import { Rect } from '../../rect';
4
+ import { Meta2dStore } from '../../store';
5
+ export declare function line(pen: Pen, ctx?: CanvasRenderingContext2D | Path2D): Path2D;
6
+ export declare function lineSegment(store: Meta2dStore, pen: Pen, mousedwon?: Point): void;
7
+ export declare function getLineRect(pen: Pen): Rect;
8
+ /**
9
+ * 获取连线的 points ,并非 worldAnchors ,worldAnchors 之前的路径点也会记录
10
+ */
11
+ export declare function getLinePoints(pen: Pen): Point[];
12
+ export declare function getLineR(pen: Pen): number;
13
+ export declare function getPoints(from: Point, to: Point, pen?: Pen): Point[];
14
+ export declare function pointInLine(pt: Point, pen: Pen): {
15
+ i: number;
16
+ point: Point;
17
+ };
18
+ export declare function pointInLineSegment(pt: Point, pt1: Point, pt2: Point, r?: number): {
19
+ x: number;
20
+ y: number;
21
+ };
22
+ export declare function pointToLine(pt: Point, pt1: Point, pt2: Point, r?: number): {
23
+ x: number;
24
+ y: number;
25
+ };
26
+ export declare function getLineLength(pen: Pen): number;
27
+ /**
28
+ * 连线在 rect 内, 连线与 rect 相交
29
+ */
30
+ export declare function lineInRect(line: Pen, rect: Rect): boolean;
31
+ /**
32
+ * 线段与矩形是否相交
33
+ * @param rect 矩形
34
+ */
35
+ export declare function isLineIntersectRectangle(pt1: Point, pt2: Point, rect: Rect): boolean;
36
+ /**
37
+ * 贝塞尔曲线与矩形是否相交
38
+ * @param from 前点
39
+ * @param to 后点
40
+ * @param rect 矩形
41
+ */
42
+ export declare function isBezierIntersectRectangle(from: Point, to: Point, rect: Rect): boolean;