@visactor/vrender-core 0.17.0-alpha.6 → 0.17.0-alpha.7

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 (528) hide show
  1. package/cjs/allocator/canvas-allocate.d.ts +0 -4
  2. package/cjs/allocator/canvas-allocate.js +6 -19
  3. package/cjs/allocator/canvas-allocate.js.map +1 -1
  4. package/cjs/allocator/graphic-allocate.d.ts +1 -56
  5. package/cjs/allocator/graphic-allocate.js +1 -163
  6. package/cjs/allocator/graphic-allocate.js.map +1 -1
  7. package/cjs/animate/Ticker/default-ticker.js +1 -1
  8. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  9. package/cjs/animate/config.js +2 -1
  10. package/cjs/animate/custom-animate.js +1 -2
  11. package/cjs/common/Reflect-metadata.js +359 -349
  12. package/cjs/common/Reflect-metadata.js.map +1 -1
  13. package/cjs/common/bezier-utils.js +1 -2
  14. package/cjs/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  15. package/cjs/common/{inversify/annotation/injectable.js → inversify-lite/annotation/post_construct.js} +5 -15
  16. package/cjs/common/inversify-lite/annotation/post_construct.js.map +1 -0
  17. package/cjs/common/inversify-lite/container/container.js +3 -1
  18. package/cjs/common/inversify-lite/container/container.js.map +1 -1
  19. package/cjs/common/inversify-lite/index.d.ts +8 -1
  20. package/cjs/common/inversify-lite/index.js +64 -1
  21. package/cjs/common/inversify-lite/index.js.map +1 -1
  22. package/cjs/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  23. package/cjs/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  24. package/cjs/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  25. package/cjs/common/inversify-lite/planning/queryable_string.js +10 -0
  26. package/cjs/common/inversify-lite/planning/queryable_string.js.map +1 -1
  27. package/cjs/common/inversify-lite/resolution/resolver.js.map +1 -1
  28. package/cjs/common/shape/rect.js +1 -2
  29. package/cjs/common/shape/rect.js.map +1 -1
  30. package/cjs/common/sort.js +2 -1
  31. package/cjs/common/split-path.js +1 -2
  32. package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  33. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +9 -4
  34. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  35. package/cjs/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  36. package/cjs/core/contributions/layerHandler/empty-contribution.js +9 -4
  37. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  38. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  39. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +9 -4
  40. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  41. package/cjs/core/contributions/textMeasure/modules.js +2 -1
  42. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  43. package/cjs/core/core-modules.js +6 -5
  44. package/cjs/core/core-modules.js.map +1 -1
  45. package/cjs/core/global.d.ts +0 -4
  46. package/cjs/core/global.js +5 -8
  47. package/cjs/core/global.js.map +1 -1
  48. package/cjs/core/graphic-utils.d.ts +4 -7
  49. package/cjs/core/graphic-utils.js +14 -18
  50. package/cjs/core/graphic-utils.js.map +1 -1
  51. package/cjs/core/layer-service.d.ts +2 -2
  52. package/cjs/core/layer-service.js +10 -5
  53. package/cjs/core/layer-service.js.map +1 -1
  54. package/cjs/core/stage.d.ts +4 -7
  55. package/cjs/core/stage.js +34 -38
  56. package/cjs/core/stage.js.map +1 -1
  57. package/cjs/core/window.d.ts +2 -2
  58. package/cjs/core/window.js +12 -7
  59. package/cjs/core/window.js.map +1 -1
  60. package/cjs/event/event-manager.js +2 -3
  61. package/cjs/event/event-manager.js.map +1 -1
  62. package/cjs/graphic/config.js +0 -4
  63. package/cjs/graphic/config.js.map +1 -1
  64. package/cjs/graphic/graphic-service/arc-contribution.d.ts +5 -1
  65. package/cjs/graphic/graphic-service/arc-contribution.js +18 -0
  66. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  67. package/cjs/graphic/graphic-service/area-contribution.d.ts +1 -1
  68. package/cjs/graphic/graphic-service/area-contribution.js +4 -1
  69. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  70. package/cjs/graphic/graphic-service/circle-contribution.d.ts +5 -1
  71. package/cjs/graphic/graphic-service/circle-contribution.js +18 -0
  72. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  73. package/cjs/graphic/graphic-service/common-contribution.js +11 -2
  74. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  75. package/cjs/graphic/graphic-service/graphic-module.js +17 -2
  76. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  77. package/cjs/graphic/graphic-service/graphic-service.d.ts +7 -2
  78. package/cjs/graphic/graphic-service/graphic-service.js +28 -22
  79. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  80. package/cjs/graphic/graphic-service/path-contribution.d.ts +5 -1
  81. package/cjs/graphic/graphic-service/path-contribution.js +18 -0
  82. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  83. package/cjs/graphic/graphic-service/rect-contribution.d.ts +5 -1
  84. package/cjs/graphic/graphic-service/rect-contribution.js +18 -0
  85. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  86. package/cjs/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  87. package/cjs/graphic/graphic-service/symbol-contribution.js +13 -4
  88. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  89. package/cjs/graphic/graphic.js +2 -3
  90. package/cjs/graphic/graphic.js.map +1 -1
  91. package/cjs/graphic/group.d.ts +0 -1
  92. package/cjs/graphic/group.js +3 -7
  93. package/cjs/graphic/group.js.map +1 -1
  94. package/cjs/graphic/rect.d.ts +3 -2
  95. package/cjs/graphic/rect.js +5 -3
  96. package/cjs/graphic/rect.js.map +1 -1
  97. package/cjs/graphic/symbol.js +4 -7
  98. package/cjs/graphic/symbol.js.map +1 -1
  99. package/cjs/graphic/theme.d.ts +4 -4
  100. package/cjs/graphic/theme.js +28 -27
  101. package/cjs/graphic/theme.js.map +1 -1
  102. package/cjs/index.d.ts +0 -2
  103. package/cjs/index.js +0 -1
  104. package/cjs/index.js.map +1 -1
  105. package/cjs/interface/allocator.d.ts +0 -1
  106. package/cjs/interface/allocator.js.map +1 -1
  107. package/cjs/interface/global.d.ts +0 -1
  108. package/cjs/interface/global.js.map +1 -1
  109. package/cjs/interface/graphic/rect.d.ts +0 -2
  110. package/cjs/interface/graphic/rect.js.map +1 -1
  111. package/cjs/interface/render.d.ts +2 -2
  112. package/cjs/interface/render.js.map +1 -1
  113. package/cjs/interface/stage.d.ts +1 -2
  114. package/cjs/interface/stage.js.map +1 -1
  115. package/cjs/modules.d.ts +2 -1
  116. package/cjs/modules.js +8 -8
  117. package/cjs/modules.js.map +1 -1
  118. package/cjs/picker/global-picker-service.d.ts +2 -2
  119. package/cjs/picker/global-picker-service.js +9 -4
  120. package/cjs/picker/global-picker-service.js.map +1 -1
  121. package/cjs/picker/pick-modules.js +4 -2
  122. package/cjs/picker/pick-modules.js.map +1 -1
  123. package/cjs/picker/picker-service.d.ts +2 -2
  124. package/cjs/picker/picker-service.js +6 -6
  125. package/cjs/picker/picker-service.js.map +1 -1
  126. package/cjs/plugins/plugin-modules.js +2 -1
  127. package/cjs/plugins/plugin-modules.js.map +1 -1
  128. package/cjs/render/contributions/render/arc-render.js +1 -2
  129. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  130. package/cjs/render/contributions/render/area-render.d.ts +0 -1
  131. package/cjs/render/contributions/render/area-render.js +6 -44
  132. package/cjs/render/contributions/render/area-render.js.map +1 -1
  133. package/cjs/render/contributions/render/base-render.d.ts +1 -1
  134. package/cjs/render/contributions/render/base-render.js +18 -15
  135. package/cjs/render/contributions/render/base-render.js.map +1 -1
  136. package/cjs/render/contributions/render/circle-render.js +1 -2
  137. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  138. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  139. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +30 -7
  140. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  141. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  142. package/cjs/render/contributions/render/contributions/area-contribution-render.js +21 -7
  143. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  144. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  145. package/cjs/render/contributions/render/contributions/base-contribution-render.js +9 -9
  146. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  147. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  148. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +30 -7
  149. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  150. package/cjs/render/contributions/render/contributions/constants.d.ts +0 -1
  151. package/cjs/render/contributions/render/contributions/constants.js +2 -2
  152. package/cjs/render/contributions/render/contributions/constants.js.map +1 -1
  153. package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  154. package/cjs/render/contributions/render/contributions/group-contribution-render.js +12 -6
  155. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  156. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  157. package/cjs/render/contributions/render/contributions/image-contribution-render.js +12 -6
  158. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  159. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  160. package/cjs/render/contributions/render/contributions/path-contribution-render.js +25 -4
  161. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  162. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  163. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +25 -4
  164. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  165. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  166. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +37 -17
  167. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  168. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  169. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +27 -6
  170. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  171. package/cjs/render/contributions/render/draw-contribution.d.ts +6 -7
  172. package/cjs/render/contributions/render/draw-contribution.js +22 -31
  173. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  174. package/cjs/render/contributions/render/draw-interceptor.d.ts +1 -9
  175. package/cjs/render/contributions/render/draw-interceptor.js +27 -41
  176. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  177. package/cjs/render/contributions/render/group-render.js +2 -3
  178. package/cjs/render/contributions/render/group-render.js.map +1 -1
  179. package/cjs/render/contributions/render/image-render.js +1 -2
  180. package/cjs/render/contributions/render/image-render.js.map +1 -1
  181. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  182. package/cjs/render/contributions/render/incremental-draw-contribution.js +11 -8
  183. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  184. package/cjs/render/contributions/render/line-render.d.ts +0 -1
  185. package/cjs/render/contributions/render/line-render.js +6 -21
  186. package/cjs/render/contributions/render/line-render.js.map +1 -1
  187. package/cjs/render/contributions/render/module.js +87 -32
  188. package/cjs/render/contributions/render/module.js.map +1 -1
  189. package/cjs/render/contributions/render/path-render.d.ts +1 -2
  190. package/cjs/render/contributions/render/path-render.js +5 -8
  191. package/cjs/render/contributions/render/path-render.js.map +1 -1
  192. package/cjs/render/contributions/render/polygon-render.js +1 -2
  193. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  194. package/cjs/render/contributions/render/rect-render.d.ts +1 -2
  195. package/cjs/render/contributions/render/rect-render.js +5 -11
  196. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  197. package/cjs/render/contributions/render/render-slector.d.ts +4 -1
  198. package/cjs/render/contributions/render/render-slector.js +20 -0
  199. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  200. package/cjs/render/contributions/render/symbol-render.js +1 -2
  201. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  202. package/cjs/render/contributions/render/text-render.js +8 -10
  203. package/cjs/render/contributions/render/text-render.js.map +1 -1
  204. package/cjs/render/contributions/render/utils.js +2 -2
  205. package/cjs/render/contributions/render/utils.js.map +1 -1
  206. package/cjs/render/render-modules.js +1 -1
  207. package/cjs/render/render-modules.js.map +1 -1
  208. package/cjs/render/render-service.js +1 -1
  209. package/cjs/render/render-service.js.map +1 -1
  210. package/dist/index.js +6749 -5780
  211. package/dist/index.min.js +1 -1
  212. package/es/allocator/canvas-allocate.d.ts +0 -4
  213. package/es/allocator/canvas-allocate.js +6 -19
  214. package/es/allocator/canvas-allocate.js.map +1 -1
  215. package/es/allocator/graphic-allocate.d.ts +1 -56
  216. package/es/allocator/graphic-allocate.js +1 -155
  217. package/es/allocator/graphic-allocate.js.map +1 -1
  218. package/es/animate/Ticker/default-ticker.js +1 -1
  219. package/es/animate/Ticker/default-ticker.js.map +1 -1
  220. package/es/animate/config.js +2 -1
  221. package/es/animate/custom-animate.js +1 -2
  222. package/es/common/Reflect-metadata.js +359 -349
  223. package/es/common/Reflect-metadata.js.map +1 -1
  224. package/es/common/bezier-utils.js +1 -2
  225. package/es/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  226. package/es/common/inversify-lite/annotation/post_construct.js +10 -0
  227. package/es/common/inversify-lite/annotation/post_construct.js.map +1 -0
  228. package/es/common/inversify-lite/container/container.js +4 -2
  229. package/es/common/inversify-lite/container/container.js.map +1 -1
  230. package/es/common/inversify-lite/index.d.ts +8 -1
  231. package/es/common/inversify-lite/index.js +15 -1
  232. package/es/common/inversify-lite/index.js.map +1 -1
  233. package/es/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  234. package/es/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  235. package/es/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  236. package/es/common/inversify-lite/planning/queryable_string.js +10 -0
  237. package/es/common/inversify-lite/planning/queryable_string.js.map +1 -1
  238. package/es/common/inversify-lite/resolution/resolver.js.map +1 -1
  239. package/es/common/shape/rect.js +1 -2
  240. package/es/common/shape/rect.js.map +1 -1
  241. package/es/common/sort.js +2 -1
  242. package/es/common/split-path.js +1 -2
  243. package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  244. package/es/core/contributions/layerHandler/canvas2d-contribution.js +9 -5
  245. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  246. package/es/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  247. package/es/core/contributions/layerHandler/empty-contribution.js +9 -5
  248. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  249. package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  250. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +9 -5
  251. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  252. package/es/core/contributions/textMeasure/modules.js +1 -1
  253. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  254. package/es/core/core-modules.js +6 -4
  255. package/es/core/core-modules.js.map +1 -1
  256. package/es/core/global.d.ts +0 -4
  257. package/es/core/global.js +4 -8
  258. package/es/core/global.js.map +1 -1
  259. package/es/core/graphic-utils.d.ts +4 -7
  260. package/es/core/graphic-utils.js +15 -20
  261. package/es/core/graphic-utils.js.map +1 -1
  262. package/es/core/layer-service.d.ts +2 -2
  263. package/es/core/layer-service.js +10 -6
  264. package/es/core/layer-service.js.map +1 -1
  265. package/es/core/stage.d.ts +4 -7
  266. package/es/core/stage.js +36 -42
  267. package/es/core/stage.js.map +1 -1
  268. package/es/core/window.d.ts +2 -2
  269. package/es/core/window.js +12 -8
  270. package/es/core/window.js.map +1 -1
  271. package/es/event/event-manager.js +2 -3
  272. package/es/event/event-manager.js.map +1 -1
  273. package/es/graphic/config.js +0 -4
  274. package/es/graphic/config.js.map +1 -1
  275. package/es/graphic/graphic-service/arc-contribution.d.ts +5 -1
  276. package/es/graphic/graphic-service/arc-contribution.js +15 -0
  277. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  278. package/es/graphic/graphic-service/area-contribution.d.ts +1 -1
  279. package/es/graphic/graphic-service/area-contribution.js +1 -2
  280. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  281. package/es/graphic/graphic-service/circle-contribution.d.ts +5 -1
  282. package/es/graphic/graphic-service/circle-contribution.js +15 -0
  283. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  284. package/es/graphic/graphic-service/common-contribution.js +14 -2
  285. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  286. package/es/graphic/graphic-service/graphic-module.js +23 -1
  287. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  288. package/es/graphic/graphic-service/graphic-service.d.ts +7 -2
  289. package/es/graphic/graphic-service/graphic-service.js +30 -23
  290. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  291. package/es/graphic/graphic-service/path-contribution.d.ts +5 -1
  292. package/es/graphic/graphic-service/path-contribution.js +15 -0
  293. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  294. package/es/graphic/graphic-service/rect-contribution.d.ts +5 -1
  295. package/es/graphic/graphic-service/rect-contribution.js +15 -0
  296. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  297. package/es/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  298. package/es/graphic/graphic-service/symbol-contribution.js +16 -2
  299. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  300. package/es/graphic/graphic.js +2 -3
  301. package/es/graphic/graphic.js.map +1 -1
  302. package/es/graphic/group.d.ts +0 -1
  303. package/es/graphic/group.js +1 -8
  304. package/es/graphic/group.js.map +1 -1
  305. package/es/graphic/rect.d.ts +3 -2
  306. package/es/graphic/rect.js +7 -3
  307. package/es/graphic/rect.js.map +1 -1
  308. package/es/graphic/symbol.js +4 -6
  309. package/es/graphic/symbol.js.map +1 -1
  310. package/es/graphic/theme.d.ts +4 -4
  311. package/es/graphic/theme.js +29 -26
  312. package/es/graphic/theme.js.map +1 -1
  313. package/es/index.d.ts +0 -2
  314. package/es/index.js +0 -4
  315. package/es/index.js.map +1 -1
  316. package/es/interface/allocator.d.ts +0 -1
  317. package/es/interface/allocator.js.map +1 -1
  318. package/es/interface/global.d.ts +0 -1
  319. package/es/interface/global.js.map +1 -1
  320. package/es/interface/graphic/rect.d.ts +0 -2
  321. package/es/interface/graphic/rect.js.map +1 -1
  322. package/es/interface/render.d.ts +2 -2
  323. package/es/interface/render.js.map +1 -1
  324. package/es/interface/stage.d.ts +1 -2
  325. package/es/interface/stage.js.map +1 -1
  326. package/es/modules.d.ts +2 -1
  327. package/es/modules.js +4 -0
  328. package/es/modules.js.map +1 -1
  329. package/es/picker/global-picker-service.d.ts +2 -2
  330. package/es/picker/global-picker-service.js +9 -5
  331. package/es/picker/global-picker-service.js.map +1 -1
  332. package/es/picker/pick-modules.js +4 -1
  333. package/es/picker/pick-modules.js.map +1 -1
  334. package/es/picker/picker-service.d.ts +2 -2
  335. package/es/picker/picker-service.js +5 -5
  336. package/es/picker/picker-service.js.map +1 -1
  337. package/es/plugins/plugin-modules.js +2 -1
  338. package/es/plugins/plugin-modules.js.map +1 -1
  339. package/es/render/contributions/render/arc-render.js +0 -3
  340. package/es/render/contributions/render/arc-render.js.map +1 -1
  341. package/es/render/contributions/render/area-render.d.ts +0 -1
  342. package/es/render/contributions/render/area-render.js +5 -45
  343. package/es/render/contributions/render/area-render.js.map +1 -1
  344. package/es/render/contributions/render/base-render.d.ts +1 -1
  345. package/es/render/contributions/render/base-render.js +22 -15
  346. package/es/render/contributions/render/base-render.js.map +1 -1
  347. package/es/render/contributions/render/circle-render.js +0 -3
  348. package/es/render/contributions/render/circle-render.js.map +1 -1
  349. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  350. package/es/render/contributions/render/contributions/arc-contribution-render.js +32 -6
  351. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  352. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  353. package/es/render/contributions/render/contributions/area-contribution-render.js +23 -5
  354. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  355. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  356. package/es/render/contributions/render/contributions/base-contribution-render.js +10 -6
  357. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  358. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  359. package/es/render/contributions/render/contributions/circle-contribution-render.js +32 -6
  360. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  361. package/es/render/contributions/render/contributions/constants.d.ts +0 -1
  362. package/es/render/contributions/render/contributions/constants.js +0 -2
  363. package/es/render/contributions/render/contributions/constants.js.map +1 -1
  364. package/es/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  365. package/es/render/contributions/render/contributions/group-contribution-render.js +13 -3
  366. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  367. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  368. package/es/render/contributions/render/contributions/image-contribution-render.js +14 -4
  369. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  370. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  371. package/es/render/contributions/render/contributions/path-contribution-render.js +29 -3
  372. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  373. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  374. package/es/render/contributions/render/contributions/polygon-contribution-render.js +29 -3
  375. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  376. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  377. package/es/render/contributions/render/contributions/rect-contribution-render.js +46 -19
  378. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  379. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  380. package/es/render/contributions/render/contributions/symbol-contribution-render.js +24 -6
  381. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  382. package/es/render/contributions/render/draw-contribution.d.ts +6 -7
  383. package/es/render/contributions/render/draw-contribution.js +24 -35
  384. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  385. package/es/render/contributions/render/draw-interceptor.d.ts +1 -9
  386. package/es/render/contributions/render/draw-interceptor.js +35 -38
  387. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  388. package/es/render/contributions/render/group-render.js +1 -4
  389. package/es/render/contributions/render/group-render.js.map +1 -1
  390. package/es/render/contributions/render/image-render.js +1 -3
  391. package/es/render/contributions/render/image-render.js.map +1 -1
  392. package/es/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  393. package/es/render/contributions/render/incremental-draw-contribution.js +11 -5
  394. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  395. package/es/render/contributions/render/line-render.d.ts +0 -1
  396. package/es/render/contributions/render/line-render.js +6 -21
  397. package/es/render/contributions/render/line-render.js.map +1 -1
  398. package/es/render/contributions/render/module.js +83 -29
  399. package/es/render/contributions/render/module.js.map +1 -1
  400. package/es/render/contributions/render/path-render.d.ts +1 -2
  401. package/es/render/contributions/render/path-render.js +4 -8
  402. package/es/render/contributions/render/path-render.js.map +1 -1
  403. package/es/render/contributions/render/polygon-render.js +0 -3
  404. package/es/render/contributions/render/polygon-render.js.map +1 -1
  405. package/es/render/contributions/render/rect-render.d.ts +1 -2
  406. package/es/render/contributions/render/rect-render.js +3 -11
  407. package/es/render/contributions/render/rect-render.js.map +1 -1
  408. package/es/render/contributions/render/render-slector.d.ts +4 -1
  409. package/es/render/contributions/render/render-slector.js +15 -0
  410. package/es/render/contributions/render/render-slector.js.map +1 -1
  411. package/es/render/contributions/render/symbol-render.js +0 -3
  412. package/es/render/contributions/render/symbol-render.js.map +1 -1
  413. package/es/render/contributions/render/text-render.js +8 -10
  414. package/es/render/contributions/render/text-render.js.map +1 -1
  415. package/es/render/contributions/render/utils.js +2 -2
  416. package/es/render/contributions/render/utils.js.map +1 -1
  417. package/es/render/render-modules.js +1 -1
  418. package/es/render/render-modules.js.map +1 -1
  419. package/es/render/render-service.js +1 -1
  420. package/es/render/render-service.js.map +1 -1
  421. package/package.json +4 -6
  422. package/cjs/allocator/bounds-allocate.d.ts +0 -13
  423. package/cjs/allocator/bounds-allocate.js +0 -38
  424. package/cjs/allocator/bounds-allocate.js.map +0 -1
  425. package/cjs/common/inversify/annotation/inject.d.ts +0 -1
  426. package/cjs/common/inversify/annotation/inject.js +0 -10
  427. package/cjs/common/inversify/annotation/inject.js.map +0 -1
  428. package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
  429. package/cjs/common/inversify/annotation/inject_base.js +0 -39
  430. package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
  431. package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
  432. package/cjs/common/inversify/annotation/injectable.js.map +0 -1
  433. package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
  434. package/cjs/common/inversify/annotation/multi_inject.js +0 -10
  435. package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
  436. package/cjs/common/inversify/annotation/named.d.ts +0 -1
  437. package/cjs/common/inversify/annotation/named.js +0 -14
  438. package/cjs/common/inversify/annotation/named.js.map +0 -1
  439. package/cjs/common/inversify/binding.d.ts +0 -18
  440. package/cjs/common/inversify/binding.js +0 -26
  441. package/cjs/common/inversify/binding.js.map +0 -1
  442. package/cjs/common/inversify/container.d.ts +0 -28
  443. package/cjs/common/inversify/container.js +0 -155
  444. package/cjs/common/inversify/container.js.map +0 -1
  445. package/cjs/common/inversify/cotainer-module.d.ts +0 -6
  446. package/cjs/common/inversify/cotainer-module.js +0 -16
  447. package/cjs/common/inversify/cotainer-module.js.map +0 -1
  448. package/cjs/common/inversify/index.d.ts +0 -7
  449. package/cjs/common/inversify/index.js +0 -75
  450. package/cjs/common/inversify/index.js.map +0 -1
  451. package/cjs/common/inversify/interfaces.d.ts +0 -218
  452. package/cjs/common/inversify/interfaces.js +0 -6
  453. package/cjs/common/inversify/interfaces.js.map +0 -1
  454. package/cjs/common/inversify/literal_types.d.ts +0 -5
  455. package/cjs/common/inversify/literal_types.js +0 -34
  456. package/cjs/common/inversify/literal_types.js.map +0 -1
  457. package/cjs/common/inversify/meta-data.d.ts +0 -6
  458. package/cjs/common/inversify/meta-data.js +0 -19
  459. package/cjs/common/inversify/meta-data.js.map +0 -1
  460. package/cjs/common/inversify/metadata_keys.d.ts +0 -12
  461. package/cjs/common/inversify/metadata_keys.js +0 -15
  462. package/cjs/common/inversify/metadata_keys.js.map +0 -1
  463. package/cjs/common/inversify/metadata_reader.d.ts +0 -6
  464. package/cjs/common/inversify/metadata_reader.js +0 -28
  465. package/cjs/common/inversify/metadata_reader.js.map +0 -1
  466. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  467. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
  468. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  469. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  470. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
  471. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  472. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  473. package/cjs/common/inversify/syntax/constraint_helpers.js +0 -18
  474. package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
  475. package/es/allocator/bounds-allocate.d.ts +0 -13
  476. package/es/allocator/bounds-allocate.js +0 -32
  477. package/es/allocator/bounds-allocate.js.map +0 -1
  478. package/es/common/inversify/annotation/inject.d.ts +0 -1
  479. package/es/common/inversify/annotation/inject.js +0 -6
  480. package/es/common/inversify/annotation/inject.js.map +0 -1
  481. package/es/common/inversify/annotation/inject_base.d.ts +0 -14
  482. package/es/common/inversify/annotation/inject_base.js +0 -29
  483. package/es/common/inversify/annotation/inject_base.js.map +0 -1
  484. package/es/common/inversify/annotation/injectable.d.ts +0 -1
  485. package/es/common/inversify/annotation/injectable.js +0 -10
  486. package/es/common/inversify/annotation/injectable.js.map +0 -1
  487. package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
  488. package/es/common/inversify/annotation/multi_inject.js +0 -6
  489. package/es/common/inversify/annotation/multi_inject.js.map +0 -1
  490. package/es/common/inversify/annotation/named.d.ts +0 -1
  491. package/es/common/inversify/annotation/named.js +0 -10
  492. package/es/common/inversify/annotation/named.js.map +0 -1
  493. package/es/common/inversify/binding.d.ts +0 -18
  494. package/es/common/inversify/binding.js +0 -22
  495. package/es/common/inversify/binding.js.map +0 -1
  496. package/es/common/inversify/container.d.ts +0 -28
  497. package/es/common/inversify/container.js +0 -155
  498. package/es/common/inversify/container.js.map +0 -1
  499. package/es/common/inversify/cotainer-module.d.ts +0 -6
  500. package/es/common/inversify/cotainer-module.js +0 -8
  501. package/es/common/inversify/cotainer-module.js.map +0 -1
  502. package/es/common/inversify/index.d.ts +0 -7
  503. package/es/common/inversify/index.js +0 -14
  504. package/es/common/inversify/index.js.map +0 -1
  505. package/es/common/inversify/interfaces.d.ts +0 -218
  506. package/es/common/inversify/interfaces.js +0 -2
  507. package/es/common/inversify/interfaces.js.map +0 -1
  508. package/es/common/inversify/literal_types.d.ts +0 -5
  509. package/es/common/inversify/literal_types.js +0 -20
  510. package/es/common/inversify/literal_types.js.map +0 -1
  511. package/es/common/inversify/meta-data.d.ts +0 -6
  512. package/es/common/inversify/meta-data.js +0 -11
  513. package/es/common/inversify/meta-data.js.map +0 -1
  514. package/es/common/inversify/metadata_keys.d.ts +0 -12
  515. package/es/common/inversify/metadata_keys.js +0 -28
  516. package/es/common/inversify/metadata_keys.js.map +0 -1
  517. package/es/common/inversify/metadata_reader.d.ts +0 -6
  518. package/es/common/inversify/metadata_reader.js +0 -18
  519. package/es/common/inversify/metadata_reader.js.map +0 -1
  520. package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  521. package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
  522. package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  523. package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  524. package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
  525. package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  526. package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  527. package/es/common/inversify/syntax/constraint_helpers.js +0 -16
  528. package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/event/event-manager.ts"],"names":[],"mappings":"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","file":"event-manager.js","sourcesContent":["import type { Dict } from '@visactor/vutils';\nimport { EventEmitter, get } from '@visactor/vutils';\nimport { FederatedMouseEvent, FederatedPointerEvent, FederatedWheelEvent } from './federated-event';\nimport type { IEventTarget } from '../interface/event';\nimport { WILDCARD } from './constant';\nimport type { FederatedEvent } from './federated-event/base-event';\nimport { clock } from './util';\nimport type { Cursor, IGraphic } from '../interface';\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// The maximum iterations used in propagation. This prevent infinite loops.\nconst PROPAGATION_LIMIT = 2048;\n\ntype TrackingData = {\n pressTargetsByButton: {\n [id: number]: IEventTarget[];\n };\n clicksByButton: {\n [id: number]: {\n clickCount: number;\n target: IEventTarget;\n timeStamp: number;\n };\n };\n overTargets: IEventTarget[];\n};\n\ntype EmitterListener = { fn: (...args: any[]) => any; context: any; once: boolean };\ntype EmitterListeners = Record<string, EmitterListener | EmitterListener[]>;\n\nfunction isMouseLike(pointerType: string) {\n return pointerType === 'mouse' || pointerType === 'pen';\n}\n\nexport class EventManager {\n rootTarget: IEventTarget;\n\n dispatch: any = new EventEmitter();\n\n cursor: Cursor | string;\n\n protected mappingTable: Record<\n string,\n Array<{\n fn: (e: FederatedEvent, target: IEventTarget) => void;\n priority: number;\n }>\n >;\n\n protected mappingState: Record<string, any> = {\n trackingData: {}\n };\n\n protected eventPool: Map<typeof FederatedEvent, FederatedEvent[]> = new Map();\n\n // 缓存上一个坐标点的拾取结果,用于优化在同一个点连续触发事件的拾取逻辑\n private _prePointTargetCache: Dict<IEventTarget> & { stageRenderCount: number };\n\n constructor(root: IEventTarget) {\n this.rootTarget = root;\n this.mappingTable = {};\n this.addEventMapping('pointerdown', this.onPointerDown);\n this.addEventMapping('pointermove', this.onPointerMove);\n this.addEventMapping('pointerout', this.onPointerOut);\n this.addEventMapping('pointerleave', this.onPointerOut);\n this.addEventMapping('pointerover', this.onPointerOver);\n this.addEventMapping('pointerup', this.onPointerUp);\n this.addEventMapping('pointerupoutside', this.onPointerUpOutside);\n this.addEventMapping('wheel', this.onWheel);\n }\n\n addEventMapping(type: string, fn: (e: FederatedEvent, target: IEventTarget) => void): void {\n if (!this.mappingTable[type]) {\n this.mappingTable[type] = [];\n }\n\n this.mappingTable[type].push({\n fn,\n priority: 0\n });\n this.mappingTable[type].sort((a, b) => a.priority - b.priority);\n }\n\n dispatchEvent(e: FederatedEvent, type?: string): void {\n e.propagationStopped = false;\n e.propagationImmediatelyStopped = false;\n\n this.propagate(e, type);\n this.dispatch.emit(type || e.type, e);\n }\n\n mapEvent(e: FederatedEvent): void {\n if (!this.rootTarget) {\n return;\n }\n const mappers = this.mappingTable[e.type];\n\n let target;\n const cacheKey = `${e.canvasX}-${e.canvasY}`;\n if (\n this._prePointTargetCache?.[cacheKey] &&\n (this._prePointTargetCache?.[cacheKey] as unknown as IGraphic)?.stage &&\n (this._prePointTargetCache?.[cacheKey] as unknown as IGraphic)?.stage.renderCount ===\n (this._prePointTargetCache?.stageRenderCount as number)\n ) {\n target = this._prePointTargetCache[cacheKey];\n } else {\n target = this.pickTarget(e.canvasX, e.canvasY, e);\n // 缓存上一个坐标点的拾取结果,减少拾取的次数,如 pointermove pointerdown 和 pointerup 在同一个点触发\n // 如果存在params,那么就不缓存\n if (!(e as any).pickParams) {\n this._prePointTargetCache = {\n [cacheKey]: target,\n stageRenderCount: target?.stage.renderCount ?? -1\n };\n }\n }\n\n if (mappers) {\n for (let i = 0, j = mappers.length; i < j; i++) {\n mappers[i].fn(e, target);\n }\n } else {\n console.warn(`[EventManager]: Event mapping not defined for ${e.type}`);\n }\n }\n\n propagate(e: FederatedEvent, type?: string): void {\n if (!e.target) {\n return;\n }\n\n const composedPath = e.composedPath();\n\n e.eventPhase = e.CAPTURING_PHASE;\n\n for (let i = 0, j = composedPath.length - 1; i < j; i++) {\n e.currentTarget = composedPath[i];\n\n this.notifyTarget(e, type);\n\n if (e.propagationStopped || e.propagationImmediatelyStopped) {\n return;\n }\n }\n\n e.eventPhase = e.AT_TARGET;\n e.currentTarget = e.target;\n\n this.notifyTarget(e, type);\n\n if (e.propagationStopped || e.propagationImmediatelyStopped) {\n return;\n }\n\n e.eventPhase = e.BUBBLING_PHASE;\n\n for (let i = composedPath.length - 2; i >= 0; i--) {\n e.currentTarget = composedPath[i];\n this.notifyTarget(e, type);\n\n if (e.propagationStopped || e.propagationImmediatelyStopped) {\n return;\n }\n }\n }\n\n propagationPath(target: IEventTarget): IEventTarget[] {\n const propagationPath = [target];\n\n for (let i = 0; i < PROPAGATION_LIMIT && target !== this.rootTarget && target.parent; i++) {\n if (!target.parent) {\n throw new Error('Cannot find propagation path to disconnected target');\n }\n\n propagationPath.push(target.parent);\n\n target = target.parent;\n }\n\n propagationPath.reverse();\n\n return propagationPath;\n }\n\n protected notifyTarget(e: FederatedEvent, type?: string): void {\n type = type ?? e.type;\n const key = e.eventPhase === e.CAPTURING_PHASE || e.eventPhase === e.AT_TARGET ? `${type}capture` : type;\n\n this.notifyListeners(e, key);\n\n if (e.eventPhase === e.AT_TARGET) {\n this.notifyListeners(e, type);\n }\n }\n\n protected onPointerDown = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const e = this.createPointerEvent(from, from.type, target);\n\n this.dispatchEvent(e, 'pointerdown');\n\n if (e.pointerType === 'touch') {\n this.dispatchEvent(e, 'touchstart');\n } else if (isMouseLike(e.pointerType)) {\n const isRightButton = e.button === 2;\n\n this.dispatchEvent(e, isRightButton ? 'rightdown' : 'mousedown');\n }\n\n const trackingData = this.trackingData(from.pointerId);\n\n trackingData.pressTargetsByButton[from.button] = e.composedPath();\n\n this.freeEvent(e);\n };\n\n protected onPointerMove = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const e = this.createPointerEvent(from, from.type, target);\n const isMouse = isMouseLike(e.pointerType);\n const trackingData = this.trackingData(from.pointerId);\n const outTarget = this.findMountedTarget(trackingData.overTargets);\n\n if (trackingData.overTargets && outTarget && outTarget !== this.rootTarget && outTarget !== e.target) {\n const outType = from.type === 'mousemove' ? 'mouseout' : 'pointerout';\n const outEvent = this.createPointerEvent(from, outType, outTarget || undefined);\n\n this.dispatchEvent(outEvent, 'pointerout');\n if (isMouse) {\n this.dispatchEvent(outEvent, 'mouseout');\n }\n if (!e.composedPath().includes(outTarget!)) {\n const leaveEvent = this.createPointerEvent(from, 'pointerleave', outTarget || undefined);\n\n leaveEvent.eventPhase = leaveEvent.AT_TARGET;\n\n while (leaveEvent.target && !e.composedPath().includes(leaveEvent.target)) {\n leaveEvent.currentTarget = leaveEvent.target;\n\n this.notifyTarget(leaveEvent);\n if (isMouse) {\n this.notifyTarget(leaveEvent, 'mouseleave');\n }\n\n leaveEvent.target = leaveEvent.target.parent as IEventTarget;\n }\n\n this.freeEvent(leaveEvent);\n }\n\n this.freeEvent(outEvent);\n }\n\n if (outTarget !== e.target) {\n const overType = from.type === 'mousemove' ? 'mouseover' : 'pointerover';\n const overEvent = this.clonePointerEvent(e, overType);\n\n this.dispatchEvent(overEvent, 'pointerover');\n if (isMouse) {\n this.dispatchEvent(overEvent, 'mouseover');\n }\n\n let overTargetAncestor = outTarget?.parent;\n\n while (overTargetAncestor && overTargetAncestor !== this.rootTarget.parent) {\n if (overTargetAncestor === e.target) {\n break;\n }\n\n overTargetAncestor = overTargetAncestor.parent;\n }\n\n const didPointerEnter = !overTargetAncestor || overTargetAncestor === this.rootTarget.parent;\n\n if (didPointerEnter) {\n const enterEvent = this.clonePointerEvent(e, 'pointerenter');\n\n enterEvent.eventPhase = enterEvent.AT_TARGET;\n\n while (enterEvent.target && enterEvent.target !== outTarget && enterEvent.target !== this.rootTarget.parent) {\n enterEvent.currentTarget = enterEvent.target;\n\n this.notifyTarget(enterEvent);\n if (isMouse) {\n this.notifyTarget(enterEvent, 'mouseenter');\n }\n\n enterEvent.target = enterEvent.target.parent as IEventTarget;\n }\n\n this.freeEvent(enterEvent);\n }\n\n this.freeEvent(overEvent);\n }\n\n const propagationMethod = 'dispatchEvent';\n\n this[propagationMethod](e, 'pointermove');\n\n if (e.pointerType === 'touch') {\n this[propagationMethod](e, 'touchmove');\n }\n\n if (isMouse) {\n this[propagationMethod](e, 'mousemove');\n this.cursor = (e.target?.attribute?.cursor as Cursor) || this.rootTarget.getCursor();\n }\n\n trackingData.overTargets = e.composedPath();\n\n this.freeEvent(e);\n };\n\n protected onPointerOver = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const trackingData = this.trackingData(from.pointerId);\n const e = this.createPointerEvent(from, from.type, target);\n const isMouse = isMouseLike(e.pointerType);\n\n this.dispatchEvent(e, 'pointerover');\n if (isMouse) {\n this.dispatchEvent(e, 'mouseover');\n }\n if (e.pointerType === 'mouse') {\n this.cursor = (e.target?.attribute?.cursor as Cursor) || this.rootTarget.getCursor();\n }\n\n const enterEvent = this.clonePointerEvent(e, 'pointerenter');\n\n enterEvent.eventPhase = enterEvent.AT_TARGET;\n\n while (enterEvent.target && enterEvent.target !== this.rootTarget.parent) {\n enterEvent.currentTarget = enterEvent.target;\n\n this.notifyTarget(enterEvent);\n if (isMouse) {\n this.notifyTarget(enterEvent, 'mouseenter');\n }\n\n enterEvent.target = enterEvent.target.parent as IEventTarget;\n }\n\n trackingData.overTargets = e.composedPath();\n\n this.freeEvent(e);\n this.freeEvent(enterEvent);\n };\n\n protected onPointerOut = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const trackingData = this.trackingData(from.pointerId);\n\n if (trackingData.overTargets) {\n const isMouse = isMouseLike(from.pointerType);\n const outTarget = this.findMountedTarget(trackingData.overTargets);\n\n const outEvent = this.createPointerEvent(from, 'pointerout', outTarget || undefined);\n\n this.dispatchEvent(outEvent);\n if (isMouse) {\n this.dispatchEvent(outEvent, 'mouseout');\n }\n\n const leaveEvent = this.createPointerEvent(from, 'pointerleave', outTarget || undefined);\n\n leaveEvent.eventPhase = leaveEvent.AT_TARGET;\n\n while (leaveEvent.target && leaveEvent.target !== this.rootTarget.parent) {\n leaveEvent.currentTarget = leaveEvent.target;\n\n this.notifyTarget(leaveEvent);\n if (isMouse) {\n this.notifyTarget(leaveEvent, 'mouseleave');\n }\n\n leaveEvent.target = leaveEvent.target.parent as IEventTarget;\n }\n\n trackingData.overTargets = [];\n\n this.freeEvent(outEvent);\n this.freeEvent(leaveEvent);\n }\n\n this.cursor = '';\n };\n\n protected onPointerUp = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const now = clock.now();\n const e = this.createPointerEvent(from, from.type, target);\n\n this.dispatchEvent(e, 'pointerup');\n\n if (e.pointerType === 'touch') {\n this.dispatchEvent(e, 'touchend');\n } else if (isMouseLike(e.pointerType)) {\n const isRightButton = e.button === 2;\n\n this.dispatchEvent(e, isRightButton ? 'rightup' : 'mouseup');\n }\n\n const trackingData = this.trackingData(from.pointerId);\n const pressTarget = this.findMountedTarget(trackingData.pressTargetsByButton[from.button]);\n\n let clickTarget = pressTarget;\n\n if (pressTarget && !e.composedPath().includes(pressTarget)) {\n let currentTarget = pressTarget;\n\n while (currentTarget && !e.composedPath().includes(currentTarget)) {\n e.currentTarget = currentTarget;\n\n this.notifyTarget(e, 'pointerupoutside');\n\n if (e.pointerType === 'touch') {\n this.notifyTarget(e, 'touchendoutside');\n } else if (isMouseLike(e.pointerType)) {\n const isRightButton = e.button === 2;\n\n this.notifyTarget(e, isRightButton ? 'rightupoutside' : 'mouseupoutside');\n }\n\n currentTarget = currentTarget.parent as IEventTarget;\n }\n\n delete trackingData.pressTargetsByButton[from.button];\n\n clickTarget = currentTarget;\n }\n\n if (clickTarget) {\n const clickEvent = this.clonePointerEvent(e, 'click');\n\n clickEvent.target = clickTarget;\n clickEvent.path = [];\n\n if (!trackingData.clicksByButton[from.button]) {\n trackingData.clicksByButton[from.button] = {\n clickCount: 0,\n target: clickEvent.target,\n timeStamp: now\n };\n }\n\n const clickHistory = trackingData.clicksByButton[from.button];\n\n if (clickHistory.target === clickEvent.target && now - clickHistory.timeStamp < 200) {\n ++clickHistory.clickCount;\n } else {\n clickHistory.clickCount = 1;\n }\n\n clickHistory.target = clickEvent.target;\n clickHistory.timeStamp = now;\n\n clickEvent.detail = clickHistory.clickCount;\n\n if (isMouseLike(clickEvent.pointerType)) {\n this.dispatchEvent(clickEvent, 'click');\n\n if (clickHistory.clickCount === 2) {\n // 双击\n this.dispatchEvent(clickEvent, 'dblclick');\n }\n } else if (clickEvent.pointerType === 'touch') {\n this.dispatchEvent(clickEvent, 'tap');\n if (clickHistory.clickCount === 2) {\n // 双击\n this.dispatchEvent(clickEvent, 'dbltap');\n }\n }\n\n this.dispatchEvent(clickEvent, 'pointertap');\n\n this.freeEvent(clickEvent);\n }\n\n this.freeEvent(e);\n };\n\n protected onPointerUpOutside = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const trackingData = this.trackingData(from.pointerId);\n const pressTarget = this.findMountedTarget(trackingData.pressTargetsByButton[from.button]);\n const e = this.createPointerEvent(from, from.type, target);\n\n if (pressTarget) {\n let currentTarget = pressTarget;\n\n while (currentTarget) {\n e.currentTarget = currentTarget;\n\n this.notifyTarget(e, 'pointerupoutside');\n\n if (e.pointerType === 'touch') {\n this.notifyTarget(e, 'touchendoutside');\n } else if (isMouseLike(e.pointerType)) {\n this.notifyTarget(e, e.button === 2 ? 'rightupoutside' : 'mouseupoutside');\n }\n\n currentTarget = currentTarget.parent as IEventTarget;\n }\n\n delete trackingData.pressTargetsByButton[from.button];\n }\n\n this.freeEvent(e);\n };\n\n protected onWheel = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedWheelEvent)) {\n console.warn('EventManager cannot map a non-wheel event as a wheel event');\n\n return;\n }\n\n const wheelEvent = this.createWheelEvent(from, target);\n\n this.dispatchEvent(wheelEvent);\n this.freeEvent(wheelEvent);\n };\n\n protected findMountedTarget(propagationPath: IEventTarget[] | null): IEventTarget | null {\n if (!propagationPath) {\n return null;\n }\n\n let currentTarget = propagationPath[0];\n\n for (let i = 1; i < propagationPath.length; i++) {\n if (propagationPath[i].parent === currentTarget) {\n currentTarget = propagationPath[i];\n } else {\n break;\n }\n }\n\n return currentTarget;\n }\n\n protected createPointerEvent(\n from: FederatedPointerEvent,\n type?: string,\n target?: IEventTarget\n ): FederatedPointerEvent {\n const event = this.allocateEvent(FederatedPointerEvent);\n\n this.copyPointerData(from, event);\n this.copyMouseData(from, event);\n this.copyData(from, event);\n\n event.nativeEvent = from.nativeEvent;\n event.originalEvent = from;\n\n if (target) {\n event.target = target;\n } else {\n event.target = this.pickTarget(event.global.x, event.global.y, event);\n }\n\n if (typeof type === 'string') {\n event.type = type;\n }\n\n return event;\n }\n\n protected createWheelEvent(from: FederatedWheelEvent, target?: IEventTarget): FederatedWheelEvent {\n const event = this.allocateEvent(FederatedWheelEvent);\n\n this.copyWheelData(from, event);\n this.copyMouseData(from, event);\n this.copyData(from, event);\n\n event.nativeEvent = from.nativeEvent;\n event.originalEvent = from;\n event.target = target || this.pickTarget(event.global.x, event.global.y, event);\n\n return event;\n }\n\n protected clonePointerEvent(from: FederatedPointerEvent, type?: string): FederatedPointerEvent {\n const event = this.allocateEvent(FederatedPointerEvent);\n\n event.nativeEvent = from.nativeEvent;\n event.originalEvent = from.originalEvent;\n\n this.copyPointerData(from, event);\n this.copyMouseData(from, event);\n this.copyData(from, event);\n\n event.target = from.target;\n event.path = from.composedPath().slice();\n event.type = type ?? event.type;\n\n return event;\n }\n\n copyWheelData(from: FederatedWheelEvent, to: FederatedWheelEvent): void {\n to.deltaMode = from.deltaMode;\n to.deltaX = from.deltaX;\n to.deltaY = from.deltaY;\n to.deltaZ = from.deltaZ;\n }\n\n copyPointerData(from: FederatedEvent, to: FederatedEvent): void {\n if (!(from instanceof FederatedPointerEvent && to instanceof FederatedPointerEvent)) {\n return;\n }\n\n to.pointerId = from.pointerId;\n to.width = from.width;\n to.height = from.height;\n to.isPrimary = from.isPrimary;\n to.pointerType = from.pointerType;\n to.pressure = from.pressure;\n to.tangentialPressure = from.tangentialPressure;\n to.tiltX = from.tiltX;\n to.tiltY = from.tiltY;\n to.twist = from.twist;\n }\n\n copyMouseData(from: FederatedEvent, to: FederatedEvent): void {\n if (!(from instanceof FederatedMouseEvent && to instanceof FederatedMouseEvent)) {\n return;\n }\n\n to.altKey = from.altKey;\n to.button = from.button;\n to.buttons = from.buttons;\n to.client.copyFrom(from.client);\n to.ctrlKey = from.ctrlKey;\n to.shiftKey = from.shiftKey;\n to.metaKey = from.metaKey;\n to.movement.copyFrom(from.movement);\n\n to.canvas.copyFrom(from.canvas);\n to.screen.copyFrom(from.screen);\n to.global.copyFrom(from.global);\n to.offset.copyFrom(from.offset);\n to.viewport.copyFrom(from.viewport);\n }\n\n copyData(from: FederatedEvent, to: FederatedEvent): void {\n to.isTrusted = from.isTrusted;\n to.srcElement = from.srcElement;\n to.timeStamp = clock.now();\n to.type = from.type;\n to.detail = from.detail;\n to.view = from.view;\n to.which = from.which;\n to.layer.copyFrom(from.layer);\n to.page.copyFrom(from.page);\n (to as any).pickParams = (from as any).pickParams;\n }\n\n protected trackingData(id: number): TrackingData {\n if (!this.mappingState.trackingData[id]) {\n this.mappingState.trackingData[id] = {\n pressTargetsByButton: {},\n clicksByButton: {},\n overTarget: null\n };\n }\n\n return this.mappingState.trackingData[id];\n }\n\n protected allocateEvent<T extends FederatedEvent>(constructor: { new (boundary: EventManager): T }): T {\n if (!this.eventPool.has(constructor as any)) {\n this.eventPool.set(constructor as any, []);\n }\n\n const event = (this.eventPool.get(constructor as any)?.pop() as T) || new constructor(this);\n\n event.eventPhase = event.NONE;\n event.currentTarget = null;\n event.path = [];\n event.target = null;\n\n return event;\n }\n\n protected freeEvent<T extends FederatedEvent>(event: T): void {\n if (event.manager !== this) {\n throw new Error('It is illegal to free an event not managed by this EventManager!');\n }\n\n const constructor = event.constructor;\n\n if (!this.eventPool.has(constructor as any)) {\n this.eventPool.set(constructor as any, []);\n }\n\n this.eventPool.get(constructor as any)?.push(event);\n }\n\n private notifyListeners(e: FederatedEvent, type: string): void {\n const events = (e.currentTarget as any)._events as EmitterListeners;\n const listeners = events[type];\n\n if (listeners) {\n if ('fn' in listeners) {\n if (listeners.once) {\n e.currentTarget.removeEventListener(type, listeners.fn, { once: true });\n }\n listeners.fn.call(listeners.context, e);\n } else {\n for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) {\n if (listeners[i].once) {\n e.currentTarget.removeEventListener(type, listeners[i].fn, { once: true });\n }\n listeners[i].fn.call(listeners[i].context, e);\n }\n }\n }\n // 永远触发WILDCARD事件代理\n this.emitDelegation(e, type);\n }\n\n private emitDelegation(e: FederatedEvent, type: string): void {\n const events = (e.currentTarget as any)._events as EmitterListeners;\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\n private pickTarget(x: number, y: number, e: any) {\n let target;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const pickResult = this.rootTarget.pick(x, y);\n if (pickResult && pickResult.graphic) {\n target = pickResult.graphic;\n } else if (pickResult && pickResult.group) {\n target = pickResult.group;\n } else if (x >= 0 && x <= get(this.rootTarget, 'width') && y >= 0 && y <= get(this.rootTarget, 'height')) {\n target = this.rootTarget;\n } else {\n target = null;\n }\n if (e) {\n e.pickParams = pickResult.params;\n }\n return target;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/event/event-manager.ts"],"names":[],"mappings":"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","file":"event-manager.js","sourcesContent":["import type { Dict } from '@visactor/vutils';\nimport { EventEmitter, get } from '@visactor/vutils';\nimport { FederatedMouseEvent, FederatedPointerEvent, FederatedWheelEvent } from './federated-event';\nimport type { IEventTarget } from '../interface/event';\nimport { WILDCARD } from './constant';\nimport type { FederatedEvent } from './federated-event/base-event';\nimport { clock } from './util';\nimport type { Cursor, IGraphic } from '../interface';\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// The maximum iterations used in propagation. This prevent infinite loops.\nconst PROPAGATION_LIMIT = 2048;\n\ntype TrackingData = {\n pressTargetsByButton: {\n [id: number]: IEventTarget[];\n };\n clicksByButton: {\n [id: number]: {\n clickCount: number;\n target: IEventTarget;\n timeStamp: number;\n };\n };\n overTargets: IEventTarget[];\n};\n\ntype EmitterListener = { fn: (...args: any[]) => any; context: any; once: boolean };\ntype EmitterListeners = Record<string, EmitterListener | EmitterListener[]>;\n\nfunction isMouseLike(pointerType: string) {\n return pointerType === 'mouse' || pointerType === 'pen';\n}\n\nexport class EventManager {\n rootTarget: IEventTarget;\n\n dispatch: any = new EventEmitter();\n\n cursor: Cursor | string;\n\n protected mappingTable: Record<\n string,\n Array<{\n fn: (e: FederatedEvent, target: IEventTarget) => void;\n priority: number;\n }>\n >;\n\n protected mappingState: Record<string, any> = {\n trackingData: {}\n };\n\n protected eventPool: Map<typeof FederatedEvent, FederatedEvent[]> = new Map();\n\n // 缓存上一个坐标点的拾取结果,用于优化在同一个点连续触发事件的拾取逻辑\n private _prePointTargetCache: Dict<IEventTarget> & { stageRenderCount: number };\n\n constructor(root: IEventTarget) {\n this.rootTarget = root;\n this.mappingTable = {};\n this.addEventMapping('pointerdown', this.onPointerDown);\n this.addEventMapping('pointermove', this.onPointerMove);\n this.addEventMapping('pointerout', this.onPointerOut);\n this.addEventMapping('pointerleave', this.onPointerOut);\n this.addEventMapping('pointerover', this.onPointerOver);\n this.addEventMapping('pointerup', this.onPointerUp);\n this.addEventMapping('pointerupoutside', this.onPointerUpOutside);\n this.addEventMapping('wheel', this.onWheel);\n }\n\n addEventMapping(type: string, fn: (e: FederatedEvent, target: IEventTarget) => void): void {\n if (!this.mappingTable[type]) {\n this.mappingTable[type] = [];\n }\n\n this.mappingTable[type].push({\n fn,\n priority: 0\n });\n this.mappingTable[type].sort((a, b) => a.priority - b.priority);\n }\n\n dispatchEvent(e: FederatedEvent, type?: string): void {\n e.propagationStopped = false;\n e.propagationImmediatelyStopped = false;\n\n this.propagate(e, type);\n this.dispatch.emit(type || e.type, e);\n }\n\n mapEvent(e: FederatedEvent): void {\n if (!this.rootTarget) {\n return;\n }\n const mappers = this.mappingTable[e.type];\n\n let target;\n const cacheKey = `${e.canvasX}-${e.canvasY}`;\n if (\n this._prePointTargetCache?.[cacheKey] &&\n (this._prePointTargetCache?.[cacheKey] as unknown as IGraphic)?.stage &&\n (this._prePointTargetCache?.[cacheKey] as unknown as IGraphic)?.stage.renderCount ===\n (this._prePointTargetCache?.stageRenderCount as number)\n ) {\n target = this._prePointTargetCache[cacheKey];\n } else {\n target = this.pickTarget(e.canvasX, e.canvasY, e);\n // 缓存上一个坐标点的拾取结果,减少拾取的次数,如 pointermove pointerdown 和 pointerup 在同一个点触发\n // 如果存在params,那么就不缓存\n if (!(e as any).pickParams) {\n this._prePointTargetCache = {\n [cacheKey]: target,\n stageRenderCount: target?.stage.renderCount ?? -1\n };\n }\n }\n\n if (mappers) {\n for (let i = 0, j = mappers.length; i < j; i++) {\n mappers[i].fn(e, target);\n }\n } else {\n console.warn(`[EventManager]: Event mapping not defined for ${e.type}`);\n }\n }\n\n propagate(e: FederatedEvent, type?: string): void {\n if (!e.target) {\n return;\n }\n\n const composedPath = e.composedPath();\n\n e.eventPhase = e.CAPTURING_PHASE;\n\n for (let i = 0, j = composedPath.length - 1; i < j; i++) {\n e.currentTarget = composedPath[i];\n\n this.notifyTarget(e, type);\n\n if (e.propagationStopped || e.propagationImmediatelyStopped) {\n return;\n }\n }\n\n e.eventPhase = e.AT_TARGET;\n e.currentTarget = e.target;\n\n this.notifyTarget(e, type);\n\n if (e.propagationStopped || e.propagationImmediatelyStopped) {\n return;\n }\n\n e.eventPhase = e.BUBBLING_PHASE;\n\n for (let i = composedPath.length - 2; i >= 0; i--) {\n e.currentTarget = composedPath[i];\n this.notifyTarget(e, type);\n\n if (e.propagationStopped || e.propagationImmediatelyStopped) {\n return;\n }\n }\n }\n\n propagationPath(target: IEventTarget): IEventTarget[] {\n const propagationPath = [target];\n\n for (let i = 0; i < PROPAGATION_LIMIT && target !== this.rootTarget && target.parent; i++) {\n if (!target.parent) {\n throw new Error('Cannot find propagation path to disconnected target');\n }\n\n propagationPath.push(target.parent);\n\n target = target.parent;\n }\n\n propagationPath.reverse();\n\n return propagationPath;\n }\n\n protected notifyTarget(e: FederatedEvent, type?: string): void {\n type = type ?? e.type;\n const key = e.eventPhase === e.CAPTURING_PHASE || e.eventPhase === e.AT_TARGET ? `${type}capture` : type;\n\n this.notifyListeners(e, key);\n\n if (e.eventPhase === e.AT_TARGET) {\n this.notifyListeners(e, type);\n }\n }\n\n protected onPointerDown = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const e = this.createPointerEvent(from, from.type, target);\n\n this.dispatchEvent(e, 'pointerdown');\n\n if (e.pointerType === 'touch') {\n this.dispatchEvent(e, 'touchstart');\n } else if (isMouseLike(e.pointerType)) {\n const isRightButton = e.button === 2;\n\n this.dispatchEvent(e, isRightButton ? 'rightdown' : 'mousedown');\n }\n\n const trackingData = this.trackingData(from.pointerId);\n\n trackingData.pressTargetsByButton[from.button] = e.composedPath();\n\n this.freeEvent(e);\n };\n\n protected onPointerMove = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const e = this.createPointerEvent(from, from.type, target);\n const isMouse = isMouseLike(e.pointerType);\n const trackingData = this.trackingData(from.pointerId);\n const outTarget = this.findMountedTarget(trackingData.overTargets);\n\n if (trackingData.overTargets && outTarget && outTarget !== this.rootTarget && outTarget !== e.target) {\n const outType = from.type === 'mousemove' ? 'mouseout' : 'pointerout';\n const outEvent = this.createPointerEvent(from, outType, outTarget || undefined);\n\n this.dispatchEvent(outEvent, 'pointerout');\n if (isMouse) {\n this.dispatchEvent(outEvent, 'mouseout');\n }\n if (!e.composedPath().includes(outTarget!)) {\n const leaveEvent = this.createPointerEvent(from, 'pointerleave', outTarget || undefined);\n\n leaveEvent.eventPhase = leaveEvent.AT_TARGET;\n\n while (leaveEvent.target && !e.composedPath().includes(leaveEvent.target)) {\n leaveEvent.currentTarget = leaveEvent.target;\n\n this.notifyTarget(leaveEvent);\n if (isMouse) {\n this.notifyTarget(leaveEvent, 'mouseleave');\n }\n\n leaveEvent.target = leaveEvent.target.parent as IEventTarget;\n }\n\n this.freeEvent(leaveEvent);\n }\n\n this.freeEvent(outEvent);\n }\n\n if (outTarget !== e.target) {\n const overType = from.type === 'mousemove' ? 'mouseover' : 'pointerover';\n const overEvent = this.clonePointerEvent(e, overType);\n\n this.dispatchEvent(overEvent, 'pointerover');\n if (isMouse) {\n this.dispatchEvent(overEvent, 'mouseover');\n }\n\n let overTargetAncestor = outTarget?.parent;\n\n while (overTargetAncestor && overTargetAncestor !== this.rootTarget.parent) {\n if (overTargetAncestor === e.target) {\n break;\n }\n\n overTargetAncestor = overTargetAncestor.parent;\n }\n\n const didPointerEnter = !overTargetAncestor || overTargetAncestor === this.rootTarget.parent;\n\n if (didPointerEnter) {\n const enterEvent = this.clonePointerEvent(e, 'pointerenter');\n\n enterEvent.eventPhase = enterEvent.AT_TARGET;\n\n while (enterEvent.target && enterEvent.target !== outTarget && enterEvent.target !== this.rootTarget.parent) {\n enterEvent.currentTarget = enterEvent.target;\n\n this.notifyTarget(enterEvent);\n if (isMouse) {\n this.notifyTarget(enterEvent, 'mouseenter');\n }\n\n enterEvent.target = enterEvent.target.parent as IEventTarget;\n }\n\n this.freeEvent(enterEvent);\n }\n\n this.freeEvent(overEvent);\n }\n\n const propagationMethod = 'dispatchEvent';\n\n this[propagationMethod](e, 'pointermove');\n\n if (e.pointerType === 'touch') {\n this[propagationMethod](e, 'touchmove');\n }\n\n if (isMouse) {\n this[propagationMethod](e, 'mousemove');\n this.cursor = (e.target?.attribute?.cursor as Cursor) || this.rootTarget.getCursor();\n }\n\n trackingData.overTargets = e.composedPath();\n\n this.freeEvent(e);\n };\n\n protected onPointerOver = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const trackingData = this.trackingData(from.pointerId);\n const e = this.createPointerEvent(from, from.type, target);\n const isMouse = isMouseLike(e.pointerType);\n\n this.dispatchEvent(e, 'pointerover');\n if (isMouse) {\n this.dispatchEvent(e, 'mouseover');\n }\n if (e.pointerType === 'mouse') {\n this.cursor = (e.target?.attribute?.cursor as Cursor) || this.rootTarget.getCursor();\n }\n\n const enterEvent = this.clonePointerEvent(e, 'pointerenter');\n\n enterEvent.eventPhase = enterEvent.AT_TARGET;\n\n while (enterEvent.target && enterEvent.target !== this.rootTarget.parent) {\n enterEvent.currentTarget = enterEvent.target;\n\n this.notifyTarget(enterEvent);\n if (isMouse) {\n this.notifyTarget(enterEvent, 'mouseenter');\n }\n\n enterEvent.target = enterEvent.target.parent as IEventTarget;\n }\n\n trackingData.overTargets = e.composedPath();\n\n this.freeEvent(e);\n this.freeEvent(enterEvent);\n };\n\n protected onPointerOut = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const trackingData = this.trackingData(from.pointerId);\n\n if (trackingData.overTargets) {\n const isMouse = isMouseLike(from.pointerType);\n const outTarget = this.findMountedTarget(trackingData.overTargets);\n\n const outEvent = this.createPointerEvent(from, 'pointerout', outTarget || undefined);\n\n this.dispatchEvent(outEvent);\n if (isMouse) {\n this.dispatchEvent(outEvent, 'mouseout');\n }\n\n const leaveEvent = this.createPointerEvent(from, 'pointerleave', outTarget || undefined);\n\n leaveEvent.eventPhase = leaveEvent.AT_TARGET;\n\n while (leaveEvent.target && leaveEvent.target !== this.rootTarget.parent) {\n leaveEvent.currentTarget = leaveEvent.target;\n\n this.notifyTarget(leaveEvent);\n if (isMouse) {\n this.notifyTarget(leaveEvent, 'mouseleave');\n }\n\n leaveEvent.target = leaveEvent.target.parent as IEventTarget;\n }\n\n trackingData.overTargets = [];\n\n this.freeEvent(outEvent);\n this.freeEvent(leaveEvent);\n }\n\n this.cursor = '';\n };\n\n protected onPointerUp = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const now = clock.now();\n const e = this.createPointerEvent(from, from.type, target);\n\n this.dispatchEvent(e, 'pointerup');\n\n if (e.pointerType === 'touch') {\n this.dispatchEvent(e, 'touchend');\n } else if (isMouseLike(e.pointerType)) {\n const isRightButton = e.button === 2;\n\n this.dispatchEvent(e, isRightButton ? 'rightup' : 'mouseup');\n }\n\n const trackingData = this.trackingData(from.pointerId);\n const pressTarget = this.findMountedTarget(trackingData.pressTargetsByButton[from.button]);\n\n let clickTarget = pressTarget;\n\n if (pressTarget && !e.composedPath().includes(pressTarget)) {\n let currentTarget = pressTarget;\n\n while (currentTarget && !e.composedPath().includes(currentTarget)) {\n e.currentTarget = currentTarget;\n\n this.notifyTarget(e, 'pointerupoutside');\n\n if (e.pointerType === 'touch') {\n this.notifyTarget(e, 'touchendoutside');\n } else if (isMouseLike(e.pointerType)) {\n const isRightButton = e.button === 2;\n\n this.notifyTarget(e, isRightButton ? 'rightupoutside' : 'mouseupoutside');\n }\n\n currentTarget = currentTarget.parent as IEventTarget;\n }\n\n delete trackingData.pressTargetsByButton[from.button];\n\n clickTarget = currentTarget;\n }\n\n if (clickTarget) {\n const clickEvent = this.clonePointerEvent(e, 'click');\n\n clickEvent.target = clickTarget;\n clickEvent.path = [];\n\n if (!trackingData.clicksByButton[from.button]) {\n trackingData.clicksByButton[from.button] = {\n clickCount: 0,\n target: clickEvent.target,\n timeStamp: now\n };\n }\n\n const clickHistory = trackingData.clicksByButton[from.button];\n\n if (clickHistory.target === clickEvent.target && now - clickHistory.timeStamp < 200) {\n ++clickHistory.clickCount;\n } else {\n clickHistory.clickCount = 1;\n }\n\n clickHistory.target = clickEvent.target;\n clickHistory.timeStamp = now;\n\n clickEvent.detail = clickHistory.clickCount;\n\n if (isMouseLike(clickEvent.pointerType)) {\n this.dispatchEvent(clickEvent, 'click');\n\n if (clickHistory.clickCount === 2) {\n // 双击\n this.dispatchEvent(clickEvent, 'dblclick');\n }\n } else if (clickEvent.pointerType === 'touch') {\n this.dispatchEvent(clickEvent, 'tap');\n }\n\n this.dispatchEvent(clickEvent, 'pointertap');\n\n this.freeEvent(clickEvent);\n }\n\n this.freeEvent(e);\n };\n\n protected onPointerUpOutside = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedPointerEvent)) {\n console.warn('EventManager cannot map a non-pointer event as a pointer event');\n\n return;\n }\n\n const trackingData = this.trackingData(from.pointerId);\n const pressTarget = this.findMountedTarget(trackingData.pressTargetsByButton[from.button]);\n const e = this.createPointerEvent(from, from.type, target);\n\n if (pressTarget) {\n let currentTarget = pressTarget;\n\n while (currentTarget) {\n e.currentTarget = currentTarget;\n\n this.notifyTarget(e, 'pointerupoutside');\n\n if (e.pointerType === 'touch') {\n this.notifyTarget(e, 'touchendoutside');\n } else if (isMouseLike(e.pointerType)) {\n this.notifyTarget(e, e.button === 2 ? 'rightupoutside' : 'mouseupoutside');\n }\n\n currentTarget = currentTarget.parent as IEventTarget;\n }\n\n delete trackingData.pressTargetsByButton[from.button];\n }\n\n this.freeEvent(e);\n };\n\n protected onWheel = (from: FederatedEvent, target: IEventTarget) => {\n if (!(from instanceof FederatedWheelEvent)) {\n console.warn('EventManager cannot map a non-wheel event as a wheel event');\n\n return;\n }\n\n const wheelEvent = this.createWheelEvent(from, target);\n\n this.dispatchEvent(wheelEvent);\n this.freeEvent(wheelEvent);\n };\n\n protected findMountedTarget(propagationPath: IEventTarget[] | null): IEventTarget | null {\n if (!propagationPath) {\n return null;\n }\n\n let currentTarget = propagationPath[0];\n\n for (let i = 1; i < propagationPath.length; i++) {\n if (propagationPath[i].parent === currentTarget) {\n currentTarget = propagationPath[i];\n } else {\n break;\n }\n }\n\n return currentTarget;\n }\n\n protected createPointerEvent(\n from: FederatedPointerEvent,\n type?: string,\n target?: IEventTarget\n ): FederatedPointerEvent {\n const event = this.allocateEvent(FederatedPointerEvent);\n\n this.copyPointerData(from, event);\n this.copyMouseData(from, event);\n this.copyData(from, event);\n\n event.nativeEvent = from.nativeEvent;\n event.originalEvent = from;\n\n if (target) {\n event.target = target;\n } else {\n event.target = this.pickTarget(event.global.x, event.global.y, event);\n }\n\n if (typeof type === 'string') {\n event.type = type;\n }\n\n return event;\n }\n\n protected createWheelEvent(from: FederatedWheelEvent, target?: IEventTarget): FederatedWheelEvent {\n const event = this.allocateEvent(FederatedWheelEvent);\n\n this.copyWheelData(from, event);\n this.copyMouseData(from, event);\n this.copyData(from, event);\n\n event.nativeEvent = from.nativeEvent;\n event.originalEvent = from;\n event.target = target || this.pickTarget(event.global.x, event.global.y, event);\n\n return event;\n }\n\n protected clonePointerEvent(from: FederatedPointerEvent, type?: string): FederatedPointerEvent {\n const event = this.allocateEvent(FederatedPointerEvent);\n\n event.nativeEvent = from.nativeEvent;\n event.originalEvent = from.originalEvent;\n\n this.copyPointerData(from, event);\n this.copyMouseData(from, event);\n this.copyData(from, event);\n\n event.target = from.target;\n event.path = from.composedPath().slice();\n event.type = type ?? event.type;\n\n return event;\n }\n\n copyWheelData(from: FederatedWheelEvent, to: FederatedWheelEvent): void {\n to.deltaMode = from.deltaMode;\n to.deltaX = from.deltaX;\n to.deltaY = from.deltaY;\n to.deltaZ = from.deltaZ;\n }\n\n copyPointerData(from: FederatedEvent, to: FederatedEvent): void {\n if (!(from instanceof FederatedPointerEvent && to instanceof FederatedPointerEvent)) {\n return;\n }\n\n to.pointerId = from.pointerId;\n to.width = from.width;\n to.height = from.height;\n to.isPrimary = from.isPrimary;\n to.pointerType = from.pointerType;\n to.pressure = from.pressure;\n to.tangentialPressure = from.tangentialPressure;\n to.tiltX = from.tiltX;\n to.tiltY = from.tiltY;\n to.twist = from.twist;\n }\n\n copyMouseData(from: FederatedEvent, to: FederatedEvent): void {\n if (!(from instanceof FederatedMouseEvent && to instanceof FederatedMouseEvent)) {\n return;\n }\n\n to.altKey = from.altKey;\n to.button = from.button;\n to.buttons = from.buttons;\n to.client.copyFrom(from.client);\n to.ctrlKey = from.ctrlKey;\n to.shiftKey = from.shiftKey;\n to.metaKey = from.metaKey;\n to.movement.copyFrom(from.movement);\n\n to.canvas.copyFrom(from.canvas);\n to.screen.copyFrom(from.screen);\n to.global.copyFrom(from.global);\n to.offset.copyFrom(from.offset);\n to.viewport.copyFrom(from.viewport);\n }\n\n copyData(from: FederatedEvent, to: FederatedEvent): void {\n to.isTrusted = from.isTrusted;\n to.srcElement = from.srcElement;\n to.timeStamp = clock.now();\n to.type = from.type;\n to.detail = from.detail;\n to.view = from.view;\n to.which = from.which;\n to.layer.copyFrom(from.layer);\n to.page.copyFrom(from.page);\n (to as any).pickParams = (from as any).pickParams;\n }\n\n protected trackingData(id: number): TrackingData {\n if (!this.mappingState.trackingData[id]) {\n this.mappingState.trackingData[id] = {\n pressTargetsByButton: {},\n clicksByButton: {},\n overTarget: null\n };\n }\n\n return this.mappingState.trackingData[id];\n }\n\n protected allocateEvent<T extends FederatedEvent>(constructor: { new (boundary: EventManager): T }): T {\n if (!this.eventPool.has(constructor as any)) {\n this.eventPool.set(constructor as any, []);\n }\n\n const event = (this.eventPool.get(constructor as any)?.pop() as T) || new constructor(this);\n\n event.eventPhase = event.NONE;\n event.currentTarget = null;\n event.path = [];\n event.target = null;\n\n return event;\n }\n\n protected freeEvent<T extends FederatedEvent>(event: T): void {\n if (event.manager !== this) {\n throw new Error('It is illegal to free an event not managed by this EventManager!');\n }\n\n const constructor = event.constructor;\n\n if (!this.eventPool.has(constructor as any)) {\n this.eventPool.set(constructor as any, []);\n }\n\n this.eventPool.get(constructor as any)?.push(event);\n }\n\n private notifyListeners(e: FederatedEvent, type: string): void {\n const events = (e.currentTarget as any)._events as EmitterListeners;\n const listeners = events[type];\n\n if (listeners) {\n if ('fn' in listeners) {\n if (listeners.once) {\n e.currentTarget.removeEventListener(type, listeners.fn, { once: true });\n }\n listeners.fn.call(listeners.context, e);\n } else {\n for (let i = 0, j = listeners.length; i < j && !e.propagationImmediatelyStopped; i++) {\n if (listeners[i].once) {\n e.currentTarget.removeEventListener(type, listeners[i].fn, { once: true });\n }\n listeners[i].fn.call(listeners[i].context, e);\n }\n }\n }\n // 永远触发WILDCARD事件代理\n this.emitDelegation(e, type);\n }\n\n private emitDelegation(e: FederatedEvent, type: string): void {\n const events = (e.currentTarget as any)._events as EmitterListeners;\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\n private pickTarget(x: number, y: number, e: any) {\n let target;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const pickResult = this.rootTarget.pick(x, y);\n if (pickResult && pickResult.graphic) {\n target = pickResult.graphic;\n } else if (pickResult && pickResult.group) {\n target = pickResult.group;\n } else if (x >= 0 && x <= get(this.rootTarget, 'width') && y >= 0 && y <= get(this.rootTarget, 'height')) {\n target = this.rootTarget;\n } else {\n target = null;\n }\n if (e) {\n e.pickParams = pickResult.params;\n }\n return target;\n }\n}\n"]}
