@meta2d/core 1.0.56 → 1.0.58

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 (299) hide show
  1. package/{index.ts → index.d.ts} +9 -9
  2. package/index.js +10 -0
  3. package/index.js.map +1 -0
  4. package/package.json +38 -39
  5. package/src/canvas/canvas.d.ts +456 -0
  6. package/src/canvas/canvas.js +7584 -0
  7. package/src/canvas/canvas.js.map +1 -0
  8. package/src/canvas/canvasImage.d.ts +27 -0
  9. package/src/canvas/canvasImage.js +441 -0
  10. package/src/canvas/canvasImage.js.map +1 -0
  11. package/src/canvas/canvasTemplate.d.ts +18 -0
  12. package/src/canvas/canvasTemplate.js +209 -0
  13. package/src/canvas/canvasTemplate.js.map +1 -0
  14. package/src/canvas/{index.ts → index.d.ts} +2 -2
  15. package/src/canvas/index.js +3 -0
  16. package/src/canvas/index.js.map +1 -0
  17. package/src/canvas/magnifierCanvas.d.ts +19 -0
  18. package/src/canvas/magnifierCanvas.js +102 -0
  19. package/src/canvas/magnifierCanvas.js.map +1 -0
  20. package/src/canvas/offscreen.d.ts +1 -0
  21. package/src/canvas/offscreen.js +14 -0
  22. package/src/canvas/offscreen.js.map +1 -0
  23. package/src/core.d.ts +479 -0
  24. package/src/core.js +4609 -0
  25. package/src/core.js.map +1 -0
  26. package/src/data.d.ts +34 -0
  27. package/src/data.js +85 -0
  28. package/src/data.js.map +1 -0
  29. package/src/diagrams/arrow.d.ts +4 -0
  30. package/src/diagrams/arrow.js +47 -0
  31. package/src/diagrams/arrow.js.map +1 -0
  32. package/src/diagrams/circle.d.ts +2 -0
  33. package/src/diagrams/circle.js +9 -0
  34. package/src/diagrams/circle.js.map +1 -0
  35. package/src/diagrams/cloud.d.ts +2 -0
  36. package/src/diagrams/cloud.js +12 -0
  37. package/src/diagrams/cloud.js.map +1 -0
  38. package/src/diagrams/cube.d.ts +2 -0
  39. package/src/diagrams/cube.js +68 -0
  40. package/src/diagrams/cube.js.map +1 -0
  41. package/src/diagrams/diamond.d.ts +2 -0
  42. package/src/diagrams/diamond.js +13 -0
  43. package/src/diagrams/diamond.js.map +1 -0
  44. package/src/diagrams/file.d.ts +2 -0
  45. package/src/diagrams/file.js +18 -0
  46. package/src/diagrams/file.js.map +1 -0
  47. package/src/diagrams/gif.d.ts +5 -0
  48. package/src/diagrams/gif.js +89 -0
  49. package/src/diagrams/gif.js.map +1 -0
  50. package/src/diagrams/hexagon.d.ts +2 -0
  51. package/src/diagrams/{hexagon.ts → hexagon.js} +55 -60
  52. package/src/diagrams/hexagon.js.map +1 -0
  53. package/src/diagrams/iframe.d.ts +2 -0
  54. package/src/diagrams/iframe.js +338 -0
  55. package/src/diagrams/iframe.js.map +1 -0
  56. package/src/diagrams/index.d.ts +71 -0
  57. package/src/diagrams/{index.ts → index.js} +77 -79
  58. package/src/diagrams/index.js.map +1 -0
  59. package/src/diagrams/line/arrow.d.ts +2 -0
  60. package/src/diagrams/line/arrow.js +128 -0
  61. package/src/diagrams/line/arrow.js.map +1 -0
  62. package/src/diagrams/line/curve.d.ts +16 -0
  63. package/src/diagrams/line/curve.js +227 -0
  64. package/src/diagrams/line/curve.js.map +1 -0
  65. package/src/diagrams/line/{index.ts → index.d.ts} +5 -5
  66. package/src/diagrams/line/index.js +6 -0
  67. package/src/diagrams/line/index.js.map +1 -0
  68. package/src/diagrams/line/line.d.ts +42 -0
  69. package/src/diagrams/line/line.js +375 -0
  70. package/src/diagrams/line/line.js.map +1 -0
  71. package/src/diagrams/line/polyline.d.ts +10 -0
  72. package/src/diagrams/line/polyline.js +627 -0
  73. package/src/diagrams/line/polyline.js.map +1 -0
  74. package/src/diagrams/line/smooth.d.ts +3 -0
  75. package/src/diagrams/line/smooth.js +136 -0
  76. package/src/diagrams/line/smooth.js.map +1 -0
  77. package/src/diagrams/message.d.ts +2 -0
  78. package/src/diagrams/message.js +15 -0
  79. package/src/diagrams/message.js.map +1 -0
  80. package/src/diagrams/mindLine.d.ts +3 -0
  81. package/src/diagrams/mindLine.js +30 -0
  82. package/src/diagrams/mindLine.js.map +1 -0
  83. package/src/diagrams/mindNode.d.ts +3 -0
  84. package/src/diagrams/mindNode.js +161 -0
  85. package/src/diagrams/mindNode.js.map +1 -0
  86. package/src/diagrams/panel.d.ts +2 -0
  87. package/src/diagrams/panel.js +131 -0
  88. package/src/diagrams/panel.js.map +1 -0
  89. package/src/diagrams/pentagon.d.ts +3 -0
  90. package/src/diagrams/pentagon.js +45 -0
  91. package/src/diagrams/pentagon.js.map +1 -0
  92. package/src/diagrams/pentagram.d.ts +3 -0
  93. package/src/diagrams/pentagram.js +51 -0
  94. package/src/diagrams/pentagram.js.map +1 -0
  95. package/src/diagrams/people.d.ts +2 -0
  96. package/src/diagrams/people.js +19 -0
  97. package/src/diagrams/people.js.map +1 -0
  98. package/src/diagrams/rectangle.d.ts +3 -0
  99. package/src/diagrams/rectangle.js +27 -0
  100. package/src/diagrams/rectangle.js.map +1 -0
  101. package/src/diagrams/svg/parse.d.ts +15 -0
  102. package/src/diagrams/svg/parse.js +279 -0
  103. package/src/diagrams/svg/parse.js.map +1 -0
  104. package/src/diagrams/svgPath.d.ts +2 -0
  105. package/src/diagrams/svgPath.js +29 -0
  106. package/src/diagrams/svgPath.js.map +1 -0
  107. package/src/diagrams/triangle.d.ts +3 -0
  108. package/src/diagrams/triangle.js +40 -0
  109. package/src/diagrams/triangle.js.map +1 -0
  110. package/src/diagrams/video.d.ts +5 -0
  111. package/src/diagrams/video.js +184 -0
  112. package/src/diagrams/video.js.map +1 -0
  113. package/src/dialog/dialog.d.ts +21 -0
  114. package/src/dialog/dialog.js +157 -0
  115. package/src/dialog/dialog.js.map +1 -0
  116. package/src/dialog/{index.ts → index.d.ts} +1 -1
  117. package/src/dialog/index.js +2 -0
  118. package/src/dialog/index.js.map +1 -0
  119. package/src/event/event.d.ts +102 -0
  120. package/src/event/event.js +22 -0
  121. package/src/event/event.js.map +1 -0
  122. package/src/event/{index.ts → index.d.ts} +1 -1
  123. package/src/event/index.js +2 -0
  124. package/src/event/index.js.map +1 -0
  125. package/src/map/{index.ts → index.d.ts} +1 -1
  126. package/src/map/index.js +2 -0
  127. package/src/map/index.js.map +1 -0
  128. package/src/map/map.d.ts +21 -0
  129. package/src/map/map.js +212 -0
  130. package/src/map/map.js.map +1 -0
  131. package/src/options.d.ts +130 -0
  132. package/src/options.js +80 -0
  133. package/src/options.js.map +1 -0
  134. package/src/pen/arrow.d.ts +4 -0
  135. package/src/pen/arrow.js +188 -0
  136. package/src/pen/arrow.js.map +1 -0
  137. package/src/pen/{index.ts → index.d.ts} +6 -6
  138. package/src/pen/index.js +7 -0
  139. package/src/pen/index.js.map +1 -0
  140. package/src/pen/math.d.ts +28 -0
  141. package/src/pen/math.js +213 -0
  142. package/src/pen/math.js.map +1 -0
  143. package/src/pen/model.d.ts +514 -0
  144. package/src/pen/model.js +210 -0
  145. package/src/pen/model.js.map +1 -0
  146. package/src/pen/plugin.d.ts +5 -0
  147. package/src/pen/plugin.js +58 -0
  148. package/src/pen/plugin.js.map +1 -0
  149. package/src/pen/render.d.ts +146 -0
  150. package/src/pen/render.js +3234 -0
  151. package/src/pen/render.js.map +1 -0
  152. package/src/pen/text.d.ts +8 -0
  153. package/src/pen/text.js +314 -0
  154. package/src/pen/text.js.map +1 -0
  155. package/src/pen/utils.d.ts +2 -0
  156. package/src/pen/utils.js +19 -0
  157. package/src/pen/utils.js.map +1 -0
  158. package/src/point/{index.ts → index.d.ts} +1 -1
  159. package/src/point/index.js +2 -0
  160. package/src/point/index.js.map +1 -0
  161. package/src/point/point.d.ts +65 -0
  162. package/src/point/point.js +178 -0
  163. package/src/point/point.js.map +1 -0
  164. package/src/rect/{index.ts → index.d.ts} +1 -1
  165. package/src/rect/index.js +2 -0
  166. package/src/rect/index.js.map +1 -0
  167. package/src/rect/rect.d.ts +52 -0
  168. package/src/rect/rect.js +427 -0
  169. package/src/rect/rect.js.map +1 -0
  170. package/src/rect/triangle.d.ts +2 -0
  171. package/src/rect/triangle.js +10 -0
  172. package/src/rect/triangle.js.map +1 -0
  173. package/src/scroll/{index.ts → index.d.ts} +1 -1
  174. package/src/scroll/index.js +2 -0
  175. package/src/scroll/index.js.map +1 -0
  176. package/src/scroll/scroll.d.ts +35 -0
  177. package/src/scroll/scroll.js +234 -0
  178. package/src/scroll/scroll.js.map +1 -0
  179. package/src/store/global.d.ts +25 -0
  180. package/src/store/global.js +18 -0
  181. package/src/store/global.js.map +1 -0
  182. package/src/store/{index.ts → index.d.ts} +2 -2
  183. package/src/store/index.js +3 -0
  184. package/src/store/index.js.map +1 -0
  185. package/src/store/store.d.ts +228 -0
  186. package/src/store/store.js +87 -0
  187. package/src/store/store.js.map +1 -0
  188. package/src/theme.d.ts +13 -0
  189. package/src/theme.js +23 -0
  190. package/src/theme.js.map +1 -0
  191. package/src/title/{index.ts → index.d.ts} +1 -1
  192. package/src/title/index.js +2 -0
  193. package/src/title/index.js.map +1 -0
  194. package/src/title/title.d.ts +30 -0
  195. package/src/title/title.js +99 -0
  196. package/src/title/title.js.map +1 -0
  197. package/src/tooltip/{index.ts → index.d.ts} +1 -1
  198. package/src/tooltip/index.js +2 -0
  199. package/src/tooltip/index.js.map +1 -0
  200. package/src/tooltip/tooltip.d.ts +40 -0
  201. package/src/tooltip/tooltip.js +172 -0
  202. package/src/tooltip/tooltip.js.map +1 -0
  203. package/src/utils/clone.d.ts +8 -0
  204. package/src/utils/clone.js +84 -0
  205. package/src/utils/clone.js.map +1 -0
  206. package/src/utils/color.d.ts +3 -0
  207. package/src/utils/color.js +110 -0
  208. package/src/utils/color.js.map +1 -0
  209. package/src/utils/error.d.ts +2 -0
  210. package/src/utils/error.js +6 -0
  211. package/src/utils/error.js.map +1 -0
  212. package/src/utils/file.d.ts +3 -0
  213. package/src/utils/file.js +40 -0
  214. package/src/utils/file.js.map +1 -0
  215. package/src/utils/{index.ts → index.d.ts} +9 -9
  216. package/src/utils/index.js +10 -0
  217. package/src/utils/index.js.map +1 -0
  218. package/src/utils/math.d.ts +18 -0
  219. package/src/utils/math.js +114 -0
  220. package/src/utils/math.js.map +1 -0
  221. package/src/utils/object.d.ts +2 -0
  222. package/src/utils/object.js +21 -0
  223. package/src/utils/object.js.map +1 -0
  224. package/src/utils/padding.d.ts +7 -0
  225. package/src/utils/padding.js +47 -0
  226. package/src/utils/padding.js.map +1 -0
  227. package/src/utils/time.d.ts +1 -0
  228. package/src/utils/time.js +17 -0
  229. package/src/utils/time.js.map +1 -0
  230. package/src/utils/url.d.ts +4 -0
  231. package/src/utils/url.js +27 -0
  232. package/src/utils/url.js.map +1 -0
  233. package/src/utils/uuid.d.ts +4 -0
  234. package/src/utils/uuid.js +13 -0
  235. package/src/utils/uuid.js.map +1 -0
  236. package/README.md +0 -13
  237. package/package.build.json +0 -39
  238. package/src/canvas/canvas.ts +0 -8639
  239. package/src/canvas/canvasImage.ts +0 -525
  240. package/src/canvas/canvasTemplate.ts +0 -257
  241. package/src/canvas/magnifierCanvas.ts +0 -142
  242. package/src/canvas/offscreen.ts +0 -14
  243. package/src/core.ts +0 -5128
  244. package/src/data.ts +0 -86
  245. package/src/diagrams/arrow.ts +0 -50
  246. package/src/diagrams/circle.ts +0 -19
  247. package/src/diagrams/cloud.ts +0 -34
  248. package/src/diagrams/cube.ts +0 -94
  249. package/src/diagrams/diamond.ts +0 -14
  250. package/src/diagrams/file.ts +0 -19
  251. package/src/diagrams/gif.ts +0 -105
  252. package/src/diagrams/iframe.ts +0 -365
  253. package/src/diagrams/line/arrow.ts +0 -175
  254. package/src/diagrams/line/curve.ts +0 -260
  255. package/src/diagrams/line/line.ts +0 -409
  256. package/src/diagrams/line/polyline.ts +0 -676
  257. package/src/diagrams/line/smooth.ts +0 -133
  258. package/src/diagrams/message.ts +0 -17
  259. package/src/diagrams/mindLine.ts +0 -31
  260. package/src/diagrams/mindNode.ts +0 -177
  261. package/src/diagrams/panel.ts +0 -149
  262. package/src/diagrams/pentagon.ts +0 -48
  263. package/src/diagrams/pentagram.ts +0 -63
  264. package/src/diagrams/people.ts +0 -23
  265. package/src/diagrams/rectangle.ts +0 -29
  266. package/src/diagrams/svg/parse.ts +0 -319
  267. package/src/diagrams/svgPath.ts +0 -53
  268. package/src/diagrams/triangle.ts +0 -43
  269. package/src/diagrams/video.ts +0 -202
  270. package/src/dialog/dialog.ts +0 -177
  271. package/src/event/event.ts +0 -142
  272. package/src/map/map.ts +0 -239
  273. package/src/options.ts +0 -205
  274. package/src/pen/arrow.ts +0 -259
  275. package/src/pen/math.ts +0 -253
  276. package/src/pen/model.ts +0 -785
  277. package/src/pen/plugin.ts +0 -57
  278. package/src/pen/render.ts +0 -3725
  279. package/src/pen/text.ts +0 -341
  280. package/src/pen/utils.ts +0 -21
  281. package/src/point/point.ts +0 -232
  282. package/src/rect/rect.ts +0 -507
  283. package/src/rect/triangle.ts +0 -16
  284. package/src/scroll/scroll.ts +0 -277
  285. package/src/store/global.ts +0 -38
  286. package/src/store/store.ts +0 -293
  287. package/src/theme.ts +0 -35
  288. package/src/title/title.ts +0 -115
  289. package/src/tooltip/tooltip.ts +0 -199
  290. package/src/utils/clone.ts +0 -79
  291. package/src/utils/color.ts +0 -126
  292. package/src/utils/error.ts +0 -7
  293. package/src/utils/file.ts +0 -46
  294. package/src/utils/math.ts +0 -120
  295. package/src/utils/object.ts +0 -23
  296. package/src/utils/padding.ts +0 -48
  297. package/src/utils/time.ts +0 -25
  298. package/src/utils/url.ts +0 -30
  299. package/src/utils/uuid.ts +0 -15
