@visactor/vrender 0.9.0-fillstroke.0 → 0.9.1-circular.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 (1331) hide show
  1. package/cjs/allocator/allocator-modules.d.ts +1 -3
  2. package/cjs/allocator/allocator-modules.js +1 -22
  3. package/cjs/allocator/allocator-modules.js.map +1 -1
  4. package/cjs/allocator/canvas-allocate.d.ts +2 -5
  5. package/cjs/allocator/canvas-allocate.js +11 -27
  6. package/cjs/allocator/canvas-allocate.js.map +1 -1
  7. package/cjs/allocator/constants.d.ts +9 -0
  8. package/cjs/allocator/constants.js +10 -0
  9. package/cjs/allocator/constants.js.map +1 -0
  10. package/cjs/allocator/graphic-allocate.d.ts +1 -58
  11. package/cjs/allocator/graphic-allocate.js +1 -160
  12. package/cjs/allocator/graphic-allocate.js.map +1 -1
  13. package/cjs/allocator/interface.d.ts +10 -0
  14. package/cjs/allocator/interface.js.map +1 -1
  15. package/cjs/allocator/matrix-allocate.d.ts +2 -0
  16. package/cjs/allocator/matrix-allocate.js +9 -16
  17. package/cjs/allocator/matrix-allocate.js.map +1 -1
  18. package/cjs/allocator/point-allocate.js.map +1 -1
  19. package/cjs/animate/Ticker/default-ticker.js +5 -5
  20. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  21. package/cjs/animate/Ticker/index.js.map +1 -1
  22. package/cjs/animate/Ticker/interface.js.map +1 -1
  23. package/cjs/animate/animate.d.ts +1 -1
  24. package/cjs/animate/animate.js +15 -15
  25. package/cjs/animate/animate.js.map +1 -1
  26. package/cjs/animate/config.js.map +1 -1
  27. package/cjs/animate/custom-animate.d.ts +1 -1
  28. package/cjs/animate/custom-animate.js +12 -14
  29. package/cjs/animate/custom-animate.js.map +1 -1
  30. package/cjs/animate/default-ticker.d.ts +2 -0
  31. package/cjs/animate/default-ticker.js +14 -0
  32. package/cjs/animate/default-ticker.js.map +1 -0
  33. package/cjs/animate/easing.js.map +1 -1
  34. package/cjs/animate/index.js.map +1 -1
  35. package/cjs/animate/morphing.d.ts +1 -1
  36. package/cjs/animate/morphing.js +11 -12
  37. package/cjs/animate/morphing.js.map +1 -1
  38. package/cjs/animate/timeline.js +6 -5
  39. package/cjs/animate/timeline.js.map +1 -1
  40. package/cjs/application.d.ts +11 -0
  41. package/cjs/application.js +9 -0
  42. package/cjs/application.js.map +1 -0
  43. package/cjs/canvas/contributions/browser/canvas.js +2 -2
  44. package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
  45. package/cjs/canvas/contributions/browser/conical-gradient.js +2 -2
  46. package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
  47. package/cjs/canvas/contributions/browser/context.js +9 -9
  48. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  49. package/cjs/canvas/contributions/browser/index.js.map +1 -1
  50. package/cjs/canvas/contributions/browser/modules.js.map +1 -1
  51. package/cjs/canvas/contributions/feishu/canvas.js.map +1 -1
  52. package/cjs/canvas/contributions/feishu/context.js.map +1 -1
  53. package/cjs/canvas/contributions/feishu/index.js.map +1 -1
  54. package/cjs/canvas/contributions/feishu/modules.js.map +1 -1
  55. package/cjs/canvas/contributions/lynx/canvas.js.map +1 -1
  56. package/cjs/canvas/contributions/lynx/context.js.map +1 -1
  57. package/cjs/canvas/contributions/lynx/index.js.map +1 -1
  58. package/cjs/canvas/contributions/lynx/modules.js.map +1 -1
  59. package/cjs/canvas/contributions/modules.js.map +1 -1
  60. package/cjs/canvas/contributions/taro/canvas.js.map +1 -1
  61. package/cjs/canvas/contributions/taro/context.js +6 -6
  62. package/cjs/canvas/contributions/taro/context.js.map +1 -1
  63. package/cjs/canvas/contributions/taro/index.js.map +1 -1
  64. package/cjs/canvas/contributions/taro/modules.js.map +1 -1
  65. package/cjs/canvas/contributions/tt/canvas.js.map +1 -1
  66. package/cjs/canvas/contributions/tt/context.js.map +1 -1
  67. package/cjs/canvas/contributions/tt/index.js.map +1 -1
  68. package/cjs/canvas/contributions/tt/modules.js.map +1 -1
  69. package/cjs/canvas/empty-context.d.ts +1 -1
  70. package/cjs/canvas/empty-context.js +7 -7
  71. package/cjs/canvas/empty-context.js.map +1 -1
  72. package/cjs/canvas/index.d.ts +0 -3
  73. package/cjs/canvas/index.js +2 -14
  74. package/cjs/canvas/index.js.map +1 -1
  75. package/cjs/canvas/interface.js.map +1 -1
  76. package/cjs/canvas/util.d.ts +3 -0
  77. package/cjs/canvas/util.js +22 -10
  78. package/cjs/canvas/util.js.map +1 -1
  79. package/cjs/color-string/colorName.js.map +1 -1
  80. package/cjs/color-string/index.js.map +1 -1
  81. package/cjs/color-string/interpolate.js.map +1 -1
  82. package/cjs/common/{bezier.d.ts → bezier-utils.d.ts} +0 -3
  83. package/cjs/common/bezier-utils.js +35 -0
  84. package/cjs/common/bezier-utils.js.map +1 -0
  85. package/cjs/common/bounds-context.js.map +1 -1
  86. package/cjs/common/canvas-utils.js.map +1 -1
  87. package/cjs/common/contribution-provider.js.map +1 -1
  88. package/cjs/common/custom-path2d.d.ts +47 -0
  89. package/cjs/common/{path.js → custom-path2d.js} +11 -230
  90. package/cjs/common/custom-path2d.js.map +1 -0
  91. package/cjs/common/enums.d.ts +12 -0
  92. package/cjs/common/enums.js +10 -3
  93. package/cjs/common/enums.js.map +1 -1
  94. package/cjs/common/generator.js +1 -2
  95. package/cjs/common/generator.js.map +1 -1
  96. package/cjs/common/matrix.js.map +1 -1
  97. package/cjs/common/morphing-utils.d.ts +1 -2
  98. package/cjs/common/morphing-utils.js +9 -11
  99. package/cjs/common/morphing-utils.js.map +1 -1
  100. package/cjs/common/path-svg.js.map +1 -1
  101. package/cjs/common/polygon.js.map +1 -1
  102. package/cjs/common/render-area.d.ts +2 -3
  103. package/cjs/common/render-area.js +8 -8
  104. package/cjs/common/render-area.js.map +1 -1
  105. package/cjs/common/render-command-list.js.map +1 -1
  106. package/cjs/common/render-curve.d.ts +1 -2
  107. package/cjs/common/render-curve.js +3 -3
  108. package/cjs/common/render-curve.js.map +1 -1
  109. package/cjs/common/seg-context.d.ts +7 -13
  110. package/cjs/common/seg-context.js +7 -13
  111. package/cjs/common/seg-context.js.map +1 -1
  112. package/{es/common/curve → cjs/common/segment}/basis.d.ts +12 -5
  113. package/cjs/common/{curve → segment}/basis.js +4 -4
  114. package/cjs/common/segment/basis.js.map +1 -0
  115. package/cjs/common/segment/common.d.ts +3 -0
  116. package/cjs/common/segment/common.js.map +1 -0
  117. package/cjs/common/segment/curve/arc.d.ts +14 -0
  118. package/cjs/common/segment/curve/arc.js +29 -0
  119. package/cjs/common/segment/curve/arc.js.map +1 -0
  120. package/cjs/common/segment/curve/base.d.ts +13 -0
  121. package/cjs/common/segment/curve/base.js +15 -0
  122. package/cjs/common/segment/curve/base.js.map +1 -0
  123. package/cjs/common/segment/curve/cubic-bezier.d.ts +17 -0
  124. package/cjs/common/segment/curve/cubic-bezier.js +42 -0
  125. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -0
  126. package/cjs/common/segment/curve/curve-context.d.ts +19 -0
  127. package/cjs/common/segment/curve/curve-context.js +48 -0
  128. package/cjs/common/segment/curve/curve-context.js.map +1 -0
  129. package/cjs/common/segment/curve/ellipse.d.ts +18 -0
  130. package/cjs/common/segment/curve/ellipse.js +30 -0
  131. package/cjs/common/segment/curve/ellipse.js.map +1 -0
  132. package/cjs/common/segment/curve/line.d.ts +16 -0
  133. package/cjs/common/segment/curve/line.js +41 -0
  134. package/cjs/common/segment/curve/line.js.map +1 -0
  135. package/cjs/common/segment/curve/move.d.ts +13 -0
  136. package/cjs/common/segment/curve/move.js +28 -0
  137. package/cjs/common/segment/curve/move.js.map +1 -0
  138. package/cjs/common/segment/curve/path.d.ts +11 -0
  139. package/cjs/common/segment/curve/path.js +31 -0
  140. package/cjs/common/segment/curve/path.js.map +1 -0
  141. package/cjs/common/segment/curve/quadratic-bezier.d.ts +14 -0
  142. package/cjs/common/segment/curve/quadratic-bezier.js +29 -0
  143. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -0
  144. package/cjs/common/{curve → segment}/index.d.ts +2 -4
  145. package/cjs/common/{curve → segment}/index.js +1 -2
  146. package/cjs/common/segment/index.js.map +1 -0
  147. package/cjs/common/segment/linear-closed.d.ts +24 -0
  148. package/cjs/common/{curve → segment}/linear-closed.js +4 -4
  149. package/cjs/common/segment/linear-closed.js.map +1 -0
  150. package/cjs/common/segment/linear.d.ts +24 -0
  151. package/cjs/common/{curve → segment}/linear.js +4 -4
  152. package/cjs/common/segment/linear.js.map +1 -0
  153. package/{es/common/curve → cjs/common/segment}/monotone.d.ts +12 -5
  154. package/cjs/common/{curve → segment}/monotone.js +5 -5
  155. package/cjs/common/segment/monotone.js.map +1 -0
  156. package/cjs/common/segment/step.d.ts +25 -0
  157. package/cjs/common/{curve → segment}/step.js +4 -4
  158. package/cjs/common/segment/step.js.map +1 -0
  159. package/cjs/common/shape/arc.d.ts +3 -0
  160. package/cjs/common/shape/arc.js +17 -2
  161. package/cjs/common/shape/arc.js.map +1 -1
  162. package/cjs/common/shape/rect.js.map +1 -1
  163. package/cjs/common/sort.js +1 -1
  164. package/cjs/common/sort.js.map +1 -1
  165. package/cjs/common/split-path.js +1 -1
  166. package/cjs/common/split-path.js.map +1 -1
  167. package/cjs/common/store.js +1 -1
  168. package/cjs/common/store.js.map +1 -1
  169. package/cjs/common/text.js +1 -1
  170. package/cjs/common/text.js.map +1 -1
  171. package/cjs/common/utils.js +1 -1
  172. package/cjs/common/utils.js.map +1 -1
  173. package/cjs/container.d.ts +2 -0
  174. package/cjs/container.js +10 -0
  175. package/cjs/container.js.map +1 -0
  176. package/cjs/core/application.js.map +1 -1
  177. package/cjs/core/camera.js +7 -7
  178. package/cjs/core/camera.js.map +1 -1
  179. package/cjs/core/constants.d.ts +3 -0
  180. package/cjs/core/constants.js +8 -0
  181. package/cjs/core/constants.js.map +1 -0
  182. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  183. package/cjs/core/contributions/env/browser-contribution.js +2 -2
  184. package/cjs/core/contributions/env/browser-contribution.js.map +1 -1
  185. package/cjs/core/contributions/env/feishu-contribution.js.map +1 -1
  186. package/cjs/core/contributions/env/lynx-contribution.js.map +1 -1
  187. package/cjs/core/contributions/env/modules.js +2 -2
  188. package/cjs/core/contributions/env/modules.js.map +1 -1
  189. package/cjs/core/contributions/env/taro-contribution.js.map +1 -1
  190. package/cjs/core/contributions/index.js.map +1 -1
  191. package/cjs/core/contributions/interface.js.map +1 -1
  192. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
  193. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  194. package/cjs/core/contributions/layerHandler/modules.js +2 -2
  195. package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
  196. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
  197. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  198. package/cjs/core/contributions/modules.js.map +1 -1
  199. package/cjs/core/contributions/textMeasure/AtextMeasure.d.ts +1 -1
  200. package/cjs/core/contributions/textMeasure/AtextMeasure.js +4 -4
  201. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  202. package/cjs/core/contributions/textMeasure/ITextMeasure.d.ts +1 -1
  203. package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  204. package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
  205. package/cjs/core/contributions/textMeasure/modules.js +2 -2
  206. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  207. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  208. package/cjs/core/contributions/window/base-contribution.js +2 -2
  209. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  210. package/cjs/core/contributions/window/browser-contribution.js +2 -2
  211. package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
  212. package/cjs/core/contributions/window/feishu-contribution.js +2 -2
  213. package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
  214. package/cjs/core/contributions/window/lynx-contribution.js +2 -2
  215. package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
  216. package/cjs/core/contributions/window/modules.js +5 -5
  217. package/cjs/core/contributions/window/modules.js.map +1 -1
  218. package/cjs/core/contributions/window/native-contribution.js.map +1 -1
  219. package/cjs/core/contributions/window/node-contribution.js.map +1 -1
  220. package/cjs/core/contributions/window/taro-contribution.js +2 -2
  221. package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
  222. package/cjs/core/core-modules.js +4 -4
  223. package/cjs/core/core-modules.js.map +1 -1
  224. package/cjs/core/global-module.d.ts +5 -0
  225. package/cjs/core/global-module.js +19 -0
  226. package/cjs/core/global-module.js.map +1 -0
  227. package/cjs/core/global.d.ts +1 -1
  228. package/cjs/core/global.js +4 -3
  229. package/cjs/core/global.js.map +1 -1
  230. package/cjs/core/graphic-utils.d.ts +3 -25
  231. package/cjs/core/graphic-utils.js +9 -10
  232. package/cjs/core/graphic-utils.js.map +1 -1
  233. package/cjs/core/index.d.ts +2 -0
  234. package/cjs/core/index.js +2 -1
  235. package/cjs/core/index.js.map +1 -1
  236. package/cjs/core/interface.d.ts +30 -0
  237. package/cjs/core/interface.js +6 -0
  238. package/cjs/core/interface.js.map +1 -0
  239. package/cjs/core/layer-service.d.ts +1 -8
  240. package/cjs/core/layer-service.js +1 -3
  241. package/cjs/core/layer-service.js.map +1 -1
  242. package/cjs/core/layer.d.ts +1 -1
  243. package/cjs/core/layer.js +7 -6
  244. package/cjs/core/layer.js.map +1 -1
  245. package/cjs/core/light.js.map +1 -1
  246. package/cjs/core/stage.js +7 -7
  247. package/cjs/core/stage.js.map +1 -1
  248. package/cjs/core/window.js +3 -3
  249. package/cjs/core/window.js.map +1 -1
  250. package/cjs/create.d.ts +1 -1
  251. package/cjs/create.js +4 -3
  252. package/cjs/create.js.map +1 -1
  253. package/cjs/event/constant.js.map +1 -1
  254. package/cjs/event/event-manager.js.map +1 -1
  255. package/cjs/event/event-system.js.map +1 -1
  256. package/cjs/event/event-target.js.map +1 -1
  257. package/cjs/event/extension/drag.js.map +1 -1
  258. package/cjs/event/extension/gesture.js +2 -2
  259. package/cjs/event/extension/gesture.js.map +1 -1
  260. package/cjs/event/extension/index.js.map +1 -1
  261. package/cjs/event/federated-event/base-event.js.map +1 -1
  262. package/cjs/event/federated-event/custom-event.js.map +1 -1
  263. package/cjs/event/federated-event/index.js.map +1 -1
  264. package/cjs/event/federated-event/mouse-event.js.map +1 -1
  265. package/cjs/event/federated-event/pointer-event.js.map +1 -1
  266. package/cjs/event/federated-event/wheel-event.js.map +1 -1
  267. package/cjs/event/index.js.map +1 -1
  268. package/cjs/event/interface.js.map +1 -1
  269. package/cjs/event/type.js.map +1 -1
  270. package/cjs/event/util.js.map +1 -1
  271. package/cjs/export.js.map +1 -1
  272. package/cjs/graphic/arc.d.ts +1 -2
  273. package/cjs/graphic/arc.js +6 -10
  274. package/cjs/graphic/arc.js.map +1 -1
  275. package/cjs/graphic/arc3d.d.ts +0 -1
  276. package/cjs/graphic/arc3d.js +5 -7
  277. package/cjs/graphic/arc3d.js.map +1 -1
  278. package/cjs/graphic/area.d.ts +1 -2
  279. package/cjs/graphic/area.js +7 -11
  280. package/cjs/graphic/area.js.map +1 -1
  281. package/cjs/graphic/bounds.js.map +1 -1
  282. package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
  283. package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  284. package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  285. package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
  286. package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
  287. package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
  288. package/cjs/graphic/builtin-symbol/index.js.map +1 -1
  289. package/cjs/graphic/builtin-symbol/interface.js.map +1 -1
  290. package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
  291. package/cjs/graphic/builtin-symbol/square.js.map +1 -1
  292. package/cjs/graphic/builtin-symbol/star.js.map +1 -1
  293. package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
  294. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  295. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  296. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  297. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  298. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  299. package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
  300. package/cjs/graphic/builtin-symbol/utils.js +3 -3
  301. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  302. package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
  303. package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
  304. package/cjs/graphic/circle.d.ts +1 -2
  305. package/cjs/graphic/circle.js +6 -10
  306. package/cjs/graphic/circle.js.map +1 -1
  307. package/cjs/graphic/config.js +2 -2
  308. package/cjs/graphic/config.js.map +1 -1
  309. package/cjs/graphic/constants.d.ts +18 -0
  310. package/cjs/graphic/constants.js +21 -0
  311. package/cjs/graphic/constants.js.map +1 -0
  312. package/cjs/graphic/glyph.d.ts +0 -1
  313. package/cjs/graphic/glyph.js +4 -6
  314. package/cjs/graphic/glyph.js.map +1 -1
  315. package/cjs/graphic/graphic-creator.js.map +1 -1
  316. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  317. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  318. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  319. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  320. package/cjs/graphic/graphic-service/default-theme.js.map +1 -1
  321. package/cjs/graphic/graphic-service/graphic-module.js +8 -7
  322. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  323. package/cjs/graphic/graphic-service/graphic-service.d.ts +4 -60
  324. package/cjs/graphic/graphic-service/graphic-service.js +25 -20
  325. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  326. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  327. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  328. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  329. package/cjs/graphic/graphic-service/theme-service.js.map +1 -1
  330. package/cjs/graphic/graphic.d.ts +0 -1
  331. package/cjs/graphic/graphic.js +13 -22
  332. package/cjs/graphic/graphic.js.map +1 -1
  333. package/cjs/graphic/group.d.ts +0 -1
  334. package/cjs/graphic/group.js +16 -15
  335. package/cjs/graphic/group.js.map +1 -1
  336. package/cjs/graphic/image.d.ts +0 -1
  337. package/cjs/graphic/image.js +5 -9
  338. package/cjs/graphic/image.js.map +1 -1
  339. package/cjs/graphic/index.d.ts +1 -0
  340. package/cjs/graphic/index.js +2 -1
  341. package/cjs/graphic/index.js.map +1 -1
  342. package/cjs/graphic/line.d.ts +1 -2
  343. package/cjs/graphic/line.js +7 -11
  344. package/cjs/graphic/line.js.map +1 -1
  345. package/cjs/graphic/node-tree.js +2 -2
  346. package/cjs/graphic/node-tree.js.map +1 -1
  347. package/cjs/graphic/path.d.ts +1 -2
  348. package/cjs/graphic/path.js +9 -13
  349. package/cjs/graphic/path.js.map +1 -1
  350. package/cjs/graphic/polygon.d.ts +1 -2
  351. package/cjs/graphic/polygon.js +5 -9
  352. package/cjs/graphic/polygon.js.map +1 -1
  353. package/cjs/graphic/pyramid3d.d.ts +0 -1
  354. package/cjs/graphic/pyramid3d.js +5 -7
  355. package/cjs/graphic/pyramid3d.js.map +1 -1
  356. package/cjs/graphic/rect.d.ts +1 -2
  357. package/cjs/graphic/rect.js +6 -10
  358. package/cjs/graphic/rect.js.map +1 -1
  359. package/cjs/graphic/rect3d.d.ts +0 -1
  360. package/cjs/graphic/rect3d.js +3 -7
  361. package/cjs/graphic/rect3d.js.map +1 -1
  362. package/cjs/graphic/richtext/frame.js.map +1 -1
  363. package/cjs/graphic/richtext/icon.js +3 -3
  364. package/cjs/graphic/richtext/icon.js.map +1 -1
  365. package/cjs/graphic/richtext/line.js.map +1 -1
  366. package/cjs/graphic/richtext/paragraph.d.ts +1 -0
  367. package/cjs/graphic/richtext/paragraph.js +7 -2
  368. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  369. package/cjs/graphic/richtext/utils.d.ts +0 -2
  370. package/cjs/graphic/richtext/utils.js +6 -17
  371. package/cjs/graphic/richtext/utils.js.map +1 -1
  372. package/cjs/graphic/richtext/wrapper.js +2 -2
  373. package/cjs/graphic/richtext/wrapper.js.map +1 -1
  374. package/cjs/graphic/richtext.d.ts +0 -1
  375. package/cjs/graphic/richtext.js +5 -9
  376. package/cjs/graphic/richtext.js.map +1 -1
  377. package/cjs/graphic/shadow-root.js.map +1 -1
  378. package/cjs/graphic/symbol.d.ts +1 -2
  379. package/cjs/graphic/symbol.js +7 -11
  380. package/cjs/graphic/symbol.js.map +1 -1
  381. package/cjs/graphic/text.d.ts +0 -1
  382. package/cjs/graphic/text.js +12 -15
  383. package/cjs/graphic/text.js.map +1 -1
  384. package/cjs/graphic/theme.js.map +1 -1
  385. package/cjs/graphic/tools.d.ts +1 -0
  386. package/cjs/graphic/tools.js +11 -3
  387. package/cjs/graphic/tools.js.map +1 -1
  388. package/cjs/graphic/wrap-text.js +2 -2
  389. package/cjs/graphic/wrap-text.js.map +1 -1
  390. package/cjs/index.d.ts +21 -3
  391. package/cjs/index.js +14 -12
  392. package/cjs/index.js.map +1 -1
  393. package/cjs/interface/animate.js.map +1 -1
  394. package/cjs/interface/camera.js.map +1 -1
  395. package/cjs/interface/canvas.js.map +1 -1
  396. package/cjs/interface/color.js.map +1 -1
  397. package/cjs/interface/common.d.ts +1 -0
  398. package/cjs/interface/common.js.map +1 -1
  399. package/cjs/interface/context.js.map +1 -1
  400. package/cjs/interface/contribution.js.map +1 -1
  401. package/cjs/interface/creator.js.map +1 -1
  402. package/{es/common/curve/interface.d.ts → cjs/interface/curve.d.ts} +19 -19
  403. package/cjs/interface/curve.js +6 -0
  404. package/cjs/interface/curve.js.map +1 -0
  405. package/cjs/interface/global.js.map +1 -1
  406. package/cjs/interface/graphic/arc.js.map +1 -1
  407. package/cjs/interface/graphic/arc3d.js.map +1 -1
  408. package/cjs/interface/graphic/area.d.ts +1 -1
  409. package/cjs/interface/graphic/area.js.map +1 -1
  410. package/cjs/interface/graphic/bounds.js.map +1 -1
  411. package/cjs/interface/graphic/circle.js.map +1 -1
  412. package/cjs/interface/graphic/creator.js.map +1 -1
  413. package/cjs/interface/graphic/dynamic-path.js.map +1 -1
  414. package/cjs/interface/graphic/ellipse.js.map +1 -1
  415. package/cjs/interface/graphic/face3d.js.map +1 -1
  416. package/cjs/interface/graphic/glyph.js.map +1 -1
  417. package/cjs/interface/graphic/group.js.map +1 -1
  418. package/cjs/interface/graphic/image.js.map +1 -1
  419. package/cjs/interface/graphic/index.js.map +1 -1
  420. package/cjs/interface/graphic/isogon.js.map +1 -1
  421. package/cjs/interface/graphic/line.d.ts +1 -1
  422. package/cjs/interface/graphic/line.js.map +1 -1
  423. package/cjs/interface/graphic/path.d.ts +1 -2
  424. package/cjs/interface/graphic/path.js.map +1 -1
  425. package/cjs/interface/graphic/polygon.js.map +1 -1
  426. package/cjs/interface/graphic/polyline.js.map +1 -1
  427. package/cjs/interface/graphic/pyramid3d.js.map +1 -1
  428. package/cjs/interface/graphic/rect.js.map +1 -1
  429. package/cjs/interface/graphic/rect3d.js.map +1 -1
  430. package/cjs/interface/graphic/richText.js.map +1 -1
  431. package/cjs/interface/graphic/shadow-root.js.map +1 -1
  432. package/cjs/interface/graphic/svg.js.map +1 -1
  433. package/cjs/interface/graphic/symbol.js.map +1 -1
  434. package/cjs/interface/graphic/text.js.map +1 -1
  435. package/cjs/interface/graphic/theme.js.map +1 -1
  436. package/cjs/interface/graphic/util.js.map +1 -1
  437. package/cjs/interface/graphic-service.d.ts +58 -0
  438. package/cjs/interface/graphic-service.js +6 -0
  439. package/cjs/interface/graphic-service.js.map +1 -0
  440. package/cjs/interface/graphic-utils.js.map +1 -1
  441. package/cjs/interface/graphic.js.map +1 -1
  442. package/cjs/interface/index.d.ts +2 -0
  443. package/cjs/interface/index.js +2 -1
  444. package/cjs/interface/index.js.map +1 -1
  445. package/cjs/interface/layer.js.map +1 -1
  446. package/cjs/interface/light.js.map +1 -1
  447. package/cjs/interface/matrix.js.map +1 -1
  448. package/cjs/interface/node-tree.js.map +1 -1
  449. package/cjs/interface/path.d.ts +11 -19
  450. package/cjs/interface/path.js +1 -8
  451. package/cjs/interface/path.js.map +1 -1
  452. package/cjs/interface/stage.js.map +1 -1
  453. package/cjs/interface/util.js.map +1 -1
  454. package/cjs/kits/env.js +3 -3
  455. package/cjs/kits/env.js.map +1 -1
  456. package/cjs/kits/index.js.map +1 -1
  457. package/cjs/modules.d.ts +2 -19
  458. package/cjs/modules.js +12 -17
  459. package/cjs/modules.js.map +1 -1
  460. package/cjs/picker/canvas-picker-service.d.ts +1 -1
  461. package/cjs/picker/canvas-picker-service.js +10 -9
  462. package/cjs/picker/canvas-picker-service.js.map +1 -1
  463. package/cjs/picker/contributions/canvas-picker/arc-picker.js +4 -4
  464. package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  465. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +4 -4
  466. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  467. package/cjs/picker/contributions/canvas-picker/area-picker.js +3 -3
  468. package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  469. package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -1
  470. package/cjs/picker/contributions/canvas-picker/circle-picker.js +4 -4
  471. package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  472. package/cjs/picker/contributions/canvas-picker/glyph-picker.js +2 -2
  473. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  474. package/cjs/picker/contributions/canvas-picker/image-picker.js +2 -2
  475. package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  476. package/cjs/picker/contributions/canvas-picker/line-picker.js +5 -5
  477. package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  478. package/cjs/picker/contributions/canvas-picker/module.js +2 -2
  479. package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
  480. package/cjs/picker/contributions/canvas-picker/path-picker.js +5 -5
  481. package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  482. package/cjs/picker/contributions/canvas-picker/polygon-picker.js +3 -3
  483. package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  484. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +4 -4
  485. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  486. package/cjs/picker/contributions/canvas-picker/rect-picker.js +3 -3
  487. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  488. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +4 -4
  489. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  490. package/cjs/picker/contributions/canvas-picker/richtext-picker.js +2 -2
  491. package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  492. package/cjs/picker/contributions/canvas-picker/symbol-picker.js +5 -5
  493. package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  494. package/cjs/picker/contributions/canvas-picker/text-picker.js +5 -5
  495. package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  496. package/cjs/picker/contributions/constants.js.map +1 -1
  497. package/cjs/picker/contributions/math-picker/arc-picker.js +3 -3
  498. package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
  499. package/cjs/picker/contributions/math-picker/area-picker.js +3 -3
  500. package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
  501. package/cjs/picker/contributions/math-picker/circle-picker.js +3 -3
  502. package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
  503. package/cjs/picker/contributions/math-picker/glyph-picker.js +2 -2
  504. package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  505. package/cjs/picker/contributions/math-picker/line-picker.js +3 -3
  506. package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
  507. package/cjs/picker/contributions/math-picker/module.js +2 -2
  508. package/cjs/picker/contributions/math-picker/module.js.map +1 -1
  509. package/cjs/picker/contributions/math-picker/path-picker.js +3 -3
  510. package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
  511. package/cjs/picker/contributions/math-picker/polygon-picker.js +3 -3
  512. package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  513. package/cjs/picker/contributions/math-picker/rect-picker.js +3 -3
  514. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
  515. package/cjs/picker/contributions/math-picker/symbol-picker.js +3 -3
  516. package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  517. package/cjs/picker/contributions/math-picker/text-picker.js +2 -2
  518. package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
  519. package/cjs/picker/contributions/modules.js.map +1 -1
  520. package/cjs/picker/contributions/old/circle-picker.js.map +1 -1
  521. package/cjs/picker/contributions/old/rect-picker.js.map +1 -1
  522. package/cjs/picker/global-picker-service.js.map +1 -1
  523. package/cjs/picker/index.js.map +1 -1
  524. package/cjs/picker/math-picker-service.d.ts +1 -1
  525. package/cjs/picker/math-picker-service.js +4 -3
  526. package/cjs/picker/math-picker-service.js.map +1 -1
  527. package/cjs/picker/pick-interceptor.js +2 -2
  528. package/cjs/picker/pick-interceptor.js.map +1 -1
  529. package/cjs/picker/pick-modules.js +2 -2
  530. package/cjs/picker/pick-modules.js.map +1 -1
  531. package/cjs/picker/picker-service.d.ts +1 -1
  532. package/cjs/picker/picker-service.js +10 -10
  533. package/cjs/picker/picker-service.js.map +1 -1
  534. package/cjs/picker/type.js.map +1 -1
  535. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +2 -2
  536. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  537. package/cjs/plugins/builtin-plugin/auto-render-plugin.js +6 -6
  538. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  539. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +8 -8
  540. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  541. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +7 -7
  542. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  543. package/cjs/plugins/interface.js.map +1 -1
  544. package/cjs/plugins/plugin-modules.js.map +1 -1
  545. package/cjs/plugins/plugin-service.js.map +1 -1
  546. package/cjs/render/contributions/interface.js.map +1 -1
  547. package/cjs/render/contributions/modules.js.map +1 -1
  548. package/cjs/render/contributions/render/arc-render.d.ts +1 -2
  549. package/cjs/render/contributions/render/arc-render.js +20 -115
  550. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  551. package/cjs/render/contributions/render/arc3d-render.js +5 -5
  552. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  553. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  554. package/cjs/render/contributions/render/area-render.js +15 -14
  555. package/cjs/render/contributions/render/area-render.js.map +1 -1
  556. package/cjs/render/contributions/render/base-render.js +3 -3
  557. package/cjs/render/contributions/render/base-render.js.map +1 -1
  558. package/cjs/render/contributions/render/circle-render.d.ts +1 -1
  559. package/cjs/render/contributions/render/circle-render.js +6 -5
  560. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  561. package/cjs/render/contributions/render/clear-screen.js.map +1 -1
  562. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +5 -5
  563. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  564. package/cjs/render/contributions/render/contributions/area-contribution-render.js +5 -5
  565. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  566. package/cjs/render/contributions/render/contributions/base-contribution-render.js +3 -3
  567. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  568. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +3 -3
  569. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  570. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  571. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  572. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  573. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  574. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  575. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +7 -7
  576. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  577. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +3 -3
  578. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  579. package/cjs/render/contributions/render/draw-contribution.d.ts +2 -2
  580. package/cjs/render/contributions/render/draw-contribution.js +6 -6
  581. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  582. package/cjs/render/contributions/render/draw-interceptor.js +5 -5
  583. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  584. package/cjs/render/contributions/render/glyph-render.js +3 -3
  585. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  586. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  587. package/cjs/render/contributions/render/group-render.d.ts +1 -1
  588. package/cjs/render/contributions/render/group-render.js +8 -7
  589. package/cjs/render/contributions/render/group-render.js.map +1 -1
  590. package/cjs/render/contributions/render/image-render.d.ts +1 -1
  591. package/cjs/render/contributions/render/image-render.js +6 -5
  592. package/cjs/render/contributions/render/image-render.js.map +1 -1
  593. package/cjs/render/contributions/render/incremental-area-render.js +4 -4
  594. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  595. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +2 -2
  596. package/cjs/render/contributions/render/incremental-draw-contribution.js +4 -4
  597. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  598. package/cjs/render/contributions/render/incremental-line-render.js +4 -4
  599. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  600. package/cjs/render/contributions/render/index.d.ts +1 -0
  601. package/cjs/render/contributions/render/index.js +1 -1
  602. package/cjs/render/contributions/render/index.js.map +1 -1
  603. package/cjs/render/contributions/render/line-render.d.ts +1 -2
  604. package/cjs/render/contributions/render/line-render.js +8 -8
  605. package/cjs/render/contributions/render/line-render.js.map +1 -1
  606. package/cjs/render/contributions/render/module.js +12 -12
  607. package/cjs/render/contributions/render/module.js.map +1 -1
  608. package/cjs/render/contributions/render/path-render.d.ts +1 -1
  609. package/cjs/render/contributions/render/path-render.js +9 -8
  610. package/cjs/render/contributions/render/path-render.js.map +1 -1
  611. package/cjs/render/contributions/render/polygon-render.d.ts +1 -1
  612. package/cjs/render/contributions/render/polygon-render.js +6 -5
  613. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  614. package/cjs/render/contributions/render/pyramid3d-render.js +5 -5
  615. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  616. package/cjs/render/contributions/render/rect-render.d.ts +1 -1
  617. package/cjs/render/contributions/render/rect-render.js +7 -6
  618. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  619. package/cjs/render/contributions/render/rect3d-render.js +5 -5
  620. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  621. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  622. package/cjs/render/contributions/render/richtext-render.js +6 -6
  623. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  624. package/cjs/render/contributions/render/symbol-render.d.ts +1 -1
  625. package/cjs/render/contributions/render/symbol-render.js +7 -6
  626. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  627. package/cjs/render/contributions/render/symbol.js.map +1 -1
  628. package/cjs/render/contributions/render/text-render.js +6 -6
  629. package/cjs/render/contributions/render/text-render.js.map +1 -1
  630. package/cjs/render/contributions/render/utils.d.ts +11 -1
  631. package/cjs/render/contributions/render/utils.js +102 -4
  632. package/cjs/render/contributions/render/utils.js.map +1 -1
  633. package/cjs/render/index.js.map +1 -1
  634. package/cjs/render/render-modules.js.map +1 -1
  635. package/cjs/render/render-service.js.map +1 -1
  636. package/cjs/resource-loader/loader.js +8 -8
  637. package/cjs/resource-loader/loader.js.map +1 -1
  638. package/cjs/tapable/Hook.js.map +1 -1
  639. package/cjs/tapable/SyncHook.js.map +1 -1
  640. package/cjs/tapable/index.js.map +1 -1
  641. package/cjs/tapable/interface.d.ts +1 -0
  642. package/cjs/tapable/interface.js +3 -0
  643. package/cjs/tapable/interface.js.map +1 -0
  644. package/dist/vrender.js.js +1 -1
  645. package/dist/vrender.js.min.js +1 -1
  646. package/es/allocator/allocator-modules.d.ts +1 -3
  647. package/es/allocator/allocator-modules.js +1 -22
  648. package/es/allocator/allocator-modules.js.map +1 -1
  649. package/es/allocator/canvas-allocate.d.ts +2 -5
  650. package/es/allocator/canvas-allocate.js +9 -27
  651. package/es/allocator/canvas-allocate.js.map +1 -1
  652. package/es/allocator/constants.d.ts +9 -0
  653. package/es/allocator/constants.js +17 -0
  654. package/es/allocator/constants.js.map +1 -0
  655. package/es/allocator/graphic-allocate.d.ts +1 -58
  656. package/es/allocator/graphic-allocate.js +1 -181
  657. package/es/allocator/graphic-allocate.js.map +1 -1
  658. package/es/allocator/interface.d.ts +10 -0
  659. package/es/allocator/interface.js.map +1 -1
  660. package/es/allocator/matrix-allocate.d.ts +2 -0
  661. package/es/allocator/matrix-allocate.js +7 -19
  662. package/es/allocator/matrix-allocate.js.map +1 -1
  663. package/es/allocator/point-allocate.js.map +1 -1
  664. package/es/animate/Ticker/default-ticker.js +5 -5
  665. package/es/animate/Ticker/default-ticker.js.map +1 -1
  666. package/es/animate/Ticker/index.js.map +1 -1
  667. package/es/animate/Ticker/interface.js.map +1 -1
  668. package/es/animate/animate.d.ts +1 -1
  669. package/es/animate/animate.js +3 -1
  670. package/es/animate/animate.js.map +1 -1
  671. package/es/animate/config.js.map +1 -1
  672. package/es/animate/custom-animate.d.ts +1 -1
  673. package/es/animate/custom-animate.js +9 -9
  674. package/es/animate/custom-animate.js.map +1 -1
  675. package/es/animate/default-ticker.d.ts +2 -0
  676. package/es/animate/default-ticker.js +12 -0
  677. package/es/animate/default-ticker.js.map +1 -0
  678. package/es/animate/easing.js.map +1 -1
  679. package/es/animate/index.js.map +1 -1
  680. package/es/animate/morphing.d.ts +1 -1
  681. package/es/animate/morphing.js +11 -11
  682. package/es/animate/morphing.js.map +1 -1
  683. package/es/animate/timeline.js +5 -2
  684. package/es/animate/timeline.js.map +1 -1
  685. package/es/application.d.ts +11 -0
  686. package/es/application.js +3 -0
  687. package/es/application.js.map +1 -0
  688. package/es/canvas/contributions/browser/canvas.js +2 -2
  689. package/es/canvas/contributions/browser/canvas.js.map +1 -1
  690. package/es/canvas/contributions/browser/conical-gradient.js +4 -4
  691. package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
  692. package/es/canvas/contributions/browser/context.js +7 -5
  693. package/es/canvas/contributions/browser/context.js.map +1 -1
  694. package/es/canvas/contributions/browser/index.js.map +1 -1
  695. package/es/canvas/contributions/browser/modules.js.map +1 -1
  696. package/es/canvas/contributions/feishu/canvas.js.map +1 -1
  697. package/es/canvas/contributions/feishu/context.js.map +1 -1
  698. package/es/canvas/contributions/feishu/index.js.map +1 -1
  699. package/es/canvas/contributions/feishu/modules.js.map +1 -1
  700. package/es/canvas/contributions/lynx/canvas.js.map +1 -1
  701. package/es/canvas/contributions/lynx/context.js.map +1 -1
  702. package/es/canvas/contributions/lynx/index.js.map +1 -1
  703. package/es/canvas/contributions/lynx/modules.js.map +1 -1
  704. package/es/canvas/contributions/modules.js.map +1 -1
  705. package/es/canvas/contributions/taro/canvas.js.map +1 -1
  706. package/es/canvas/contributions/taro/context.js +3 -1
  707. package/es/canvas/contributions/taro/context.js.map +1 -1
  708. package/es/canvas/contributions/taro/index.js.map +1 -1
  709. package/es/canvas/contributions/taro/modules.js.map +1 -1
  710. package/es/canvas/contributions/tt/canvas.js.map +1 -1
  711. package/es/canvas/contributions/tt/context.js.map +1 -1
  712. package/es/canvas/contributions/tt/index.js.map +1 -1
  713. package/es/canvas/contributions/tt/modules.js.map +1 -1
  714. package/es/canvas/empty-context.d.ts +1 -1
  715. package/es/canvas/empty-context.js +5 -3
  716. package/es/canvas/empty-context.js.map +1 -1
  717. package/es/canvas/index.d.ts +0 -3
  718. package/es/canvas/index.js +0 -12
  719. package/es/canvas/index.js.map +1 -1
  720. package/es/canvas/interface.js.map +1 -1
  721. package/es/canvas/util.d.ts +3 -0
  722. package/es/canvas/util.js +15 -1
  723. package/es/canvas/util.js.map +1 -1
  724. package/es/color-string/colorName.js.map +1 -1
  725. package/es/color-string/index.js.map +1 -1
  726. package/es/color-string/interpolate.js.map +1 -1
  727. package/es/common/{bezier.d.ts → bezier-utils.d.ts} +0 -3
  728. package/es/common/{bezier.js → bezier-utils.js} +1 -13
  729. package/es/common/bezier-utils.js.map +1 -0
  730. package/es/common/bounds-context.js.map +1 -1
  731. package/es/common/canvas-utils.js.map +1 -1
  732. package/es/common/contribution-provider.js.map +1 -1
  733. package/es/common/custom-path2d.d.ts +47 -0
  734. package/es/common/{path.js → custom-path2d.js} +7 -207
  735. package/es/common/custom-path2d.js.map +1 -0
  736. package/es/common/enums.d.ts +12 -0
  737. package/es/common/enums.js +14 -0
  738. package/es/common/enums.js.map +1 -1
  739. package/es/common/generator.js +1 -2
  740. package/es/common/generator.js.map +1 -1
  741. package/es/common/matrix.js.map +1 -1
  742. package/es/common/morphing-utils.d.ts +1 -2
  743. package/es/common/morphing-utils.js +5 -7
  744. package/es/common/morphing-utils.js.map +1 -1
  745. package/es/common/path-svg.js.map +1 -1
  746. package/es/common/polygon.js.map +1 -1
  747. package/es/common/render-area.d.ts +2 -3
  748. package/es/common/render-area.js +5 -1
  749. package/es/common/render-area.js.map +1 -1
  750. package/es/common/render-command-list.js.map +1 -1
  751. package/es/common/render-curve.d.ts +1 -2
  752. package/es/common/render-curve.js +2 -2
  753. package/es/common/render-curve.js.map +1 -1
  754. package/es/common/seg-context.d.ts +7 -13
  755. package/es/common/seg-context.js +4 -6
  756. package/es/common/seg-context.js.map +1 -1
  757. package/{cjs/common/curve → es/common/segment}/basis.d.ts +12 -5
  758. package/es/common/{curve → segment}/basis.js +4 -4
  759. package/es/common/segment/basis.js.map +1 -0
  760. package/es/common/segment/common.d.ts +3 -0
  761. package/es/common/segment/common.js.map +1 -0
  762. package/es/common/segment/curve/arc.d.ts +14 -0
  763. package/es/common/segment/curve/arc.js +22 -0
  764. package/es/common/segment/curve/arc.js.map +1 -0
  765. package/es/common/segment/curve/base.d.ts +13 -0
  766. package/es/common/segment/curve/base.js +7 -0
  767. package/es/common/segment/curve/base.js.map +1 -0
  768. package/es/common/segment/curve/cubic-bezier.d.ts +17 -0
  769. package/es/common/segment/curve/cubic-bezier.js +37 -0
  770. package/es/common/segment/curve/cubic-bezier.js.map +1 -0
  771. package/es/common/segment/curve/curve-context.d.ts +19 -0
  772. package/es/common/segment/curve/curve-context.js +44 -0
  773. package/es/common/segment/curve/curve-context.js.map +1 -0
  774. package/es/common/segment/curve/ellipse.d.ts +18 -0
  775. package/es/common/segment/curve/ellipse.js +24 -0
  776. package/es/common/segment/curve/ellipse.js.map +1 -0
  777. package/es/common/segment/curve/line.d.ts +16 -0
  778. package/es/common/segment/curve/line.js +34 -0
  779. package/es/common/segment/curve/line.js.map +1 -0
  780. package/es/common/segment/curve/move.d.ts +13 -0
  781. package/es/common/segment/curve/move.js +22 -0
  782. package/es/common/segment/curve/move.js.map +1 -0
  783. package/es/common/segment/curve/path.d.ts +11 -0
  784. package/es/common/segment/curve/path.js +23 -0
  785. package/es/common/segment/curve/path.js.map +1 -0
  786. package/es/common/segment/curve/quadratic-bezier.d.ts +14 -0
  787. package/es/common/segment/curve/quadratic-bezier.js +23 -0
  788. package/es/common/segment/curve/quadratic-bezier.js.map +1 -0
  789. package/es/common/{curve → segment}/index.d.ts +2 -4
  790. package/es/common/{curve → segment}/index.js +0 -2
  791. package/es/common/segment/index.js.map +1 -0
  792. package/es/common/segment/linear-closed.d.ts +24 -0
  793. package/es/common/{curve → segment}/linear-closed.js +4 -4
  794. package/es/common/segment/linear-closed.js.map +1 -0
  795. package/es/common/segment/linear.d.ts +24 -0
  796. package/es/common/{curve → segment}/linear.js +4 -4
  797. package/es/common/segment/linear.js.map +1 -0
  798. package/{cjs/common/curve → es/common/segment}/monotone.d.ts +12 -5
  799. package/es/common/{curve → segment}/monotone.js +4 -4
  800. package/es/common/segment/monotone.js.map +1 -0
  801. package/es/common/segment/step.d.ts +25 -0
  802. package/es/common/{curve → segment}/step.js +4 -4
  803. package/es/common/segment/step.js.map +1 -0
  804. package/es/common/shape/arc.d.ts +3 -0
  805. package/es/common/shape/arc.js +13 -0
  806. package/es/common/shape/arc.js.map +1 -1
  807. package/es/common/shape/rect.js.map +1 -1
  808. package/es/common/sort.js +1 -1
  809. package/es/common/sort.js.map +1 -1
  810. package/es/common/split-path.js +1 -1
  811. package/es/common/split-path.js.map +1 -1
  812. package/es/common/store.js +1 -1
  813. package/es/common/store.js.map +1 -1
  814. package/es/common/text.js +1 -1
  815. package/es/common/text.js.map +1 -1
  816. package/es/common/utils.js +1 -1
  817. package/es/common/utils.js.map +1 -1
  818. package/es/container.d.ts +2 -0
  819. package/es/container.js +4 -0
  820. package/es/container.js.map +1 -0
  821. package/es/core/application.js.map +1 -1
  822. package/es/core/camera.js +1 -1
  823. package/es/core/camera.js.map +1 -1
  824. package/es/core/constants.d.ts +3 -0
  825. package/es/core/constants.js +6 -0
  826. package/es/core/constants.js.map +1 -0
  827. package/es/core/contributions/env/base-contribution.js.map +1 -1
  828. package/es/core/contributions/env/browser-contribution.js +1 -1
  829. package/es/core/contributions/env/browser-contribution.js.map +1 -1
  830. package/es/core/contributions/env/feishu-contribution.js.map +1 -1
  831. package/es/core/contributions/env/lynx-contribution.js.map +1 -1
  832. package/es/core/contributions/env/modules.js +1 -1
  833. package/es/core/contributions/env/modules.js.map +1 -1
  834. package/es/core/contributions/env/taro-contribution.js.map +1 -1
  835. package/es/core/contributions/index.js.map +1 -1
  836. package/es/core/contributions/interface.js.map +1 -1
  837. package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
  838. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  839. package/es/core/contributions/layerHandler/modules.js +1 -1
  840. package/es/core/contributions/layerHandler/modules.js.map +1 -1
  841. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
  842. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  843. package/es/core/contributions/modules.js.map +1 -1
  844. package/es/core/contributions/textMeasure/AtextMeasure.d.ts +1 -1
  845. package/es/core/contributions/textMeasure/AtextMeasure.js +1 -1
  846. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  847. package/es/core/contributions/textMeasure/ITextMeasure.d.ts +1 -1
  848. package/es/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  849. package/es/core/contributions/textMeasure/layout.js.map +1 -1
  850. package/es/core/contributions/textMeasure/modules.js +1 -1
  851. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  852. package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  853. package/es/core/contributions/window/base-contribution.js +1 -1
  854. package/es/core/contributions/window/base-contribution.js.map +1 -1
  855. package/es/core/contributions/window/browser-contribution.js +1 -1
  856. package/es/core/contributions/window/browser-contribution.js.map +1 -1
  857. package/es/core/contributions/window/feishu-contribution.js +1 -1
  858. package/es/core/contributions/window/feishu-contribution.js.map +1 -1
  859. package/es/core/contributions/window/lynx-contribution.js +1 -1
  860. package/es/core/contributions/window/lynx-contribution.js.map +1 -1
  861. package/es/core/contributions/window/modules.js +1 -1
  862. package/es/core/contributions/window/modules.js.map +1 -1
  863. package/es/core/contributions/window/native-contribution.js.map +1 -1
  864. package/es/core/contributions/window/node-contribution.js.map +1 -1
  865. package/es/core/contributions/window/taro-contribution.js +1 -1
  866. package/es/core/contributions/window/taro-contribution.js.map +1 -1
  867. package/es/core/core-modules.js +4 -2
  868. package/es/core/core-modules.js.map +1 -1
  869. package/es/core/global-module.d.ts +5 -0
  870. package/es/core/global-module.js +19 -0
  871. package/es/core/global-module.js.map +1 -0
  872. package/es/core/global.d.ts +1 -1
  873. package/es/core/global.js +3 -2
  874. package/es/core/global.js.map +1 -1
  875. package/es/core/graphic-utils.d.ts +3 -25
  876. package/es/core/graphic-utils.js +3 -7
  877. package/es/core/graphic-utils.js.map +1 -1
  878. package/es/core/index.d.ts +2 -0
  879. package/es/core/index.js +4 -0
  880. package/es/core/index.js.map +1 -1
  881. package/es/core/interface.d.ts +30 -0
  882. package/es/core/interface.js +2 -0
  883. package/es/core/interface.js.map +1 -0
  884. package/es/core/layer-service.d.ts +1 -8
  885. package/es/core/layer-service.js +0 -2
  886. package/es/core/layer-service.js.map +1 -1
  887. package/es/core/layer.d.ts +1 -1
  888. package/es/core/layer.js +8 -4
  889. package/es/core/layer.js.map +1 -1
  890. package/es/core/light.js.map +1 -1
  891. package/es/core/stage.js +2 -2
  892. package/es/core/stage.js.map +1 -1
  893. package/es/core/window.js +2 -2
  894. package/es/core/window.js.map +1 -1
  895. package/es/create.d.ts +1 -1
  896. package/es/create.js +3 -2
  897. package/es/create.js.map +1 -1
  898. package/es/event/constant.js.map +1 -1
  899. package/es/event/event-manager.js.map +1 -1
  900. package/es/event/event-system.js.map +1 -1
  901. package/es/event/event-target.js.map +1 -1
  902. package/es/event/extension/drag.js.map +1 -1
  903. package/es/event/extension/gesture.js +2 -2
  904. package/es/event/extension/gesture.js.map +1 -1
  905. package/es/event/extension/index.js.map +1 -1
  906. package/es/event/federated-event/base-event.js.map +1 -1
  907. package/es/event/federated-event/custom-event.js.map +1 -1
  908. package/es/event/federated-event/index.js.map +1 -1
  909. package/es/event/federated-event/mouse-event.js.map +1 -1
  910. package/es/event/federated-event/pointer-event.js.map +1 -1
  911. package/es/event/federated-event/wheel-event.js.map +1 -1
  912. package/es/event/index.js.map +1 -1
  913. package/es/event/interface.js.map +1 -1
  914. package/es/event/type.js.map +1 -1
  915. package/es/event/util.js.map +1 -1
  916. package/es/export.js.map +1 -1
  917. package/es/graphic/arc.d.ts +1 -2
  918. package/es/graphic/arc.js +7 -5
  919. package/es/graphic/arc.js.map +1 -1
  920. package/es/graphic/arc3d.d.ts +0 -1
  921. package/es/graphic/arc3d.js +4 -6
  922. package/es/graphic/arc3d.js.map +1 -1
  923. package/es/graphic/area.d.ts +1 -2
  924. package/es/graphic/area.js +7 -5
  925. package/es/graphic/area.js.map +1 -1
  926. package/es/graphic/bounds.js.map +1 -1
  927. package/es/graphic/builtin-symbol/arrow.js.map +1 -1
  928. package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  929. package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  930. package/es/graphic/builtin-symbol/circle.js.map +1 -1
  931. package/es/graphic/builtin-symbol/cross.js.map +1 -1
  932. package/es/graphic/builtin-symbol/diamond.js.map +1 -1
  933. package/es/graphic/builtin-symbol/index.js.map +1 -1
  934. package/es/graphic/builtin-symbol/interface.js.map +1 -1
  935. package/es/graphic/builtin-symbol/rect.js.map +1 -1
  936. package/es/graphic/builtin-symbol/square.js.map +1 -1
  937. package/es/graphic/builtin-symbol/star.js.map +1 -1
  938. package/es/graphic/builtin-symbol/stroke.js.map +1 -1
  939. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  940. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  941. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  942. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  943. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  944. package/es/graphic/builtin-symbol/triangle.js.map +1 -1
  945. package/es/graphic/builtin-symbol/utils.js +1 -1
  946. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  947. package/es/graphic/builtin-symbol/wedge.js.map +1 -1
  948. package/es/graphic/builtin-symbol/wye.js.map +1 -1
  949. package/es/graphic/circle.d.ts +1 -2
  950. package/es/graphic/circle.js +7 -5
  951. package/es/graphic/circle.js.map +1 -1
  952. package/es/graphic/config.js +1 -1
  953. package/es/graphic/config.js.map +1 -1
  954. package/es/graphic/constants.d.ts +18 -0
  955. package/es/graphic/constants.js +38 -0
  956. package/es/graphic/constants.js.map +1 -0
  957. package/es/graphic/glyph.d.ts +0 -1
  958. package/es/graphic/glyph.js +4 -4
  959. package/es/graphic/glyph.js.map +1 -1
  960. package/es/graphic/graphic-creator.js.map +1 -1
  961. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  962. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  963. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  964. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  965. package/es/graphic/graphic-service/default-theme.js.map +1 -1
  966. package/es/graphic/graphic-service/graphic-module.js +7 -3
  967. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  968. package/es/graphic/graphic-service/graphic-service.d.ts +4 -60
  969. package/es/graphic/graphic-service/graphic-service.js +18 -12
  970. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  971. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  972. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  973. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  974. package/es/graphic/graphic-service/theme-service.js.map +1 -1
  975. package/es/graphic/graphic.d.ts +0 -1
  976. package/es/graphic/graphic.js +12 -19
  977. package/es/graphic/graphic.js.map +1 -1
  978. package/es/graphic/group.d.ts +0 -1
  979. package/es/graphic/group.js +13 -13
  980. package/es/graphic/group.js.map +1 -1
  981. package/es/graphic/image.d.ts +0 -1
  982. package/es/graphic/image.js +5 -5
  983. package/es/graphic/image.js.map +1 -1
  984. package/es/graphic/index.d.ts +1 -0
  985. package/es/graphic/index.js +2 -0
  986. package/es/graphic/index.js.map +1 -1
  987. package/es/graphic/line.d.ts +1 -2
  988. package/es/graphic/line.js +8 -6
  989. package/es/graphic/line.js.map +1 -1
  990. package/es/graphic/node-tree.js +1 -1
  991. package/es/graphic/node-tree.js.map +1 -1
  992. package/es/graphic/path.d.ts +1 -2
  993. package/es/graphic/path.js +7 -5
  994. package/es/graphic/path.js.map +1 -1
  995. package/es/graphic/polygon.d.ts +1 -2
  996. package/es/graphic/polygon.js +5 -5
  997. package/es/graphic/polygon.js.map +1 -1
  998. package/es/graphic/pyramid3d.d.ts +0 -1
  999. package/es/graphic/pyramid3d.js +4 -6
  1000. package/es/graphic/pyramid3d.js.map +1 -1
  1001. package/es/graphic/rect.d.ts +1 -2
  1002. package/es/graphic/rect.js +7 -5
  1003. package/es/graphic/rect.js.map +1 -1
  1004. package/es/graphic/rect3d.d.ts +0 -1
  1005. package/es/graphic/rect3d.js +1 -3
  1006. package/es/graphic/rect3d.js.map +1 -1
  1007. package/es/graphic/richtext/frame.js.map +1 -1
  1008. package/es/graphic/richtext/icon.js +1 -1
  1009. package/es/graphic/richtext/icon.js.map +1 -1
  1010. package/es/graphic/richtext/line.js.map +1 -1
  1011. package/es/graphic/richtext/paragraph.d.ts +1 -0
  1012. package/es/graphic/richtext/paragraph.js +5 -0
  1013. package/es/graphic/richtext/paragraph.js.map +1 -1
  1014. package/es/graphic/richtext/utils.d.ts +0 -2
  1015. package/es/graphic/richtext/utils.js +3 -10
  1016. package/es/graphic/richtext/utils.js.map +1 -1
  1017. package/es/graphic/richtext/wrapper.js +3 -1
  1018. package/es/graphic/richtext/wrapper.js.map +1 -1
  1019. package/es/graphic/richtext.d.ts +0 -1
  1020. package/es/graphic/richtext.js +5 -5
  1021. package/es/graphic/richtext.js.map +1 -1
  1022. package/es/graphic/shadow-root.js.map +1 -1
  1023. package/es/graphic/symbol.d.ts +1 -2
  1024. package/es/graphic/symbol.js +7 -5
  1025. package/es/graphic/symbol.js.map +1 -1
  1026. package/es/graphic/text.d.ts +0 -1
  1027. package/es/graphic/text.js +10 -8
  1028. package/es/graphic/text.js.map +1 -1
  1029. package/es/graphic/theme.js.map +1 -1
  1030. package/es/graphic/tools.d.ts +1 -0
  1031. package/es/graphic/tools.js +8 -2
  1032. package/es/graphic/tools.js.map +1 -1
  1033. package/es/graphic/wrap-text.js +3 -3
  1034. package/es/graphic/wrap-text.js.map +1 -1
  1035. package/es/index.d.ts +21 -3
  1036. package/es/index.js +38 -8
  1037. package/es/index.js.map +1 -1
  1038. package/es/interface/animate.js.map +1 -1
  1039. package/es/interface/camera.js.map +1 -1
  1040. package/es/interface/canvas.js.map +1 -1
  1041. package/es/interface/color.js.map +1 -1
  1042. package/es/interface/common.d.ts +1 -0
  1043. package/es/interface/common.js.map +1 -1
  1044. package/es/interface/context.js.map +1 -1
  1045. package/es/interface/contribution.js.map +1 -1
  1046. package/es/interface/creator.js.map +1 -1
  1047. package/{cjs/common/curve/interface.d.ts → es/interface/curve.d.ts} +19 -19
  1048. package/es/interface/curve.js +2 -0
  1049. package/es/interface/curve.js.map +1 -0
  1050. package/es/interface/global.js.map +1 -1
  1051. package/es/interface/graphic/arc.js.map +1 -1
  1052. package/es/interface/graphic/arc3d.js.map +1 -1
  1053. package/es/interface/graphic/area.d.ts +1 -1
  1054. package/es/interface/graphic/area.js.map +1 -1
  1055. package/es/interface/graphic/bounds.js.map +1 -1
  1056. package/es/interface/graphic/circle.js.map +1 -1
  1057. package/es/interface/graphic/creator.js.map +1 -1
  1058. package/es/interface/graphic/dynamic-path.js.map +1 -1
  1059. package/es/interface/graphic/ellipse.js.map +1 -1
  1060. package/es/interface/graphic/face3d.js.map +1 -1
  1061. package/es/interface/graphic/glyph.js.map +1 -1
  1062. package/es/interface/graphic/group.js.map +1 -1
  1063. package/es/interface/graphic/image.js.map +1 -1
  1064. package/es/interface/graphic/index.js.map +1 -1
  1065. package/es/interface/graphic/isogon.js.map +1 -1
  1066. package/es/interface/graphic/line.d.ts +1 -1
  1067. package/es/interface/graphic/line.js.map +1 -1
  1068. package/es/interface/graphic/path.d.ts +1 -2
  1069. package/es/interface/graphic/path.js.map +1 -1
  1070. package/es/interface/graphic/polygon.js.map +1 -1
  1071. package/es/interface/graphic/polyline.js.map +1 -1
  1072. package/es/interface/graphic/pyramid3d.js.map +1 -1
  1073. package/es/interface/graphic/rect.js.map +1 -1
  1074. package/es/interface/graphic/rect3d.js.map +1 -1
  1075. package/es/interface/graphic/richText.js.map +1 -1
  1076. package/es/interface/graphic/shadow-root.js.map +1 -1
  1077. package/es/interface/graphic/svg.js.map +1 -1
  1078. package/es/interface/graphic/symbol.js.map +1 -1
  1079. package/es/interface/graphic/text.js.map +1 -1
  1080. package/es/interface/graphic/theme.js.map +1 -1
  1081. package/es/interface/graphic/util.js.map +1 -1
  1082. package/es/interface/graphic-service.d.ts +58 -0
  1083. package/es/interface/graphic-service.js +2 -0
  1084. package/es/interface/graphic-service.js.map +1 -0
  1085. package/es/interface/graphic-utils.js.map +1 -1
  1086. package/es/interface/graphic.js.map +1 -1
  1087. package/es/interface/index.d.ts +2 -0
  1088. package/es/interface/index.js +4 -0
  1089. package/es/interface/index.js.map +1 -1
  1090. package/es/interface/layer.js.map +1 -1
  1091. package/es/interface/light.js.map +1 -1
  1092. package/es/interface/matrix.js.map +1 -1
  1093. package/es/interface/node-tree.js.map +1 -1
  1094. package/es/interface/path.d.ts +11 -19
  1095. package/es/interface/path.js +0 -8
  1096. package/es/interface/path.js.map +1 -1
  1097. package/es/interface/stage.js.map +1 -1
  1098. package/es/interface/util.js.map +1 -1
  1099. package/es/kits/env.js +1 -1
  1100. package/es/kits/env.js.map +1 -1
  1101. package/es/kits/index.js.map +1 -1
  1102. package/es/modules.d.ts +2 -19
  1103. package/es/modules.js +18 -37
  1104. package/es/modules.js.map +1 -1
  1105. package/es/picker/canvas-picker-service.d.ts +1 -1
  1106. package/es/picker/canvas-picker-service.js +1 -1
  1107. package/es/picker/canvas-picker-service.js.map +1 -1
  1108. package/es/picker/contributions/canvas-picker/arc-picker.js +4 -2
  1109. package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  1110. package/es/picker/contributions/canvas-picker/arc3d-picker.js +4 -2
  1111. package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  1112. package/es/picker/contributions/canvas-picker/area-picker.js +3 -1
  1113. package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  1114. package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -1
  1115. package/es/picker/contributions/canvas-picker/circle-picker.js +4 -2
  1116. package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  1117. package/es/picker/contributions/canvas-picker/glyph-picker.js +1 -1
  1118. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  1119. package/es/picker/contributions/canvas-picker/image-picker.js +1 -1
  1120. package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  1121. package/es/picker/contributions/canvas-picker/line-picker.js +5 -3
  1122. package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  1123. package/es/picker/contributions/canvas-picker/module.js +1 -1
  1124. package/es/picker/contributions/canvas-picker/module.js.map +1 -1
  1125. package/es/picker/contributions/canvas-picker/path-picker.js +5 -3
  1126. package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  1127. package/es/picker/contributions/canvas-picker/polygon-picker.js +3 -1
  1128. package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  1129. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +4 -2
  1130. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  1131. package/es/picker/contributions/canvas-picker/rect-picker.js +4 -2
  1132. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  1133. package/es/picker/contributions/canvas-picker/rect3d-picker.js +4 -2
  1134. package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  1135. package/es/picker/contributions/canvas-picker/richtext-picker.js +1 -1
  1136. package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  1137. package/es/picker/contributions/canvas-picker/symbol-picker.js +5 -3
  1138. package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  1139. package/es/picker/contributions/canvas-picker/text-picker.js +5 -3
  1140. package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  1141. package/es/picker/contributions/constants.js.map +1 -1
  1142. package/es/picker/contributions/math-picker/arc-picker.js +3 -1
  1143. package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
  1144. package/es/picker/contributions/math-picker/area-picker.js +3 -1
  1145. package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
  1146. package/es/picker/contributions/math-picker/circle-picker.js +3 -1
  1147. package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
  1148. package/es/picker/contributions/math-picker/glyph-picker.js +1 -1
  1149. package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  1150. package/es/picker/contributions/math-picker/line-picker.js +3 -1
  1151. package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
  1152. package/es/picker/contributions/math-picker/module.js +1 -1
  1153. package/es/picker/contributions/math-picker/module.js.map +1 -1
  1154. package/es/picker/contributions/math-picker/path-picker.js +3 -1
  1155. package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
  1156. package/es/picker/contributions/math-picker/polygon-picker.js +3 -1
  1157. package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  1158. package/es/picker/contributions/math-picker/rect-picker.js +3 -1
  1159. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
  1160. package/es/picker/contributions/math-picker/symbol-picker.js +3 -1
  1161. package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  1162. package/es/picker/contributions/math-picker/text-picker.js +1 -1
  1163. package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
  1164. package/es/picker/contributions/modules.js.map +1 -1
  1165. package/es/picker/contributions/old/circle-picker.js.map +1 -1
  1166. package/es/picker/contributions/old/rect-picker.js.map +1 -1
  1167. package/es/picker/global-picker-service.js.map +1 -1
  1168. package/es/picker/index.js.map +1 -1
  1169. package/es/picker/math-picker-service.d.ts +1 -1
  1170. package/es/picker/math-picker-service.js +1 -1
  1171. package/es/picker/math-picker-service.js.map +1 -1
  1172. package/es/picker/pick-interceptor.js +1 -1
  1173. package/es/picker/pick-interceptor.js.map +1 -1
  1174. package/es/picker/pick-modules.js +1 -1
  1175. package/es/picker/pick-modules.js.map +1 -1
  1176. package/es/picker/picker-service.d.ts +1 -1
  1177. package/es/picker/picker-service.js +4 -2
  1178. package/es/picker/picker-service.js.map +1 -1
  1179. package/es/picker/type.js.map +1 -1
  1180. package/es/plugins/builtin-plugin/3dview-transform-plugin.js +1 -1
  1181. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  1182. package/es/plugins/builtin-plugin/auto-render-plugin.js +6 -6
  1183. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  1184. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +8 -8
  1185. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  1186. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +7 -7
  1187. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  1188. package/es/plugins/interface.js.map +1 -1
  1189. package/es/plugins/plugin-modules.js.map +1 -1
  1190. package/es/plugins/plugin-service.js.map +1 -1
  1191. package/es/render/contributions/interface.js.map +1 -1
  1192. package/es/render/contributions/modules.js.map +1 -1
  1193. package/es/render/contributions/render/arc-render.d.ts +1 -2
  1194. package/es/render/contributions/render/arc-render.js +7 -73
  1195. package/es/render/contributions/render/arc-render.js.map +1 -1
  1196. package/es/render/contributions/render/arc3d-render.js +4 -2
  1197. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  1198. package/es/render/contributions/render/area-render.d.ts +2 -2
  1199. package/es/render/contributions/render/area-render.js +8 -2
  1200. package/es/render/contributions/render/area-render.js.map +1 -1
  1201. package/es/render/contributions/render/base-render.js +1 -1
  1202. package/es/render/contributions/render/base-render.js.map +1 -1
  1203. package/es/render/contributions/render/circle-render.d.ts +1 -1
  1204. package/es/render/contributions/render/circle-render.js +4 -2
  1205. package/es/render/contributions/render/circle-render.js.map +1 -1
  1206. package/es/render/contributions/render/clear-screen.js.map +1 -1
  1207. package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -3
  1208. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  1209. package/es/render/contributions/render/contributions/area-contribution-render.js +2 -2
  1210. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  1211. package/es/render/contributions/render/contributions/base-contribution-render.js +1 -1
  1212. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  1213. package/es/render/contributions/render/contributions/circle-contribution-render.js +1 -1
  1214. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  1215. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  1216. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  1217. package/es/render/contributions/render/contributions/index.js.map +1 -1
  1218. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  1219. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  1220. package/es/render/contributions/render/contributions/rect-contribution-render.js +5 -3
  1221. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  1222. package/es/render/contributions/render/contributions/symbol-contribution-render.js +1 -1
  1223. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  1224. package/es/render/contributions/render/draw-contribution.d.ts +2 -2
  1225. package/es/render/contributions/render/draw-contribution.js +7 -3
  1226. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  1227. package/es/render/contributions/render/draw-interceptor.js +4 -2
  1228. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  1229. package/es/render/contributions/render/glyph-render.js +3 -1
  1230. package/es/render/contributions/render/glyph-render.js.map +1 -1
  1231. package/es/render/contributions/render/graphic-render.js.map +1 -1
  1232. package/es/render/contributions/render/group-render.d.ts +1 -1
  1233. package/es/render/contributions/render/group-render.js +7 -3
  1234. package/es/render/contributions/render/group-render.js.map +1 -1
  1235. package/es/render/contributions/render/image-render.d.ts +1 -1
  1236. package/es/render/contributions/render/image-render.js +4 -2
  1237. package/es/render/contributions/render/image-render.js.map +1 -1
  1238. package/es/render/contributions/render/incremental-area-render.js +4 -2
  1239. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  1240. package/es/render/contributions/render/incremental-draw-contribution.d.ts +2 -2
  1241. package/es/render/contributions/render/incremental-draw-contribution.js +5 -3
  1242. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  1243. package/es/render/contributions/render/incremental-line-render.js +4 -2
  1244. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  1245. package/es/render/contributions/render/index.d.ts +1 -0
  1246. package/es/render/contributions/render/index.js +2 -0
  1247. package/es/render/contributions/render/index.js.map +1 -1
  1248. package/es/render/contributions/render/line-render.d.ts +1 -2
  1249. package/es/render/contributions/render/line-render.js +7 -3
  1250. package/es/render/contributions/render/line-render.js.map +1 -1
  1251. package/es/render/contributions/render/module.js +1 -1
  1252. package/es/render/contributions/render/module.js.map +1 -1
  1253. package/es/render/contributions/render/path-render.d.ts +1 -1
  1254. package/es/render/contributions/render/path-render.js +7 -3
  1255. package/es/render/contributions/render/path-render.js.map +1 -1
  1256. package/es/render/contributions/render/polygon-render.d.ts +1 -1
  1257. package/es/render/contributions/render/polygon-render.js +4 -2
  1258. package/es/render/contributions/render/polygon-render.js.map +1 -1
  1259. package/es/render/contributions/render/pyramid3d-render.js +4 -2
  1260. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  1261. package/es/render/contributions/render/rect-render.d.ts +1 -1
  1262. package/es/render/contributions/render/rect-render.js +6 -2
  1263. package/es/render/contributions/render/rect-render.js.map +1 -1
  1264. package/es/render/contributions/render/rect3d-render.js +4 -2
  1265. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  1266. package/es/render/contributions/render/render-slector.js.map +1 -1
  1267. package/es/render/contributions/render/richtext-render.js +4 -2
  1268. package/es/render/contributions/render/richtext-render.js.map +1 -1
  1269. package/es/render/contributions/render/symbol-render.d.ts +1 -1
  1270. package/es/render/contributions/render/symbol-render.js +5 -3
  1271. package/es/render/contributions/render/symbol-render.js.map +1 -1
  1272. package/es/render/contributions/render/symbol.js.map +1 -1
  1273. package/es/render/contributions/render/text-render.js +4 -2
  1274. package/es/render/contributions/render/text-render.js.map +1 -1
  1275. package/es/render/contributions/render/utils.d.ts +11 -1
  1276. package/es/render/contributions/render/utils.js +72 -2
  1277. package/es/render/contributions/render/utils.js.map +1 -1
  1278. package/es/render/index.js.map +1 -1
  1279. package/es/render/render-modules.js.map +1 -1
  1280. package/es/render/render-service.js.map +1 -1
  1281. package/es/resource-loader/loader.js +8 -8
  1282. package/es/resource-loader/loader.js.map +1 -1
  1283. package/es/tapable/Hook.js.map +1 -1
  1284. package/es/tapable/SyncHook.js.map +1 -1
  1285. package/es/tapable/index.js.map +1 -1
  1286. package/es/tapable/interface.d.ts +1 -0
  1287. package/es/tapable/interface.js +3 -0
  1288. package/es/tapable/interface.js.map +1 -0
  1289. package/es/tsconfig.tsbuildinfo +1 -0
  1290. package/package.json +23 -5
  1291. package/cjs/common/bezier.js +0 -45
  1292. package/cjs/common/bezier.js.map +0 -1
  1293. package/cjs/common/curve/basis.js.map +0 -1
  1294. package/cjs/common/curve/common.d.ts +0 -3
  1295. package/cjs/common/curve/common.js.map +0 -1
  1296. package/cjs/common/curve/index.js.map +0 -1
  1297. package/cjs/common/curve/interface.js +0 -18
  1298. package/cjs/common/curve/interface.js.map +0 -1
  1299. package/cjs/common/curve/linear-closed.d.ts +0 -17
  1300. package/cjs/common/curve/linear-closed.js.map +0 -1
  1301. package/cjs/common/curve/linear.d.ts +0 -17
  1302. package/cjs/common/curve/linear.js.map +0 -1
  1303. package/cjs/common/curve/monotone.js.map +0 -1
  1304. package/cjs/common/curve/step.d.ts +0 -18
  1305. package/cjs/common/curve/step.js.map +0 -1
  1306. package/cjs/common/index.d.ts +0 -20
  1307. package/cjs/common/index.js +0 -30
  1308. package/cjs/common/index.js.map +0 -1
  1309. package/cjs/common/path.d.ts +0 -160
  1310. package/cjs/common/path.js.map +0 -1
  1311. package/es/common/bezier.js.map +0 -1
  1312. package/es/common/curve/basis.js.map +0 -1
  1313. package/es/common/curve/common.d.ts +0 -3
  1314. package/es/common/curve/common.js.map +0 -1
  1315. package/es/common/curve/index.js.map +0 -1
  1316. package/es/common/curve/interface.js +0 -6
  1317. package/es/common/curve/interface.js.map +0 -1
  1318. package/es/common/curve/linear-closed.d.ts +0 -17
  1319. package/es/common/curve/linear-closed.js.map +0 -1
  1320. package/es/common/curve/linear.d.ts +0 -17
  1321. package/es/common/curve/linear.js.map +0 -1
  1322. package/es/common/curve/monotone.js.map +0 -1
  1323. package/es/common/curve/step.d.ts +0 -18
  1324. package/es/common/curve/step.js.map +0 -1
  1325. package/es/common/index.d.ts +0 -20
  1326. package/es/common/index.js +0 -40
  1327. package/es/common/index.js.map +0 -1
  1328. package/es/common/path.d.ts +0 -160
  1329. package/es/common/path.js.map +0 -1
  1330. /package/cjs/common/{curve → segment}/common.js +0 -0
  1331. /package/es/common/{curve → segment}/common.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/extension/gesture.ts"],"names":[],"mappings":"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","file":"gesture.js","sourcesContent":["import { INode } from '../../interface/node-tree';\nimport { EventEmitter, IPointLike } from '@visactor/vutils';\nimport { clock } from '../util';\nimport { WILDCARD } from '../constant';\nimport type { FederatedPointerEvent } from '../federated-event';\nimport type { IEventTarget } from '../interface';\nimport { global } from '../../modules';\n\n/**\n * 代码参考 https://github.com/hammerjs/hammer.js\n * The MIT License (MIT)\n\n Copyright (C) 2011-2017 by Jorik Tangelder (Eight Media)\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nconst PRESS_TIME = 251;\nconst PRESS_THRESHOLD = 9;\nconst SWIPE_VELOCITY = 0.3;\nconst SWIPE_THRESHOLD = 10;\n\nconst calcDirection = (start: IPointLike, end: IPointLike) => {\n const xDistance = end.x - start.x;\n const yDistance = end.y - start.y;\n if (Math.abs(xDistance) > Math.abs(yDistance)) {\n return xDistance > 0 ? 'right' : 'left';\n }\n return yDistance > 0 ? 'down' : 'up';\n};\n\n// 计算2点之间的距离\nconst calcDistance = (point1: IPointLike, point2: IPointLike) => {\n const xDistance = Math.abs(point2.x - point1.x);\n const yDistance = Math.abs(point2.y - point1.y);\n return Math.sqrt(xDistance * xDistance + yDistance * yDistance);\n};\n\nconst getCenter = (points: IPointLike[]) => {\n const pointersLength = points.length;\n\n if (pointersLength === 1) {\n return {\n x: Math.round(points[0].x),\n y: Math.round(points[0].y)\n };\n }\n\n let x = 0;\n let y = 0;\n let i = 0;\n while (i < pointersLength) {\n x += points[i].x;\n y += points[i].y;\n i++;\n }\n\n return {\n x: Math.round(x / pointersLength),\n y: Math.round(y / pointersLength)\n };\n};\n\ntype Direction = 'none' | 'left' | 'right' | 'down' | 'up';\n\nexport interface GestureEvent extends FederatedPointerEvent {\n points: IPointLike[];\n direction: Direction;\n deltaX: number;\n deltaY: number;\n scale: number;\n center: IPointLike;\n velocity: number;\n}\n\nexport interface GestureConfig {\n press?: {\n /**\n * @default 251\n * Minimal press time in ms.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n time?: number;\n /**\n * @default 10\n * Minimal movement that is allowed while pressing.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n threshold?: number;\n };\n swipe?: {\n /**\n * Minimal distance required before recognizing.\n * @default 10\n * @see https://hammerjs.github.io/recognizer-swipe/\n */\n threshold?: number;\n /**\n * Minimal velocity required before recognizing, unit is in px per ms.\n * @default 0.3\n * @see http://hammerjs.github.io/recognizer-swipe/\n */\n velocity?: number;\n };\n}\n\ninterface DefaultGestureConfig {\n press: {\n time: number;\n threshold: number;\n };\n swipe: {\n threshold: number;\n velocity: number;\n };\n}\n\ninterface EmitEventObject {\n type: string;\n ev: GestureEvent;\n}\n\nexport class Gesture extends EventEmitter {\n element: INode | null;\n\n private cachedEvents: FederatedPointerEvent[] = [];\n private startTime: number;\n // @ts-ignore\n // eslint-disable-next-line no-undef\n private pressTimeout: NodeJS.Timeout | null;\n private startPoints: IPointLike[] = [];\n // 用来记录当前触发的事件\n private processEvent: Record<string, boolean> = {};\n private startDistance: number;\n private center: IPointLike;\n private eventType: string | null;\n private direction: Direction | null;\n\n private lastMoveTime: number;\n private prevMoveTime: number;\n\n private prevMovePoint: IPointLike | null;\n private lastMovePoint: IPointLike | null;\n\n private throttleTimer: number = 0;\n private emitThrottles: EmitEventObject[] = [];\n\n private config: DefaultGestureConfig;\n\n constructor(element: IEventTarget, config: GestureConfig = {}) {\n super();\n this.element = element;\n this.config = {\n press: {\n time: config?.press?.time ?? PRESS_TIME,\n threshold: config?.press?.threshold ?? PRESS_THRESHOLD\n },\n swipe: {\n threshold: config?.swipe?.threshold ?? SWIPE_THRESHOLD,\n velocity: config?.swipe?.velocity ?? SWIPE_VELOCITY\n }\n };\n this.initEvents();\n }\n\n initEvents() {\n const { element } = this;\n if (!element) {\n return;\n }\n\n element.addEventListener('pointerdown', this.onStart);\n element.addEventListener('pointermove', this.onMove);\n element.addEventListener('pointerup', this.onEnd);\n element.addEventListener('pointerupoutside', this.onEnd);\n }\n\n removeEvents() {\n const { element } = this;\n if (!element) {\n return;\n }\n element.removeEventListener('pointerdown', this.onStart);\n element.removeEventListener('pointermove', this.onMove);\n element.removeEventListener('pointerup', this.onEnd);\n element.removeEventListener('pointerupoutside', this.onEnd);\n }\n\n release() {\n this.removeEvents();\n this.element = null;\n }\n\n private onStart = (ev?: FederatedPointerEvent) => {\n this.reset();\n\n this.startTime = clock.now();\n\n const { cachedEvents, startPoints } = this;\n\n if (ev) {\n cachedEvents.push(ev.clone());\n }\n // 重置 startPoints\n startPoints.length = cachedEvents.length;\n for (let i = 0; i < cachedEvents.length; i++) {\n const { x, y } = cachedEvents[i];\n const point = { x, y };\n startPoints[i] = point;\n }\n\n if (startPoints.length === 1) {\n const event = cachedEvents[0] as GestureEvent;\n this.pressTimeout = setTimeout(() => {\n const eventType = 'press';\n const direction = 'none';\n event.direction = direction;\n event.deltaX = 0;\n event.deltaY = 0;\n event.points = startPoints;\n this.triggerStartEvent(eventType, event);\n this.triggerEvent(eventType, event);\n this.eventType = eventType;\n this.direction = direction;\n }, this.config.press.time);\n return;\n }\n\n this.startDistance = calcDistance(startPoints[0], startPoints[1]);\n this.center = getCenter([startPoints[0], startPoints[1]]);\n };\n\n private onMove = (ev: FederatedPointerEvent) => {\n this.clearPressTimeout();\n const { startPoints, cachedEvents } = this;\n if (!startPoints.length) {\n return;\n }\n\n const moveEvent = ev.clone() as GestureEvent;\n const { x, y, pointerId } = moveEvent;\n for (let i = 0, len = cachedEvents.length; i < len; i++) {\n if (pointerId === cachedEvents[i].pointerId) {\n cachedEvents[i] = moveEvent;\n break;\n }\n }\n const point = { x, y };\n const points = cachedEvents.map(cachedEvent => ({ x: cachedEvent.x, y: cachedEvent.y }));\n\n const now = clock.now();\n this.prevMoveTime = this.lastMoveTime;\n this.prevMovePoint = this.lastMovePoint;\n this.lastMoveTime = now;\n this.lastMovePoint = point;\n\n if (startPoints.length === 1) {\n const startPoint = startPoints[0];\n const deltaX = x - startPoint.x;\n const deltaY = y - startPoint.y;\n const direction = this.direction || calcDirection(startPoint, point);\n this.direction = direction;\n\n const eventType = this.getEventType(point);\n moveEvent.direction = direction;\n moveEvent.deltaX = deltaX;\n moveEvent.deltaY = deltaY;\n moveEvent.points = points;\n this.triggerStartEvent(eventType, moveEvent);\n this.triggerEvent(eventType, moveEvent);\n return;\n }\n\n const { startDistance } = this;\n const currentDistance = calcDistance(points[0], points[1]);\n\n // 缩放比例\n moveEvent.scale = currentDistance / startDistance;\n moveEvent.center = this.center;\n moveEvent.points = points;\n this.triggerStartEvent('pinch', moveEvent);\n this.triggerEvent('pinch', moveEvent);\n };\n\n private onEnd = (ev: FederatedPointerEvent) => {\n const endEvent = ev.clone() as GestureEvent;\n const { cachedEvents, startPoints } = this;\n const points = cachedEvents.map(ev => {\n return { x: ev.x, y: ev.y };\n });\n endEvent.points = points;\n this.triggerEndEvent(endEvent);\n\n if (cachedEvents.length === 1) {\n const now = clock.now();\n const lastMoveTime = this.lastMoveTime;\n // 做这个判断是为了最后一次touchmove后到end前,是否还有一个停顿的过程\n // 100 是拍的一个值,理论这个值会很短,一般不卡顿的话在10ms以内\n if (now - lastMoveTime < 100) {\n const prevMoveTime = this.prevMoveTime || this.startTime;\n const intervalTime = lastMoveTime - prevMoveTime;\n // 时间间隔一定要大于0, 否则计算没意义\n if (intervalTime > 0) {\n const prevMovePoint = this.prevMovePoint || startPoints[0];\n const lastMovePoint = this.lastMovePoint || startPoints[0];\n const distance = calcDistance(prevMovePoint, lastMovePoint);\n // move速率\n const velocity = distance / intervalTime;\n // 0.3 是参考hammerjs的设置\n if (velocity > this.config.swipe.velocity && distance > this.config.swipe.threshold) {\n endEvent.velocity = velocity;\n endEvent.direction = calcDirection(prevMovePoint, lastMovePoint);\n this.triggerEvent('swipe', endEvent);\n }\n }\n }\n }\n\n for (let i = 0, len = cachedEvents.length; i < len; i++) {\n if (cachedEvents[i].pointerId === endEvent.pointerId) {\n cachedEvents.splice(i, 1);\n startPoints.splice(i, 1);\n break;\n }\n }\n\n this.reset();\n\n // 多指离开 1 指后,重新触发一次start\n if (cachedEvents.length > 0) {\n this.onStart();\n }\n };\n\n private getEventType(point: IPointLike) {\n const { eventType, startTime, startPoints } = this;\n if (eventType) {\n return eventType;\n }\n let type;\n const now = clock.now();\n if (now - startTime > this.config.press.time && calcDistance(startPoints[0], point) < this.config.press.threshold) {\n type = 'press';\n } else {\n type = 'pan';\n }\n this.eventType = type;\n return type;\n }\n\n private enable(eventType: string) {\n this.processEvent[eventType] = true;\n }\n\n // 是否进行中的事件\n private isProcess(eventType: string) {\n return this.processEvent[eventType];\n }\n\n private pushEvent(type: string, ev: GestureEvent) {\n const { emitThrottles } = this;\n const newEvent = { type, ev };\n for (let i = 0, len = emitThrottles.length; i < len; i++) {\n if (emitThrottles[i].type === type) {\n emitThrottles.splice(i, 1, newEvent);\n return;\n }\n }\n emitThrottles.push(newEvent);\n }\n\n private clearPressTimeout() {\n if (this.pressTimeout) {\n clearTimeout(this.pressTimeout);\n this.pressTimeout = null;\n }\n }\n\n private reset() {\n this.clearPressTimeout();\n this.startTime = 0;\n this.startDistance = 0;\n this.direction = null;\n this.eventType = null;\n this.prevMoveTime = 0;\n this.prevMovePoint = null;\n this.lastMoveTime = 0;\n this.lastMovePoint = null;\n }\n\n private triggerEvent(type: string, ev: GestureEvent) {\n // 主要是节流处理\n this.pushEvent(type, ev);\n const { throttleTimer, emitThrottles } = this;\n if (throttleTimer) {\n return;\n }\n\n this.throttleTimer = global.getRequestAnimationFrame()(() => {\n for (let i = 0, len = emitThrottles.length; i < len; i++) {\n const { type, ev } = emitThrottles[i];\n this.emitEvent(type, ev);\n }\n // 清空\n this.throttleTimer = 0;\n this.emitThrottles.length = 0;\n });\n }\n\n // 触发start事件\n private triggerStartEvent(type: string, ev: GestureEvent) {\n if (this.isProcess(type)) {\n return;\n }\n this.enable(type);\n this.triggerEvent(`${type}start`, ev);\n }\n\n private triggerEndEvent(ev: GestureEvent) {\n const processEvent = this.processEvent;\n Object.keys(processEvent).forEach(type => {\n this.triggerEvent(`${type}end`, ev);\n if (type === 'press') {\n // pressend 别名,pressup\n this.triggerEvent(`${type}up`, ev);\n }\n delete processEvent[type];\n });\n }\n\n private emitEvent(type: string, e: GestureEvent) {\n const events = (this.element as unknown as any)._events;\n const listeners = events[WILDCARD];\n if (listeners) {\n if ('fn' in listeners) {\n listeners.fn.call(listeners.context, e, type);\n } else {\n for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) {\n listeners[i].fn.call(listeners[i].context, e, type);\n }\n }\n }\n\n this.emit(type, e);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/extension/gesture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA2BhD,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,GAAe,EAAE,EAAE;IAC3D,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC7C,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;KACzC;IACD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC,CAAC;AAGF,MAAM,YAAY,GAAG,CAAC,MAAkB,EAAE,MAAkB,EAAE,EAAE;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAoB,EAAE,EAAE;IACzC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAErC,IAAI,cAAc,KAAK,CAAC,EAAE;QACxB,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,CAAC;KACH;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,cAAc,EAAE;QACzB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,EAAE,CAAC;KACL;IAED,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC;QACjC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC;AA6DF,MAAM,OAAO,OAAQ,SAAQ,YAAY;IA2BvC,YAAY,OAAqB,EAAE,SAAwB,EAAE;;QAC3D,KAAK,EAAE,CAAC;QAzBF,iBAAY,GAA4B,EAAE,CAAC;QAK3C,gBAAW,GAAiB,EAAE,CAAC;QAE/B,iBAAY,GAA4B,EAAE,CAAC;QAY3C,kBAAa,GAAW,CAAC,CAAC;QAC1B,kBAAa,GAAsB,EAAE,CAAC;QAgDtC,YAAO,GAAG,CAAC,EAA0B,EAAE,EAAE;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAE7B,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAE3C,IAAI,EAAE,EAAE;gBACN,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;aAC/B;YAED,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACxB;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAiB,CAAC;gBAC9C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;oBAClC,MAAM,SAAS,GAAG,OAAO,CAAC;oBAC1B,MAAM,SAAS,GAAG,MAAM,CAAC;oBACzB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC5B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACzC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC7B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO;aACR;YAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEM,WAAM,GAAG,CAAC,EAAyB,EAAE,EAAE;YAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;gBACvB,OAAO;aACR;YAED,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,EAAkB,CAAC;YAC7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACvD,IAAI,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;oBAC3C,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;oBAC5B,MAAM;iBACP;aACF;YACD,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzF,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC3C,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;gBAChC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACxC,OAAO;aACR;YAED,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;YAC/B,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAG3D,SAAS,CAAC,KAAK,GAAG,eAAe,GAAG,aAAa,CAAC;YAClD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC;QAEM,UAAK,GAAG,CAAC,EAAyB,EAAE,EAAE;YAC5C,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAkB,CAAC;YAC5C,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE/B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBAGvC,IAAI,GAAG,GAAG,YAAY,GAAG,GAAG,EAAE;oBAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC;oBACzD,MAAM,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;oBAEjD,IAAI,YAAY,GAAG,CAAC,EAAE;wBACpB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;wBAE5D,MAAM,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;wBAEzC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;4BACnF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BAC7B,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;4BACjE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;yBACtC;qBACF;iBACF;aACF;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACvD,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE;oBACpD,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1B,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzB,MAAM;iBACP;aACF;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;YAGb,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;QACH,CAAC,CAAC;QArLA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE;gBACL,IAAI,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI,mCAAI,UAAU;gBACvC,SAAS,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,SAAS,mCAAI,eAAe;aACvD;YACD,KAAK,EAAE;gBACL,SAAS,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,SAAS,mCAAI,eAAe;gBACtD,QAAQ,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,QAAQ,mCAAI,cAAc;aACpD;SACF,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,UAAU;QACR,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;QACV,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IA+IO,YAAY,CAAC,KAAiB;QACpC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACnD,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YACjH,IAAI,GAAG,OAAO,CAAC;SAChB;aAAM;YACL,IAAI,GAAG,KAAK,CAAC;SACd;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,SAAiB;QAC9B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAGO,SAAS,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,EAAgB;QAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBAClC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACrC,OAAO;aACR;SACF;QACD,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IACH,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,EAAgB;QAEjD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC9C,IAAI,aAAa,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE;YACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACxD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aAC1B;YAED,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAGO,iBAAiB,CAAC,IAAY,EAAE,EAAgB;QACtD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAEO,eAAe,CAAC,EAAgB;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,OAAO,EAAE;gBAEpB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;aACpC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,CAAe;QAC7C,MAAM,MAAM,GAAI,IAAI,CAAC,OAA0B,CAAC,OAAO,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,SAAS,EAAE;YACb,IAAI,IAAI,IAAI,SAAS,EAAE;gBACrB,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;aAC/C;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE;oBACpF,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;iBACrD;aACF;SACF;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF","file":"gesture.js","sourcesContent":["import { INode } from '../../interface/node-tree';\nimport { EventEmitter, IPointLike } from '@visactor/vutils';\nimport { clock } from '../util';\nimport { WILDCARD } from '../constant';\nimport type { FederatedPointerEvent } from '../federated-event';\nimport type { IEventTarget } from '../interface';\nimport { application } from '../../application';\n\n/**\n * 代码参考 https://github.com/hammerjs/hammer.js\n * The MIT License (MIT)\n\n Copyright (C) 2011-2017 by Jorik Tangelder (Eight Media)\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nconst PRESS_TIME = 251;\nconst PRESS_THRESHOLD = 9;\nconst SWIPE_VELOCITY = 0.3;\nconst SWIPE_THRESHOLD = 10;\n\nconst calcDirection = (start: IPointLike, end: IPointLike) => {\n const xDistance = end.x - start.x;\n const yDistance = end.y - start.y;\n if (Math.abs(xDistance) > Math.abs(yDistance)) {\n return xDistance > 0 ? 'right' : 'left';\n }\n return yDistance > 0 ? 'down' : 'up';\n};\n\n// 计算2点之间的距离\nconst calcDistance = (point1: IPointLike, point2: IPointLike) => {\n const xDistance = Math.abs(point2.x - point1.x);\n const yDistance = Math.abs(point2.y - point1.y);\n return Math.sqrt(xDistance * xDistance + yDistance * yDistance);\n};\n\nconst getCenter = (points: IPointLike[]) => {\n const pointersLength = points.length;\n\n if (pointersLength === 1) {\n return {\n x: Math.round(points[0].x),\n y: Math.round(points[0].y)\n };\n }\n\n let x = 0;\n let y = 0;\n let i = 0;\n while (i < pointersLength) {\n x += points[i].x;\n y += points[i].y;\n i++;\n }\n\n return {\n x: Math.round(x / pointersLength),\n y: Math.round(y / pointersLength)\n };\n};\n\ntype Direction = 'none' | 'left' | 'right' | 'down' | 'up';\n\nexport interface GestureEvent extends FederatedPointerEvent {\n points: IPointLike[];\n direction: Direction;\n deltaX: number;\n deltaY: number;\n scale: number;\n center: IPointLike;\n velocity: number;\n}\n\nexport interface GestureConfig {\n press?: {\n /**\n * @default 251\n * Minimal press time in ms.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n time?: number;\n /**\n * @default 10\n * Minimal movement that is allowed while pressing.\n * @see http://hammerjs.github.io/recognizer-press/\n */\n threshold?: number;\n };\n swipe?: {\n /**\n * Minimal distance required before recognizing.\n * @default 10\n * @see https://hammerjs.github.io/recognizer-swipe/\n */\n threshold?: number;\n /**\n * Minimal velocity required before recognizing, unit is in px per ms.\n * @default 0.3\n * @see http://hammerjs.github.io/recognizer-swipe/\n */\n velocity?: number;\n };\n}\n\ninterface DefaultGestureConfig {\n press: {\n time: number;\n threshold: number;\n };\n swipe: {\n threshold: number;\n velocity: number;\n };\n}\n\ninterface EmitEventObject {\n type: string;\n ev: GestureEvent;\n}\n\nexport class Gesture extends EventEmitter {\n element: INode | null;\n\n private cachedEvents: FederatedPointerEvent[] = [];\n private startTime: number;\n // @ts-ignore\n // eslint-disable-next-line no-undef\n private pressTimeout: NodeJS.Timeout | null;\n private startPoints: IPointLike[] = [];\n // 用来记录当前触发的事件\n private processEvent: Record<string, boolean> = {};\n private startDistance: number;\n private center: IPointLike;\n private eventType: string | null;\n private direction: Direction | null;\n\n private lastMoveTime: number;\n private prevMoveTime: number;\n\n private prevMovePoint: IPointLike | null;\n private lastMovePoint: IPointLike | null;\n\n private throttleTimer: number = 0;\n private emitThrottles: EmitEventObject[] = [];\n\n private config: DefaultGestureConfig;\n\n constructor(element: IEventTarget, config: GestureConfig = {}) {\n super();\n this.element = element;\n this.config = {\n press: {\n time: config?.press?.time ?? PRESS_TIME,\n threshold: config?.press?.threshold ?? PRESS_THRESHOLD\n },\n swipe: {\n threshold: config?.swipe?.threshold ?? SWIPE_THRESHOLD,\n velocity: config?.swipe?.velocity ?? SWIPE_VELOCITY\n }\n };\n this.initEvents();\n }\n\n initEvents() {\n const { element } = this;\n if (!element) {\n return;\n }\n\n element.addEventListener('pointerdown', this.onStart);\n element.addEventListener('pointermove', this.onMove);\n element.addEventListener('pointerup', this.onEnd);\n element.addEventListener('pointerupoutside', this.onEnd);\n }\n\n removeEvents() {\n const { element } = this;\n if (!element) {\n return;\n }\n element.removeEventListener('pointerdown', this.onStart);\n element.removeEventListener('pointermove', this.onMove);\n element.removeEventListener('pointerup', this.onEnd);\n element.removeEventListener('pointerupoutside', this.onEnd);\n }\n\n release() {\n this.removeEvents();\n this.element = null;\n }\n\n private onStart = (ev?: FederatedPointerEvent) => {\n this.reset();\n\n this.startTime = clock.now();\n\n const { cachedEvents, startPoints } = this;\n\n if (ev) {\n cachedEvents.push(ev.clone());\n }\n // 重置 startPoints\n startPoints.length = cachedEvents.length;\n for (let i = 0; i < cachedEvents.length; i++) {\n const { x, y } = cachedEvents[i];\n const point = { x, y };\n startPoints[i] = point;\n }\n\n if (startPoints.length === 1) {\n const event = cachedEvents[0] as GestureEvent;\n this.pressTimeout = setTimeout(() => {\n const eventType = 'press';\n const direction = 'none';\n event.direction = direction;\n event.deltaX = 0;\n event.deltaY = 0;\n event.points = startPoints;\n this.triggerStartEvent(eventType, event);\n this.triggerEvent(eventType, event);\n this.eventType = eventType;\n this.direction = direction;\n }, this.config.press.time);\n return;\n }\n\n this.startDistance = calcDistance(startPoints[0], startPoints[1]);\n this.center = getCenter([startPoints[0], startPoints[1]]);\n };\n\n private onMove = (ev: FederatedPointerEvent) => {\n this.clearPressTimeout();\n const { startPoints, cachedEvents } = this;\n if (!startPoints.length) {\n return;\n }\n\n const moveEvent = ev.clone() as GestureEvent;\n const { x, y, pointerId } = moveEvent;\n for (let i = 0, len = cachedEvents.length; i < len; i++) {\n if (pointerId === cachedEvents[i].pointerId) {\n cachedEvents[i] = moveEvent;\n break;\n }\n }\n const point = { x, y };\n const points = cachedEvents.map(cachedEvent => ({ x: cachedEvent.x, y: cachedEvent.y }));\n\n const now = clock.now();\n this.prevMoveTime = this.lastMoveTime;\n this.prevMovePoint = this.lastMovePoint;\n this.lastMoveTime = now;\n this.lastMovePoint = point;\n\n if (startPoints.length === 1) {\n const startPoint = startPoints[0];\n const deltaX = x - startPoint.x;\n const deltaY = y - startPoint.y;\n const direction = this.direction || calcDirection(startPoint, point);\n this.direction = direction;\n\n const eventType = this.getEventType(point);\n moveEvent.direction = direction;\n moveEvent.deltaX = deltaX;\n moveEvent.deltaY = deltaY;\n moveEvent.points = points;\n this.triggerStartEvent(eventType, moveEvent);\n this.triggerEvent(eventType, moveEvent);\n return;\n }\n\n const { startDistance } = this;\n const currentDistance = calcDistance(points[0], points[1]);\n\n // 缩放比例\n moveEvent.scale = currentDistance / startDistance;\n moveEvent.center = this.center;\n moveEvent.points = points;\n this.triggerStartEvent('pinch', moveEvent);\n this.triggerEvent('pinch', moveEvent);\n };\n\n private onEnd = (ev: FederatedPointerEvent) => {\n const endEvent = ev.clone() as GestureEvent;\n const { cachedEvents, startPoints } = this;\n const points = cachedEvents.map(ev => {\n return { x: ev.x, y: ev.y };\n });\n endEvent.points = points;\n this.triggerEndEvent(endEvent);\n\n if (cachedEvents.length === 1) {\n const now = clock.now();\n const lastMoveTime = this.lastMoveTime;\n // 做这个判断是为了最后一次touchmove后到end前,是否还有一个停顿的过程\n // 100 是拍的一个值,理论这个值会很短,一般不卡顿的话在10ms以内\n if (now - lastMoveTime < 100) {\n const prevMoveTime = this.prevMoveTime || this.startTime;\n const intervalTime = lastMoveTime - prevMoveTime;\n // 时间间隔一定要大于0, 否则计算没意义\n if (intervalTime > 0) {\n const prevMovePoint = this.prevMovePoint || startPoints[0];\n const lastMovePoint = this.lastMovePoint || startPoints[0];\n const distance = calcDistance(prevMovePoint, lastMovePoint);\n // move速率\n const velocity = distance / intervalTime;\n // 0.3 是参考hammerjs的设置\n if (velocity > this.config.swipe.velocity && distance > this.config.swipe.threshold) {\n endEvent.velocity = velocity;\n endEvent.direction = calcDirection(prevMovePoint, lastMovePoint);\n this.triggerEvent('swipe', endEvent);\n }\n }\n }\n }\n\n for (let i = 0, len = cachedEvents.length; i < len; i++) {\n if (cachedEvents[i].pointerId === endEvent.pointerId) {\n cachedEvents.splice(i, 1);\n startPoints.splice(i, 1);\n break;\n }\n }\n\n this.reset();\n\n // 多指离开 1 指后,重新触发一次start\n if (cachedEvents.length > 0) {\n this.onStart();\n }\n };\n\n private getEventType(point: IPointLike) {\n const { eventType, startTime, startPoints } = this;\n if (eventType) {\n return eventType;\n }\n let type;\n const now = clock.now();\n if (now - startTime > this.config.press.time && calcDistance(startPoints[0], point) < this.config.press.threshold) {\n type = 'press';\n } else {\n type = 'pan';\n }\n this.eventType = type;\n return type;\n }\n\n private enable(eventType: string) {\n this.processEvent[eventType] = true;\n }\n\n // 是否进行中的事件\n private isProcess(eventType: string) {\n return this.processEvent[eventType];\n }\n\n private pushEvent(type: string, ev: GestureEvent) {\n const { emitThrottles } = this;\n const newEvent = { type, ev };\n for (let i = 0, len = emitThrottles.length; i < len; i++) {\n if (emitThrottles[i].type === type) {\n emitThrottles.splice(i, 1, newEvent);\n return;\n }\n }\n emitThrottles.push(newEvent);\n }\n\n private clearPressTimeout() {\n if (this.pressTimeout) {\n clearTimeout(this.pressTimeout);\n this.pressTimeout = null;\n }\n }\n\n private reset() {\n this.clearPressTimeout();\n this.startTime = 0;\n this.startDistance = 0;\n this.direction = null;\n this.eventType = null;\n this.prevMoveTime = 0;\n this.prevMovePoint = null;\n this.lastMoveTime = 0;\n this.lastMovePoint = null;\n }\n\n private triggerEvent(type: string, ev: GestureEvent) {\n // 主要是节流处理\n this.pushEvent(type, ev);\n const { throttleTimer, emitThrottles } = this;\n if (throttleTimer) {\n return;\n }\n\n this.throttleTimer = application.global.getRequestAnimationFrame()(() => {\n for (let i = 0, len = emitThrottles.length; i < len; i++) {\n const { type, ev } = emitThrottles[i];\n this.emitEvent(type, ev);\n }\n // 清空\n this.throttleTimer = 0;\n this.emitThrottles.length = 0;\n });\n }\n\n // 触发start事件\n private triggerStartEvent(type: string, ev: GestureEvent) {\n if (this.isProcess(type)) {\n return;\n }\n this.enable(type);\n this.triggerEvent(`${type}start`, ev);\n }\n\n private triggerEndEvent(ev: GestureEvent) {\n const processEvent = this.processEvent;\n Object.keys(processEvent).forEach(type => {\n this.triggerEvent(`${type}end`, ev);\n if (type === 'press') {\n // pressend 别名,pressup\n this.triggerEvent(`${type}up`, ev);\n }\n delete processEvent[type];\n });\n }\n\n private emitEvent(type: string, e: GestureEvent) {\n const events = (this.element as unknown as any)._events;\n const listeners = events[WILDCARD];\n if (listeners) {\n if ('fn' in listeners) {\n listeners.fn.call(listeners.context, e, type);\n } else {\n for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) {\n listeners[i].fn.call(listeners[i].context, e, type);\n }\n }\n }\n\n this.emit(type, e);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/extension/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC","file":"index.js","sourcesContent":["/**\n * @todo 需要考虑的事项\n * 1. 扩展机制的设计\n * 2. 每个扩展事件的配置,drag 配置,参照 g-plugin-dragndrop\n */\n\nimport { DragNDrop } from './drag';\nimport { Gesture } from './gesture';\n\nexport { DragNDrop, Gesture };\n"]}
1
+ {"version":3,"sources":["../../src/event/extension/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC","file":"index.js","sourcesContent":["/**\n * @todo 需要考虑的事项\n * 1. 扩展机制的设计\n * 2. 每个扩展事件的配置,drag 配置,参照 g-plugin-dragndrop\n */\n\nimport { DragNDrop } from './drag';\nimport { Gesture } from './gesture';\n\nexport { DragNDrop, Gesture };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/federated-event/base-event.ts"],"names":[],"mappings":"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","file":"base-event.js","sourcesContent":["import { Point } from '@visactor/vutils';\nimport { IEventTarget } from '../interface';\nimport type { EventManager } from '../event-manager';\n\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n/**\n * An DOM-compatible synthetic event implementation that is \"forwarded\" on behalf of an original\n * FederatedEvent or native {@link https://dom.spec.whatwg.org/#event Event}.\n */\nexport class FederatedEvent<N extends Event = Event> implements Event {\n /** Flags whether this event bubbles. This will take effect only if it is set before propagation. */\n bubbles = true;\n\n cancelBubble = true;\n\n /**\n * Flags whether this event can be canceled using `FederatedEvent.preventDefault`. This is always\n * false (for now).\n */\n readonly cancelable = false;\n\n /**\n * Flag added for compatibility with DOM Event. It is not used in the Federated Events\n * API.\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n readonly composed = false;\n\n /** The listeners of the event target that are being notified. */\n currentTarget: IEventTarget | null;\n\n /** Flags whether the default response of the user agent was prevent through this event. */\n defaultPrevented = false;\n\n /**\n * The propagation phase.\n */\n eventPhase = FederatedEvent.prototype.NONE;\n\n /** Flags whether this is a user-trusted event */\n isTrusted: boolean;\n\n returnValue: boolean;\n srcElement: IEventTarget;\n\n /** The event target that this will be dispatched to. */\n target: IEventTarget | null;\n\n /** The timestamp of when the event was created. */\n timeStamp: number;\n\n /** The type of event, e.g. `pointerup`, `mousedown`. */\n type: string;\n\n /** The native event that caused the foremost original event. */\n nativeEvent: N;\n\n /** The original event that caused this event, if any. */\n originalEvent: FederatedEvent<N> | null;\n\n /** Flags whether propagation was stopped. */\n propagationStopped = false;\n\n /** Flags whether propagation was immediately stopped. */\n propagationImmediatelyStopped = false;\n\n /** The composed path of the event's propagation. */\n path: IEventTarget[];\n\n /** The EventManager that manages this event. Null for root events. */\n readonly manager?: EventManager;\n\n /** Event-specific detail */\n detail: any;\n\n /** The global Window object. */\n view: any;\n\n /** The coordinates of the event relative to the nearest DOM layer. This is a non-standard property. */\n layer: Point = new Point();\n get layerX(): number {\n return this.layer.x;\n }\n get layerY(): number {\n return this.layer.y;\n }\n\n /** The coordinates of the event relative to the DOM document. This is a non-standard property. */\n page: Point = new Point();\n get pageX(): number {\n return this.page.x;\n }\n get pageY(): number {\n return this.page.y;\n }\n\n /** The coordinates of the event relative to the canvas(origin is left-top). This is a non-standard property. */\n canvas: Point = new Point();\n get x(): number {\n return this.canvas.x;\n }\n get y(): number {\n return this.canvas.y;\n }\n get canvasX(): number {\n return this.canvas.x;\n }\n get canvasY(): number {\n return this.canvas.y;\n }\n\n /**\n * The coordinates of the event relative to the Viewport\n */\n viewport: Point = new Point();\n get viewX(): number {\n return this.viewport.x;\n }\n get viewY(): number {\n return this.viewport.y;\n }\n\n /**\n * @param ? - Which manages this event. Propagation can only occur\n * within the ?'s jurisdiction.\n */\n constructor(manager?: EventManager) {\n this.manager = manager;\n }\n\n /** The propagation path for this event.*/\n composedPath(): IEventTarget[] {\n // Find the propagation path if it isn't cached or if the target has changed since the last evaluation.\n if (this.manager && (!this.path || this.path[this.path.length - 1] !== this.target)) {\n this.path = this.target ? this.manager.propagationPath(this.target) : [];\n }\n\n return this.path;\n }\n\n preventDefault(): void {\n if (this.nativeEvent instanceof Event && this.nativeEvent.cancelable) {\n this.nativeEvent.preventDefault();\n }\n\n this.defaultPrevented = true;\n }\n\n stopImmediatePropagation(): void {\n this.propagationImmediatelyStopped = true;\n }\n\n stopPropagation(): void {\n this.propagationStopped = true;\n }\n\n initEvent(): void {\n return;\n }\n initUIEvent(): void {\n return;\n }\n\n clone() {\n throw new Error('Method not implemented.');\n }\n\n which: number;\n readonly NONE = 0;\n readonly CAPTURING_PHASE = 1;\n readonly AT_TARGET = 2;\n readonly BUBBLING_PHASE = 3;\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/federated-event/base-event.ts"],"names":[],"mappings":"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","file":"base-event.js","sourcesContent":["import { Point } from '@visactor/vutils';\nimport { IEventTarget } from '../interface';\nimport type { EventManager } from '../event-manager';\n\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n/**\n * An DOM-compatible synthetic event implementation that is \"forwarded\" on behalf of an original\n * FederatedEvent or native {@link https://dom.spec.whatwg.org/#event Event}.\n */\nexport class FederatedEvent<N extends Event = Event> implements Event {\n /** Flags whether this event bubbles. This will take effect only if it is set before propagation. */\n bubbles = true;\n\n cancelBubble = true;\n\n /**\n * Flags whether this event can be canceled using `FederatedEvent.preventDefault`. This is always\n * false (for now).\n */\n readonly cancelable = false;\n\n /**\n * Flag added for compatibility with DOM Event. It is not used in the Federated Events\n * API.\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n readonly composed = false;\n\n /** The listeners of the event target that are being notified. */\n currentTarget: IEventTarget | null;\n\n /** Flags whether the default response of the user agent was prevent through this event. */\n defaultPrevented = false;\n\n /**\n * The propagation phase.\n */\n eventPhase = FederatedEvent.prototype.NONE;\n\n /** Flags whether this is a user-trusted event */\n isTrusted: boolean;\n\n returnValue: boolean;\n srcElement: IEventTarget;\n\n /** The event target that this will be dispatched to. */\n target: IEventTarget | null;\n\n /** The timestamp of when the event was created. */\n timeStamp: number;\n\n /** The type of event, e.g. `pointerup`, `mousedown`. */\n type: string;\n\n /** The native event that caused the foremost original event. */\n nativeEvent: N;\n\n /** The original event that caused this event, if any. */\n originalEvent: FederatedEvent<N> | null;\n\n /** Flags whether propagation was stopped. */\n propagationStopped = false;\n\n /** Flags whether propagation was immediately stopped. */\n propagationImmediatelyStopped = false;\n\n /** The composed path of the event's propagation. */\n path: IEventTarget[];\n\n /** The EventManager that manages this event. Null for root events. */\n readonly manager?: EventManager;\n\n /** Event-specific detail */\n detail: any;\n\n /** The global Window object. */\n view: any;\n\n /** The coordinates of the event relative to the nearest DOM layer. This is a non-standard property. */\n layer: Point = new Point();\n get layerX(): number {\n return this.layer.x;\n }\n get layerY(): number {\n return this.layer.y;\n }\n\n /** The coordinates of the event relative to the DOM document. This is a non-standard property. */\n page: Point = new Point();\n get pageX(): number {\n return this.page.x;\n }\n get pageY(): number {\n return this.page.y;\n }\n\n /** The coordinates of the event relative to the canvas(origin is left-top). This is a non-standard property. */\n canvas: Point = new Point();\n get x(): number {\n return this.canvas.x;\n }\n get y(): number {\n return this.canvas.y;\n }\n get canvasX(): number {\n return this.canvas.x;\n }\n get canvasY(): number {\n return this.canvas.y;\n }\n\n /**\n * The coordinates of the event relative to the Viewport\n */\n viewport: Point = new Point();\n get viewX(): number {\n return this.viewport.x;\n }\n get viewY(): number {\n return this.viewport.y;\n }\n\n /**\n * @param ? - Which manages this event. Propagation can only occur\n * within the ?'s jurisdiction.\n */\n constructor(manager?: EventManager) {\n this.manager = manager;\n }\n\n /** The propagation path for this event.*/\n composedPath(): IEventTarget[] {\n // Find the propagation path if it isn't cached or if the target has changed since the last evaluation.\n if (this.manager && (!this.path || this.path[this.path.length - 1] !== this.target)) {\n this.path = this.target ? this.manager.propagationPath(this.target) : [];\n }\n\n return this.path;\n }\n\n preventDefault(): void {\n if (this.nativeEvent instanceof Event && this.nativeEvent.cancelable) {\n this.nativeEvent.preventDefault();\n }\n\n this.defaultPrevented = true;\n }\n\n stopImmediatePropagation(): void {\n this.propagationImmediatelyStopped = true;\n }\n\n stopPropagation(): void {\n this.propagationStopped = true;\n }\n\n initEvent(): void {\n return;\n }\n initUIEvent(): void {\n return;\n }\n\n clone() {\n throw new Error('Method not implemented.');\n }\n\n which: number;\n readonly NONE = 0;\n readonly CAPTURING_PHASE = 1;\n readonly AT_TARGET = 2;\n readonly BUBBLING_PHASE = 3;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/federated-event/custom-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA0B9C,MAAM,OAAO,WAAY,SAAQ,cAAc;IAC7C,YAAY,SAAiB,EAAE,MAAY;QACzC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF","file":"custom-event.js","sourcesContent":["import { FederatedEvent } from './base-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nexport class CustomEvent extends FederatedEvent {\n constructor(eventName: string, object?: any) {\n super();\n\n this.type = eventName;\n this.detail = object;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/federated-event/custom-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA0B9C,MAAM,OAAO,WAAY,SAAQ,cAAc;IAC7C,YAAY,SAAiB,EAAE,MAAY;QACzC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF","file":"custom-event.js","sourcesContent":["import { FederatedEvent } from './base-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nexport class CustomEvent extends FederatedEvent {\n constructor(eventName: string, object?: any) {\n super();\n\n this.type = eventName;\n this.detail = object;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/federated-event/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC","file":"index.js","sourcesContent":["export * from './base-event';\nexport * from './mouse-event';\nexport * from './pointer-event';\nexport * from './wheel-event';\nexport * from './custom-event';\n"]}
1
+ {"version":3,"sources":["../../src/event/federated-event/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC","file":"index.js","sourcesContent":["export * from './base-event';\nexport * from './mouse-event';\nexport * from './pointer-event';\nexport * from './wheel-event';\nexport * from './custom-event';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/federated-event/mouse-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6B9C,MAAM,OAAO,mBAAoB,SAAQ,cAAsD;IAA/F;;QAuBE,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;QAc5B,aAAQ,GAAU,IAAI,KAAK,EAAE,CAAC;QAgB9B,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;QAa5B,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;QAY5B,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;IAyD9B,CAAC;IA9GC,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IASD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzB,CAAC;IAGD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzB,CAAC;IASD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAMD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAID,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAMD,gBAAgB,CAAC,GAAW;QAC1B,OAAO,kBAAkB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IAsBD,cAAc,CACZ,QAAgB,EAChB,aAAsB,EACtB,cAAuB,EACvB,QAAgB,EAChB,UAAkB,EAClB,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,WAAoB,EACpB,UAAmB,EACnB,YAAqB,EACrB,WAAoB,EACpB,UAAkB,EAClB,iBAA8B;QAE9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF","file":"mouse-event.js","sourcesContent":["import { Point } from '@visactor/vutils';\nimport { FederatedEvent } from './base-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n/**\n * A FederatedEvent for mouse events.\n */\nexport class FederatedMouseEvent extends FederatedEvent<MouseEvent | PointerEvent | TouchEvent> implements MouseEvent {\n /** Whether the \"alt\" key was pressed when this mouse event occurred. */\n altKey: boolean;\n\n /** The specific button that was pressed in this mouse event. */\n button: number;\n\n /** The button depressed when this event occurred. */\n buttons: number;\n\n /** Whether the \"control\" key was pressed when this mouse event occurred. */\n ctrlKey: boolean;\n\n /** Whether the \"meta\" key was pressed when this mouse event occurred. */\n metaKey: boolean;\n\n /** This is currently not implemented in the Federated Events API. */\n relatedTarget: EventTarget | null;\n\n /** Whether the \"shift\" key was pressed when this mouse event occurred. */\n shiftKey: boolean;\n\n /** The coordinates of the mouse event relative to the canvas. */\n client: Point = new Point();\n\n public get clientX(): number {\n return this.client.x;\n }\n\n public get clientY(): number {\n return this.client.y;\n }\n\n /** This is the number of clicks that occurs in 200ms/click of each other. */\n declare detail: number;\n\n /** The movement in this pointer relative to the last `mousemove` event. */\n movement: Point = new Point();\n\n /** @readonly */\n get movementX(): number {\n return this.movement.x;\n }\n\n /** @readonly */\n get movementY(): number {\n return this.movement.y;\n }\n\n /**\n * The offset of the pointer coordinates w.r.t. target DisplayObject in world space. This is\n * not supported at the moment.\n */\n offset: Point = new Point();\n\n /** @readonly */\n get offsetX(): number {\n return this.offset.x;\n }\n\n /** @readonly */\n get offsetY(): number {\n return this.offset.y;\n }\n\n /** The pointer coordinates in world space. */\n global: Point = new Point();\n\n /** @readonly */\n get globalX(): number {\n return this.global.x;\n }\n\n /** @readonly */\n get globalY(): number {\n return this.global.y;\n }\n\n screen: Point = new Point();\n /** @readonly */\n get screenX(): number {\n return this.screen.x;\n }\n /** @readonly */\n get screenY(): number {\n return this.screen.y;\n }\n\n /**\n * Whether the modifier key was pressed when this event natively occurred.\n * @param key - The modifier key.\n */\n getModifierState(key: string): boolean {\n return 'getModifierState' in this.nativeEvent && this.nativeEvent.getModifierState(key);\n }\n\n /**\n * Not supported.\n * @param _typeArg\n * @param _canBubbleArg\n * @param _cancelableArg\n * @param _viewArg\n * @param _detailArg\n * @param _screenXArg\n * @param _screenYArg\n * @param _clientXArg\n * @param _clientYArg\n * @param _ctrlKeyArg\n * @param _altKeyArg\n * @param _shiftKeyArg\n * @param _metaKeyArg\n * @param _buttonArg\n * @param _relatedTargetArg\n * @deprecated\n */\n // eslint-disable-next-line max-params\n initMouseEvent(\n _typeArg: string,\n _canBubbleArg: boolean,\n _cancelableArg: boolean,\n _viewArg: Window,\n _detailArg: number,\n _screenXArg: number,\n _screenYArg: number,\n _clientXArg: number,\n _clientYArg: number,\n _ctrlKeyArg: boolean,\n _altKeyArg: boolean,\n _shiftKeyArg: boolean,\n _metaKeyArg: boolean,\n _buttonArg: number,\n _relatedTargetArg: EventTarget\n ): void {\n throw new Error('Method not implemented.');\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/federated-event/mouse-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6B9C,MAAM,OAAO,mBAAoB,SAAQ,cAAsD;IAA/F;;QAuBE,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;QAc5B,aAAQ,GAAU,IAAI,KAAK,EAAE,CAAC;QAgB9B,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;QAa5B,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;QAY5B,WAAM,GAAU,IAAI,KAAK,EAAE,CAAC;IAyD9B,CAAC;IA9GC,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IASD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzB,CAAC;IAGD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzB,CAAC;IASD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAMD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAID,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvB,CAAC;IAMD,gBAAgB,CAAC,GAAW;QAC1B,OAAO,kBAAkB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1F,CAAC;IAsBD,cAAc,CACZ,QAAgB,EAChB,aAAsB,EACtB,cAAuB,EACvB,QAAgB,EAChB,UAAkB,EAClB,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,WAAoB,EACpB,UAAmB,EACnB,YAAqB,EACrB,WAAoB,EACpB,UAAkB,EAClB,iBAA8B;QAE9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF","file":"mouse-event.js","sourcesContent":["import { Point } from '@visactor/vutils';\nimport { FederatedEvent } from './base-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n/**\n * A FederatedEvent for mouse events.\n */\nexport class FederatedMouseEvent extends FederatedEvent<MouseEvent | PointerEvent | TouchEvent> implements MouseEvent {\n /** Whether the \"alt\" key was pressed when this mouse event occurred. */\n altKey: boolean;\n\n /** The specific button that was pressed in this mouse event. */\n button: number;\n\n /** The button depressed when this event occurred. */\n buttons: number;\n\n /** Whether the \"control\" key was pressed when this mouse event occurred. */\n ctrlKey: boolean;\n\n /** Whether the \"meta\" key was pressed when this mouse event occurred. */\n metaKey: boolean;\n\n /** This is currently not implemented in the Federated Events API. */\n relatedTarget: EventTarget | null;\n\n /** Whether the \"shift\" key was pressed when this mouse event occurred. */\n shiftKey: boolean;\n\n /** The coordinates of the mouse event relative to the canvas. */\n client: Point = new Point();\n\n public get clientX(): number {\n return this.client.x;\n }\n\n public get clientY(): number {\n return this.client.y;\n }\n\n /** This is the number of clicks that occurs in 200ms/click of each other. */\n declare detail: number;\n\n /** The movement in this pointer relative to the last `mousemove` event. */\n movement: Point = new Point();\n\n /** @readonly */\n get movementX(): number {\n return this.movement.x;\n }\n\n /** @readonly */\n get movementY(): number {\n return this.movement.y;\n }\n\n /**\n * The offset of the pointer coordinates w.r.t. target DisplayObject in world space. This is\n * not supported at the moment.\n */\n offset: Point = new Point();\n\n /** @readonly */\n get offsetX(): number {\n return this.offset.x;\n }\n\n /** @readonly */\n get offsetY(): number {\n return this.offset.y;\n }\n\n /** The pointer coordinates in world space. */\n global: Point = new Point();\n\n /** @readonly */\n get globalX(): number {\n return this.global.x;\n }\n\n /** @readonly */\n get globalY(): number {\n return this.global.y;\n }\n\n screen: Point = new Point();\n /** @readonly */\n get screenX(): number {\n return this.screen.x;\n }\n /** @readonly */\n get screenY(): number {\n return this.screen.y;\n }\n\n /**\n * Whether the modifier key was pressed when this event natively occurred.\n * @param key - The modifier key.\n */\n getModifierState(key: string): boolean {\n return 'getModifierState' in this.nativeEvent && this.nativeEvent.getModifierState(key);\n }\n\n /**\n * Not supported.\n * @param _typeArg\n * @param _canBubbleArg\n * @param _cancelableArg\n * @param _viewArg\n * @param _detailArg\n * @param _screenXArg\n * @param _screenYArg\n * @param _clientXArg\n * @param _clientYArg\n * @param _ctrlKeyArg\n * @param _altKeyArg\n * @param _shiftKeyArg\n * @param _metaKeyArg\n * @param _buttonArg\n * @param _relatedTargetArg\n * @deprecated\n */\n // eslint-disable-next-line max-params\n initMouseEvent(\n _typeArg: string,\n _canBubbleArg: boolean,\n _cancelableArg: boolean,\n _viewArg: Window,\n _detailArg: number,\n _screenXArg: number,\n _screenYArg: number,\n _clientXArg: number,\n _clientYArg: number,\n _ctrlKeyArg: boolean,\n _altKeyArg: boolean,\n _shiftKeyArg: boolean,\n _metaKeyArg: boolean,\n _buttonArg: number,\n _relatedTargetArg: EventTarget\n ): void {\n throw new Error('Method not implemented.');\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/federated-event/pointer-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA6BpD,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;IAA9D;;QAWE,UAAK,GAAG,CAAC,CAAC;QAOV,WAAM,GAAG,CAAC,CAAC;QAMX,cAAS,GAAG,KAAK,CAAC;IA6EpB,CAAC;IAlCC,kBAAkB;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;QAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;;QACH,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAGpC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC;IACf,CAAC;CACF","file":"pointer-event.js","sourcesContent":["import { FederatedMouseEvent } from './mouse-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n/**\n * A FederatedEvent for pointer events.\n */\nexport class FederatedPointerEvent extends FederatedMouseEvent implements PointerEvent {\n /**\n * The unique identifier of the pointer.\n */\n pointerId: number;\n\n /**\n * The width of the pointer's contact along the x-axis, measured in CSS pixels.\n * radiusX of TouchEvents will be represented by this value.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/width\n */\n width = 0;\n\n /**\n * The height of the pointer's contact along the y-axis, measured in CSS pixels.\n * radiusY of TouchEvents will be represented by this value.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/height\n */\n height = 0;\n\n /**\n * Indicates whether or not the pointer device that created the event is the primary pointer.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary\n */\n isPrimary = false;\n\n /**\n * The type of pointer that triggered the event.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType\n */\n pointerType: string;\n\n /**\n * Pressure applied by the pointing device during the event.\n *s\n * A Touch's force property will be represented by this value.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pressure\n */\n pressure: number;\n\n /**\n * Barrel pressure on a stylus pointer.\n * @see https://w3c.github.io/pointerevents/#pointerevent-interface\n */\n tangentialPressure: number;\n\n /**\n * The angle, in degrees, between the pointer device and the screen.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltX\n */\n tiltX: number;\n\n /**\n * The angle, in degrees, between the pointer device and the screen.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltY\n */\n tiltY: number;\n\n /**\n * Twist of a stylus pointer.\n * @see https://w3c.github.io/pointerevents/#pointerevent-interface\n */\n twist: number;\n\n /** This is the number of clicks that occurs in 200ms/click of each other. */\n declare detail: number;\n\n getCoalescedEvents(): PointerEvent[] {\n if (this.type === 'pointermove' || this.type === 'mousemove' || this.type === 'touchmove') {\n return [this];\n }\n\n return [];\n }\n\n getPredictedEvents(): PointerEvent[] {\n throw new Error('getPredictedEvents is not supported!');\n }\n\n clone() {\n const event = new FederatedPointerEvent(this.manager);\n\n event.eventPhase = event.NONE;\n event.currentTarget = null;\n event.path = [];\n event.target = null;\n\n event.nativeEvent = this.nativeEvent;\n event.originalEvent = this.originalEvent;\n\n this.manager?.copyPointerData(this, event);\n this.manager?.copyMouseData(this, event);\n this.manager?.copyData(this, event);\n\n // copy propagation path for perf\n event.target = this.target;\n event.path = this.composedPath().slice();\n event.type = this.type;\n\n return event;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/federated-event/pointer-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA6BpD,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;IAA9D;;QAWE,UAAK,GAAG,CAAC,CAAC;QAOV,WAAM,GAAG,CAAC,CAAC;QAMX,cAAS,GAAG,KAAK,CAAC;IA6EpB,CAAC;IAlCC,kBAAkB;QAChB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;QAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;;QACH,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAGpC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC;IACf,CAAC;CACF","file":"pointer-event.js","sourcesContent":["import { FederatedMouseEvent } from './mouse-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n/**\n * A FederatedEvent for pointer events.\n */\nexport class FederatedPointerEvent extends FederatedMouseEvent implements PointerEvent {\n /**\n * The unique identifier of the pointer.\n */\n pointerId: number;\n\n /**\n * The width of the pointer's contact along the x-axis, measured in CSS pixels.\n * radiusX of TouchEvents will be represented by this value.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/width\n */\n width = 0;\n\n /**\n * The height of the pointer's contact along the y-axis, measured in CSS pixels.\n * radiusY of TouchEvents will be represented by this value.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/height\n */\n height = 0;\n\n /**\n * Indicates whether or not the pointer device that created the event is the primary pointer.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/isPrimary\n */\n isPrimary = false;\n\n /**\n * The type of pointer that triggered the event.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType\n */\n pointerType: string;\n\n /**\n * Pressure applied by the pointing device during the event.\n *s\n * A Touch's force property will be represented by this value.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pressure\n */\n pressure: number;\n\n /**\n * Barrel pressure on a stylus pointer.\n * @see https://w3c.github.io/pointerevents/#pointerevent-interface\n */\n tangentialPressure: number;\n\n /**\n * The angle, in degrees, between the pointer device and the screen.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltX\n */\n tiltX: number;\n\n /**\n * The angle, in degrees, between the pointer device and the screen.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/tiltY\n */\n tiltY: number;\n\n /**\n * Twist of a stylus pointer.\n * @see https://w3c.github.io/pointerevents/#pointerevent-interface\n */\n twist: number;\n\n /** This is the number of clicks that occurs in 200ms/click of each other. */\n declare detail: number;\n\n getCoalescedEvents(): PointerEvent[] {\n if (this.type === 'pointermove' || this.type === 'mousemove' || this.type === 'touchmove') {\n return [this];\n }\n\n return [];\n }\n\n getPredictedEvents(): PointerEvent[] {\n throw new Error('getPredictedEvents is not supported!');\n }\n\n clone() {\n const event = new FederatedPointerEvent(this.manager);\n\n event.eventPhase = event.NONE;\n event.currentTarget = null;\n event.path = [];\n event.target = null;\n\n event.nativeEvent = this.nativeEvent;\n event.originalEvent = this.originalEvent;\n\n this.manager?.copyPointerData(this, event);\n this.manager?.copyMouseData(this, event);\n this.manager?.copyData(this, event);\n\n // copy propagation path for perf\n event.target = this.target;\n event.path = this.composedPath().slice();\n event.type = this.type;\n\n return event;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/federated-event/wheel-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA0BpD,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAA5D;;QAkBW,oBAAe,GAAG,CAAC,CAAC;QAIpB,mBAAc,GAAG,CAAC,CAAC;QAInB,mBAAc,GAAG,CAAC,CAAC;IAuB9B,CAAC;IArBC,KAAK;;QACH,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEpC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC;IACf,CAAC;;AAhCe,mCAAe,GAAG,CAAC,CAAC;AAIpB,kCAAc,GAAG,CAAC,CAAC;AAInB,kCAAc,GAAG,CAAC,CAAC","file":"wheel-event.js","sourcesContent":["import { FederatedMouseEvent } from './mouse-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nexport class FederatedWheelEvent extends FederatedMouseEvent implements WheelEvent {\n /**\n * The units of `deltaX`, `deltaY`, and `deltaZ`. This is one of `DOM_DELTA_LINE`,\n * `DOM_DELTA_PAGE`, `DOM_DELTA_PIXEL`.\n */\n deltaMode: number;\n\n /** Horizontal scroll amount */\n deltaX: number;\n\n /** Vertical scroll amount */\n deltaY: number;\n\n /** z-axis scroll amount. */\n deltaZ: number;\n\n static readonly DOM_DELTA_PIXEL = 0;\n\n readonly DOM_DELTA_PIXEL = 0;\n\n static readonly DOM_DELTA_LINE = 1;\n\n readonly DOM_DELTA_LINE = 1;\n\n static readonly DOM_DELTA_PAGE = 2;\n\n readonly DOM_DELTA_PAGE = 2;\n\n clone() {\n const event = new FederatedWheelEvent(this.manager);\n\n event.eventPhase = event.NONE;\n event.currentTarget = null;\n event.path = [];\n event.target = null;\n\n event.nativeEvent = this.nativeEvent;\n event.originalEvent = this.originalEvent;\n\n this.manager?.copyPointerData(this, event);\n this.manager?.copyMouseData(this, event);\n this.manager?.copyData(this, event);\n\n event.target = this.target;\n event.path = this.composedPath().slice();\n event.type = this.type;\n\n return event;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/federated-event/wheel-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA0BpD,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAA5D;;QAkBW,oBAAe,GAAG,CAAC,CAAC;QAIpB,mBAAc,GAAG,CAAC,CAAC;QAInB,mBAAc,GAAG,CAAC,CAAC;IAuB9B,CAAC;IArBC,KAAK;;QACH,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpD,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEpC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC;IACf,CAAC;;AAhCe,mCAAe,GAAG,CAAC,CAAC;AAIpB,kCAAc,GAAG,CAAC,CAAC;AAInB,kCAAc,GAAG,CAAC,CAAC","file":"wheel-event.js","sourcesContent":["import { FederatedMouseEvent } from './mouse-event';\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nexport class FederatedWheelEvent extends FederatedMouseEvent implements WheelEvent {\n /**\n * The units of `deltaX`, `deltaY`, and `deltaZ`. This is one of `DOM_DELTA_LINE`,\n * `DOM_DELTA_PAGE`, `DOM_DELTA_PIXEL`.\n */\n deltaMode: number;\n\n /** Horizontal scroll amount */\n deltaX: number;\n\n /** Vertical scroll amount */\n deltaY: number;\n\n /** z-axis scroll amount. */\n deltaZ: number;\n\n static readonly DOM_DELTA_PIXEL = 0;\n\n readonly DOM_DELTA_PIXEL = 0;\n\n static readonly DOM_DELTA_LINE = 1;\n\n readonly DOM_DELTA_LINE = 1;\n\n static readonly DOM_DELTA_PAGE = 2;\n\n readonly DOM_DELTA_PAGE = 2;\n\n clone() {\n const event = new FederatedWheelEvent(this.manager);\n\n event.eventPhase = event.NONE;\n event.currentTarget = null;\n event.path = [];\n event.target = null;\n\n event.nativeEvent = this.nativeEvent;\n event.originalEvent = this.originalEvent;\n\n this.manager?.copyPointerData(this, event);\n this.manager?.copyMouseData(this, event);\n this.manager?.copyData(this, event);\n\n event.target = this.target;\n event.path = this.composedPath().slice();\n event.type = this.type;\n\n return event;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './federated-event';\nexport * from './event-manager';\nexport * from './event-target';\nexport * from './event-system';\nexport * from './extension'; // 扩展事件,在外部调用\nexport * from './interface';\n"]}
1
+ {"version":3,"sources":["../../src/event/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './federated-event';\nexport * from './event-manager';\nexport * from './event-target';\nexport * from './event-system';\nexport * from './extension'; // 扩展事件,在外部调用\nexport * from './interface';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { INode } from '../interface/node-tree';\nimport type { Dict } from '@visactor/vutils';\nimport { IGraphicAttribute } from '../interface/graphic';\n\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nexport interface IEventTarget extends INode {\n /** Whether this event target should fire UI events. */\n pickable: boolean;\n /** The parent of this event target. */\n parent: IEventTarget | null;\n /** Whether this event target should be visible. */\n visible: boolean;\n\n /** The children of this event target. */\n children?: IEventTarget[];\n\n /** Whether this event target has any children that need UI events. This can be used optimize event propagation. */\n childrenPickable?: boolean;\n\n attribute?: Partial<IGraphicAttribute>;\n\n emit: (eventName: any, data: Dict<any>) => boolean;\n}\n\nexport interface IRender {\n visualCanvas: {\n getCanvas: () => HTMLElement;\n };\n pickEvent: (position: [number, number], children: IEventTarget[], geoPick?: boolean) => IEventTarget | null;\n [key: string]: any;\n}\n\n// 事件系统扩展接口\nexport interface IEventExtension {\n /**\n * bind events\n */\n initEvents: () => void;\n /**\n * unbind events\n */\n removeEvents: () => void;\n /**\n * release\n */\n release: () => void;\n}\n"]}
1
+ {"version":3,"sources":["../../src/event/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { INode } from '../interface/node-tree';\nimport type { Dict } from '@visactor/vutils';\nimport { IGraphicAttribute } from '../interface/graphic';\n\n/**\n * 代码参考自 https://github.com/pixijs/pixijs\n * The MIT License\n\n Copyright (c) 2013-2023 Mathew Groves, Chad Engler\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\nexport interface IEventTarget extends INode {\n /** Whether this event target should fire UI events. */\n pickable: boolean;\n /** The parent of this event target. */\n parent: IEventTarget | null;\n /** Whether this event target should be visible. */\n visible: boolean;\n\n /** The children of this event target. */\n children?: IEventTarget[];\n\n /** Whether this event target has any children that need UI events. This can be used optimize event propagation. */\n childrenPickable?: boolean;\n\n attribute?: Partial<IGraphicAttribute>;\n\n emit: (eventName: any, data: Dict<any>) => boolean;\n}\n\nexport interface IRender {\n visualCanvas: {\n getCanvas: () => HTMLElement;\n };\n pickEvent: (position: [number, number], children: IEventTarget[], geoPick?: boolean) => IEventTarget | null;\n [key: string]: any;\n}\n\n// 事件系统扩展接口\nexport interface IEventExtension {\n /**\n * bind events\n */\n initEvents: () => void;\n /**\n * unbind events\n */\n removeEvents: () => void;\n /**\n * release\n */\n release: () => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import { IEventTarget } from './interface';\nimport { ICanvas, IDomRectLike, IEventElement, IGlobal } from '../interface';\nimport { IBounds } from '@visactor/vutils';\nexport type LooseFunction = (...args: any[]) => any;\n\nexport type IElementLike = Omit<IEventElement, 'on' | 'off' | 'once' | 'emit' | 'removeAllListeners'> & {\n style: CSSStyleDeclaration | Record<string, any>;\n getNativeHandler?: () => ICanvas;\n getBoundingClientRect: () => IDomRectLike;\n};\n\nexport type RenderConfig = {\n /**\n * 事件绑定的 canvas 元素\n */\n targetElement: IElementLike;\n /**\n * 环境分辨率\n */\n resolution: number;\n /**\n * 场景树根节点\n */\n rootNode: IEventTarget;\n global: IGlobal;\n /** 是否自动阻止事件 */\n autoPreventDefault?: boolean;\n /** 绘图视口 */\n viewport: {\n x: number;\n y: number;\n width: number;\n height: number;\n viewBox?: IBounds;\n };\n};\n\nexport type NativeEvent = MouseEvent | PointerEvent | TouchEvent;\n"]}
1
+ {"version":3,"sources":["../../src/event/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import { IEventTarget } from './interface';\nimport { ICanvas, IDomRectLike, IEventElement, IGlobal } from '../interface';\nimport { IBounds } from '@visactor/vutils';\nexport type LooseFunction = (...args: any[]) => any;\n\nexport type IElementLike = Omit<IEventElement, 'on' | 'off' | 'once' | 'emit' | 'removeAllListeners'> & {\n style: CSSStyleDeclaration | Record<string, any>;\n getNativeHandler?: () => ICanvas;\n getBoundingClientRect: () => IDomRectLike;\n};\n\nexport type RenderConfig = {\n /**\n * 事件绑定的 canvas 元素\n */\n targetElement: IElementLike;\n /**\n * 环境分辨率\n */\n resolution: number;\n /**\n * 场景树根节点\n */\n rootNode: IEventTarget;\n global: IGlobal;\n /** 是否自动阻止事件 */\n autoPreventDefault?: boolean;\n /** 绘图视口 */\n viewport: {\n x: number;\n y: number;\n width: number;\n height: number;\n viewBox?: IBounds;\n };\n};\n\nexport type NativeEvent = MouseEvent | PointerEvent | TouchEvent;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAK,WAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC","file":"util.js","sourcesContent":["export const clock = typeof performance === 'object' && (performance as any).now ? performance : Date;\n"]}
1
+ {"version":3,"sources":["../../src/event/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAK,WAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC","file":"util.js","sourcesContent":["export const clock = typeof performance === 'object' && (performance as any).now ? performance : Date;\n"]}
package/es/export.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/export.ts"],"names":[],"mappings":"","file":"export.js","sourcesContent":["// // 导出所有扩展需要的模块\n// // graphic\n// export * from './interface/graphic/circle';\n// export * from './interface/graphic/rect';\n// export * from './interface/graphic/arc';\n// export * from './interface/graphic/area';\n// export * from './interface/graphic/image';\n// export * from './interface/graphic/line';\n// export * from './interface/graphic/path';\n// export * from './interface/graphic/symbol';\n// export * from './interface/graphic/text';\n\n// // render-service\n// export * from './render/render-service';\n// export * from './render/contributions/render/graphic-render';\n// export * from './render/contributions/render/circle-render';\n"]}
1
+ {"version":3,"sources":["../../src/export.ts"],"names":[],"mappings":"","file":"export.js","sourcesContent":["// // 导出所有扩展需要的模块\n// // graphic\n// export * from './interface/graphic/circle';\n// export * from './interface/graphic/rect';\n// export * from './interface/graphic/arc';\n// export * from './interface/graphic/area';\n// export * from './interface/graphic/image';\n// export * from './interface/graphic/line';\n// export * from './interface/graphic/path';\n// export * from './interface/graphic/symbol';\n// export * from './interface/graphic/text';\n\n// // render-service\n// export * from './render/render-service';\n// export * from './render/contributions/render/graphic-render';\n// export * from './render/contributions/render/circle-render';\n"]}
@@ -1,9 +1,8 @@
1
1
  import { AABBBounds, OBBBounds } from '@visactor/vutils';
2
2
  import { IArc, IArcGraphicAttribute } from '../interface/graphic/arc';
3
3
  import { Graphic } from './graphic';
4
- import { CustomPath2D } from '../common';
4
+ import { CustomPath2D } from '../common/custom-path2d';
5
5
  import { GraphicType } from '../interface';
6
- export declare const ARC_NUMBER_TYPE: number;
7
6
  export declare class Arc extends Graphic<IArcGraphicAttribute> implements IArc {
8
7
  type: GraphicType;
9
8
  constructor(params: IArcGraphicAttribute);
package/es/graphic/arc.js CHANGED
@@ -1,14 +1,16 @@
1
1
  import { pi2, sin, epsilon, abs, asin, clampAngleByRadian, isNumber, cos, sqrt } from "@visactor/vutils";
2
2
 
3
- import { Graphic, GRAPHIC_UPDATE_TAG_KEY, genNumberType } from "./graphic";
3
+ import { Graphic, GRAPHIC_UPDATE_TAG_KEY } from "./graphic";
4
4
 
5
- import { parsePadding, CustomPath2D } from "../common";
5
+ import { CustomPath2D } from "../common/custom-path2d";
6
+
7
+ import { parsePadding } from "../common/utils";
6
8
 
7
9
  import { getTheme } from "./theme";
8
10
 
9
- import { graphicService } from "../modules";
11
+ import { application } from "../application";
10
12
 
11
- export const ARC_NUMBER_TYPE = genNumberType();
13
+ import { ARC_NUMBER_TYPE } from "./constants";
12
14
 
13
15
  const ARC_UPDATE_TAG_KEY = [ "innerRadius", "outerRadius", "startAngle", "endAngle", "cornerRadius", "padAngle", "padRadius", "cap", ...GRAPHIC_UPDATE_TAG_KEY ];
14
16
 
@@ -80,7 +82,7 @@ export class Arc extends Graphic {
80
82
  doUpdateAABBBounds(full) {
81
83
  const arcTheme = getTheme(this).arc;
82
84
  this._AABBBounds.setValue(1 / 0, 1 / 0, -1 / 0, -1 / 0);
83
- const attribute = this.attribute, bounds = graphicService.updateArcAABBBounds(attribute, getTheme(this).arc, this._AABBBounds, full, this), {boundsPadding: boundsPadding = arcTheme.boundsPadding} = attribute, paddingArray = parsePadding(boundsPadding);
85
+ const attribute = this.attribute, bounds = application.graphicService.updateArcAABBBounds(attribute, getTheme(this).arc, this._AABBBounds, full, this), {boundsPadding: boundsPadding = arcTheme.boundsPadding} = attribute, paddingArray = parsePadding(boundsPadding);
84
86
  return paddingArray && bounds.expand(paddingArray), this.clearUpdateBoundTag(),
85
87
  bounds;
86
88
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/arc.ts"],"names":[],"mappings":"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","file":"arc.js","sourcesContent":["import {\n pi2,\n sin,\n epsilon,\n abs,\n asin,\n AABBBounds,\n OBBBounds,\n transformBounds,\n clampAngleByRadian,\n isNumber,\n cos,\n sqrt\n} from '@visactor/vutils';\nimport { IArc, IArcGraphicAttribute } from '../interface/graphic/arc';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, genNumberType } from './graphic';\nimport { circleBounds, parsePadding, CustomPath2D } from '../common';\nimport { getTheme } from './theme';\nimport { graphicService } from '../modules';\nimport { GraphicType } from '../interface';\n\n/**\n * 部分代码参考 https://github.com/d3/d3-shape/\n * Copyright 2010-2022 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n\nexport const ARC_NUMBER_TYPE = genNumberType();\n\nconst ARC_UPDATE_TAG_KEY = [\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'endAngle',\n 'cornerRadius',\n 'padAngle',\n 'padRadius',\n 'cap',\n ...GRAPHIC_UPDATE_TAG_KEY\n];\n\n/**\n * 圆形图元\n * 默认顺时针绘制\n */\nexport class Arc extends Graphic<IArcGraphicAttribute> implements IArc {\n type: GraphicType = 'arc';\n\n // static parseCornerRadius(r: IArcGraphicAttribute['cornerRadius']) {\n // if (isArray(r)) {\n // if ((r as any[]).length === 1) {\n // const value = r[0];\n // return [value, value, value, value];\n // }\n\n // if ((r as any[]).length === 2) {\n // return [r[0], r[0], r[1], r[1]];\n // }\n\n // if ((r as any[]).length === 3) {\n // return [r[0], r[1], r[2], 0];\n // }\n\n // return (r as any[]).slice(0, 4);\n // }\n\n // return [r as string | number, r as string | number, r as string | number, r as string | number];\n // }\n\n // static isCornerRadiusEqual(oldR: IArcGraphicAttribute['cornerRadius'], newR: IArcGraphicAttribute['cornerRadius']) {\n // throw new Error('暂不支持');\n // if (oldR === newR) {\n // return true;\n // }\n\n // if (isArray(oldR) && !isArray(newR)) {\n // return (oldR as (string | number)[]).every(r => r === newR);\n // }\n\n // if (!isArray(oldR) && isArray(newR)) {\n // return (newR as (string | number)[]).every(r => r === oldR);\n // }\n\n // return arrayEqual(oldR as (string | number)[], newR as (string | number)[]);\n // }\n\n constructor(params: IArcGraphicAttribute) {\n super(params);\n this.numberType = ARC_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { startAngle, endAngle, outerRadius, innerRadius } = this.attribute;\n return (\n this._validNumber(startAngle) &&\n this._validNumber(endAngle) &&\n this._validNumber(outerRadius) &&\n this._validNumber(innerRadius)\n );\n }\n\n getParsedCornerRadius() {\n const arcTheme = getTheme(this).arc;\n const {\n cornerRadius = arcTheme.cornerRadius,\n outerRadius = arcTheme.outerRadius,\n innerRadius = arcTheme.innerRadius\n } = this.attribute;\n if (cornerRadius === 0 || cornerRadius === '0%') {\n return 0;\n }\n const deltaRadius = Math.abs(outerRadius - innerRadius);\n return Math.min(\n isNumber(cornerRadius, true)\n ? (cornerRadius as number)\n : (deltaRadius * parseFloat(cornerRadius as string)) / 100,\n deltaRadius / 2\n );\n }\n\n getParsedAngle() {\n const arcTheme = getTheme(this).arc;\n let { startAngle = arcTheme.startAngle, endAngle = arcTheme.endAngle } = this.attribute;\n const { cap = arcTheme.cap } = this.attribute;\n\n const sign = endAngle - startAngle >= 0 ? 1 : -1;\n const deltaAngle = endAngle - startAngle;\n\n startAngle = clampAngleByRadian(startAngle);\n endAngle = startAngle + deltaAngle;\n\n if (cap && abs(deltaAngle) < pi2 - epsilon) {\n let startCap = 1;\n let endCap = 1;\n if ((cap as boolean[]).length) {\n startCap = Number(cap[0]);\n endCap = Number(cap[1]);\n }\n const { outerRadius = arcTheme.outerRadius, innerRadius = arcTheme.innerRadius } = this.attribute;\n const capWidth = Math.abs(outerRadius - innerRadius) / 2;\n // 以外边界长度为准\n const capAngle = capWidth / outerRadius;\n\n if (capWidth > epsilon && outerRadius > epsilon) {\n return {\n startAngle: startAngle - sign * capAngle * startCap,\n endAngle: endAngle + sign * capAngle * endCap\n };\n }\n }\n\n return {\n startAngle: startAngle,\n endAngle: endAngle\n };\n }\n\n // 参考 https://github.com/d3/d3-shape/blob/main/src/arc.js\n getParsePadAngle(startAngle: number, endAngle: number) {\n const arcTheme = getTheme(this).arc;\n const {\n outerRadius = arcTheme.outerRadius,\n innerRadius = arcTheme.innerRadius,\n padAngle = arcTheme.padAngle\n } = this.attribute;\n\n const { padRadius = sqrt(outerRadius * outerRadius + innerRadius * innerRadius) } = this.attribute;\n const deltaAngle = abs(endAngle - startAngle);\n\n // Or is it a circular or annular sector?\n let outerStartAngle = startAngle;\n let outerEndAngle = endAngle;\n let innerStartAngle = startAngle;\n let innerEndAngle = endAngle;\n const halfPadAngle = padAngle / 2;\n let innerDeltaAngle = deltaAngle;\n let outerDeltaAngle = deltaAngle;\n\n // Apply padding? Note that since r1 ≥ r0, outerDeltaAngle ≥ innerDeltaAngle.\n if (halfPadAngle > epsilon && padRadius > epsilon) {\n const sign = endAngle > startAngle ? 1 : -1;\n\n let p0 = asin((Number(padRadius) / innerRadius) * sin(halfPadAngle));\n let p1 = asin((Number(padRadius) / outerRadius) * sin(halfPadAngle));\n if ((innerDeltaAngle -= p0 * 2) > epsilon) {\n p0 *= sign;\n innerStartAngle += p0;\n innerEndAngle -= p0;\n } else {\n innerDeltaAngle = 0;\n innerStartAngle = innerEndAngle = (startAngle + endAngle) / 2;\n }\n if ((outerDeltaAngle -= p1 * 2) > epsilon) {\n p1 *= sign;\n outerStartAngle += p1;\n outerEndAngle -= p1;\n } else {\n outerDeltaAngle = 0;\n outerStartAngle = outerEndAngle = (startAngle + endAngle) / 2;\n }\n\n return {\n outerStartAngle,\n outerEndAngle,\n innerStartAngle,\n innerEndAngle,\n innerDeltaAngle,\n outerDeltaAngle\n };\n }\n\n return {\n outerStartAngle,\n outerEndAngle,\n innerStartAngle,\n innerEndAngle,\n innerDeltaAngle,\n outerDeltaAngle\n };\n }\n\n protected doUpdateAABBBounds(full?: boolean): AABBBounds {\n const arcTheme = getTheme(this).arc;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = graphicService.updateArcAABBBounds(\n attribute,\n getTheme(this).arc,\n this._AABBBounds,\n full,\n this\n ) as AABBBounds;\n\n const { boundsPadding = arcTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < ARC_UPDATE_TAG_KEY.length; i++) {\n const attrKey = ARC_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < ARC_UPDATE_TAG_KEY.length; i++) {\n const attrKey = ARC_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n getDefaultAttribute(name: string) {\n const arcTheme = getTheme(this).arc;\n return arcTheme[name];\n }\n\n toCustomPath() {\n const x = 0;\n const y = 0;\n\n const attribute = this.attribute;\n const { startAngle, endAngle } = this.getParsedAngle();\n let innerRadius = attribute.innerRadius;\n let outerRadius = attribute.outerRadius;\n const deltaAngle = abs(endAngle - startAngle);\n const clockwise: boolean = endAngle > startAngle;\n\n if (outerRadius < innerRadius) {\n const temp = outerRadius;\n outerRadius = innerRadius;\n innerRadius = temp;\n }\n\n const path = new CustomPath2D();\n\n if (outerRadius <= epsilon) {\n path.moveTo(x, y);\n } else if (deltaAngle >= pi2 - epsilon) {\n // 是个完整的圆环\n // Or is it a circle or annulus?\n path.moveTo(x + outerRadius * cos(startAngle), y + outerRadius * sin(startAngle));\n path.arc(x, y, outerRadius, startAngle, endAngle, !clockwise);\n if (innerRadius > epsilon) {\n path.moveTo(x + innerRadius * cos(endAngle), y + innerRadius * sin(endAngle));\n path.arc(x, y, innerRadius, endAngle, startAngle, clockwise);\n }\n } else {\n const xors = outerRadius * cos(startAngle);\n const yors = outerRadius * sin(startAngle);\n const xire = innerRadius * cos(endAngle);\n const yire = innerRadius * sin(endAngle);\n\n path.moveTo(x + xors, y + yors);\n path.arc(x, y, outerRadius, startAngle, endAngle, !clockwise);\n path.lineTo(x + xire, y + yire);\n path.arc(x, y, innerRadius, endAngle, startAngle, clockwise);\n path.closePath();\n }\n\n return path;\n }\n\n clone() {\n return new Arc({ ...this.attribute });\n }\n}\n\n// addAttributeToPrototype(DefaultCircleStyle, Circle, PURE_STYLE_KEY);\n"]}
1
+ {"version":3,"sources":["../../src/graphic/arc.ts"],"names":[],"mappings":"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","file":"arc.js","sourcesContent":["import {\n pi2,\n sin,\n epsilon,\n abs,\n asin,\n AABBBounds,\n OBBBounds,\n clampAngleByRadian,\n isNumber,\n cos,\n sqrt\n} from '@visactor/vutils';\nimport { IArc, IArcGraphicAttribute } from '../interface/graphic/arc';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY } from './graphic';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { parsePadding } from '../common/utils';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { GraphicType } from '../interface';\nimport { ARC_NUMBER_TYPE } from './constants';\n\n/**\n * 部分代码参考 https://github.com/d3/d3-shape/\n * Copyright 2010-2022 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n\nconst ARC_UPDATE_TAG_KEY = [\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'endAngle',\n 'cornerRadius',\n 'padAngle',\n 'padRadius',\n 'cap',\n ...GRAPHIC_UPDATE_TAG_KEY\n];\n\n/**\n * 圆形图元\n * 默认顺时针绘制\n */\nexport class Arc extends Graphic<IArcGraphicAttribute> implements IArc {\n type: GraphicType = 'arc';\n\n // static parseCornerRadius(r: IArcGraphicAttribute['cornerRadius']) {\n // if (isArray(r)) {\n // if ((r as any[]).length === 1) {\n // const value = r[0];\n // return [value, value, value, value];\n // }\n\n // if ((r as any[]).length === 2) {\n // return [r[0], r[0], r[1], r[1]];\n // }\n\n // if ((r as any[]).length === 3) {\n // return [r[0], r[1], r[2], 0];\n // }\n\n // return (r as any[]).slice(0, 4);\n // }\n\n // return [r as string | number, r as string | number, r as string | number, r as string | number];\n // }\n\n // static isCornerRadiusEqual(oldR: IArcGraphicAttribute['cornerRadius'], newR: IArcGraphicAttribute['cornerRadius']) {\n // throw new Error('暂不支持');\n // if (oldR === newR) {\n // return true;\n // }\n\n // if (isArray(oldR) && !isArray(newR)) {\n // return (oldR as (string | number)[]).every(r => r === newR);\n // }\n\n // if (!isArray(oldR) && isArray(newR)) {\n // return (newR as (string | number)[]).every(r => r === oldR);\n // }\n\n // return arrayEqual(oldR as (string | number)[], newR as (string | number)[]);\n // }\n\n constructor(params: IArcGraphicAttribute) {\n super(params);\n this.numberType = ARC_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { startAngle, endAngle, outerRadius, innerRadius } = this.attribute;\n return (\n this._validNumber(startAngle) &&\n this._validNumber(endAngle) &&\n this._validNumber(outerRadius) &&\n this._validNumber(innerRadius)\n );\n }\n\n getParsedCornerRadius() {\n const arcTheme = getTheme(this).arc;\n const {\n cornerRadius = arcTheme.cornerRadius,\n outerRadius = arcTheme.outerRadius,\n innerRadius = arcTheme.innerRadius\n } = this.attribute;\n if (cornerRadius === 0 || cornerRadius === '0%') {\n return 0;\n }\n const deltaRadius = Math.abs(outerRadius - innerRadius);\n return Math.min(\n isNumber(cornerRadius, true)\n ? (cornerRadius as number)\n : (deltaRadius * parseFloat(cornerRadius as string)) / 100,\n deltaRadius / 2\n );\n }\n\n getParsedAngle() {\n const arcTheme = getTheme(this).arc;\n let { startAngle = arcTheme.startAngle, endAngle = arcTheme.endAngle } = this.attribute;\n const { cap = arcTheme.cap } = this.attribute;\n\n const sign = endAngle - startAngle >= 0 ? 1 : -1;\n const deltaAngle = endAngle - startAngle;\n\n startAngle = clampAngleByRadian(startAngle);\n endAngle = startAngle + deltaAngle;\n\n if (cap && abs(deltaAngle) < pi2 - epsilon) {\n let startCap = 1;\n let endCap = 1;\n if ((cap as boolean[]).length) {\n startCap = Number(cap[0]);\n endCap = Number(cap[1]);\n }\n const { outerRadius = arcTheme.outerRadius, innerRadius = arcTheme.innerRadius } = this.attribute;\n const capWidth = Math.abs(outerRadius - innerRadius) / 2;\n // 以外边界长度为准\n const capAngle = capWidth / outerRadius;\n\n if (capWidth > epsilon && outerRadius > epsilon) {\n return {\n startAngle: startAngle - sign * capAngle * startCap,\n endAngle: endAngle + sign * capAngle * endCap\n };\n }\n }\n\n return {\n startAngle: startAngle,\n endAngle: endAngle\n };\n }\n\n // 参考 https://github.com/d3/d3-shape/blob/main/src/arc.js\n getParsePadAngle(startAngle: number, endAngle: number) {\n const arcTheme = getTheme(this).arc;\n const {\n outerRadius = arcTheme.outerRadius,\n innerRadius = arcTheme.innerRadius,\n padAngle = arcTheme.padAngle\n } = this.attribute;\n\n const { padRadius = sqrt(outerRadius * outerRadius + innerRadius * innerRadius) } = this.attribute;\n const deltaAngle = abs(endAngle - startAngle);\n\n // Or is it a circular or annular sector?\n let outerStartAngle = startAngle;\n let outerEndAngle = endAngle;\n let innerStartAngle = startAngle;\n let innerEndAngle = endAngle;\n const halfPadAngle = padAngle / 2;\n let innerDeltaAngle = deltaAngle;\n let outerDeltaAngle = deltaAngle;\n\n // Apply padding? Note that since r1 ≥ r0, outerDeltaAngle ≥ innerDeltaAngle.\n if (halfPadAngle > epsilon && padRadius > epsilon) {\n const sign = endAngle > startAngle ? 1 : -1;\n\n let p0 = asin((Number(padRadius) / innerRadius) * sin(halfPadAngle));\n let p1 = asin((Number(padRadius) / outerRadius) * sin(halfPadAngle));\n if ((innerDeltaAngle -= p0 * 2) > epsilon) {\n p0 *= sign;\n innerStartAngle += p0;\n innerEndAngle -= p0;\n } else {\n innerDeltaAngle = 0;\n innerStartAngle = innerEndAngle = (startAngle + endAngle) / 2;\n }\n if ((outerDeltaAngle -= p1 * 2) > epsilon) {\n p1 *= sign;\n outerStartAngle += p1;\n outerEndAngle -= p1;\n } else {\n outerDeltaAngle = 0;\n outerStartAngle = outerEndAngle = (startAngle + endAngle) / 2;\n }\n\n return {\n outerStartAngle,\n outerEndAngle,\n innerStartAngle,\n innerEndAngle,\n innerDeltaAngle,\n outerDeltaAngle\n };\n }\n\n return {\n outerStartAngle,\n outerEndAngle,\n innerStartAngle,\n innerEndAngle,\n innerDeltaAngle,\n outerDeltaAngle\n };\n }\n\n protected doUpdateAABBBounds(full?: boolean): AABBBounds {\n const arcTheme = getTheme(this).arc;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updateArcAABBBounds(\n attribute,\n getTheme(this).arc,\n this._AABBBounds,\n full,\n this\n ) as AABBBounds;\n\n const { boundsPadding = arcTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < ARC_UPDATE_TAG_KEY.length; i++) {\n const attrKey = ARC_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < ARC_UPDATE_TAG_KEY.length; i++) {\n const attrKey = ARC_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n getDefaultAttribute(name: string) {\n const arcTheme = getTheme(this).arc;\n return arcTheme[name];\n }\n\n toCustomPath() {\n const x = 0;\n const y = 0;\n\n const attribute = this.attribute;\n const { startAngle, endAngle } = this.getParsedAngle();\n let innerRadius = attribute.innerRadius;\n let outerRadius = attribute.outerRadius;\n const deltaAngle = abs(endAngle - startAngle);\n const clockwise: boolean = endAngle > startAngle;\n\n if (outerRadius < innerRadius) {\n const temp = outerRadius;\n outerRadius = innerRadius;\n innerRadius = temp;\n }\n\n const path = new CustomPath2D();\n\n if (outerRadius <= epsilon) {\n path.moveTo(x, y);\n } else if (deltaAngle >= pi2 - epsilon) {\n // 是个完整的圆环\n // Or is it a circle or annulus?\n path.moveTo(x + outerRadius * cos(startAngle), y + outerRadius * sin(startAngle));\n path.arc(x, y, outerRadius, startAngle, endAngle, !clockwise);\n if (innerRadius > epsilon) {\n path.moveTo(x + innerRadius * cos(endAngle), y + innerRadius * sin(endAngle));\n path.arc(x, y, innerRadius, endAngle, startAngle, clockwise);\n }\n } else {\n const xors = outerRadius * cos(startAngle);\n const yors = outerRadius * sin(startAngle);\n const xire = innerRadius * cos(endAngle);\n const yire = innerRadius * sin(endAngle);\n\n path.moveTo(x + xors, y + yors);\n path.arc(x, y, outerRadius, startAngle, endAngle, !clockwise);\n path.lineTo(x + xire, y + yire);\n path.arc(x, y, innerRadius, endAngle, startAngle, clockwise);\n path.closePath();\n }\n\n return path;\n }\n\n clone() {\n return new Arc({ ...this.attribute });\n }\n}\n\n// addAttributeToPrototype(DefaultCircleStyle, Circle, PURE_STYLE_KEY);\n"]}
@@ -1,7 +1,6 @@
1
1
  import { AABBBounds } from '@visactor/vutils';
2
2
  import { GraphicType, IArc3d, IArc3dGraphicAttribute } from '../interface';
3
3
  import { Arc } from './arc';
4
- export declare const ARC3D_NUMBER_TYPE: number;
5
4
  export declare class Arc3d extends Arc implements IArc3d {
6
5
  type: GraphicType;
7
6
  attribute: IArc3dGraphicAttribute;
@@ -1,14 +1,12 @@
1
- import { genNumberType } from "./graphic";
2
-
3
1
  import { Arc } from "./arc";
4
2
 
5
3
  import { getTheme } from "./theme";
6
4
 
7
- import { graphicService } from "../modules";
5
+ import { application } from "../application";
8
6
 
9
- import { parsePadding } from "../common";
7
+ import { parsePadding } from "../common/utils";
10
8
 
11
- export const ARC3D_NUMBER_TYPE = genNumberType();
9
+ import { ARC3D_NUMBER_TYPE } from "./constants";
12
10
 
13
11
  export class Arc3d extends Arc {
14
12
  constructor(params) {
@@ -17,7 +15,7 @@ export class Arc3d extends Arc {
17
15
  doUpdateAABBBounds() {
18
16
  const polygonTheme = getTheme(this).arc;
19
17
  this._AABBBounds.setValue(1 / 0, 1 / 0, -1 / 0, -1 / 0);
20
- const attribute = this.attribute, bounds = graphicService.updateArc3dAABBBounds(attribute, getTheme(this).polygon, this._AABBBounds, this), {boundsPadding: boundsPadding = polygonTheme.boundsPadding} = attribute, paddingArray = parsePadding(boundsPadding);
18
+ const attribute = this.attribute, bounds = application.graphicService.updateArc3dAABBBounds(attribute, getTheme(this).polygon, this._AABBBounds, this), {boundsPadding: boundsPadding = polygonTheme.boundsPadding} = attribute, paddingArray = parsePadding(boundsPadding);
21
19
  return paddingArray && bounds.expand(paddingArray), this.clearUpdateBoundTag(),
22
20
  this._AABBBounds;
23
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/arc3d.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEjD,MAAM,OAAO,KAAM,SAAQ,GAAG;IAI5B,YAAY,MAA8B;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC;QAJhB,SAAI,GAAgB,OAAO,CAAC;QAK1B,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;IACtC,CAAC;IAES,kBAAkB;QAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CACjD,SAAS,EACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAc,EAC7B,IAAI,CAAC,WAAW,EAChB,IAAI,CACS,CAAC;QAEhB,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;QACjE,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF","file":"arc3d.js","sourcesContent":["import { AABBBounds } from '@visactor/vutils';\nimport { GraphicType, IArc3d, IArc3dGraphicAttribute } from '../interface';\nimport { genNumberType } from './graphic';\nimport { Arc } from './arc';\nimport { getTheme } from './theme';\nimport { graphicService } from '../modules';\nimport { parsePadding } from '../common';\n\nexport const ARC3D_NUMBER_TYPE = genNumberType();\n\nexport class Arc3d extends Arc implements IArc3d {\n type: GraphicType = 'arc3d';\n declare attribute: IArc3dGraphicAttribute;\n\n constructor(params: IArc3dGraphicAttribute) {\n super(params);\n this.numberType = ARC3D_NUMBER_TYPE;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).arc;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = graphicService.updateArc3dAABBBounds(\n attribute,\n getTheme(this).polygon as any,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/graphic/arc3d.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,OAAO,KAAM,SAAQ,GAAG;IAI5B,YAAY,MAA8B;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC;QAJhB,SAAI,GAAgB,OAAO,CAAC;QAK1B,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;IACtC,CAAC;IAES,kBAAkB;QAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,qBAAqB,CAC7D,SAAS,EACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAc,EAC7B,IAAI,CAAC,WAAW,EAChB,IAAI,CACS,CAAC;QAEhB,MAAM,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC;QACjE,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF","file":"arc3d.js","sourcesContent":["import { AABBBounds } from '@visactor/vutils';\nimport { GraphicType, IArc3d, IArc3dGraphicAttribute } from '../interface';\nimport { Arc } from './arc';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { parsePadding } from '../common/utils';\nimport { ARC3D_NUMBER_TYPE } from './constants';\n\nexport class Arc3d extends Arc implements IArc3d {\n type: GraphicType = 'arc3d';\n declare attribute: IArc3dGraphicAttribute;\n\n constructor(params: IArc3dGraphicAttribute) {\n super(params);\n this.numberType = ARC3D_NUMBER_TYPE;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).arc;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = application.graphicService.updateArc3dAABBBounds(\n attribute,\n getTheme(this).polygon as any,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  import { AABBBounds, OBBBounds } from '@visactor/vutils';
2
2
  import { IArea, IAreaCacheItem, IAreaGraphicAttribute } from '../interface';
3
3
  import { Graphic } from './graphic';
4
- import { CustomPath2D } from '../common';
5
- export declare const AREA_NUMBER_TYPE: number;
4
+ import { CustomPath2D } from '../common/custom-path2d';
6
5
  export declare class Area extends Graphic<IAreaGraphicAttribute> implements IArea {
7
6
  type: 'area';
8
7
  cache?: IAreaCacheItem;
@@ -1,12 +1,14 @@
1
- import { Graphic, GRAPHIC_UPDATE_TAG_KEY, genNumberType } from "./graphic";
1
+ import { Graphic, GRAPHIC_UPDATE_TAG_KEY } from "./graphic";
2
2
 
3
- import { CustomPath2D, parsePadding, pointsInterpolation } from "../common";
3
+ import { CustomPath2D } from "../common/custom-path2d";
4
+
5
+ import { parsePadding, pointsInterpolation } from "../common/utils";
4
6
 
5
7
  import { getTheme } from "./theme";
6
8
 
7
- import { graphicService } from "../modules";
9
+ import { application } from "../application";
8
10
 
9
- export const AREA_NUMBER_TYPE = genNumberType();
11
+ import { AREA_NUMBER_TYPE } from "./constants";
10
12
 
11
13
  const AREA_UPDATE_TAG_KEY = [ "segments", "points", "curveType", ...GRAPHIC_UPDATE_TAG_KEY ];
12
14
 
@@ -24,7 +26,7 @@ export class Area extends Graphic {
24
26
  doUpdateAABBBounds() {
25
27
  const areaTheme = getTheme(this).area;
26
28
  this._AABBBounds.setValue(1 / 0, 1 / 0, -1 / 0, -1 / 0);
27
- const attribute = this.attribute, bounds = graphicService.updateAreaAABBBounds(attribute, getTheme(this).area, this._AABBBounds, this), {boundsPadding: boundsPadding = areaTheme.boundsPadding} = attribute, paddingArray = parsePadding(boundsPadding);
29
+ const attribute = this.attribute, bounds = application.graphicService.updateAreaAABBBounds(attribute, getTheme(this).area, this._AABBBounds, this), {boundsPadding: boundsPadding = areaTheme.boundsPadding} = attribute, paddingArray = parsePadding(boundsPadding);
28
30
  return paddingArray && bounds.expand(paddingArray), this.clearUpdateBoundTag(),
29
31
  bounds;
30
32
  }