@@ -207,8 +207,6 @@ export const DefaultPolygonAttribute = Object.assign(Object.assign({}, DefaultAt
207
207
  export const DefaultRectAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
208
208
  width: 0,
209
209
  height: 0,
210
- x1: 0,
211
- y1: 0,
212
210
  strokeBoundsBuffer: 0,
213
211
  cornerRadius: 0
214
212
  });
@@ -216,8 +214,6 @@ export const DefaultRectAttribute = Object.assign(Object.assign({}, DefaultAttri
216
214
  export const DefaultRect3dAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
217
215
  width: 0,
218
216
  height: 0,
219
- x1: 0,
220
- y1: 0,
221
217
  cornerRadius: 0,
222
218
  length: 0
223
219
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAgCvD,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,SAAS,EAAE,MAAM;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,UAAU,EAAE,IAAI,MAAM,EAAE;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,KAAK;IACX,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,YAAY,GAAsD;IACtE,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,EAAE;IACd,kBAAkB,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,mBAC7B,WAAW,kCAAO,YAAY,KAAE,QAAQ,EAAE,CAAC,KAC3C,WAAW,kCAAO,YAAY,KAAE,QAAQ,EAAE,CAAC,OACxC,YAAY,CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,YAAY;IAC1B,QAAQ,EAAE,EAAE;IAEZ,UAAU,EAAE;wFAC0E;IACtF,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,QAAQ;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,+CACvB,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,EAAE,EACf,cAAc,EAAE,CAAC,EACjB,cAAc,EAAE,CAAC,EACjB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,IACP,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA8B;IAChE,aAAa,EAAE,MAAM;IAYrB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;CACG,CAAC;AAErB,MAAM,CAAC,MAAM,qBAAqB,GAAyB;IACzD,aAAa,EAAE,KAAK;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,+CAC3B,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,IAAI,EACd,gBAAgB,EAAE,IAAI,EACtB,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,IAAI,EACZ,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,IAAI,EACrB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,CAAC,EAChB,YAAY,EAAE,CAAC,EACf,wBAAwB,EAAE,EAAE,EAC5B,QAAQ,EAAE,QAAQ,IACf,qBAAqB,GACrB,YAAY,GACZ,gBAAgB,CACpB,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,GAAwB,EAAE,CAAM,EAAE,IAAc;IACtF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,GAAwB,EAAE,CAAsB;IAC3E,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,mCAC3B,gBAAgB,KACnB,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,GAAG,EACb,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,KAAK,EACV,YAAY,EAAE,KAAK,GACpB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,iDAC5B,gBAAgB,GAChB,uBAAuB,KAC1B,MAAM,EAAE,EAAE,EACV,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,SAAS,EAAE,KAAK,GACjB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,mCAC9B,gBAAgB,KACnB,MAAM,EAAE,CAAC,EACT,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,GAAG,GACd,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,mCAC7B,gBAAgB,KACnB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,KAAK,EACX,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,YAAY,EAC5B,UAAU,EAAE,YAAY,EACxB,YAAY,EAAE,YAAY,GAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,mCAC7B,gBAAgB,KACnB,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,KAAK,GACZ,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,iDAC5B,gBAAgB,GAChB,uBAAuB,KAC1B,MAAM,EAAE,EAAE,EACV,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,oBAAoB,EAAE,SAAS,EAC/B,SAAS,EAAE,KAAK,GACjB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,mCAC5B,gBAAgB,KACnB,IAAI,EAAE,IAAI,YAAY,EAAE,EACxB,UAAU,EAAE,GAAG,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,GACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,mCAC/B,gBAAgB,KACnB,MAAM,EAAE,EAAE,EACV,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,IAAI,GAChB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,mCAC5B,gBAAgB,KACnB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,kBAAkB,EAAE,CAAC,EACrB,YAAY,EAAE,CAAC,GAChB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,mCAC9B,gBAAgB,KACnB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,YAAY,EAAE,CAAC,EACf,MAAM,EAAE,CAAC,GACV,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,mCAC9B,gBAAgB,KACnB,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,EAAE,EACR,WAAW,EAAE,IAAI,GAClB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,iDAC5B,gBAAgB,GAChB,gBAAgB,KACnB,kBAAkB,EAAE,CAAC,EACrB,WAAW,EAAE,IAAI,GAClB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,mCAChC,gBAAgB,KACnB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,IAAI,EACd,SAAS,EAAE,YAAiC,EAC5C,iBAAiB,EAAE,KAAkC,EACrD,SAAS,EAAE,MAAiC,EAC5C,YAAY,EAAE,KAAmC,EACjD,eAAe,EAAE,YAAY,EAC7B,UAAU,EAAE,EAAE,EACd,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,KAAK,GAClB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,iCAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,EAAE,EACT,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,IACN,gBAAgB,KACnB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,GAChB,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,mCACpC,qBAAqB,KACxB,kBAAkB,EAAE,OAAO,EAC3B,eAAe,EAAE,CAAC,EAClB,gBAAgB,EAAE,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,QAAQ,EACtB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,EAAE,EAEN,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,cAAc,EAAE,0BAA0B,EAC1C,qBAAqB,EAAE,CAAC,EACxB,gBAAgB,EAAE,KAAK,EACvB,uBAAuB,EAAE,CAAC,EAC1B,gBAAgB,EAAE,CAAC,EACnB,OAAO,EAAE,CAAC,GACX,CAAC","file":"config.js","sourcesContent":["// 存放公共属性\nimport { Matrix, pi2 } from '@visactor/vutils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport type {\n IArcGraphicAttribute,\n IAreaGraphicAttribute,\n IGraphicAttribute,\n ICircleGraphicAttribute,\n IFillStyle,\n IGlyphGraphicAttribute,\n IGroupGraphicAttribute,\n IImageGraphicAttribute,\n ILineGraphicAttribute,\n IPathGraphicAttribute,\n IPolygonGraphicAttribute,\n IRect3dGraphicAttribute,\n IRectGraphicAttribute,\n IStrokeStyle,\n IGraphicStyle,\n ISymbolGraphicAttribute,\n ITextAttribute,\n ITextGraphicAttribute,\n IRichTextGraphicAttribute,\n ITransform,\n RichTextWordBreak,\n RichTextVerticalDirection,\n RichTextGlobalAlignType,\n RichTextGlobalBaselineType,\n IRichTextIconGraphicAttribute,\n IConnectedStyle,\n ILayout,\n IDebugType\n} from '../interface';\n\nexport const DefaultLayout: ILayout = {\n alignSelf: 'auto'\n};\n\nexport const DefaultTransform: ITransform = {\n x: 0,\n y: 0,\n z: 0,\n dx: 0,\n dy: 0,\n dz: 0,\n scrollX: 0,\n scrollY: 0,\n scaleX: 1,\n scaleY: 1,\n scaleZ: 1,\n angle: 0,\n alpha: 0,\n beta: 0,\n scaleCenter: [0, 0],\n anchor: [0, 0],\n anchor3d: [0, 0],\n postMatrix: new Matrix()\n};\n\nexport const DefaultFillStyle: IFillStyle = {\n fillOpacity: 1,\n fill: false,\n shadowBlur: 0,\n shadowColor: 'black',\n shadowOffsetX: 0,\n shadowOffsetY: 0\n};\n\nconst commonStroke: Omit<IStrokeStyle, 'outerBorder' | 'innerBorder'> = {\n strokeOpacity: 1,\n lineDash: [],\n lineDashOffset: 0,\n lineWidth: 1,\n lineCap: 'butt',\n lineJoin: 'miter',\n miterLimit: 10,\n strokeBoundsBuffer: 2,\n stroke: false\n};\n\nexport const DefaultStrokeStyle: IStrokeStyle = {\n outerBorder: { ...commonStroke, distance: 0 },\n innerBorder: { ...commonStroke, distance: 0 },\n ...commonStroke\n};\n\nexport const DefaultTextStyle: Required<ITextAttribute> = {\n text: '',\n maxLineWidth: Infinity,\n textAlign: 'left',\n textBaseline: 'alphabetic',\n fontSize: 16,\n // @ts-ignore\n fontFamily: `PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,\n Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol`,\n fontWeight: '',\n ellipsis: '…',\n fontVariant: '',\n fontStyle: '',\n lineHeight: undefined,\n underline: 0,\n lineThrough: 0,\n scaleIn3d: false,\n direction: 'horizontal',\n wordBreak: 'break-all',\n ignoreBuf: false,\n verticalMode: 0,\n whiteSpace: 'no-wrap',\n heightLimit: Infinity,\n lineClamp: Infinity\n};\n\nexport const DefaultStyle: IGraphicStyle = {\n opacity: 1,\n background: null,\n texture: null,\n textureColor: 'black',\n textureSize: 10,\n texturePadding: 2,\n backgroundMode: 0,\n blur: 0,\n cursor: null,\n html: null,\n ...DefaultFillStyle,\n ...DefaultStrokeStyle,\n ...DefaultLayout\n};\n\nexport const DefaultConnectAttribute: Required<IConnectedStyle> = {\n connectedType: 'none',\n // connectedStyle: {\n // stroke: DefaultStrokeStyle.stroke,\n // strokeOpacity: DefaultStrokeStyle.strokeOpacity,\n // lineDash: DefaultStrokeStyle.lineDash,\n // lineDashOffset: DefaultStrokeStyle.lineDashOffset,\n // lineCap: DefaultStrokeStyle.lineCap,\n // lineJoin: DefaultStrokeStyle.lineJoin,\n // lineWidth: DefaultStrokeStyle.lineWidth,\n // fill: DefaultFillStyle.fill,\n // fillOpacity: DefaultFillStyle.fillOpacity\n // },\n connectedStyle: {}, // 默认全都继承父属性\n connectedX: NaN,\n connectedY: NaN\n} as IConnectedStyle;\n\nexport const DefaultDebugAttribute: Required<IDebugType> = {\n _debug_bounds: false\n};\n\nexport const DefaultAttribute: Required<IGraphicAttribute> = {\n strokeSeg: null,\n pickable: true,\n childrenPickable: true,\n visible: true,\n zIndex: 0,\n layout: null,\n boundsPadding: 0,\n pickMode: 'accurate',\n customPickShape: null,\n boundsMode: 'accurate',\n keepDirIn3d: true,\n shadowRootIdx: 1,\n globalZIndex: 1,\n globalCompositeOperation: '',\n overflow: 'hidden',\n ...DefaultDebugAttribute,\n ...DefaultStyle,\n ...DefaultTransform\n};\n\nexport function addAttributeToPrototype(obj: Record<string, any>, c: any, keys: string[]) {\n keys.forEach(key => {\n c.prototype[key] = obj[key];\n });\n}\nexport function rewriteProto(obj: Record<string, any>, c: Record<string, any>) {\n Object.setPrototypeOf(obj, c);\n}\n\nexport const DefaultArcAttribute: Required<IArcGraphicAttribute> = {\n ...DefaultAttribute,\n startAngle: 0,\n endAngle: pi2,\n innerRadius: 0,\n outerRadius: 1,\n cornerRadius: 0,\n padRadius: 0,\n padAngle: 0,\n cap: false,\n forceShowCap: false\n};\n\nexport const DefaultAreaAttribute: Required<IAreaGraphicAttribute> = {\n ...DefaultAttribute,\n ...DefaultConnectAttribute,\n points: [],\n segments: [],\n curveType: 'linear',\n clipRange: 1,\n closePath: false\n};\n\nexport const DefaultCircleAttribute: Required<ICircleGraphicAttribute> = {\n ...DefaultAttribute,\n radius: 1,\n startAngle: 0,\n endAngle: pi2\n};\n\nexport const DefaultGroupAttribute: Required<IGroupGraphicAttribute> = {\n ...DefaultAttribute,\n width: 0,\n height: 0,\n cornerRadius: 0,\n path: [],\n clip: false,\n visibleAll: true,\n display: 'relative',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n alignContent: 'flex-start'\n};\n\nexport const DefaultGlyphAttribute: Required<IGlyphGraphicAttribute> = {\n ...DefaultAttribute,\n path: '',\n width: 0,\n height: 0,\n cornerRadius: 0,\n clip: false\n};\n\nexport const DefaultLineAttribute: Required<ILineGraphicAttribute> = {\n ...DefaultAttribute,\n ...DefaultConnectAttribute,\n points: [],\n segments: [],\n curveType: 'linear',\n clipRange: 1,\n clipRangeByDimension: 'default',\n closePath: false\n};\n\nexport const DefaultPathAttribute: Required<IPathGraphicAttribute> = {\n ...DefaultAttribute,\n path: new CustomPath2D(),\n customPath: () => {\n console.warn('空函数');\n }\n};\n\nexport const DefaultPolygonAttribute: Required<IPolygonGraphicAttribute> = {\n ...DefaultAttribute,\n points: [],\n cornerRadius: 0,\n closePath: true\n};\n\nexport const DefaultRectAttribute: Required<IRectGraphicAttribute> = {\n ...DefaultAttribute,\n width: 0,\n height: 0,\n x1: 0,\n y1: 0,\n strokeBoundsBuffer: 0,\n cornerRadius: 0\n};\n\nexport const DefaultRect3dAttribute: Required<IRect3dGraphicAttribute> = {\n ...DefaultAttribute,\n width: 0,\n height: 0,\n x1: 0,\n y1: 0,\n cornerRadius: 0,\n length: 0\n};\n\nexport const DefaultSymbolAttribute: Required<ISymbolGraphicAttribute> = {\n ...DefaultAttribute,\n symbolType: 'circle',\n size: 10, // 外接**正方形**的边长\n keepDirIn3d: true\n};\n\nexport const DefaultTextAttribute: Required<ITextGraphicAttribute> = {\n ...DefaultAttribute,\n ...DefaultTextStyle,\n strokeBoundsBuffer: 0,\n keepDirIn3d: true\n};\n\nexport const DefaultRichTextAttribute: Required<IRichTextGraphicAttribute> = {\n ...DefaultAttribute,\n width: 300,\n height: 300,\n ellipsis: true,\n wordBreak: 'break-word' as RichTextWordBreak,\n verticalDirection: 'top' as RichTextVerticalDirection,\n textAlign: 'left' as RichTextGlobalAlignType,\n textBaseline: 'top' as RichTextGlobalBaselineType,\n layoutDirection: 'horizontal',\n textConfig: [],\n maxHeight: undefined,\n maxWidth: undefined,\n singleLine: false\n};\n\nexport const DefaultImageAttribute: Required<IImageGraphicAttribute> = {\n repeatX: 'no-repeat',\n repeatY: 'no-repeat',\n image: '',\n width: 0,\n height: 0,\n ...DefaultAttribute,\n fill: true,\n cornerRadius: 0\n};\n\nexport const DefaultRichTextIconAttribute: Required<IRichTextIconGraphicAttribute> = {\n ...DefaultImageAttribute,\n backgroundShowMode: 'never',\n backgroundWidth: 0,\n backgroundHeight: 0,\n textAlign: 'left',\n textBaseline: 'middle',\n direction: 'horizontal',\n margin: 0,\n id: '',\n\n width: 20,\n height: 20,\n backgroundFill: 'rgba(101, 117, 168, 0.1)',\n backgroundFillOpacity: 1,\n backgroundStroke: false,\n backgroundStrokeOpacity: 1,\n backgroundRadius: 4,\n opacity: 1\n};\n"]}
1
+ {"version":3,"sources":["../src/graphic/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["// 存放公共属性\nimport { Matrix, pi2 } from '@visactor/vutils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport type {\n IArcGraphicAttribute,\n IAreaGraphicAttribute,\n IGraphicAttribute,\n ICircleGraphicAttribute,\n IFillStyle,\n IGlyphGraphicAttribute,\n IGroupGraphicAttribute,\n IImageGraphicAttribute,\n ILineGraphicAttribute,\n IPathGraphicAttribute,\n IPolygonGraphicAttribute,\n IRect3dGraphicAttribute,\n IRectGraphicAttribute,\n IStrokeStyle,\n IGraphicStyle,\n ISymbolGraphicAttribute,\n ITextAttribute,\n ITextGraphicAttribute,\n IRichTextGraphicAttribute,\n ITransform,\n RichTextWordBreak,\n RichTextVerticalDirection,\n RichTextGlobalAlignType,\n RichTextGlobalBaselineType,\n IRichTextIconGraphicAttribute,\n IConnectedStyle,\n ILayout,\n IDebugType\n} from '../interface';\n\nexport const DefaultLayout: ILayout = {\n alignSelf: 'auto'\n};\n\nexport const DefaultTransform: ITransform = {\n x: 0,\n y: 0,\n z: 0,\n dx: 0,\n dy: 0,\n dz: 0,\n scrollX: 0,\n scrollY: 0,\n scaleX: 1,\n scaleY: 1,\n scaleZ: 1,\n angle: 0,\n alpha: 0,\n beta: 0,\n scaleCenter: [0, 0],\n anchor: [0, 0],\n anchor3d: [0, 0],\n postMatrix: new Matrix()\n};\n\nexport const DefaultFillStyle: IFillStyle = {\n fillOpacity: 1,\n fill: false,\n shadowBlur: 0,\n shadowColor: 'black',\n shadowOffsetX: 0,\n shadowOffsetY: 0\n};\n\nconst commonStroke: Omit<IStrokeStyle, 'outerBorder' | 'innerBorder'> = {\n strokeOpacity: 1,\n lineDash: [],\n lineDashOffset: 0,\n lineWidth: 1,\n lineCap: 'butt',\n lineJoin: 'miter',\n miterLimit: 10,\n strokeBoundsBuffer: 2,\n stroke: false\n};\n\nexport const DefaultStrokeStyle: IStrokeStyle = {\n outerBorder: { ...commonStroke, distance: 0 },\n innerBorder: { ...commonStroke, distance: 0 },\n ...commonStroke\n};\n\nexport const DefaultTextStyle: Required<ITextAttribute> = {\n text: '',\n maxLineWidth: Infinity,\n textAlign: 'left',\n textBaseline: 'alphabetic',\n fontSize: 16,\n // @ts-ignore\n fontFamily: `PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,\n Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol`,\n fontWeight: '',\n ellipsis: '…',\n fontVariant: '',\n fontStyle: '',\n lineHeight: undefined,\n underline: 0,\n lineThrough: 0,\n scaleIn3d: false,\n direction: 'horizontal',\n wordBreak: 'break-all',\n ignoreBuf: false,\n verticalMode: 0,\n whiteSpace: 'no-wrap',\n heightLimit: Infinity,\n lineClamp: Infinity\n};\n\nexport const DefaultStyle: IGraphicStyle = {\n opacity: 1,\n background: null,\n texture: null,\n textureColor: 'black',\n textureSize: 10,\n texturePadding: 2,\n backgroundMode: 0,\n blur: 0,\n cursor: null,\n html: null,\n ...DefaultFillStyle,\n ...DefaultStrokeStyle,\n ...DefaultLayout\n};\n\nexport const DefaultConnectAttribute: Required<IConnectedStyle> = {\n connectedType: 'none',\n // connectedStyle: {\n // stroke: DefaultStrokeStyle.stroke,\n // strokeOpacity: DefaultStrokeStyle.strokeOpacity,\n // lineDash: DefaultStrokeStyle.lineDash,\n // lineDashOffset: DefaultStrokeStyle.lineDashOffset,\n // lineCap: DefaultStrokeStyle.lineCap,\n // lineJoin: DefaultStrokeStyle.lineJoin,\n // lineWidth: DefaultStrokeStyle.lineWidth,\n // fill: DefaultFillStyle.fill,\n // fillOpacity: DefaultFillStyle.fillOpacity\n // },\n connectedStyle: {}, // 默认全都继承父属性\n connectedX: NaN,\n connectedY: NaN\n} as IConnectedStyle;\n\nexport const DefaultDebugAttribute: Required<IDebugType> = {\n _debug_bounds: false\n};\n\nexport const DefaultAttribute: Required<IGraphicAttribute> = {\n strokeSeg: null,\n pickable: true,\n childrenPickable: true,\n visible: true,\n zIndex: 0,\n layout: null,\n boundsPadding: 0,\n pickMode: 'accurate',\n customPickShape: null,\n boundsMode: 'accurate',\n keepDirIn3d: true,\n shadowRootIdx: 1,\n globalZIndex: 1,\n globalCompositeOperation: '',\n overflow: 'hidden',\n ...DefaultDebugAttribute,\n ...DefaultStyle,\n ...DefaultTransform\n};\n\nexport function addAttributeToPrototype(obj: Record<string, any>, c: any, keys: string[]) {\n keys.forEach(key => {\n c.prototype[key] = obj[key];\n });\n}\nexport function rewriteProto(obj: Record<string, any>, c: Record<string, any>) {\n Object.setPrototypeOf(obj, c);\n}\n\nexport const DefaultArcAttribute: Required<IArcGraphicAttribute> = {\n ...DefaultAttribute,\n startAngle: 0,\n endAngle: pi2,\n innerRadius: 0,\n outerRadius: 1,\n cornerRadius: 0,\n padRadius: 0,\n padAngle: 0,\n cap: false,\n forceShowCap: false\n};\n\nexport const DefaultAreaAttribute: Required<IAreaGraphicAttribute> = {\n ...DefaultAttribute,\n ...DefaultConnectAttribute,\n points: [],\n segments: [],\n curveType: 'linear',\n clipRange: 1,\n closePath: false\n};\n\nexport const DefaultCircleAttribute: Required<ICircleGraphicAttribute> = {\n ...DefaultAttribute,\n radius: 1,\n startAngle: 0,\n endAngle: pi2\n};\n\nexport const DefaultGroupAttribute: Required<IGroupGraphicAttribute> = {\n ...DefaultAttribute,\n width: 0,\n height: 0,\n cornerRadius: 0,\n path: [],\n clip: false,\n visibleAll: true,\n display: 'relative',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n alignContent: 'flex-start'\n};\n\nexport const DefaultGlyphAttribute: Required<IGlyphGraphicAttribute> = {\n ...DefaultAttribute,\n path: '',\n width: 0,\n height: 0,\n cornerRadius: 0,\n clip: false\n};\n\nexport const DefaultLineAttribute: Required<ILineGraphicAttribute> = {\n ...DefaultAttribute,\n ...DefaultConnectAttribute,\n points: [],\n segments: [],\n curveType: 'linear',\n clipRange: 1,\n clipRangeByDimension: 'default',\n closePath: false\n};\n\nexport const DefaultPathAttribute: Required<IPathGraphicAttribute> = {\n ...DefaultAttribute,\n path: new CustomPath2D(),\n customPath: () => {\n console.warn('空函数');\n }\n};\n\nexport const DefaultPolygonAttribute: Required<IPolygonGraphicAttribute> = {\n ...DefaultAttribute,\n points: [],\n cornerRadius: 0,\n closePath: true\n};\n\nexport const DefaultRectAttribute: Required<IRectGraphicAttribute> = {\n ...DefaultAttribute,\n width: 0,\n height: 0,\n strokeBoundsBuffer: 0,\n cornerRadius: 0\n};\n\nexport const DefaultRect3dAttribute: Required<IRect3dGraphicAttribute> = {\n ...DefaultAttribute,\n width: 0,\n height: 0,\n cornerRadius: 0,\n length: 0\n};\n\nexport const DefaultSymbolAttribute: Required<ISymbolGraphicAttribute> = {\n ...DefaultAttribute,\n symbolType: 'circle',\n size: 10, // 外接**正方形**的边长\n keepDirIn3d: true\n};\n\nexport const DefaultTextAttribute: Required<ITextGraphicAttribute> = {\n ...DefaultAttribute,\n ...DefaultTextStyle,\n strokeBoundsBuffer: 0,\n keepDirIn3d: true\n};\n\nexport const DefaultRichTextAttribute: Required<IRichTextGraphicAttribute> = {\n ...DefaultAttribute,\n width: 300,\n height: 300,\n ellipsis: true,\n wordBreak: 'break-word' as RichTextWordBreak,\n verticalDirection: 'top' as RichTextVerticalDirection,\n textAlign: 'left' as RichTextGlobalAlignType,\n textBaseline: 'top' as RichTextGlobalBaselineType,\n layoutDirection: 'horizontal',\n textConfig: [],\n maxHeight: undefined,\n maxWidth: undefined,\n singleLine: false\n};\n\nexport const DefaultImageAttribute: Required<IImageGraphicAttribute> = {\n repeatX: 'no-repeat',\n repeatY: 'no-repeat',\n image: '',\n width: 0,\n height: 0,\n ...DefaultAttribute,\n fill: true,\n cornerRadius: 0\n};\n\nexport const DefaultRichTextIconAttribute: Required<IRichTextIconGraphicAttribute> = {\n ...DefaultImageAttribute,\n backgroundShowMode: 'never',\n backgroundWidth: 0,\n backgroundHeight: 0,\n textAlign: 'left',\n textBaseline: 'middle',\n direction: 'horizontal',\n margin: 0,\n id: '',\n\n width: 20,\n height: 20,\n backgroundFill: 'rgba(101, 117, 168, 0.1)',\n backgroundFillOpacity: 1,\n backgroundStroke: false,\n backgroundStrokeOpacity: 1,\n backgroundRadius: 4,\n opacity: 1\n};\n"]}
@@ -1 +1,5 @@
1
-
1
+ import type { IArcBoundsContribution } from '../../interface';
2
+ import { DefaultOuterBorderBoundsContribution } from './common-contribution';
3
+ export declare const ArcBoundsContribution: unique symbol;
4
+ export declare class DefaultArcOuterBorderBoundsContribution extends DefaultOuterBorderBoundsContribution implements IArcBoundsContribution {
5
+ }
@@ -1,3 +1,18 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ };
1
6
 
7
+ import { injectable } from "../../common/inversify-lite";
2
8
 
9
+ import { DefaultOuterBorderBoundsContribution } from "./common-contribution";
10
+
11
+ export const ArcBoundsContribution = Symbol.for("ArcBoundsContribution");
12
+
13
+ let DefaultArcOuterBorderBoundsContribution = class extends DefaultOuterBorderBoundsContribution {};
14
+
15
+ DefaultArcOuterBorderBoundsContribution = __decorate([ injectable() ], DefaultArcOuterBorderBoundsContribution);
16
+
17
+ export { DefaultArcOuterBorderBoundsContribution };
3
18
  //# sourceMappingURL=arc-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/graphic-service/arc-contribution.ts"],"names":[],"mappings":"","file":"arc-contribution.js","sourcesContent":["// import { injectable } from '../../common/inversify-lite';\n// import type { IArcBoundsContribution } from '../../interface';\n// import { DefaultOuterBorderBoundsContribution } from './common-contribution';\n\n// export const ArcBoundsContribution = Symbol.for('ArcBoundsContribution');\n\n// @injectable()\n// export class DefaultArcOuterBorderBoundsContribution\n// extends DefaultOuterBorderBoundsContribution\n// implements IArcBoundsContribution {}\n"]}
1
+ {"version":3,"sources":["../src/graphic/graphic-service/arc-contribution.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAGlE,IAAM,uCAAuC,GAA7C,MAAM,uCACX,SAAQ,oCAAoC;CACR,CAAA;AAFzB,uCAAuC;IADnD,UAAU,EAAE;GACA,uCAAuC,CAEd;SAFzB,uCAAuC","file":"arc-contribution.js","sourcesContent":["import { injectable } from '../../common/inversify-lite';\nimport type { IArcBoundsContribution } from '../../interface';\nimport { DefaultOuterBorderBoundsContribution } from './common-contribution';\n\nexport const ArcBoundsContribution = Symbol.for('ArcBoundsContribution');\n\n@injectable()\nexport class DefaultArcOuterBorderBoundsContribution\n extends DefaultOuterBorderBoundsContribution\n implements IArcBoundsContribution {}\n"]}
@@ -1 +1 @@
1
-
1
+ export declare const AreaBoundsContribution: unique symbol;
@@ -1,3 +1,2 @@
1
-
2
-
1
+ export const AreaBoundsContribution = Symbol.for("AreaBoundsContribution");
3
2
  //# sourceMappingURL=area-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/graphic-service/area-contribution.ts"],"names":[],"mappings":"","file":"area-contribution.js","sourcesContent":["// export const AreaBoundsContribution = Symbol.for('AreaBoundsContribution');\n\n// // @injectable()\n// // export class DefaultArcOuterBorderBoundsContribution\n// // extends DefaultOuterBorderBoundsContribution\n// // implements IArcBoundsContribution {}\n"]}
1
+ {"version":3,"sources":["../src/graphic/graphic-service/area-contribution.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC","file":"area-contribution.js","sourcesContent":["export const AreaBoundsContribution = Symbol.for('AreaBoundsContribution');\n\n// @injectable()\n// export class DefaultArcOuterBorderBoundsContribution\n// extends DefaultOuterBorderBoundsContribution\n// implements IArcBoundsContribution {}\n"]}
@@ -1 +1,5 @@
1
-
1
+ import type { ICircleBoundsContribution } from '../../interface';
2
+ import { DefaultOuterBorderBoundsContribution } from './common-contribution';
3
+ export declare const CircleBoundsContribution: unique symbol;
4
+ export declare class DefaultCircleOuterBorderBoundsContribution extends DefaultOuterBorderBoundsContribution implements ICircleBoundsContribution {
5
+ }
@@ -1,3 +1,18 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ };
1
6
 
7
+ import { injectable } from "../../common/inversify-lite";
2
8
 
9
+ import { DefaultOuterBorderBoundsContribution } from "./common-contribution";
10
+
11
+ export const CircleBoundsContribution = Symbol.for("CircleBoundsContribution");
12
+
13
+ let DefaultCircleOuterBorderBoundsContribution = class extends DefaultOuterBorderBoundsContribution {};
14
+
15
+ DefaultCircleOuterBorderBoundsContribution = __decorate([ injectable() ], DefaultCircleOuterBorderBoundsContribution);
16
+
17
+ export { DefaultCircleOuterBorderBoundsContribution };
3
18
  //# sourceMappingURL=circle-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/graphic-service/circle-contribution.ts"],"names":[],"mappings":"","file":"circle-contribution.js","sourcesContent":["// import { injectable } from '../../common/inversify-lite';\n// import type { ICircleBoundsContribution } from '../../interface';\n// import { DefaultOuterBorderBoundsContribution } from './common-contribution';\n\n// export const CircleBoundsContribution = Symbol.for('CircleBoundsContribution');\n\n// @injectable()\n// export class DefaultCircleOuterBorderBoundsContribution\n// extends DefaultOuterBorderBoundsContribution\n// implements ICircleBoundsContribution {}\n"]}
1
+ {"version":3,"sources":["../src/graphic/graphic-service/circle-contribution.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAE,oCAAoC,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAGxE,IAAM,0CAA0C,GAAhD,MAAM,0CACX,SAAQ,oCAAoC;CACL,CAAA;AAF5B,0CAA0C;IADtD,UAAU,EAAE;GACA,0CAA0C,CAEd;SAF5B,0CAA0C","file":"circle-contribution.js","sourcesContent":["import { injectable } from '../../common/inversify-lite';\nimport type { ICircleBoundsContribution } from '../../interface';\nimport { DefaultOuterBorderBoundsContribution } from './common-contribution';\n\nexport const CircleBoundsContribution = Symbol.for('CircleBoundsContribution');\n\n@injectable()\nexport class DefaultCircleOuterBorderBoundsContribution\n extends DefaultOuterBorderBoundsContribution\n implements ICircleBoundsContribution {}\n"]}
@@ -1,4 +1,12 @@
1
- export class DefaultOuterBorderBoundsContribution {
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ };
6
+
7
+ import { injectable } from "../../common/inversify-lite";
8
+
9
+ let DefaultOuterBorderBoundsContribution = class {
2
10
  updateBounds(attribute, theme, aabbBounds, graphic) {
3
11
  const {outerBorder: outerBorder, shadowBlur: shadowBlur = theme.shadowBlur} = attribute;
4
12
  if (outerBorder) {
@@ -7,5 +15,9 @@ export class DefaultOuterBorderBoundsContribution {
7
15
  }
8
16
  return aabbBounds;
9
17
  }
10
- }
18
+ };
19
+
20
+ DefaultOuterBorderBoundsContribution = __decorate([ injectable() ], DefaultOuterBorderBoundsContribution);
21
+
22
+ export { DefaultOuterBorderBoundsContribution };
11
23
  //# sourceMappingURL=common-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/graphic-service/common-contribution.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,oCAAoC;IAC/C,YAAY,CACV,SAAqC,EACrC,KAAkC,EAClC,UAAuB,EACvB,OAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;QACjE,IAAI,WAAW,EAAE;YACf,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC;YAC7C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC;YAGzG,UAAU,CAAC,MAAM,CAAE,QAAmB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACxE;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF","file":"common-contribution.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { IGraphicAttribute, IGraphic } from '../../interface';\n\nexport class DefaultOuterBorderBoundsContribution {\n updateBounds(\n attribute: Partial<IGraphicAttribute>,\n theme: Required<IGraphicAttribute>,\n aabbBounds: IAABBBounds,\n graphic?: IGraphic\n ): IAABBBounds {\n const { outerBorder, shadowBlur = theme.shadowBlur } = attribute;\n if (outerBorder) {\n const defaultOuterBorder = theme.outerBorder;\n const { distance = defaultOuterBorder.distance, lineWidth = defaultOuterBorder.lineWidth } = outerBorder;\n\n // rect的distance一定是number\n aabbBounds.expand((distance as number) + (shadowBlur + lineWidth) / 2);\n }\n return aabbBounds;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/graphic-service/common-contribution.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIlD,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAC/C,YAAY,CACV,SAAqC,EACrC,KAAkC,EAClC,UAAuB,EACvB,OAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;QACjE,IAAI,WAAW,EAAE;YACf,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC;YAC7C,MAAM,EAAE,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,GAAG,kBAAkB,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC;YAGzG,UAAU,CAAC,MAAM,CAAE,QAAmB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACxE;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAA;AAjBY,oCAAoC;IADhD,UAAU,EAAE;GACA,oCAAoC,CAiBhD;SAjBY,oCAAoC","file":"common-contribution.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { injectable } from '../../common/inversify-lite';\nimport type { IGraphicAttribute, IGraphic } from '../../interface';\n\n@injectable()\nexport class DefaultOuterBorderBoundsContribution {\n updateBounds(\n attribute: Partial<IGraphicAttribute>,\n theme: Required<IGraphicAttribute>,\n aabbBounds: IAABBBounds,\n graphic?: IGraphic\n ): IAABBBounds {\n const { outerBorder, shadowBlur = theme.shadowBlur } = attribute;\n if (outerBorder) {\n const defaultOuterBorder = theme.outerBorder;\n const { distance = defaultOuterBorder.distance, lineWidth = defaultOuterBorder.lineWidth } = outerBorder;\n\n // rect的distance一定是number\n aabbBounds.expand((distance as number) + (shadowBlur + lineWidth) / 2);\n }\n return aabbBounds;\n }\n}\n"]}
@@ -1,12 +1,34 @@
1
1
  import { ContainerModule } from "../../common/inversify-lite";
2
2
 
3
+ import { bindContributionProvider } from "../../common/contribution-provider";
4
+
5
+ import { ArcBoundsContribution, DefaultArcOuterBorderBoundsContribution } from "./arc-contribution";
6
+
7
+ import { CircleBoundsContribution, DefaultCircleOuterBorderBoundsContribution } from "./circle-contribution";
8
+
3
9
  import { DefaultGraphicService } from "./graphic-service";
4
10
 
11
+ import { DefaultPathOuterBorderBoundsContribution, PathBoundsContribution } from "./path-contribution";
12
+
13
+ import { RectBoundsContribution, DefaultRectOuterBorderBoundsContribution } from "./rect-contribution";
14
+
15
+ import { DefaultSymbolOuterBorderBoundsContribution, SymbolBoundsContribution } from "./symbol-contribution";
16
+
5
17
  import { GraphicCreator, GraphicService } from "../constants";
6
18
 
7
19
  import { graphicCreator } from "../graphic-creator";
8
20
 
9
21
  export default new ContainerModule((bind => {
10
- bind(GraphicService).to(DefaultGraphicService).inSingletonScope(), bind(GraphicCreator).toConstantValue(graphicCreator);
22
+ bind(DefaultGraphicService).toSelf().inSingletonScope(), bind(GraphicService).toService(DefaultGraphicService),
23
+ bind(DefaultRectOuterBorderBoundsContribution).toSelf().inSingletonScope(), bind(RectBoundsContribution).toService(DefaultRectOuterBorderBoundsContribution),
24
+ bindContributionProvider(bind, RectBoundsContribution), bind(DefaultSymbolOuterBorderBoundsContribution).toSelf().inSingletonScope(),
25
+ bind(SymbolBoundsContribution).toService(DefaultSymbolOuterBorderBoundsContribution),
26
+ bindContributionProvider(bind, SymbolBoundsContribution), bind(DefaultCircleOuterBorderBoundsContribution).toSelf().inSingletonScope(),
27
+ bind(CircleBoundsContribution).toService(DefaultCircleOuterBorderBoundsContribution),
28
+ bindContributionProvider(bind, CircleBoundsContribution), bind(DefaultArcOuterBorderBoundsContribution).toSelf().inSingletonScope(),
29
+ bind(ArcBoundsContribution).toService(DefaultArcOuterBorderBoundsContribution),
30
+ bindContributionProvider(bind, ArcBoundsContribution), bind(DefaultPathOuterBorderBoundsContribution).toSelf().inSingletonScope(),
31
+ bind(PathBoundsContribution).toService(DefaultPathOuterBorderBoundsContribution),
32
+ bindContributionProvider(bind, PathBoundsContribution), bind(GraphicCreator).toConstantValue(graphicCreator);
11
33
  }));
12
34
  //# sourceMappingURL=graphic-module.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/graphic-service/graphic-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAElE,IAAI,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC","file":"graphic-module.js","sourcesContent":["import { ContainerModule } from '../../common/inversify-lite';\n// import { DefaultTheme } from './default-theme';\nimport { DefaultGraphicService } from './graphic-service';\nimport { GraphicCreator, GraphicService } from '../constants';\nimport { graphicCreator } from '../graphic-creator';\n// import { DefaultThemeService, Theme, ThemeServce } from './theme-service';\n\nexport default new ContainerModule(bind => {\n bind(GraphicService).to(DefaultGraphicService).inSingletonScope();\n\n bind(GraphicCreator).toConstantValue(graphicCreator);\n});\n"]}
1
+ {"version":3,"sources":["../src/graphic/graphic-service/graphic-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,uCAAuC,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,0CAA0C,EAAE,MAAM,uBAAuB,CAAC;AAE7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wCAAwC,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,wCAAwC,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,0CAA0C,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAGtD,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACjF,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAGvD,IAAI,CAAC,0CAA0C,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7E,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACrF,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IAGzD,IAAI,CAAC,0CAA0C,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7E,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACrF,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IAGzD,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC/E,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAGtD,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACjF,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAEvD,IAAI,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAMvD,CAAC,CAAC,CAAC","file":"graphic-module.js","sourcesContent":["import { ContainerModule } from '../../common/inversify-lite';\nimport { bindContributionProvider } from '../../common/contribution-provider';\nimport { ArcBoundsContribution, DefaultArcOuterBorderBoundsContribution } from './arc-contribution';\nimport { CircleBoundsContribution, DefaultCircleOuterBorderBoundsContribution } from './circle-contribution';\n// import { DefaultTheme } from './default-theme';\nimport { DefaultGraphicService } from './graphic-service';\nimport { DefaultPathOuterBorderBoundsContribution, PathBoundsContribution } from './path-contribution';\nimport { RectBoundsContribution, DefaultRectOuterBorderBoundsContribution } from './rect-contribution';\nimport { DefaultSymbolOuterBorderBoundsContribution, SymbolBoundsContribution } from './symbol-contribution';\nimport { GraphicCreator, GraphicService } from '../constants';\nimport { graphicCreator } from '../graphic-creator';\n// import { DefaultThemeService, Theme, ThemeServce } from './theme-service';\n\nexport default new ContainerModule(bind => {\n bind(DefaultGraphicService).toSelf().inSingletonScope();\n bind(GraphicService).toService(DefaultGraphicService);\n\n // rect的bounds contributions\n bind(DefaultRectOuterBorderBoundsContribution).toSelf().inSingletonScope();\n bind(RectBoundsContribution).toService(DefaultRectOuterBorderBoundsContribution);\n bindContributionProvider(bind, RectBoundsContribution);\n\n // symbol的bounds contributions\n bind(DefaultSymbolOuterBorderBoundsContribution).toSelf().inSingletonScope();\n bind(SymbolBoundsContribution).toService(DefaultSymbolOuterBorderBoundsContribution);\n bindContributionProvider(bind, SymbolBoundsContribution);\n\n // circle的bounds contributions\n bind(DefaultCircleOuterBorderBoundsContribution).toSelf().inSingletonScope();\n bind(CircleBoundsContribution).toService(DefaultCircleOuterBorderBoundsContribution);\n bindContributionProvider(bind, CircleBoundsContribution);\n\n // arc的bounds contributions\n bind(DefaultArcOuterBorderBoundsContribution).toSelf().inSingletonScope();\n bind(ArcBoundsContribution).toService(DefaultArcOuterBorderBoundsContribution);\n bindContributionProvider(bind, ArcBoundsContribution);\n\n // path的bounds contributions\n bind(DefaultPathOuterBorderBoundsContribution).toSelf().inSingletonScope();\n bind(PathBoundsContribution).toService(DefaultPathOuterBorderBoundsContribution);\n bindContributionProvider(bind, PathBoundsContribution);\n\n bind(GraphicCreator).toConstantValue(graphicCreator);\n // bind(DefaultThemeService).toSelf().inSingletonScope();\n // bind(ThemeServce).toService(DefaultThemeService);\n // bind(DefaultTheme).toSelf().inSingletonScope();\n // bind(Theme).toService(DefaultTheme);\n // bindContributionProvider(bind, Theme);\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { IAABBBounds, IBounds, IMatrix } from '@visactor/vutils';
2
2
  import { AABBBounds } from '@visactor/vutils';
3
- import type { mat4, vec3, IArc, IArcGraphicAttribute, IArea, IAreaGraphicAttribute, IGraphicAttribute, ICircle, ICircleGraphicAttribute, IGraphic, IGroup, IGroupGraphicAttribute, ILine, ILineGraphicAttribute, IPath, IPathGraphicAttribute, IPolygon, IPolygonGraphicAttribute, IRectGraphicAttribute, IStage, ISymbol, ISymbolGraphicAttribute, IText, ITextGraphicAttribute, IGlyph, IGlyphGraphicAttribute, IRichTextGraphicAttribute, IRichText, IPyramid3dGraphicAttribute, IPyramid3d, IArc3dGraphicAttribute, IArc3d, IImageGraphicAttribute, ITransform, IGraphicService, IGraphicCreator, ISyncHook, IRectBoundsContribution, ISymbolBoundsContribution, ICircleBoundsContribution, IArcBoundsContribution, IPathBoundsContribution } from '../../interface';
3
+ import type { mat4, vec3, IArc, IArcGraphicAttribute, IArea, IAreaGraphicAttribute, IGraphicAttribute, ICircle, ICircleGraphicAttribute, IGraphic, IGroup, IGroupGraphicAttribute, ILine, ILineGraphicAttribute, IPath, IPathGraphicAttribute, IPolygon, IPolygonGraphicAttribute, IRectGraphicAttribute, IStage, ISymbol, ISymbolGraphicAttribute, IText, ITextGraphicAttribute, IGlyph, IGlyphGraphicAttribute, IRichTextGraphicAttribute, IRichText, IPyramid3dGraphicAttribute, IPyramid3d, IArc3dGraphicAttribute, IArc3d, IImageGraphicAttribute, ITransform, IGraphicService, IGraphicCreator, ISyncHook, IRectBoundsContribution, ISymbolBoundsContribution, ICircleBoundsContribution, IArcBoundsContribution, IPathBoundsContribution, IContributionProvider } from '../../interface';
4
4
  export declare function rotateX(out: mat4, a: mat4, rad: number): mat4;
5
5
  export declare function rotateY(out: mat4, a: mat4, rad: number): mat4;
6
6
  export declare function translate(out: mat4, a: mat4, v: vec3): mat4;
@@ -12,6 +12,11 @@ export declare function getModelMatrix(out: mat4, graphic: IGraphic, theme: ITra
12
12
  export declare function shouldUseMat4(graphic: IGraphic): number;
13
13
  export declare class DefaultGraphicService implements IGraphicService {
14
14
  readonly creator: IGraphicCreator;
15
+ protected readonly rectBoundsContribitions: IContributionProvider<IRectBoundsContribution>;
16
+ protected readonly symbolBoundsContribitions: IContributionProvider<ISymbolBoundsContribution>;
17
+ protected readonly circleBoundsContribitions: IContributionProvider<ICircleBoundsContribution>;
18
+ protected readonly arcBoundsContribitions: IContributionProvider<IArcBoundsContribution>;
19
+ protected readonly pathBoundsContribitions: IContributionProvider<IPathBoundsContribution>;
15
20
  hooks: {
16
21
  onAttributeUpdate: ISyncHook<[IGraphic]>;
17
22
  onSetStage: ISyncHook<[IGraphic, IStage]>;
@@ -31,7 +36,7 @@ export declare class DefaultGraphicService implements IGraphicService {
31
36
  protected _pathBoundsContribitions: IPathBoundsContribution[];
32
37
  protected tempAABBBounds1: AABBBounds;
33
38
  protected tempAABBBounds2: AABBBounds;
34
- constructor(creator: IGraphicCreator);
39
+ constructor(creator: IGraphicCreator, rectBoundsContribitions: IContributionProvider<IRectBoundsContribution>, symbolBoundsContribitions: IContributionProvider<ISymbolBoundsContribution>, circleBoundsContribitions: IContributionProvider<ICircleBoundsContribution>, arcBoundsContribitions: IContributionProvider<IArcBoundsContribution>, pathBoundsContribitions: IContributionProvider<IPathBoundsContribution>);
35
40
  onAttributeUpdate(graphic: IGraphic): void;
36
41
  onSetStage(graphic: IGraphic, stage: IStage): void;
37
42
  onRemove(graphic: IGraphic<Partial<IGraphicAttribute>>): void;