@@ -0,0 +1,427 @@
1
+ import { isEqual } from '../pen';
2
+ import { rotatePoint, scalePoint } from '../point';
3
+ import { formatPadding } from '../utils';
4
+ export function pointInRect(pt, rect) {
5
+ if (!rect) {
6
+ return;
7
+ }
8
+ if (rect.ex == null) {
9
+ calcRightBottom(rect);
10
+ }
11
+ if (!rect.rotate ||
12
+ // rect.width < 20 ||
13
+ // rect.height < 20 ||
14
+ rect.rotate % 360 === 0) {
15
+ return pt.x > rect.x && pt.x < rect.ex && pt.y > rect.y && pt.y < rect.ey;
16
+ }
17
+ if (!rect.center) {
18
+ calcCenter(rect);
19
+ }
20
+ const pts = [
21
+ { x: rect.x, y: rect.y },
22
+ { x: rect.ex, y: rect.y },
23
+ { x: rect.ex, y: rect.ey },
24
+ { x: rect.x, y: rect.ey },
25
+ ];
26
+ pts.forEach((item) => {
27
+ rotatePoint(item, rect.rotate, rect.pivot || rect.center);
28
+ });
29
+ return pointInVertices(pt, pts);
30
+ }
31
+ export function pointInSimpleRect(pt, rect, r = 0) {
32
+ const { x, y, ex, ey } = rect;
33
+ return pt.x >= x - r && pt.x <= ex + r && pt.y >= y - r && pt.y <= ey + r;
34
+ }
35
+ export function calcCenter(rect) {
36
+ if (!rect.center) {
37
+ rect.center = {};
38
+ }
39
+ rect.center.x = rect.x + rect.width / 2;
40
+ rect.center.y = rect.y + rect.height / 2;
41
+ }
42
+ export function calcRightBottom(rect) {
43
+ rect.ex = rect.x + rect.width;
44
+ rect.ey = rect.y + rect.height;
45
+ }
46
+ export function calcPivot(rect, pivot) {
47
+ if (!rect.pivot) {
48
+ rect.pivot = {};
49
+ }
50
+ rect.pivot.x = rect.x + rect.width * pivot.x;
51
+ rect.pivot.y = rect.y + rect.height * pivot.y;
52
+ }
53
+ export function pointInVertices(point, vertices) {
54
+ if (vertices.length < 3) {
55
+ return false;
56
+ }
57
+ let isIn = false;
58
+ let last = vertices[vertices.length - 1];
59
+ for (const item of vertices) {
60
+ if (last.y > point.y !== item.y > point.y) {
61
+ if (item.x + ((point.y - item.y) * (last.x - item.x)) / (last.y - item.y) >
62
+ point.x) {
63
+ isIn = !isIn;
64
+ }
65
+ }
66
+ last = item;
67
+ }
68
+ return isIn;
69
+ }
70
+ export function getRect(pens) {
71
+ const points = [];
72
+ pens.forEach((pen) => {
73
+ if (pen.isRuleLine) {
74
+ return;
75
+ }
76
+ const rect = pen.calculative.worldRect;
77
+ if (rect) {
78
+ const pts = rectToPoints(rect);
79
+ // rectToPoints 已经计算过 rotate 无需重复计算
80
+ points.push(...pts);
81
+ }
82
+ });
83
+ const rect = getRectOfPoints(points);
84
+ calcCenter(rect);
85
+ return rect;
86
+ }
87
+ export function rectToPoints(rect) {
88
+ const pts = [
89
+ { x: rect.x, y: rect.y },
90
+ { x: rect.ex, y: rect.y },
91
+ { x: rect.ex, y: rect.ey },
92
+ { x: rect.x, y: rect.ey },
93
+ ];
94
+ if (rect.rotate) {
95
+ if (!rect.center) {
96
+ calcCenter(rect);
97
+ }
98
+ pts.forEach((pt) => {
99
+ rotatePoint(pt, rect.rotate, rect.pivot || rect.center);
100
+ });
101
+ }
102
+ return pts;
103
+ }
104
+ export function getRectOfPoints(points) {
105
+ let x = Infinity;
106
+ let y = Infinity;
107
+ let ex = -Infinity;
108
+ let ey = -Infinity;
109
+ points?.forEach((item) => {
110
+ if (!isFinite(item.x) || !isFinite(item.y)) {
111
+ return;
112
+ }
113
+ x = Math.min(x, item.x);
114
+ y = Math.min(y, item.y);
115
+ ex = Math.max(ex, item.x);
116
+ ey = Math.max(ey, item.y);
117
+ });
118
+ return { x, y, ex, ey, width: ex - x, height: ey - y };
119
+ }
120
+ export function rectInRect(source, target, allIn) {
121
+ if (source.rotate) {
122
+ // 根据 rotate 扩大 rect
123
+ source = getRectOfPoints(rectToPoints(source)); // 更改 source 引用地址值,不影响原值
124
+ }
125
+ if (allIn) {
126
+ return (source.x > target.x &&
127
+ source.ex < target.ex &&
128
+ source.y > target.y &&
129
+ source.ey < target.ey);
130
+ }
131
+ return !(source.x > target.ex ||
132
+ source.ex < target.x ||
133
+ source.ey < target.y ||
134
+ source.y > target.ey);
135
+ }
136
+ /**
137
+ * 一个 rect 在另一个 rect 的 四个角,即水平区域不重合,垂直区域不重合
138
+ */
139
+ export function rectInFourAngRect(source, target) {
140
+ return ((target.x > source.ex || target.ex < source.x) &&
141
+ (target.y > source.ey || target.ey < source.y));
142
+ }
143
+ /**
144
+ * 扩大 rect ,x,y,ex,ey 值都会变
145
+ * @param rect 原 rect ,无副作用
146
+ * @param size padding 类型,可传四个方向的值,也可以只传一个值
147
+ */
148
+ export function expandRect(rect, size) {
149
+ const padding = formatPadding(size);
150
+ const retRect = {
151
+ x: rect.x - padding[3],
152
+ y: rect.y - padding[0],
153
+ width: rect.width + padding[1] + padding[3],
154
+ height: rect.height + padding[0] + padding[2],
155
+ };
156
+ calcRightBottom(retRect);
157
+ return retRect;
158
+ }
159
+ export function translateRect(rect, x, y) {
160
+ rect.x += x;
161
+ rect.y += y;
162
+ rect.ex += x;
163
+ rect.ey += y;
164
+ if (rect.center) {
165
+ rect.center.x += x;
166
+ rect.center.y += y;
167
+ }
168
+ if (rect.pivot) {
169
+ rect.pivot.x += x;
170
+ rect.pivot.y += y;
171
+ }
172
+ }
173
+ /**
174
+ * 通过两条线段计算出相交的点
175
+ * @param line1 线段1
176
+ * @param line2 线段2
177
+ */
178
+ function getIntersectPoint(line1, line2) {
179
+ const k1 = (line1.to.y - line1.from.y) / (line1.to.x - line1.from.x);
180
+ const k2 = (line2.to.y - line2.from.y) / (line2.to.x - line2.from.x);
181
+ return getIntersectPointByK({
182
+ k: k1,
183
+ point: line1.from,
184
+ }, {
185
+ k: k2,
186
+ point: line2.from,
187
+ });
188
+ }
189
+ /**
190
+ * 该方法作用同上,不过此方法需要传的是 斜率
191
+ * @param line1 线段1
192
+ * @param line2 线段2
193
+ * @returns
194
+ */
195
+ function getIntersectPointByK(line1, line2) {
196
+ if (isEqual(line1.k, 0)) {
197
+ return {
198
+ x: line2.point.x,
199
+ y: line1.point.y,
200
+ };
201
+ }
202
+ else if (isEqual(line2.k, 0)) {
203
+ return {
204
+ x: line1.point.x,
205
+ y: line2.point.y,
206
+ };
207
+ }
208
+ const b1 = line1.point.y - line1.k * line1.point.x;
209
+ const b2 = line2.point.y - line2.k * line2.point.x;
210
+ const x = (b2 - b1) / (line1.k - line2.k);
211
+ const y = line1.k * x + b1;
212
+ return {
213
+ x,
214
+ y,
215
+ };
216
+ }
217
+ /**
218
+ * 通过 4 个点和旋转角度,计算出原矩形(旋转前的矩形)
219
+ * @param pts 4 个点
220
+ * @param rotate 旋转角度
221
+ */
222
+ function pointsToRect(pts, rotate) {
223
+ // 1. 计算 center,认为 0,2 ;1,3 的连线相交就是 center 点
224
+ const center = getIntersectPoint({
225
+ from: pts[0],
226
+ to: pts[2],
227
+ }, {
228
+ from: pts[1],
229
+ to: pts[3],
230
+ });
231
+ // 2. 把点反向转 rotate °
232
+ for (const pt of pts) {
233
+ rotatePoint(pt, -rotate, center);
234
+ }
235
+ // 3. 计算区域
236
+ return getRectOfPoints(pts);
237
+ }
238
+ export function resizeRect(rect, offsetX, offsetY, resizeIndex) {
239
+ let calcRotate = rect.rotate ? rect.rotate % 360 : 0;
240
+ if (calcRotate) {
241
+ // 计算出外边的四个点
242
+ const pts = rectToPoints(rect);
243
+ // 斜率不改变,提前计算
244
+ const k1 = (pts[0].y - pts[1].y) / (pts[0].x - pts[1].x);
245
+ const k2 = (pts[1].y - pts[2].y) / (pts[1].x - pts[2].x);
246
+ if (resizeIndex < 4) {
247
+ // 斜对角的四个点
248
+ // resize 的点
249
+ pts[resizeIndex].x += offsetX;
250
+ if (rect.ratio) {
251
+ if (resizeIndex === 0 || resizeIndex === 2) {
252
+ let calcOffsetY = offsetX * Math.tan((90 - (360 - calcRotate) - (Math.atan(rect.width / rect.height)) / Math.PI * 180) / 180 * Math.PI);
253
+ pts[resizeIndex].y += calcOffsetY;
254
+ }
255
+ else {
256
+ let calcOffsetY = offsetX * Math.tan((90 - (360 - calcRotate) + (Math.atan(rect.width / rect.height)) / Math.PI * 180) / 180 * Math.PI);
257
+ pts[resizeIndex].y += calcOffsetY;
258
+ }
259
+ }
260
+ else {
261
+ pts[resizeIndex].y += offsetY;
262
+ }
263
+ // 不变的点
264
+ const noChangePoint = pts[(resizeIndex + 2) % 4];
265
+ // 由于斜率是不变的,我们只需要根据斜率 和 已知的两点求出相交的 另外两点
266
+ pts[(resizeIndex + 1) % 4] = getIntersectPointByK({ k: resizeIndex % 2 ? k2 : k1, point: pts[resizeIndex] }, { k: resizeIndex % 2 ? k1 : k2, point: noChangePoint });
267
+ pts[(resizeIndex + 4 - 1) % 4] = getIntersectPointByK({ k: resizeIndex % 2 ? k1 : k2, point: pts[resizeIndex] }, { k: resizeIndex % 2 ? k2 : k1, point: noChangePoint });
268
+ }
269
+ else {
270
+ // 边缘四个点有两个点固定
271
+ const k = [4, 6].includes(resizeIndex) ? k2 : k1;
272
+ if (!isEqual(k, 0)) {
273
+ pts[resizeIndex % 4].y += offsetY;
274
+ pts[resizeIndex % 4].x += offsetY / k;
275
+ pts[(resizeIndex + 1) % 4].y += offsetY;
276
+ pts[(resizeIndex + 1) % 4].x += offsetY / k;
277
+ }
278
+ else {
279
+ pts[resizeIndex % 4].x += offsetX;
280
+ pts[(resizeIndex + 1) % 4].x += offsetX;
281
+ }
282
+ }
283
+ if ((pts[0].x - pts[1].x) ** 2 + (pts[0].y - pts[1].y) ** 2 < 25 ||
284
+ (pts[1].x - pts[2].x) ** 2 + (pts[1].y - pts[2].y) ** 2 < 25) {
285
+ // 距离小于 5 不能继续 resize 了
286
+ return;
287
+ }
288
+ const retRect = pointsToRect(pts, rect.rotate);
289
+ calcCenter(retRect);
290
+ Object.assign(rect, retRect);
291
+ return;
292
+ }
293
+ switch (resizeIndex) {
294
+ case 0:
295
+ if (rect.width - offsetX < 5 || rect.height - offsetY < 5) {
296
+ break;
297
+ }
298
+ rect.x += offsetX;
299
+ rect.y += offsetY;
300
+ rect.width -= offsetX;
301
+ rect.height -= offsetY;
302
+ break;
303
+ case 1:
304
+ if (rect.width + offsetX < 5 || rect.height - offsetY < 5) {
305
+ break;
306
+ }
307
+ rect.ex += offsetX;
308
+ rect.y += offsetY;
309
+ rect.width += offsetX;
310
+ rect.height -= offsetY;
311
+ break;
312
+ case 2:
313
+ if (rect.width + offsetX < 5 || rect.height + offsetY < 5) {
314
+ break;
315
+ }
316
+ rect.ex += offsetX;
317
+ rect.ey += offsetY;
318
+ rect.width += offsetX;
319
+ rect.height += offsetY;
320
+ break;
321
+ case 3:
322
+ if (rect.width - offsetX < 5 || rect.height + offsetY < 5) {
323
+ break;
324
+ }
325
+ rect.x += offsetX;
326
+ rect.ey += offsetY;
327
+ rect.width -= offsetX;
328
+ rect.height += offsetY;
329
+ break;
330
+ case 4:
331
+ if (rect.height - offsetY < 5) {
332
+ break;
333
+ }
334
+ rect.y += offsetY;
335
+ rect.height -= offsetY;
336
+ break;
337
+ case 5:
338
+ if (rect.width + offsetX < 5) {
339
+ break;
340
+ }
341
+ rect.ex += offsetX;
342
+ rect.width += offsetX;
343
+ break;
344
+ case 6:
345
+ if (rect.height + offsetY < 5) {
346
+ break;
347
+ }
348
+ rect.ey += offsetY;
349
+ rect.height += offsetY;
350
+ break;
351
+ case 7:
352
+ if (rect.width - offsetX < 5) {
353
+ break;
354
+ }
355
+ rect.x += offsetX;
356
+ rect.width -= offsetX;
357
+ break;
358
+ }
359
+ }
360
+ export function scaleRect(rect, scale, center, pivot) {
361
+ if (!rect) {
362
+ return;
363
+ }
364
+ rect.width *= scale;
365
+ rect.height *= scale;
366
+ scalePoint(rect, scale, center);
367
+ calcRightBottom(rect);
368
+ calcCenter(rect);
369
+ if (pivot) {
370
+ calcPivot(rect, pivot);
371
+ }
372
+ }
373
+ export function calcRelativeRect(rect, worldRect) {
374
+ const relRect = {
375
+ x: (rect.x - worldRect.x) / worldRect.width,
376
+ y: (rect.y - worldRect.y) / worldRect.height,
377
+ width: rect.width / worldRect.width,
378
+ height: rect.height / worldRect.height,
379
+ };
380
+ calcRightBottom(relRect);
381
+ return relRect;
382
+ }
383
+ /**
384
+ * 计算相对点 ,anchors 中的值都是百分比
385
+ * @param pt 绝对坐标
386
+ * @param worldRect 图形外接矩形
387
+ * @returns 相对坐标点
388
+ */
389
+ export function calcRelativePoint(pt, worldRect) {
390
+ const { x, y, width, height } = worldRect;
391
+ const { penId, connectTo } = pt;
392
+ const point = Object.assign({}, pt, {
393
+ x: width ? (pt.x - x) / width : 0,
394
+ y: height ? (pt.y - y) / height : 0,
395
+ });
396
+ if (pt.prev) {
397
+ point.prev = {
398
+ penId,
399
+ connectTo,
400
+ x: width ? (pt.prev.x - x) / width : 0,
401
+ y: height ? (pt.prev.y - y) / height : 0,
402
+ };
403
+ }
404
+ if (pt.next) {
405
+ point.next = {
406
+ penId,
407
+ connectTo,
408
+ x: width ? (pt.next.x - x) / width : 0,
409
+ y: height ? (pt.next.y - y) / height : 0,
410
+ };
411
+ }
412
+ return point;
413
+ }
414
+ //射线法 判断点是否在多边形内部
415
+ export function pointInPolygon(pt, pts) {
416
+ let inside = false;
417
+ for (let i = 0, j = pts.length - 1; i < pts.length; j = i++) {
418
+ let xi = pts[i].x, yi = pts[i].y;
419
+ let xj = pts[j].x, yj = pts[j].y;
420
+ let intersect = ((yi > pt.y) != (yj > pt.y))
421
+ && (pt.x < (xj - xi) * (pt.y - yi) / (yj - yi) + xi);
422
+ if (intersect)
423
+ inside = !inside;
424
+ }
425
+ return inside;
426
+ }
427
+ //# sourceMappingURL=rect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rect.js","sourceRoot":"","sources":["../../../../packages/core/src/rect/rect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Pen } from '../pen';
2
+ export declare function triangle(pen: Pen): Path2D;
@@ -0,0 +1,10 @@
1
+ export function triangle(pen) {
2
+ const path = new Path2D();
3
+ path.moveTo(pen.calculative.worldRect.x + pen.calculative.worldRect.width / 2, pen.calculative.worldRect.y);
4
+ path.lineTo(pen.calculative.worldRect.x + pen.calculative.worldRect.width, pen.calculative.worldRect.y + pen.calculative.worldRect.height);
5
+ path.lineTo(pen.calculative.worldRect.x, pen.calculative.worldRect.y + pen.calculative.worldRect.height);
6
+ path.lineTo(pen.calculative.worldRect.x + pen.calculative.worldRect.width / 2, pen.calculative.worldRect.y);
7
+ path.closePath();
8
+ return path;
9
+ }
10
+ //# sourceMappingURL=triangle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triangle.js","sourceRoot":"","sources":["../../../../packages/core/src/rect/triangle.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5G,IAAI,CAAC,MAAM,CACT,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAC7D,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAC/D,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE5G,IAAI,CAAC,SAAS,EAAE,CAAC;IAEjB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- export * from './scroll';
1
+ export * from './scroll';
@@ -0,0 +1,2 @@
1
+ export * from './scroll';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { Canvas } from '../canvas';
2
+ import { Rect } from '../rect';
3
+ export declare class Scroll {
4
+ parent: Canvas;
5
+ h: HTMLElement;
6
+ v: HTMLElement;
7
+ isDownH: number;
8
+ isDownV: number;
9
+ x: number;
10
+ y: number;
11
+ hSize: number;
12
+ vSize: number;
13
+ scrollX: number;
14
+ scrollY: number;
15
+ lastScrollX: number;
16
+ lastScrollY: number;
17
+ rect: Rect;
18
+ isShow: boolean;
19
+ pageMode: boolean;
20
+ constructor(parent: Canvas);
21
+ init(): void;
22
+ private onMouseDownH;
23
+ private onMouseDownV;
24
+ private onMouseMove;
25
+ private onMouseUp;
26
+ canMouseMove(y: number): boolean;
27
+ changeMode(): void;
28
+ initPos(): void;
29
+ resize(): void;
30
+ show(): void;
31
+ hide(): void;
32
+ translate(x: number, y: number): void;
33
+ wheel(up?: boolean): void;
34
+ destroy(): void;
35
+ }