@visactor/vrender-core 1.0.37 → 1.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (997) hide show
  1. package/cjs/allocator/canvas-allocate.js +7 -5
  2. package/cjs/allocator/canvas-allocate.js.map +1 -1
  3. package/cjs/allocator/graphic-allocate.js +17 -17
  4. package/cjs/allocator/graphic-allocate.js.map +1 -1
  5. package/cjs/application.d.ts +13 -5
  6. package/cjs/application.js +25 -2
  7. package/cjs/application.js.map +1 -1
  8. package/cjs/canvas/conical-gradient.js +2 -2
  9. package/cjs/canvas/conical-gradient.js.map +1 -1
  10. package/cjs/canvas/contributions/base-canvas.js +2 -2
  11. package/cjs/canvas/contributions/base-canvas.js.map +1 -1
  12. package/cjs/canvas/empty-context.js +3 -12
  13. package/cjs/canvas/empty-context.js.map +1 -1
  14. package/cjs/canvas/util.js +7 -3
  15. package/cjs/canvas/util.js.map +1 -1
  16. package/cjs/common/diff.js +2 -1
  17. package/cjs/common/enums.js +1 -2
  18. package/cjs/common/performance-raf.js +2 -2
  19. package/cjs/common/performance-raf.js.map +1 -1
  20. package/cjs/common/registry/contribution-registry.d.ts +24 -0
  21. package/cjs/common/registry/contribution-registry.js +61 -0
  22. package/cjs/common/registry/contribution-registry.js.map +1 -0
  23. package/cjs/common/registry/index.d.ts +5 -0
  24. package/cjs/common/registry/index.js +34 -0
  25. package/cjs/common/registry/index.js.map +1 -0
  26. package/cjs/common/registry/service-registry.d.ts +16 -0
  27. package/cjs/common/registry/service-registry.js +57 -0
  28. package/cjs/common/registry/service-registry.js.map +1 -0
  29. package/cjs/common/registry/types.d.ts +1 -0
  30. package/cjs/common/{inversify-lite/interfaces/interfaces.js → registry/types.js} +1 -1
  31. package/cjs/common/registry/types.js.map +1 -0
  32. package/cjs/common/simplify.js +2 -1
  33. package/cjs/common/sort.js +1 -2
  34. package/cjs/core/constants.js +1 -1
  35. package/cjs/core/contributions/env/base-contribution.js +4 -9
  36. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  37. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +4 -13
  38. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  39. package/cjs/core/contributions/layerHandler/empty-contribution.js +4 -13
  40. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  41. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +4 -13
  42. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  43. package/cjs/core/contributions/modules.d.ts +1 -2
  44. package/cjs/core/contributions/modules.js +2 -14
  45. package/cjs/core/contributions/modules.js.map +1 -1
  46. package/cjs/core/contributions/textMeasure/AtextMeasure.js +3 -10
  47. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  48. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js +3 -10
  49. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  50. package/cjs/core/contributions/window/base-contribution.js +3 -12
  51. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  52. package/cjs/core/global.d.ts +2 -2
  53. package/cjs/core/global.js +8 -20
  54. package/cjs/core/global.js.map +1 -1
  55. package/cjs/core/graphic-utils.d.ts +2 -2
  56. package/cjs/core/graphic-utils.js +9 -23
  57. package/cjs/core/graphic-utils.js.map +1 -1
  58. package/cjs/core/layer-service.js +9 -18
  59. package/cjs/core/layer-service.js.map +1 -1
  60. package/cjs/core/layer.js +3 -3
  61. package/cjs/core/layer.js.map +1 -1
  62. package/cjs/core/stage.js +10 -8
  63. package/cjs/core/stage.js.map +1 -1
  64. package/cjs/core/window.js +7 -15
  65. package/cjs/core/window.js.map +1 -1
  66. package/cjs/env-check.js +3 -3
  67. package/cjs/env-check.js.map +1 -1
  68. package/cjs/graphic/arc.js +3 -3
  69. package/cjs/graphic/arc.js.map +1 -1
  70. package/cjs/graphic/arc3d.js +3 -3
  71. package/cjs/graphic/arc3d.js.map +1 -1
  72. package/cjs/graphic/area.js +3 -3
  73. package/cjs/graphic/area.js.map +1 -1
  74. package/cjs/graphic/circle.js +3 -3
  75. package/cjs/graphic/circle.js.map +1 -1
  76. package/cjs/graphic/glyph.js.map +1 -1
  77. package/cjs/graphic/graphic-service/graphic-service.d.ts +2 -2
  78. package/cjs/graphic/graphic-service/graphic-service.js +5 -18
  79. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  80. package/cjs/graphic/graphic.js +11 -11
  81. package/cjs/graphic/graphic.js.map +1 -1
  82. package/cjs/graphic/group.js +3 -4
  83. package/cjs/graphic/group.js.map +1 -1
  84. package/cjs/graphic/image.js +3 -3
  85. package/cjs/graphic/image.js.map +1 -1
  86. package/cjs/graphic/line.js +3 -3
  87. package/cjs/graphic/line.js.map +1 -1
  88. package/cjs/graphic/path.js +3 -3
  89. package/cjs/graphic/path.js.map +1 -1
  90. package/cjs/graphic/polygon.js +3 -3
  91. package/cjs/graphic/polygon.js.map +1 -1
  92. package/cjs/graphic/pyramid3d.js +2 -3
  93. package/cjs/graphic/pyramid3d.js.map +1 -1
  94. package/cjs/graphic/rect.js +3 -3
  95. package/cjs/graphic/rect.js.map +1 -1
  96. package/cjs/graphic/richtext/utils.js +3 -3
  97. package/cjs/graphic/richtext/utils.js.map +1 -1
  98. package/cjs/graphic/richtext.js +4 -4
  99. package/cjs/graphic/richtext.js.map +1 -1
  100. package/cjs/graphic/star.js +3 -3
  101. package/cjs/graphic/star.js.map +1 -1
  102. package/cjs/graphic/symbol.js +3 -3
  103. package/cjs/graphic/symbol.js.map +1 -1
  104. package/cjs/graphic/text.js +6 -7
  105. package/cjs/graphic/text.js.map +1 -1
  106. package/cjs/graphic/tools.js +2 -2
  107. package/cjs/graphic/tools.js.map +1 -1
  108. package/cjs/graphic/wrap-text.js +2 -2
  109. package/cjs/graphic/wrap-text.js.map +1 -1
  110. package/cjs/index.d.ts +3 -22
  111. package/cjs/index.js +59 -27
  112. package/cjs/index.js.map +1 -1
  113. package/cjs/interface/canvas.d.ts +1 -1
  114. package/cjs/interface/canvas.js.map +1 -1
  115. package/cjs/modules.js +6 -17
  116. package/cjs/modules.js.map +1 -1
  117. package/cjs/picker/global-picker-service.js +4 -13
  118. package/cjs/picker/global-picker-service.js.map +1 -1
  119. package/cjs/picker/pick-interceptor.js +9 -19
  120. package/cjs/picker/pick-interceptor.js.map +1 -1
  121. package/cjs/picker/picker-service.d.ts +3 -3
  122. package/cjs/picker/picker-service.js +8 -21
  123. package/cjs/picker/picker-service.js.map +1 -1
  124. package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js +5 -6
  125. package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
  126. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  127. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  128. package/cjs/plugins/builtin-plugin/edit-module.js +3 -4
  129. package/cjs/plugins/builtin-plugin/edit-module.js.map +1 -1
  130. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  131. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
  132. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  133. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
  134. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  135. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
  136. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  137. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +8 -10
  138. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  139. package/cjs/plugins/plugin-service.d.ts +2 -2
  140. package/cjs/plugins/plugin-service.js +7 -21
  141. package/cjs/plugins/plugin-service.js.map +1 -1
  142. package/cjs/register-modules.d.ts +9 -0
  143. package/cjs/register-modules.js +79 -0
  144. package/cjs/register-modules.js.map +1 -0
  145. package/cjs/render/contributions/render/arc-render.d.ts +2 -2
  146. package/cjs/render/contributions/render/arc-render.js +7 -21
  147. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  148. package/cjs/render/contributions/render/arc3d-render.js +3 -10
  149. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  150. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  151. package/cjs/render/contributions/render/area-render.js +7 -21
  152. package/cjs/render/contributions/render/area-render.js.map +1 -1
  153. package/cjs/render/contributions/render/base-render.js +1 -1
  154. package/cjs/render/contributions/render/base-render.js.map +1 -1
  155. package/cjs/render/contributions/render/circle-render.d.ts +2 -2
  156. package/cjs/render/contributions/render/circle-render.js +7 -21
  157. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  158. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +2 -2
  159. package/cjs/render/contributions/render/contributions/base-contribution-render.js +7 -20
  160. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  161. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +1 -2
  162. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  163. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +5 -13
  164. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  165. package/cjs/render/contributions/render/draw-contribution.d.ts +3 -3
  166. package/cjs/render/contributions/render/draw-contribution.js +9 -22
  167. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  168. package/cjs/render/contributions/render/draw-interceptor.js +3 -12
  169. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  170. package/cjs/render/contributions/render/glyph-render.js +3 -10
  171. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  172. package/cjs/render/contributions/render/graphic-render.js +1 -10
  173. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  174. package/cjs/render/contributions/render/group-render.d.ts +2 -2
  175. package/cjs/render/contributions/render/group-render.js +7 -20
  176. package/cjs/render/contributions/render/group-render.js.map +1 -1
  177. package/cjs/render/contributions/render/image-render.d.ts +2 -2
  178. package/cjs/render/contributions/render/image-render.js +7 -21
  179. package/cjs/render/contributions/render/image-render.js.map +1 -1
  180. package/cjs/render/contributions/render/incremental-area-render.js +3 -10
  181. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  182. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +3 -5
  183. package/cjs/render/contributions/render/incremental-draw-contribution.js +10 -23
  184. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  185. package/cjs/render/contributions/render/incremental-line-render.js +3 -10
  186. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  187. package/cjs/render/contributions/render/index.d.ts +12 -4
  188. package/cjs/render/contributions/render/index.js +11 -7
  189. package/cjs/render/contributions/render/index.js.map +1 -1
  190. package/cjs/render/contributions/render/line-render.js +3 -10
  191. package/cjs/render/contributions/render/line-render.js.map +1 -1
  192. package/cjs/render/contributions/render/path-render.d.ts +2 -2
  193. package/cjs/render/contributions/render/path-render.js +7 -21
  194. package/cjs/render/contributions/render/path-render.js.map +1 -1
  195. package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
  196. package/cjs/render/contributions/render/polygon-render.js +7 -21
  197. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  198. package/cjs/render/contributions/render/pyramid3d-render.js +3 -10
  199. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  200. package/cjs/render/contributions/render/rect-render.d.ts +2 -2
  201. package/cjs/render/contributions/render/rect-render.js +7 -21
  202. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  203. package/cjs/render/contributions/render/rect3d-render.js +3 -10
  204. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  205. package/cjs/render/contributions/render/richtext-render.js +3 -12
  206. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  207. package/cjs/render/contributions/render/star-render.d.ts +2 -2
  208. package/cjs/render/contributions/render/star-render.js +7 -21
  209. package/cjs/render/contributions/render/star-render.js.map +1 -1
  210. package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
  211. package/cjs/render/contributions/render/symbol-render.js +7 -21
  212. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  213. package/cjs/render/contributions/render/symbol.d.ts +2 -0
  214. package/cjs/render/contributions/render/symbol.js +3 -1
  215. package/cjs/render/contributions/render/symbol.js.map +1 -1
  216. package/cjs/render/contributions/render/text-render.d.ts +2 -2
  217. package/cjs/render/contributions/render/text-render.js +7 -21
  218. package/cjs/render/contributions/render/text-render.js.map +1 -1
  219. package/cjs/render/render-service.js +2 -18
  220. package/cjs/render/render-service.js.map +1 -1
  221. package/cjs/resource-loader/loader.js +6 -6
  222. package/cjs/resource-loader/loader.js.map +1 -1
  223. package/dist/index.es.js +20344 -21179
  224. package/es/allocator/canvas-allocate.js +8 -6
  225. package/es/allocator/canvas-allocate.js.map +1 -1
  226. package/es/allocator/graphic-allocate.js +17 -17
  227. package/es/allocator/graphic-allocate.js.map +1 -1
  228. package/es/application.d.ts +13 -5
  229. package/es/application.js +31 -2
  230. package/es/application.js.map +1 -1
  231. package/es/canvas/conical-gradient.js +2 -2
  232. package/es/canvas/conical-gradient.js.map +1 -1
  233. package/es/canvas/contributions/base-canvas.js +2 -2
  234. package/es/canvas/contributions/base-canvas.js.map +1 -1
  235. package/es/canvas/empty-context.js +2 -16
  236. package/es/canvas/empty-context.js.map +1 -1
  237. package/es/canvas/util.js +7 -5
  238. package/es/canvas/util.js.map +1 -1
  239. package/es/common/diff.js +2 -1
  240. package/es/common/enums.js +1 -2
  241. package/es/common/performance-raf.js +2 -2
  242. package/es/common/performance-raf.js.map +1 -1
  243. package/es/common/registry/contribution-registry.d.ts +24 -0
  244. package/es/common/registry/contribution-registry.js +55 -0
  245. package/es/common/registry/contribution-registry.js.map +1 -0
  246. package/es/common/registry/index.d.ts +5 -0
  247. package/es/common/registry/index.js +4 -0
  248. package/es/common/registry/index.js.map +1 -0
  249. package/es/common/registry/service-registry.d.ts +16 -0
  250. package/es/common/registry/service-registry.js +51 -0
  251. package/es/common/registry/service-registry.js.map +1 -0
  252. package/es/common/registry/types.d.ts +1 -0
  253. package/es/common/registry/types.js +2 -0
  254. package/es/common/registry/types.js.map +1 -0
  255. package/es/common/simplify.js +2 -1
  256. package/es/common/sort.js +1 -2
  257. package/es/core/constants.js +1 -1
  258. package/es/core/contributions/env/base-contribution.js +3 -13
  259. package/es/core/contributions/env/base-contribution.js.map +1 -1
  260. package/es/core/contributions/layerHandler/canvas2d-contribution.js +4 -18
  261. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  262. package/es/core/contributions/layerHandler/empty-contribution.js +4 -18
  263. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  264. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +4 -18
  265. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  266. package/es/core/contributions/modules.d.ts +1 -2
  267. package/es/core/contributions/modules.js +1 -9
  268. package/es/core/contributions/modules.js.map +1 -1
  269. package/es/core/contributions/textMeasure/AtextMeasure.js +2 -14
  270. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  271. package/es/core/contributions/textMeasure/textMeasure-contribution.js +2 -14
  272. package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  273. package/es/core/contributions/window/base-contribution.js +2 -16
  274. package/es/core/contributions/window/base-contribution.js.map +1 -1
  275. package/es/core/global.d.ts +2 -2
  276. package/es/core/global.js +9 -24
  277. package/es/core/global.js.map +1 -1
  278. package/es/core/graphic-utils.d.ts +2 -2
  279. package/es/core/graphic-utils.js +12 -34
  280. package/es/core/graphic-utils.js.map +1 -1
  281. package/es/core/layer-service.js +10 -23
  282. package/es/core/layer-service.js.map +1 -1
  283. package/es/core/layer.js +3 -3
  284. package/es/core/layer.js.map +1 -1
  285. package/es/core/stage.js +10 -10
  286. package/es/core/stage.js.map +1 -1
  287. package/es/core/window.js +9 -23
  288. package/es/core/window.js.map +1 -1
  289. package/es/env-check.js +3 -3
  290. package/es/env-check.js.map +1 -1
  291. package/es/graphic/arc.js +3 -3
  292. package/es/graphic/arc.js.map +1 -1
  293. package/es/graphic/arc3d.js +3 -4
  294. package/es/graphic/arc3d.js.map +1 -1
  295. package/es/graphic/area.js +3 -3
  296. package/es/graphic/area.js.map +1 -1
  297. package/es/graphic/circle.js +3 -3
  298. package/es/graphic/circle.js.map +1 -1
  299. package/es/graphic/glyph.js.map +1 -1
  300. package/es/graphic/graphic-service/graphic-service.d.ts +2 -2
  301. package/es/graphic/graphic-service/graphic-service.js +5 -21
  302. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  303. package/es/graphic/graphic.js +13 -9
  304. package/es/graphic/graphic.js.map +1 -1
  305. package/es/graphic/group.js +3 -3
  306. package/es/graphic/group.js.map +1 -1
  307. package/es/graphic/image.js +3 -3
  308. package/es/graphic/image.js.map +1 -1
  309. package/es/graphic/line.js +3 -3
  310. package/es/graphic/line.js.map +1 -1
  311. package/es/graphic/path.js +3 -3
  312. package/es/graphic/path.js.map +1 -1
  313. package/es/graphic/polygon.js +3 -3
  314. package/es/graphic/polygon.js.map +1 -1
  315. package/es/graphic/pyramid3d.js +2 -2
  316. package/es/graphic/pyramid3d.js.map +1 -1
  317. package/es/graphic/rect.js +3 -3
  318. package/es/graphic/rect.js.map +1 -1
  319. package/es/graphic/richtext/utils.js +3 -3
  320. package/es/graphic/richtext/utils.js.map +1 -1
  321. package/es/graphic/richtext.js +4 -4
  322. package/es/graphic/richtext.js.map +1 -1
  323. package/es/graphic/star.js +3 -3
  324. package/es/graphic/star.js.map +1 -1
  325. package/es/graphic/symbol.js +3 -3
  326. package/es/graphic/symbol.js.map +1 -1
  327. package/es/graphic/text.js +6 -6
  328. package/es/graphic/text.js.map +1 -1
  329. package/es/graphic/tools.js +2 -2
  330. package/es/graphic/tools.js.map +1 -1
  331. package/es/graphic/wrap-text.js +2 -2
  332. package/es/graphic/wrap-text.js.map +1 -1
  333. package/es/index.d.ts +3 -22
  334. package/es/index.js +3 -41
  335. package/es/index.js.map +1 -1
  336. package/es/interface/canvas.d.ts +1 -1
  337. package/es/interface/canvas.js.map +1 -1
  338. package/es/modules.js +10 -36
  339. package/es/modules.js.map +1 -1
  340. package/es/picker/global-picker-service.js +4 -18
  341. package/es/picker/global-picker-service.js.map +1 -1
  342. package/es/picker/pick-interceptor.js +8 -32
  343. package/es/picker/pick-interceptor.js.map +1 -1
  344. package/es/picker/picker-service.d.ts +3 -3
  345. package/es/picker/picker-service.js +10 -25
  346. package/es/picker/picker-service.js.map +1 -1
  347. package/es/plugins/builtin-plugin/auto-refresh-plugin.js +6 -6
  348. package/es/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
  349. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  350. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  351. package/es/plugins/builtin-plugin/edit-module.js +3 -3
  352. package/es/plugins/builtin-plugin/edit-module.js.map +1 -1
  353. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  354. package/es/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
  355. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  356. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
  357. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  358. package/es/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
  359. package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  360. package/es/plugins/builtin-plugin/richtext-edit-plugin.js +6 -6
  361. package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  362. package/es/plugins/plugin-service.d.ts +2 -2
  363. package/es/plugins/plugin-service.js +7 -26
  364. package/es/plugins/plugin-service.js.map +1 -1
  365. package/es/register-modules.d.ts +9 -0
  366. package/es/register-modules.js +117 -0
  367. package/es/register-modules.js.map +1 -0
  368. package/es/render/contributions/render/arc-render.d.ts +2 -2
  369. package/es/render/contributions/render/arc-render.js +8 -25
  370. package/es/render/contributions/render/arc-render.js.map +1 -1
  371. package/es/render/contributions/render/arc3d-render.js +2 -14
  372. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  373. package/es/render/contributions/render/area-render.d.ts +2 -2
  374. package/es/render/contributions/render/area-render.js +8 -25
  375. package/es/render/contributions/render/area-render.js.map +1 -1
  376. package/es/render/contributions/render/base-render.js +1 -1
  377. package/es/render/contributions/render/base-render.js.map +1 -1
  378. package/es/render/contributions/render/circle-render.d.ts +2 -2
  379. package/es/render/contributions/render/circle-render.js +8 -25
  380. package/es/render/contributions/render/circle-render.js.map +1 -1
  381. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +2 -2
  382. package/es/render/contributions/render/contributions/base-contribution-render.js +8 -24
  383. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  384. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +1 -2
  385. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  386. package/es/render/contributions/render/contributions/rect-contribution-render.js +4 -20
  387. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  388. package/es/render/contributions/render/draw-contribution.d.ts +3 -3
  389. package/es/render/contributions/render/draw-contribution.js +11 -29
  390. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  391. package/es/render/contributions/render/draw-interceptor.js +2 -16
  392. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  393. package/es/render/contributions/render/glyph-render.js +2 -14
  394. package/es/render/contributions/render/glyph-render.js.map +1 -1
  395. package/es/render/contributions/render/graphic-render.js +1 -13
  396. package/es/render/contributions/render/graphic-render.js.map +1 -1
  397. package/es/render/contributions/render/group-render.d.ts +2 -2
  398. package/es/render/contributions/render/group-render.js +9 -25
  399. package/es/render/contributions/render/group-render.js.map +1 -1
  400. package/es/render/contributions/render/image-render.d.ts +2 -2
  401. package/es/render/contributions/render/image-render.js +8 -25
  402. package/es/render/contributions/render/image-render.js.map +1 -1
  403. package/es/render/contributions/render/incremental-area-render.js +2 -14
  404. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  405. package/es/render/contributions/render/incremental-draw-contribution.d.ts +3 -5
  406. package/es/render/contributions/render/incremental-draw-contribution.js +12 -30
  407. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  408. package/es/render/contributions/render/incremental-line-render.js +2 -14
  409. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  410. package/es/render/contributions/render/index.d.ts +12 -4
  411. package/es/render/contributions/render/index.js +24 -8
  412. package/es/render/contributions/render/index.js.map +1 -1
  413. package/es/render/contributions/render/line-render.js +2 -14
  414. package/es/render/contributions/render/line-render.js.map +1 -1
  415. package/es/render/contributions/render/path-render.d.ts +2 -2
  416. package/es/render/contributions/render/path-render.js +8 -25
  417. package/es/render/contributions/render/path-render.js.map +1 -1
  418. package/es/render/contributions/render/polygon-render.d.ts +2 -2
  419. package/es/render/contributions/render/polygon-render.js +8 -25
  420. package/es/render/contributions/render/polygon-render.js.map +1 -1
  421. package/es/render/contributions/render/pyramid3d-render.js +2 -14
  422. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  423. package/es/render/contributions/render/rect-render.d.ts +2 -2
  424. package/es/render/contributions/render/rect-render.js +8 -25
  425. package/es/render/contributions/render/rect-render.js.map +1 -1
  426. package/es/render/contributions/render/rect3d-render.js +2 -14
  427. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  428. package/es/render/contributions/render/richtext-render.js +2 -16
  429. package/es/render/contributions/render/richtext-render.js.map +1 -1
  430. package/es/render/contributions/render/star-render.d.ts +2 -2
  431. package/es/render/contributions/render/star-render.js +8 -25
  432. package/es/render/contributions/render/star-render.js.map +1 -1
  433. package/es/render/contributions/render/symbol-render.d.ts +2 -2
  434. package/es/render/contributions/render/symbol-render.js +8 -25
  435. package/es/render/contributions/render/symbol-render.js.map +1 -1
  436. package/es/render/contributions/render/symbol.d.ts +2 -0
  437. package/es/render/contributions/render/symbol.js +4 -0
  438. package/es/render/contributions/render/symbol.js.map +1 -1
  439. package/es/render/contributions/render/text-render.d.ts +2 -2
  440. package/es/render/contributions/render/text-render.js +7 -24
  441. package/es/render/contributions/render/text-render.js.map +1 -1
  442. package/es/render/render-service.js +2 -22
  443. package/es/render/render-service.js.map +1 -1
  444. package/es/resource-loader/loader.js +6 -6
  445. package/es/resource-loader/loader.js.map +1 -1
  446. package/package.json +3 -3
  447. package/cjs/common/contribution-provider.d.ts +0 -20
  448. package/cjs/common/contribution-provider.js +0 -46
  449. package/cjs/common/contribution-provider.js.map +0 -1
  450. package/cjs/common/inversify/annotation/inject.d.ts +0 -1
  451. package/cjs/common/inversify/annotation/inject.js +0 -10
  452. package/cjs/common/inversify/annotation/inject.js.map +0 -1
  453. package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
  454. package/cjs/common/inversify/annotation/inject_base.js +0 -39
  455. package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
  456. package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
  457. package/cjs/common/inversify/annotation/injectable.js +0 -46
  458. package/cjs/common/inversify/annotation/injectable.js.map +0 -1
  459. package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
  460. package/cjs/common/inversify/annotation/multi_inject.js +0 -10
  461. package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
  462. package/cjs/common/inversify/annotation/named.d.ts +0 -1
  463. package/cjs/common/inversify/annotation/named.js +0 -14
  464. package/cjs/common/inversify/annotation/named.js.map +0 -1
  465. package/cjs/common/inversify/annotation/optional.d.ts +0 -2
  466. package/cjs/common/inversify/annotation/optional.js +0 -14
  467. package/cjs/common/inversify/annotation/optional.js.map +0 -1
  468. package/cjs/common/inversify/binding.d.ts +0 -18
  469. package/cjs/common/inversify/binding.js +0 -26
  470. package/cjs/common/inversify/binding.js.map +0 -1
  471. package/cjs/common/inversify/container.d.ts +0 -28
  472. package/cjs/common/inversify/container.js +0 -158
  473. package/cjs/common/inversify/container.js.map +0 -1
  474. package/cjs/common/inversify/cotainer-module.d.ts +0 -6
  475. package/cjs/common/inversify/cotainer-module.js +0 -16
  476. package/cjs/common/inversify/cotainer-module.js.map +0 -1
  477. package/cjs/common/inversify/index.d.ts +0 -7
  478. package/cjs/common/inversify/index.js +0 -75
  479. package/cjs/common/inversify/index.js.map +0 -1
  480. package/cjs/common/inversify/interfaces.d.ts +0 -218
  481. package/cjs/common/inversify/interfaces.js +0 -6
  482. package/cjs/common/inversify/interfaces.js.map +0 -1
  483. package/cjs/common/inversify/literal_types.d.ts +0 -5
  484. package/cjs/common/inversify/literal_types.js +0 -34
  485. package/cjs/common/inversify/literal_types.js.map +0 -1
  486. package/cjs/common/inversify/meta-data.d.ts +0 -6
  487. package/cjs/common/inversify/meta-data.js +0 -19
  488. package/cjs/common/inversify/meta-data.js.map +0 -1
  489. package/cjs/common/inversify/metadata_keys.d.ts +0 -12
  490. package/cjs/common/inversify/metadata_keys.js +0 -15
  491. package/cjs/common/inversify/metadata_keys.js.map +0 -1
  492. package/cjs/common/inversify/metadata_reader.d.ts +0 -6
  493. package/cjs/common/inversify/metadata_reader.js +0 -28
  494. package/cjs/common/inversify/metadata_reader.js.map +0 -1
  495. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  496. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
  497. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  498. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  499. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
  500. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  501. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  502. package/cjs/common/inversify/syntax/constraint_helpers.js +0 -20
  503. package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
  504. package/cjs/common/inversify-lite/annotation/decorator_utils.d.ts +0 -16
  505. package/cjs/common/inversify-lite/annotation/decorator_utils.js +0 -97
  506. package/cjs/common/inversify-lite/annotation/decorator_utils.js.map +0 -1
  507. package/cjs/common/inversify-lite/annotation/inject.d.ts +0 -2
  508. package/cjs/common/inversify-lite/annotation/inject.js +0 -36
  509. package/cjs/common/inversify-lite/annotation/inject.js.map +0 -1
  510. package/cjs/common/inversify-lite/annotation/inject_base.d.ts +0 -3
  511. package/cjs/common/inversify-lite/annotation/inject_base.js +0 -20
  512. package/cjs/common/inversify-lite/annotation/inject_base.js.map +0 -1
  513. package/cjs/common/inversify-lite/annotation/injectable.d.ts +0 -2
  514. package/cjs/common/inversify-lite/annotation/injectable.js +0 -48
  515. package/cjs/common/inversify-lite/annotation/injectable.js.map +0 -1
  516. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.d.ts +0 -7
  517. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js +0 -17
  518. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js.map +0 -1
  519. package/cjs/common/inversify-lite/annotation/multi_inject.d.ts +0 -2
  520. package/cjs/common/inversify-lite/annotation/multi_inject.js +0 -36
  521. package/cjs/common/inversify-lite/annotation/multi_inject.js.map +0 -1
  522. package/cjs/common/inversify-lite/annotation/named.d.ts +0 -2
  523. package/cjs/common/inversify-lite/annotation/named.js +0 -39
  524. package/cjs/common/inversify-lite/annotation/named.js.map +0 -1
  525. package/cjs/common/inversify-lite/annotation/property_event_decorator.d.ts +0 -4
  526. package/cjs/common/inversify-lite/annotation/property_event_decorator.js +0 -24
  527. package/cjs/common/inversify-lite/annotation/property_event_decorator.js.map +0 -1
  528. package/cjs/common/inversify-lite/bindings/binding.d.ts +0 -20
  529. package/cjs/common/inversify-lite/bindings/binding.js +0 -27
  530. package/cjs/common/inversify-lite/bindings/binding.js.map +0 -1
  531. package/cjs/common/inversify-lite/bindings/binding_count.d.ts +0 -5
  532. package/cjs/common/inversify-lite/bindings/binding_count.js +0 -10
  533. package/cjs/common/inversify-lite/bindings/binding_count.js.map +0 -1
  534. package/cjs/common/inversify-lite/constants/error_msgs.d.ts +0 -32
  535. package/cjs/common/inversify-lite/constants/error_msgs.js +0 -50
  536. package/cjs/common/inversify-lite/constants/error_msgs.js.map +0 -1
  537. package/cjs/common/inversify-lite/constants/literal_types.d.ts +0 -5
  538. package/cjs/common/inversify-lite/constants/literal_types.js +0 -35
  539. package/cjs/common/inversify-lite/constants/literal_types.js.map +0 -1
  540. package/cjs/common/inversify-lite/constants/metadata_keys.d.ts +0 -13
  541. package/cjs/common/inversify-lite/constants/metadata_keys.js +0 -16
  542. package/cjs/common/inversify-lite/constants/metadata_keys.js.map +0 -1
  543. package/cjs/common/inversify-lite/container/container.d.ts +0 -46
  544. package/cjs/common/inversify-lite/container/container.js +0 -290
  545. package/cjs/common/inversify-lite/container/container.js.map +0 -1
  546. package/cjs/common/inversify-lite/container/container_module.d.ts +0 -11
  547. package/cjs/common/inversify-lite/container/container_module.js +0 -24
  548. package/cjs/common/inversify-lite/container/container_module.js.map +0 -1
  549. package/cjs/common/inversify-lite/container/lookup.d.ts +0 -16
  550. package/cjs/common/inversify-lite/container/lookup.js +0 -97
  551. package/cjs/common/inversify-lite/container/lookup.js.map +0 -1
  552. package/cjs/common/inversify-lite/index.d.ts +0 -1
  553. package/cjs/common/inversify-lite/index.js +0 -21
  554. package/cjs/common/inversify-lite/index.js.map +0 -1
  555. package/cjs/common/inversify-lite/interfaces/interfaces.d.ts +0 -237
  556. package/cjs/common/inversify-lite/interfaces/interfaces.js.map +0 -1
  557. package/cjs/common/inversify-lite/planning/context.d.ts +0 -11
  558. package/cjs/common/inversify-lite/planning/context.js +0 -22
  559. package/cjs/common/inversify-lite/planning/context.js.map +0 -1
  560. package/cjs/common/inversify-lite/planning/metadata.d.ts +0 -8
  561. package/cjs/common/inversify-lite/planning/metadata.js +0 -44
  562. package/cjs/common/inversify-lite/planning/metadata.js.map +0 -1
  563. package/cjs/common/inversify-lite/planning/metadata_reader.d.ts +0 -6
  564. package/cjs/common/inversify-lite/planning/metadata_reader.js +0 -51
  565. package/cjs/common/inversify-lite/planning/metadata_reader.js.map +0 -1
  566. package/cjs/common/inversify-lite/planning/plan.d.ts +0 -7
  567. package/cjs/common/inversify-lite/planning/plan.js +0 -14
  568. package/cjs/common/inversify-lite/planning/plan.js.map +0 -1
  569. package/cjs/common/inversify-lite/planning/planner.d.ts +0 -5
  570. package/cjs/common/inversify-lite/planning/planner.js +0 -132
  571. package/cjs/common/inversify-lite/planning/planner.js.map +0 -1
  572. package/cjs/common/inversify-lite/planning/queryable_string.d.ts +0 -9
  573. package/cjs/common/inversify-lite/planning/queryable_string.js +0 -23
  574. package/cjs/common/inversify-lite/planning/queryable_string.js.map +0 -1
  575. package/cjs/common/inversify-lite/planning/reflection_utils.d.ts +0 -5
  576. package/cjs/common/inversify-lite/planning/reflection_utils.js +0 -129
  577. package/cjs/common/inversify-lite/planning/reflection_utils.js.map +0 -1
  578. package/cjs/common/inversify-lite/planning/request.d.ts +0 -14
  579. package/cjs/common/inversify-lite/planning/request.js +0 -22
  580. package/cjs/common/inversify-lite/planning/request.js.map +0 -1
  581. package/cjs/common/inversify-lite/planning/target.d.ts +0 -23
  582. package/cjs/common/inversify-lite/planning/target.js +0 -81
  583. package/cjs/common/inversify-lite/planning/target.js.map +0 -1
  584. package/cjs/common/inversify-lite/resolution/instantiation.d.ts +0 -3
  585. package/cjs/common/inversify-lite/resolution/instantiation.js +0 -143
  586. package/cjs/common/inversify-lite/resolution/instantiation.js.map +0 -1
  587. package/cjs/common/inversify-lite/resolution/resolver.d.ts +0 -3
  588. package/cjs/common/inversify-lite/resolution/resolver.js +0 -74
  589. package/cjs/common/inversify-lite/resolution/resolver.js.map +0 -1
  590. package/cjs/common/inversify-lite/scope/scope.d.ts +0 -3
  591. package/cjs/common/inversify-lite/scope/scope.js +0 -56
  592. package/cjs/common/inversify-lite/scope/scope.js.map +0 -1
  593. package/cjs/common/inversify-lite/syntax/binding_in_syntax.d.ts +0 -9
  594. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js +0 -25
  595. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js.map +0 -1
  596. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.d.ts +0 -12
  597. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -29
  598. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +0 -1
  599. package/cjs/common/inversify-lite/syntax/binding_on_syntax.d.ts +0 -6
  600. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js +0 -14
  601. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js.map +0 -1
  602. package/cjs/common/inversify-lite/syntax/binding_to_syntax.d.ts +0 -18
  603. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js +0 -88
  604. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js.map +0 -1
  605. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.d.ts +0 -8
  606. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -19
  607. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js.map +0 -1
  608. package/cjs/common/inversify-lite/syntax/binding_when_syntax.d.ts +0 -7
  609. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js +0 -20
  610. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js.map +0 -1
  611. package/cjs/common/inversify-lite/syntax/constraint_helpers.d.ts +0 -3
  612. package/cjs/common/inversify-lite/syntax/constraint_helpers.js +0 -38
  613. package/cjs/common/inversify-lite/syntax/constraint_helpers.js.map +0 -1
  614. package/cjs/common/inversify-lite/utils/async.d.ts +0 -3
  615. package/cjs/common/inversify-lite/utils/async.js +0 -15
  616. package/cjs/common/inversify-lite/utils/async.js.map +0 -1
  617. package/cjs/common/inversify-lite/utils/binding_utils.d.ts +0 -4
  618. package/cjs/common/inversify-lite/utils/binding_utils.js +0 -94
  619. package/cjs/common/inversify-lite/utils/binding_utils.js.map +0 -1
  620. package/cjs/common/inversify-lite/utils/clonable.d.ts +0 -3
  621. package/cjs/common/inversify-lite/utils/clonable.js +0 -10
  622. package/cjs/common/inversify-lite/utils/clonable.js.map +0 -1
  623. package/cjs/common/inversify-lite/utils/exceptions.d.ts +0 -2
  624. package/cjs/common/inversify-lite/utils/exceptions.js +0 -43
  625. package/cjs/common/inversify-lite/utils/exceptions.js.map +0 -1
  626. package/cjs/common/inversify-lite/utils/factory_type.d.ts +0 -5
  627. package/cjs/common/inversify-lite/utils/factory_type.js +0 -11
  628. package/cjs/common/inversify-lite/utils/factory_type.js.map +0 -1
  629. package/cjs/common/inversify-lite/utils/id.d.ts +0 -2
  630. package/cjs/common/inversify-lite/utils/id.js +0 -14
  631. package/cjs/common/inversify-lite/utils/id.js.map +0 -1
  632. package/cjs/common/inversify-lite/utils/js.d.ts +0 -1
  633. package/cjs/common/inversify-lite/utils/js.js +0 -14
  634. package/cjs/common/inversify-lite/utils/js.js.map +0 -1
  635. package/cjs/common/inversify-lite/utils/serialization.d.ts +0 -10
  636. package/cjs/common/inversify-lite/utils/serialization.js +0 -99
  637. package/cjs/common/inversify-lite/utils/serialization.js.map +0 -1
  638. package/cjs/container.d.ts +0 -2
  639. package/cjs/container.js +0 -10
  640. package/cjs/container.js.map +0 -1
  641. package/cjs/core/contributions/env/modules.d.ts +0 -3
  642. package/cjs/core/contributions/env/modules.js +0 -12
  643. package/cjs/core/contributions/env/modules.js.map +0 -1
  644. package/cjs/core/contributions/layerHandler/modules.d.ts +0 -3
  645. package/cjs/core/contributions/layerHandler/modules.js +0 -12
  646. package/cjs/core/contributions/layerHandler/modules.js.map +0 -1
  647. package/cjs/core/contributions/textMeasure/modules.d.ts +0 -3
  648. package/cjs/core/contributions/textMeasure/modules.js +0 -13
  649. package/cjs/core/contributions/textMeasure/modules.js.map +0 -1
  650. package/cjs/core/core-modules.d.ts +0 -3
  651. package/cjs/core/core-modules.js +0 -15
  652. package/cjs/core/core-modules.js.map +0 -1
  653. package/cjs/core/global-module.d.ts +0 -1
  654. package/cjs/core/global-module.js +0 -3
  655. package/cjs/core/global-module.js.map +0 -1
  656. package/cjs/graphic/graphic-service/graphic-module.d.ts +0 -3
  657. package/cjs/graphic/graphic-service/graphic-module.js +0 -12
  658. package/cjs/graphic/graphic-service/graphic-module.js.map +0 -1
  659. package/cjs/picker/pick-modules.d.ts +0 -3
  660. package/cjs/picker/pick-modules.js +0 -22
  661. package/cjs/picker/pick-modules.js.map +0 -1
  662. package/cjs/plugins/plugin-modules.d.ts +0 -3
  663. package/cjs/plugins/plugin-modules.js +0 -12
  664. package/cjs/plugins/plugin-modules.js.map +0 -1
  665. package/cjs/render/contributions/modules.d.ts +0 -2
  666. package/cjs/render/contributions/modules.js +0 -20
  667. package/cjs/render/contributions/modules.js.map +0 -1
  668. package/cjs/render/contributions/render/arc-module.d.ts +0 -2
  669. package/cjs/render/contributions/render/arc-module.js +0 -17
  670. package/cjs/render/contributions/render/arc-module.js.map +0 -1
  671. package/cjs/render/contributions/render/arc3d-module.d.ts +0 -2
  672. package/cjs/render/contributions/render/arc3d-module.js +0 -15
  673. package/cjs/render/contributions/render/arc3d-module.js.map +0 -1
  674. package/cjs/render/contributions/render/area-module.d.ts +0 -2
  675. package/cjs/render/contributions/render/area-module.js +0 -18
  676. package/cjs/render/contributions/render/area-module.js.map +0 -1
  677. package/cjs/render/contributions/render/circle-module.d.ts +0 -2
  678. package/cjs/render/contributions/render/circle-module.js +0 -17
  679. package/cjs/render/contributions/render/circle-module.js.map +0 -1
  680. package/cjs/render/contributions/render/glyph-module.d.ts +0 -2
  681. package/cjs/render/contributions/render/glyph-module.js +0 -15
  682. package/cjs/render/contributions/render/glyph-module.js.map +0 -1
  683. package/cjs/render/contributions/render/image-module.d.ts +0 -2
  684. package/cjs/render/contributions/render/image-module.js +0 -16
  685. package/cjs/render/contributions/render/image-module.js.map +0 -1
  686. package/cjs/render/contributions/render/line-module.d.ts +0 -2
  687. package/cjs/render/contributions/render/line-module.js +0 -17
  688. package/cjs/render/contributions/render/line-module.js.map +0 -1
  689. package/cjs/render/contributions/render/module.d.ts +0 -3
  690. package/cjs/render/contributions/render/module.js +0 -23
  691. package/cjs/render/contributions/render/module.js.map +0 -1
  692. package/cjs/render/contributions/render/path-module.d.ts +0 -2
  693. package/cjs/render/contributions/render/path-module.js +0 -17
  694. package/cjs/render/contributions/render/path-module.js.map +0 -1
  695. package/cjs/render/contributions/render/polygon-module.d.ts +0 -2
  696. package/cjs/render/contributions/render/polygon-module.js +0 -16
  697. package/cjs/render/contributions/render/polygon-module.js.map +0 -1
  698. package/cjs/render/contributions/render/pyramid3d-module.d.ts +0 -2
  699. package/cjs/render/contributions/render/pyramid3d-module.js +0 -15
  700. package/cjs/render/contributions/render/pyramid3d-module.js.map +0 -1
  701. package/cjs/render/contributions/render/rect-module.d.ts +0 -2
  702. package/cjs/render/contributions/render/rect-module.js +0 -20
  703. package/cjs/render/contributions/render/rect-module.js.map +0 -1
  704. package/cjs/render/contributions/render/rect3d-module.d.ts +0 -2
  705. package/cjs/render/contributions/render/rect3d-module.js +0 -15
  706. package/cjs/render/contributions/render/rect3d-module.js.map +0 -1
  707. package/cjs/render/contributions/render/richtext-module.d.ts +0 -2
  708. package/cjs/render/contributions/render/richtext-module.js +0 -15
  709. package/cjs/render/contributions/render/richtext-module.js.map +0 -1
  710. package/cjs/render/contributions/render/star-module.d.ts +0 -2
  711. package/cjs/render/contributions/render/star-module.js +0 -15
  712. package/cjs/render/contributions/render/star-module.js.map +0 -1
  713. package/cjs/render/contributions/render/symbol-module.d.ts +0 -2
  714. package/cjs/render/contributions/render/symbol-module.js +0 -17
  715. package/cjs/render/contributions/render/symbol-module.js.map +0 -1
  716. package/cjs/render/contributions/render/text-module.d.ts +0 -2
  717. package/cjs/render/contributions/render/text-module.js +0 -16
  718. package/cjs/render/contributions/render/text-module.js.map +0 -1
  719. package/cjs/render/render-modules.d.ts +0 -3
  720. package/cjs/render/render-modules.js +0 -12
  721. package/cjs/render/render-modules.js.map +0 -1
  722. package/es/common/contribution-provider.d.ts +0 -20
  723. package/es/common/contribution-provider.js +0 -39
  724. package/es/common/contribution-provider.js.map +0 -1
  725. package/es/common/inversify/annotation/inject.d.ts +0 -1
  726. package/es/common/inversify/annotation/inject.js +0 -6
  727. package/es/common/inversify/annotation/inject.js.map +0 -1
  728. package/es/common/inversify/annotation/inject_base.d.ts +0 -14
  729. package/es/common/inversify/annotation/inject_base.js +0 -29
  730. package/es/common/inversify/annotation/inject_base.js.map +0 -1
  731. package/es/common/inversify/annotation/injectable.d.ts +0 -1
  732. package/es/common/inversify/annotation/injectable.js +0 -10
  733. package/es/common/inversify/annotation/injectable.js.map +0 -1
  734. package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
  735. package/es/common/inversify/annotation/multi_inject.js +0 -6
  736. package/es/common/inversify/annotation/multi_inject.js.map +0 -1
  737. package/es/common/inversify/annotation/named.d.ts +0 -1
  738. package/es/common/inversify/annotation/named.js +0 -10
  739. package/es/common/inversify/annotation/named.js.map +0 -1
  740. package/es/common/inversify/annotation/optional.d.ts +0 -2
  741. package/es/common/inversify/annotation/optional.js +0 -12
  742. package/es/common/inversify/annotation/optional.js.map +0 -1
  743. package/es/common/inversify/binding.d.ts +0 -18
  744. package/es/common/inversify/binding.js +0 -22
  745. package/es/common/inversify/binding.js.map +0 -1
  746. package/es/common/inversify/container.d.ts +0 -28
  747. package/es/common/inversify/container.js +0 -158
  748. package/es/common/inversify/container.js.map +0 -1
  749. package/es/common/inversify/cotainer-module.d.ts +0 -6
  750. package/es/common/inversify/cotainer-module.js +0 -8
  751. package/es/common/inversify/cotainer-module.js.map +0 -1
  752. package/es/common/inversify/index.d.ts +0 -7
  753. package/es/common/inversify/index.js +0 -14
  754. package/es/common/inversify/index.js.map +0 -1
  755. package/es/common/inversify/interfaces.d.ts +0 -218
  756. package/es/common/inversify/interfaces.js +0 -2
  757. package/es/common/inversify/interfaces.js.map +0 -1
  758. package/es/common/inversify/literal_types.d.ts +0 -5
  759. package/es/common/inversify/literal_types.js +0 -20
  760. package/es/common/inversify/literal_types.js.map +0 -1
  761. package/es/common/inversify/meta-data.d.ts +0 -6
  762. package/es/common/inversify/meta-data.js +0 -11
  763. package/es/common/inversify/meta-data.js.map +0 -1
  764. package/es/common/inversify/metadata_keys.d.ts +0 -12
  765. package/es/common/inversify/metadata_keys.js +0 -28
  766. package/es/common/inversify/metadata_keys.js.map +0 -1
  767. package/es/common/inversify/metadata_reader.d.ts +0 -6
  768. package/es/common/inversify/metadata_reader.js +0 -18
  769. package/es/common/inversify/metadata_reader.js.map +0 -1
  770. package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  771. package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
  772. package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  773. package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  774. package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
  775. package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  776. package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  777. package/es/common/inversify/syntax/constraint_helpers.js +0 -18
  778. package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
  779. package/es/common/inversify-lite/annotation/decorator_utils.d.ts +0 -16
  780. package/es/common/inversify-lite/annotation/decorator_utils.js +0 -67
  781. package/es/common/inversify-lite/annotation/decorator_utils.js.map +0 -1
  782. package/es/common/inversify-lite/annotation/inject.d.ts +0 -2
  783. package/es/common/inversify-lite/annotation/inject.js +0 -8
  784. package/es/common/inversify-lite/annotation/inject.js.map +0 -1
  785. package/es/common/inversify-lite/annotation/inject_base.d.ts +0 -3
  786. package/es/common/inversify-lite/annotation/inject_base.js +0 -16
  787. package/es/common/inversify-lite/annotation/inject_base.js.map +0 -1
  788. package/es/common/inversify-lite/annotation/injectable.d.ts +0 -2
  789. package/es/common/inversify-lite/annotation/injectable.js +0 -16
  790. package/es/common/inversify-lite/annotation/injectable.js.map +0 -1
  791. package/es/common/inversify-lite/annotation/lazy_service_identifier.d.ts +0 -7
  792. package/es/common/inversify-lite/annotation/lazy_service_identifier.js +0 -9
  793. package/es/common/inversify-lite/annotation/lazy_service_identifier.js.map +0 -1
  794. package/es/common/inversify-lite/annotation/multi_inject.d.ts +0 -2
  795. package/es/common/inversify-lite/annotation/multi_inject.js +0 -8
  796. package/es/common/inversify-lite/annotation/multi_inject.js.map +0 -1
  797. package/es/common/inversify-lite/annotation/named.d.ts +0 -2
  798. package/es/common/inversify-lite/annotation/named.js +0 -12
  799. package/es/common/inversify-lite/annotation/named.js.map +0 -1
  800. package/es/common/inversify-lite/annotation/property_event_decorator.d.ts +0 -4
  801. package/es/common/inversify-lite/annotation/property_event_decorator.js +0 -14
  802. package/es/common/inversify-lite/annotation/property_event_decorator.js.map +0 -1
  803. package/es/common/inversify-lite/bindings/binding.d.ts +0 -20
  804. package/es/common/inversify-lite/bindings/binding.js +0 -23
  805. package/es/common/inversify-lite/bindings/binding.js.map +0 -1
  806. package/es/common/inversify-lite/bindings/binding_count.d.ts +0 -5
  807. package/es/common/inversify-lite/bindings/binding_count.js +0 -6
  808. package/es/common/inversify-lite/bindings/binding_count.js.map +0 -1
  809. package/es/common/inversify-lite/constants/error_msgs.d.ts +0 -32
  810. package/es/common/inversify-lite/constants/error_msgs.js +0 -64
  811. package/es/common/inversify-lite/constants/error_msgs.js.map +0 -1
  812. package/es/common/inversify-lite/constants/literal_types.d.ts +0 -5
  813. package/es/common/inversify-lite/constants/literal_types.js +0 -21
  814. package/es/common/inversify-lite/constants/literal_types.js.map +0 -1
  815. package/es/common/inversify-lite/constants/metadata_keys.d.ts +0 -13
  816. package/es/common/inversify-lite/constants/metadata_keys.js +0 -30
  817. package/es/common/inversify-lite/constants/metadata_keys.js.map +0 -1
  818. package/es/common/inversify-lite/container/container.d.ts +0 -46
  819. package/es/common/inversify-lite/container/container.js +0 -279
  820. package/es/common/inversify-lite/container/container.js.map +0 -1
  821. package/es/common/inversify-lite/container/container_module.d.ts +0 -11
  822. package/es/common/inversify-lite/container/container_module.js +0 -14
  823. package/es/common/inversify-lite/container/container_module.js.map +0 -1
  824. package/es/common/inversify-lite/container/lookup.d.ts +0 -16
  825. package/es/common/inversify-lite/container/lookup.js +0 -68
  826. package/es/common/inversify-lite/container/lookup.js.map +0 -1
  827. package/es/common/inversify-lite/index.d.ts +0 -1
  828. package/es/common/inversify-lite/index.js +0 -2
  829. package/es/common/inversify-lite/index.js.map +0 -1
  830. package/es/common/inversify-lite/interfaces/interfaces.d.ts +0 -237
  831. package/es/common/inversify-lite/interfaces/interfaces.js +0 -2
  832. package/es/common/inversify-lite/interfaces/interfaces.js.map +0 -1
  833. package/es/common/inversify-lite/planning/context.d.ts +0 -11
  834. package/es/common/inversify-lite/planning/context.js +0 -16
  835. package/es/common/inversify-lite/planning/context.js.map +0 -1
  836. package/es/common/inversify-lite/planning/metadata.d.ts +0 -8
  837. package/es/common/inversify-lite/planning/metadata.js +0 -13
  838. package/es/common/inversify-lite/planning/metadata.js.map +0 -1
  839. package/es/common/inversify-lite/planning/metadata_reader.d.ts +0 -6
  840. package/es/common/inversify-lite/planning/metadata_reader.js +0 -18
  841. package/es/common/inversify-lite/planning/metadata_reader.js.map +0 -1
  842. package/es/common/inversify-lite/planning/plan.d.ts +0 -7
  843. package/es/common/inversify-lite/planning/plan.js +0 -8
  844. package/es/common/inversify-lite/planning/plan.js.map +0 -1
  845. package/es/common/inversify-lite/planning/planner.d.ts +0 -5
  846. package/es/common/inversify-lite/planning/planner.js +0 -120
  847. package/es/common/inversify-lite/planning/planner.js.map +0 -1
  848. package/es/common/inversify-lite/planning/queryable_string.d.ts +0 -9
  849. package/es/common/inversify-lite/planning/queryable_string.js +0 -17
  850. package/es/common/inversify-lite/planning/queryable_string.js.map +0 -1
  851. package/es/common/inversify-lite/planning/reflection_utils.d.ts +0 -5
  852. package/es/common/inversify-lite/planning/reflection_utils.js +0 -99
  853. package/es/common/inversify-lite/planning/reflection_utils.js.map +0 -1
  854. package/es/common/inversify-lite/planning/request.d.ts +0 -14
  855. package/es/common/inversify-lite/planning/request.js +0 -16
  856. package/es/common/inversify-lite/planning/request.js.map +0 -1
  857. package/es/common/inversify-lite/planning/target.d.ts +0 -23
  858. package/es/common/inversify-lite/planning/target.js +0 -58
  859. package/es/common/inversify-lite/planning/target.js.map +0 -1
  860. package/es/common/inversify-lite/resolution/instantiation.d.ts +0 -3
  861. package/es/common/inversify-lite/resolution/instantiation.js +0 -117
  862. package/es/common/inversify-lite/resolution/instantiation.js.map +0 -1
  863. package/es/common/inversify-lite/resolution/resolver.d.ts +0 -3
  864. package/es/common/inversify-lite/resolution/resolver.js +0 -55
  865. package/es/common/inversify-lite/resolution/resolver.js.map +0 -1
  866. package/es/common/inversify-lite/scope/scope.d.ts +0 -3
  867. package/es/common/inversify-lite/scope/scope.js +0 -50
  868. package/es/common/inversify-lite/scope/scope.js.map +0 -1
  869. package/es/common/inversify-lite/syntax/binding_in_syntax.d.ts +0 -9
  870. package/es/common/inversify-lite/syntax/binding_in_syntax.js +0 -21
  871. package/es/common/inversify-lite/syntax/binding_in_syntax.js.map +0 -1
  872. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.d.ts +0 -12
  873. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -25
  874. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +0 -1
  875. package/es/common/inversify-lite/syntax/binding_on_syntax.d.ts +0 -6
  876. package/es/common/inversify-lite/syntax/binding_on_syntax.js +0 -8
  877. package/es/common/inversify-lite/syntax/binding_on_syntax.js.map +0 -1
  878. package/es/common/inversify-lite/syntax/binding_to_syntax.d.ts +0 -18
  879. package/es/common/inversify-lite/syntax/binding_to_syntax.js +0 -63
  880. package/es/common/inversify-lite/syntax/binding_to_syntax.js.map +0 -1
  881. package/es/common/inversify-lite/syntax/binding_when_on_syntax.d.ts +0 -8
  882. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -13
  883. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js.map +0 -1
  884. package/es/common/inversify-lite/syntax/binding_when_syntax.d.ts +0 -7
  885. package/es/common/inversify-lite/syntax/binding_when_syntax.js +0 -15
  886. package/es/common/inversify-lite/syntax/binding_when_syntax.js.map +0 -1
  887. package/es/common/inversify-lite/syntax/constraint_helpers.d.ts +0 -3
  888. package/es/common/inversify-lite/syntax/constraint_helpers.js +0 -11
  889. package/es/common/inversify-lite/syntax/constraint_helpers.js.map +0 -1
  890. package/es/common/inversify-lite/utils/async.d.ts +0 -3
  891. package/es/common/inversify-lite/utils/async.js +0 -10
  892. package/es/common/inversify-lite/utils/async.js.map +0 -1
  893. package/es/common/inversify-lite/utils/binding_utils.d.ts +0 -4
  894. package/es/common/inversify-lite/utils/binding_utils.js +0 -65
  895. package/es/common/inversify-lite/utils/binding_utils.js.map +0 -1
  896. package/es/common/inversify-lite/utils/clonable.d.ts +0 -3
  897. package/es/common/inversify-lite/utils/clonable.js +0 -6
  898. package/es/common/inversify-lite/utils/clonable.js.map +0 -1
  899. package/es/common/inversify-lite/utils/exceptions.d.ts +0 -2
  900. package/es/common/inversify-lite/utils/exceptions.js +0 -8
  901. package/es/common/inversify-lite/utils/exceptions.js.map +0 -1
  902. package/es/common/inversify-lite/utils/factory_type.d.ts +0 -5
  903. package/es/common/inversify-lite/utils/factory_type.js +0 -7
  904. package/es/common/inversify-lite/utils/factory_type.js.map +0 -1
  905. package/es/common/inversify-lite/utils/id.d.ts +0 -2
  906. package/es/common/inversify-lite/utils/id.js +0 -8
  907. package/es/common/inversify-lite/utils/id.js.map +0 -1
  908. package/es/common/inversify-lite/utils/js.d.ts +0 -1
  909. package/es/common/inversify-lite/utils/js.js +0 -8
  910. package/es/common/inversify-lite/utils/js.js.map +0 -1
  911. package/es/common/inversify-lite/utils/serialization.d.ts +0 -10
  912. package/es/common/inversify-lite/utils/serialization.js +0 -66
  913. package/es/common/inversify-lite/utils/serialization.js.map +0 -1
  914. package/es/container.d.ts +0 -2
  915. package/es/container.js +0 -4
  916. package/es/container.js.map +0 -1
  917. package/es/core/contributions/env/modules.d.ts +0 -3
  918. package/es/core/contributions/env/modules.js +0 -10
  919. package/es/core/contributions/env/modules.js.map +0 -1
  920. package/es/core/contributions/layerHandler/modules.d.ts +0 -3
  921. package/es/core/contributions/layerHandler/modules.js +0 -10
  922. package/es/core/contributions/layerHandler/modules.js.map +0 -1
  923. package/es/core/contributions/textMeasure/modules.d.ts +0 -3
  924. package/es/core/contributions/textMeasure/modules.js +0 -11
  925. package/es/core/contributions/textMeasure/modules.js.map +0 -1
  926. package/es/core/core-modules.d.ts +0 -3
  927. package/es/core/core-modules.js +0 -20
  928. package/es/core/core-modules.js.map +0 -1
  929. package/es/core/global-module.d.ts +0 -1
  930. package/es/core/global-module.js +0 -3
  931. package/es/core/global-module.js.map +0 -1
  932. package/es/graphic/graphic-service/graphic-module.d.ts +0 -3
  933. package/es/graphic/graphic-service/graphic-module.js +0 -12
  934. package/es/graphic/graphic-service/graphic-module.js.map +0 -1
  935. package/es/picker/pick-modules.d.ts +0 -3
  936. package/es/picker/pick-modules.js +0 -18
  937. package/es/picker/pick-modules.js.map +0 -1
  938. package/es/plugins/plugin-modules.d.ts +0 -3
  939. package/es/plugins/plugin-modules.js +0 -14
  940. package/es/plugins/plugin-modules.js.map +0 -1
  941. package/es/render/contributions/modules.d.ts +0 -2
  942. package/es/render/contributions/modules.js +0 -6
  943. package/es/render/contributions/modules.js.map +0 -1
  944. package/es/render/contributions/render/arc-module.d.ts +0 -2
  945. package/es/render/contributions/render/arc-module.js +0 -21
  946. package/es/render/contributions/render/arc-module.js.map +0 -1
  947. package/es/render/contributions/render/arc3d-module.d.ts +0 -2
  948. package/es/render/contributions/render/arc3d-module.js +0 -13
  949. package/es/render/contributions/render/arc3d-module.js.map +0 -1
  950. package/es/render/contributions/render/area-module.d.ts +0 -2
  951. package/es/render/contributions/render/area-module.js +0 -23
  952. package/es/render/contributions/render/area-module.js.map +0 -1
  953. package/es/render/contributions/render/circle-module.d.ts +0 -2
  954. package/es/render/contributions/render/circle-module.js +0 -21
  955. package/es/render/contributions/render/circle-module.js.map +0 -1
  956. package/es/render/contributions/render/glyph-module.d.ts +0 -2
  957. package/es/render/contributions/render/glyph-module.js +0 -13
  958. package/es/render/contributions/render/glyph-module.js.map +0 -1
  959. package/es/render/contributions/render/image-module.d.ts +0 -2
  960. package/es/render/contributions/render/image-module.js +0 -20
  961. package/es/render/contributions/render/image-module.js.map +0 -1
  962. package/es/render/contributions/render/line-module.d.ts +0 -2
  963. package/es/render/contributions/render/line-module.js +0 -16
  964. package/es/render/contributions/render/line-module.js.map +0 -1
  965. package/es/render/contributions/render/module.d.ts +0 -3
  966. package/es/render/contributions/render/module.js +0 -28
  967. package/es/render/contributions/render/module.js.map +0 -1
  968. package/es/render/contributions/render/path-module.d.ts +0 -2
  969. package/es/render/contributions/render/path-module.js +0 -21
  970. package/es/render/contributions/render/path-module.js.map +0 -1
  971. package/es/render/contributions/render/polygon-module.d.ts +0 -2
  972. package/es/render/contributions/render/polygon-module.js +0 -20
  973. package/es/render/contributions/render/polygon-module.js.map +0 -1
  974. package/es/render/contributions/render/pyramid3d-module.d.ts +0 -2
  975. package/es/render/contributions/render/pyramid3d-module.js +0 -13
  976. package/es/render/contributions/render/pyramid3d-module.js.map +0 -1
  977. package/es/render/contributions/render/rect-module.d.ts +0 -2
  978. package/es/render/contributions/render/rect-module.js +0 -23
  979. package/es/render/contributions/render/rect-module.js.map +0 -1
  980. package/es/render/contributions/render/rect3d-module.d.ts +0 -2
  981. package/es/render/contributions/render/rect3d-module.js +0 -13
  982. package/es/render/contributions/render/rect3d-module.js.map +0 -1
  983. package/es/render/contributions/render/richtext-module.d.ts +0 -2
  984. package/es/render/contributions/render/richtext-module.js +0 -13
  985. package/es/render/contributions/render/richtext-module.js.map +0 -1
  986. package/es/render/contributions/render/star-module.d.ts +0 -2
  987. package/es/render/contributions/render/star-module.js +0 -13
  988. package/es/render/contributions/render/star-module.js.map +0 -1
  989. package/es/render/contributions/render/symbol-module.d.ts +0 -2
  990. package/es/render/contributions/render/symbol-module.js +0 -21
  991. package/es/render/contributions/render/symbol-module.js.map +0 -1
  992. package/es/render/contributions/render/text-module.d.ts +0 -2
  993. package/es/render/contributions/render/text-module.js +0 -20
  994. package/es/render/contributions/render/text-module.js.map +0 -1
  995. package/es/render/render-modules.d.ts +0 -3
  996. package/es/render/render-modules.js +0 -10
  997. package/es/render/render-modules.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import type { IAABBBounds, Matrix } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { Point } from '@visactor/vutils';\nimport { application } from '../application';\nimport type {\n IStage,\n GraphicAttributeMap,\n INode,\n IGraphic,\n ITheme,\n IThemeSpec,\n ILayer,\n GraphicType\n} from '../interface';\nimport type { IGroup, IGroupGraphicAttribute } from '../interface/graphic/group';\nimport { Graphic, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { getTheme, Theme } from './theme';\nimport { UpdateTag, IContainPointMode } from '../common/enums';\nimport { GROUP_NUMBER_TYPE } from './constants';\nimport { DefaultTransform } from './config';\n\n// Group更新AABBBounds的策略\nexport enum GroupUpdateAABBBoundsMode {\n // Group较少的情况,不会批量设置所有父层的tag,而是每次都查找\n LESS_GROUP = 0,\n // Group较多的情况,每次都会设置tag到最顶层\n MORE_GROUP = 1\n}\n\nexport class Group extends Graphic<IGroupGraphicAttribute> implements IGroup {\n type: GraphicType = 'group';\n parent: any = null;\n isContainer: boolean = true;\n // 子元素的更新标记\n declare _childUpdateTag: number;\n\n declare theme?: ITheme;\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IGroupGraphicAttribute) {\n super(params);\n this.numberType = GROUP_NUMBER_TYPE;\n this._childUpdateTag = UpdateTag.UPDATE_BOUNDS;\n // this.theme = new Theme();\n }\n\n setMode(mode: '2d' | '3d') {\n mode === '3d' ? this.set3dMode() : this.set2dMode();\n }\n\n set3dMode() {\n this.in3dMode = true;\n // this.forEachChildren((c: IGraphic) => {\n // c.setMode('3d');\n // });\n }\n set2dMode() {\n this.in3dMode = false;\n // this.forEachChildren((c: IGraphic) => {\n // c.setMode('2d');\n // });\n }\n\n setTheme(t: IThemeSpec) {\n if (!this.theme) {\n this.theme = new Theme();\n }\n return this.theme.setTheme(t, this);\n }\n\n createTheme() {\n if (!this.theme) {\n this.theme = new Theme();\n }\n }\n\n visibleAll(visible: boolean) {\n this.setAttribute('visible', visible);\n this.forEachChildren((item: IGraphic) => {\n if (item.isContainer && (item as any).visibleAll) {\n (item as any).visibleAll(visible);\n } else {\n item.setAttribute('visible', visible);\n }\n });\n }\n\n hideAll() {\n this.visibleAll(false);\n }\n\n showAll() {\n this.visibleAll(true);\n }\n\n /**\n * 是否包含某个点(点需要是全局坐标系)\n * group containsPoint 只需要判断bounds\n * TODO: group的shape判断\n * @param x\n * @param y\n * @param mode\n * @returns\n */\n containsPoint(x: number, y: number, mode: IContainPointMode): boolean {\n if (mode === IContainPointMode.GLOBAL) {\n // 转换x,y更精准\n const point = new Point(x, y);\n if (this.parent) {\n this.parent.globalTransMatrix.transformPoint(point, point);\n }\n return this.AABBBounds.contains(point.x, point.y);\n }\n return this.AABBBounds.contains(x, y);\n }\n\n shouldUpdateAABBBounds(): boolean {\n // 检索自己是否需要更新\n if (super.shouldUpdateAABBBounds()) {\n return true;\n }\n // 检索叶子节点是否有更新(如果children是叶子节点的话)\n if (this._childUpdateTag & UpdateTag.UPDATE_BOUNDS) {\n return true;\n }\n return false;\n // // 检索是否子group需要更新\n // let needUpdate = false;\n // this.forEachChildren((node: IGraphic) => {\n // // 只查找group层级\n // if (node.isContainer && (node as Group).shouldUpdateAABBBounds()) {\n // needUpdate = true;\n // return true;\n // }\n // return false;\n // });\n // return needUpdate;\n }\n\n protected tryUpdateAABBBounds(): IAABBBounds {\n if (!this.shouldUpdateAABBBounds()) {\n return this._AABBBounds;\n }\n this.getGraphicService().beforeUpdateAABBBounds(this, this.stage, true, this._AABBBounds);\n const selfChange = this.shouldSelfChangeUpdateAABBBounds();\n const bounds = this.doUpdateAABBBounds();\n this.addUpdateLayoutTag();\n this.getGraphicService().afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, selfChange);\n // 直接返回空Bounds,但是前面的流程还是要走\n if (this.attribute.boundsMode === 'empty') {\n bounds.clear();\n }\n return bounds;\n }\n\n /**\n * 大部分group不需要更新matrix,这里特殊优化一下\n * 更新局部matrix的具体函数\n */\n protected doUpdateLocalMatrix() {\n const {\n x = DefaultTransform.x,\n y = DefaultTransform.y,\n dx = DefaultTransform.dx,\n dy = DefaultTransform.dy,\n scaleX = DefaultTransform.scaleX,\n scaleY = DefaultTransform.scaleY,\n angle = DefaultTransform.angle,\n postMatrix\n } = this.attribute;\n if (x === 0 && y === 0 && dx === 0 && dy === 0 && scaleX === 1 && scaleY === 1 && angle === 0 && !postMatrix) {\n this._transMatrix.reset();\n return;\n }\n return super.doUpdateLocalMatrix();\n }\n\n getGraphicTheme(): Required<IGroupGraphicAttribute> {\n return getTheme(this).group;\n }\n\n protected updateAABBBounds(\n attribute: IGroupGraphicAttribute,\n groupTheme: Required<IGroupGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n const originalAABBBounds = aabbBounds; // fix aabbbounds update error in flex layout\n aabbBounds = aabbBounds.clone();\n\n const { width, height, path, clip = groupTheme.clip } = attribute;\n // 添加自身的fill或者clip\n if (path && path.length) {\n path.forEach(g => {\n aabbBounds.union(g.AABBBounds);\n });\n } else if (width != null && height != null) {\n aabbBounds.set(0, 0, Math.max(0, width), Math.max(0, height)); // fix bounds set when auto size in vtable\n }\n if (!clip) {\n // 添加子节点\n this.forEachChildren((node: IGraphic) => {\n aabbBounds.union(node.AABBBounds);\n });\n // 如果没有clip的话,还需要加一下scroll\n const { scrollX = 0, scrollY = 0 } = attribute;\n aabbBounds.translate(scrollX, scrollY);\n }\n application.graphicService.updateTempAABBBounds(aabbBounds);\n\n application.graphicService.transformAABBBounds(attribute, aabbBounds, groupTheme, false, this);\n\n originalAABBBounds.copy(aabbBounds);\n return originalAABBBounds;\n }\n\n protected doUpdateAABBBounds(): IAABBBounds {\n this.updateAABBBoundsStamp++;\n const bounds = super.doUpdateAABBBounds();\n\n // 更新bounds之后需要设置父节点,否则tag丢失\n this.parent && this.parent.addChildUpdateBoundTag();\n this._emitCustomEvent('AAABBBoundsChange');\n\n return bounds;\n }\n\n protected clearUpdateBoundTag() {\n this._updateTag &= UpdateTag.CLEAR_BOUNDS;\n this._childUpdateTag &= UpdateTag.CLEAR_BOUNDS;\n }\n\n addUpdateBoundTag() {\n this._updateTag |= UpdateTag.UPDATE_BOUNDS; // for bounds\n if (this.parent) {\n this.parent.addChildUpdateBoundTag();\n }\n }\n\n addChildUpdateBoundTag() {\n // 如果已经设置过updateTag,那就不需要设置了\n if (this._childUpdateTag & UpdateTag.UPDATE_BOUNDS) {\n return;\n }\n // 如果没有设置过,那么继续向上设置\n this._childUpdateTag |= UpdateTag.UPDATE_BOUNDS;\n this.parent && this.parent.addChildUpdateBoundTag();\n }\n\n getTheme() {\n return this.theme.getTheme(this);\n }\n\n /* 场景树结构 */\n incrementalAppendChild(node: INode): INode | null {\n const data = super.appendChild(node);\n if (this.stage && data) {\n (data as unknown as this).stage = this.stage;\n (data as unknown as this).layer = this.layer;\n }\n this.addUpdateBoundTag();\n this.getGraphicService().onAddIncremental(node as unknown as IGraphic, this, this.stage);\n return data;\n }\n incrementalClearChild(): void {\n super.removeAllChild();\n this.addUpdateBoundTag();\n this.getGraphicService().onClearIncremental(this, this.stage);\n return;\n }\n\n protected _updateChildToStage(child: IGraphic) {\n if (this.stage && child) {\n child.setStage(this.stage, this.layer);\n }\n this.addUpdateBoundTag();\n return child;\n }\n // TODO 代码优化\n appendChild(node: INode, addStage: boolean = true): INode | null {\n const data = super.appendChild(node);\n if (addStage && this.stage && data) {\n (data as unknown as this).setStage(this.stage, this.layer);\n }\n this.addUpdateBoundTag();\n return data;\n }\n insertBefore(newNode: INode, referenceNode: INode): INode | null {\n return this._updateChildToStage(super.insertBefore(newNode, referenceNode) as undefined as IGraphic);\n }\n insertAfter(newNode: INode, referenceNode: INode): INode | null {\n return this._updateChildToStage(super.insertAfter(newNode, referenceNode) as undefined as IGraphic);\n }\n insertInto(newNode: INode, idx: number): INode | null {\n return this._updateChildToStage(super.insertInto(newNode, idx) as undefined as IGraphic);\n }\n\n removeChild(child: IGraphic): IGraphic {\n const data = super.removeChild(child);\n this.getGraphicService().onRemove(child);\n child.stage = null;\n this.addUpdateBoundTag();\n return data as IGraphic;\n }\n\n removeAllChild(deep: boolean = false): void {\n this.forEachChildren((child: IGraphic) => {\n this.getGraphicService().onRemove(child);\n if (deep && child.isContainer) {\n child.removeAllChild(deep);\n }\n });\n super.removeAllChild();\n this.addUpdateBoundTag();\n }\n\n setStage(stage?: IStage, layer?: ILayer) {\n if (this.stage !== stage) {\n this.stage = stage;\n this.layer = layer;\n this.setStageToShadowRoot(stage, layer);\n this._onSetStage && this._onSetStage(this, stage, layer);\n this.getGraphicService().onSetStage(this, stage);\n this.forEachChildren(item => {\n (item as any).setStage(stage, this.layer);\n });\n }\n }\n /**\n * 更新位置tag,包括全局tag和局部tag\n */\n addUpdatePositionTag() {\n super.addUpdatePositionTag();\n // 批量设置底层group的global tag\n this.forEachChildren((g: Group) => {\n if (g.isContainer) {\n g.addUpdateGlobalPositionTag();\n }\n });\n }\n /**\n * 更新全局位置tag\n */\n addUpdateGlobalPositionTag() {\n super.addUpdateGlobalPositionTag();\n // 批量设置底层group的global tag\n this.forEachChildren((g: Group) => {\n if (g.isContainer) {\n g.addUpdateGlobalPositionTag();\n }\n });\n }\n /**\n * group更新全局的transMatrix\n * @param clearTag\n * @returns\n */\n protected tryUpdateGlobalTransMatrix(clearTag: boolean = true): Matrix {\n if (this.shouldUpdateGlobalMatrix()) {\n if (!this._globalTransMatrix) {\n this._globalTransMatrix = this.parent\n ? (this.parent as IGroup).globalTransMatrix.clone()\n : this.transMatrix.clone();\n } else if (this.parent) {\n const m = (this.parent as IGroup).globalTransMatrix;\n this._globalTransMatrix.setValue(m.a, m.b, m.c, m.d, m.e, m.f);\n }\n this.doUpdateGlobalMatrix();\n clearTag && this.clearUpdateGlobalPositionTag();\n }\n return this._globalTransMatrix;\n }\n /**\n * 查找自身更新global的tag,如果存在,就更新\n * @returns\n */\n shouldUpdateGlobalMatrix(): boolean {\n const shouldUpdate = !!(this._updateTag & UpdateTag.UPDATE_GLOBAL_MATRIX);\n return shouldUpdate;\n }\n\n private _getChildByName<T extends INode = INode>(name: string, deep?: boolean): T | null {\n return this.find(node => node.name === name, deep);\n }\n\n /**\n * if graphic exist then update attributes, otherwise create a new instance\n * @param graphicName the name of graphic\n * @param attributes the attributes of graphic\n * @param graphicType the type of graphic\n * @returns the graphic instance\n */\n createOrUpdateChild<T extends keyof GraphicAttributeMap>(\n graphicName: string,\n attributes: GraphicAttributeMap[T],\n graphicType: T\n ): INode {\n let graphic = this._getChildByName(graphicName) as IGraphic;\n if (graphic) {\n graphic.setAttributes(attributes);\n } else {\n graphic = application.graphicService.creator[graphicType](attributes as any);\n graphic.name = graphicName;\n this.add(graphic);\n }\n\n return graphic;\n }\n\n clone() {\n return new Group({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Group.NOWORK_ANIMATE_ATTR;\n }\n\n release(all?: boolean) {\n if (all) {\n this.forEachChildren((g: IGraphic) => {\n g.release(all);\n });\n }\n super.release();\n }\n}\n\nexport function createGroup(attributes: IGroupGraphicAttribute): IGroup {\n return new Group(attributes);\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import type { IAABBBounds, Matrix } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { Point } from '@visactor/vutils';\nimport { vglobal, graphicService } from '../modules';\nimport type {\n IStage,\n GraphicAttributeMap,\n INode,\n IGraphic,\n ITheme,\n IThemeSpec,\n ILayer,\n GraphicType\n} from '../interface';\nimport type { IGroup, IGroupGraphicAttribute } from '../interface/graphic/group';\nimport { Graphic, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { getTheme, Theme } from './theme';\nimport { UpdateTag, IContainPointMode } from '../common/enums';\nimport { GROUP_NUMBER_TYPE } from './constants';\nimport { DefaultTransform } from './config';\n\n// Group更新AABBBounds的策略\nexport enum GroupUpdateAABBBoundsMode {\n // Group较少的情况,不会批量设置所有父层的tag,而是每次都查找\n LESS_GROUP = 0,\n // Group较多的情况,每次都会设置tag到最顶层\n MORE_GROUP = 1\n}\n\nexport class Group extends Graphic<IGroupGraphicAttribute> implements IGroup {\n type: GraphicType = 'group';\n parent: any = null;\n isContainer: boolean = true;\n // 子元素的更新标记\n declare _childUpdateTag: number;\n\n declare theme?: ITheme;\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IGroupGraphicAttribute) {\n super(params);\n this.numberType = GROUP_NUMBER_TYPE;\n this._childUpdateTag = UpdateTag.UPDATE_BOUNDS;\n // this.theme = new Theme();\n }\n\n setMode(mode: '2d' | '3d') {\n mode === '3d' ? this.set3dMode() : this.set2dMode();\n }\n\n set3dMode() {\n this.in3dMode = true;\n // this.forEachChildren((c: IGraphic) => {\n // c.setMode('3d');\n // });\n }\n set2dMode() {\n this.in3dMode = false;\n // this.forEachChildren((c: IGraphic) => {\n // c.setMode('2d');\n // });\n }\n\n setTheme(t: IThemeSpec) {\n if (!this.theme) {\n this.theme = new Theme();\n }\n return this.theme.setTheme(t, this);\n }\n\n createTheme() {\n if (!this.theme) {\n this.theme = new Theme();\n }\n }\n\n visibleAll(visible: boolean) {\n this.setAttribute('visible', visible);\n this.forEachChildren((item: IGraphic) => {\n if (item.isContainer && (item as any).visibleAll) {\n (item as any).visibleAll(visible);\n } else {\n item.setAttribute('visible', visible);\n }\n });\n }\n\n hideAll() {\n this.visibleAll(false);\n }\n\n showAll() {\n this.visibleAll(true);\n }\n\n /**\n * 是否包含某个点(点需要是全局坐标系)\n * group containsPoint 只需要判断bounds\n * TODO: group的shape判断\n * @param x\n * @param y\n * @param mode\n * @returns\n */\n containsPoint(x: number, y: number, mode: IContainPointMode): boolean {\n if (mode === IContainPointMode.GLOBAL) {\n // 转换x,y更精准\n const point = new Point(x, y);\n if (this.parent) {\n this.parent.globalTransMatrix.transformPoint(point, point);\n }\n return this.AABBBounds.contains(point.x, point.y);\n }\n return this.AABBBounds.contains(x, y);\n }\n\n shouldUpdateAABBBounds(): boolean {\n // 检索自己是否需要更新\n if (super.shouldUpdateAABBBounds()) {\n return true;\n }\n // 检索叶子节点是否有更新(如果children是叶子节点的话)\n if (this._childUpdateTag & UpdateTag.UPDATE_BOUNDS) {\n return true;\n }\n return false;\n // // 检索是否子group需要更新\n // let needUpdate = false;\n // this.forEachChildren((node: IGraphic) => {\n // // 只查找group层级\n // if (node.isContainer && (node as Group).shouldUpdateAABBBounds()) {\n // needUpdate = true;\n // return true;\n // }\n // return false;\n // });\n // return needUpdate;\n }\n\n protected tryUpdateAABBBounds(): IAABBBounds {\n if (!this.shouldUpdateAABBBounds()) {\n return this._AABBBounds;\n }\n this.getGraphicService().beforeUpdateAABBBounds(this, this.stage, true, this._AABBBounds);\n const selfChange = this.shouldSelfChangeUpdateAABBBounds();\n const bounds = this.doUpdateAABBBounds();\n this.addUpdateLayoutTag();\n this.getGraphicService().afterUpdateAABBBounds(this, this.stage, this._AABBBounds, this, selfChange);\n // 直接返回空Bounds,但是前面的流程还是要走\n if (this.attribute.boundsMode === 'empty') {\n bounds.clear();\n }\n return bounds;\n }\n\n /**\n * 大部分group不需要更新matrix,这里特殊优化一下\n * 更新局部matrix的具体函数\n */\n protected doUpdateLocalMatrix() {\n const {\n x = DefaultTransform.x,\n y = DefaultTransform.y,\n dx = DefaultTransform.dx,\n dy = DefaultTransform.dy,\n scaleX = DefaultTransform.scaleX,\n scaleY = DefaultTransform.scaleY,\n angle = DefaultTransform.angle,\n postMatrix\n } = this.attribute;\n if (x === 0 && y === 0 && dx === 0 && dy === 0 && scaleX === 1 && scaleY === 1 && angle === 0 && !postMatrix) {\n this._transMatrix.reset();\n return;\n }\n return super.doUpdateLocalMatrix();\n }\n\n getGraphicTheme(): Required<IGroupGraphicAttribute> {\n return getTheme(this).group;\n }\n\n protected updateAABBBounds(\n attribute: IGroupGraphicAttribute,\n groupTheme: Required<IGroupGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n const originalAABBBounds = aabbBounds; // fix aabbbounds update error in flex layout\n aabbBounds = aabbBounds.clone();\n\n const { width, height, path, clip = groupTheme.clip } = attribute;\n // 添加自身的fill或者clip\n if (path && path.length) {\n path.forEach(g => {\n aabbBounds.union(g.AABBBounds);\n });\n } else if (width != null && height != null) {\n aabbBounds.set(0, 0, Math.max(0, width), Math.max(0, height)); // fix bounds set when auto size in vtable\n }\n if (!clip) {\n // 添加子节点\n this.forEachChildren((node: IGraphic) => {\n aabbBounds.union(node.AABBBounds);\n });\n // 如果没有clip的话,还需要加一下scroll\n const { scrollX = 0, scrollY = 0 } = attribute;\n aabbBounds.translate(scrollX, scrollY);\n }\n graphicService.updateTempAABBBounds(aabbBounds);\n\n graphicService.transformAABBBounds(attribute, aabbBounds, groupTheme, false, this);\n\n originalAABBBounds.copy(aabbBounds);\n return originalAABBBounds;\n }\n\n protected doUpdateAABBBounds(): IAABBBounds {\n this.updateAABBBoundsStamp++;\n const bounds = super.doUpdateAABBBounds();\n\n // 更新bounds之后需要设置父节点,否则tag丢失\n this.parent && this.parent.addChildUpdateBoundTag();\n this._emitCustomEvent('AAABBBoundsChange');\n\n return bounds;\n }\n\n protected clearUpdateBoundTag() {\n this._updateTag &= UpdateTag.CLEAR_BOUNDS;\n this._childUpdateTag &= UpdateTag.CLEAR_BOUNDS;\n }\n\n addUpdateBoundTag() {\n this._updateTag |= UpdateTag.UPDATE_BOUNDS; // for bounds\n if (this.parent) {\n this.parent.addChildUpdateBoundTag();\n }\n }\n\n addChildUpdateBoundTag() {\n // 如果已经设置过updateTag,那就不需要设置了\n if (this._childUpdateTag & UpdateTag.UPDATE_BOUNDS) {\n return;\n }\n // 如果没有设置过,那么继续向上设置\n this._childUpdateTag |= UpdateTag.UPDATE_BOUNDS;\n this.parent && this.parent.addChildUpdateBoundTag();\n }\n\n getTheme() {\n return this.theme.getTheme(this);\n }\n\n /* 场景树结构 */\n incrementalAppendChild(node: INode): INode | null {\n const data = super.appendChild(node);\n if (this.stage && data) {\n (data as unknown as this).stage = this.stage;\n (data as unknown as this).layer = this.layer;\n }\n this.addUpdateBoundTag();\n this.getGraphicService().onAddIncremental(node as unknown as IGraphic, this, this.stage);\n return data;\n }\n incrementalClearChild(): void {\n super.removeAllChild();\n this.addUpdateBoundTag();\n this.getGraphicService().onClearIncremental(this, this.stage);\n return;\n }\n\n protected _updateChildToStage(child: IGraphic) {\n if (this.stage && child) {\n child.setStage(this.stage, this.layer);\n }\n this.addUpdateBoundTag();\n return child;\n }\n // TODO 代码优化\n appendChild(node: INode, addStage: boolean = true): INode | null {\n const data = super.appendChild(node);\n if (addStage && this.stage && data) {\n (data as unknown as this).setStage(this.stage, this.layer);\n }\n this.addUpdateBoundTag();\n return data;\n }\n insertBefore(newNode: INode, referenceNode: INode): INode | null {\n return this._updateChildToStage(super.insertBefore(newNode, referenceNode) as undefined as IGraphic);\n }\n insertAfter(newNode: INode, referenceNode: INode): INode | null {\n return this._updateChildToStage(super.insertAfter(newNode, referenceNode) as undefined as IGraphic);\n }\n insertInto(newNode: INode, idx: number): INode | null {\n return this._updateChildToStage(super.insertInto(newNode, idx) as undefined as IGraphic);\n }\n\n removeChild(child: IGraphic): IGraphic {\n const data = super.removeChild(child);\n this.getGraphicService().onRemove(child);\n child.stage = null;\n this.addUpdateBoundTag();\n return data as IGraphic;\n }\n\n removeAllChild(deep: boolean = false): void {\n this.forEachChildren((child: IGraphic) => {\n this.getGraphicService().onRemove(child);\n if (deep && child.isContainer) {\n child.removeAllChild(deep);\n }\n });\n super.removeAllChild();\n this.addUpdateBoundTag();\n }\n\n setStage(stage?: IStage, layer?: ILayer) {\n if (this.stage !== stage) {\n this.stage = stage;\n this.layer = layer;\n this.setStageToShadowRoot(stage, layer);\n this._onSetStage && this._onSetStage(this, stage, layer);\n this.getGraphicService().onSetStage(this, stage);\n this.forEachChildren(item => {\n (item as any).setStage(stage, this.layer);\n });\n }\n }\n /**\n * 更新位置tag,包括全局tag和局部tag\n */\n addUpdatePositionTag() {\n super.addUpdatePositionTag();\n // 批量设置底层group的global tag\n this.forEachChildren((g: Group) => {\n if (g.isContainer) {\n g.addUpdateGlobalPositionTag();\n }\n });\n }\n /**\n * 更新全局位置tag\n */\n addUpdateGlobalPositionTag() {\n super.addUpdateGlobalPositionTag();\n // 批量设置底层group的global tag\n this.forEachChildren((g: Group) => {\n if (g.isContainer) {\n g.addUpdateGlobalPositionTag();\n }\n });\n }\n /**\n * group更新全局的transMatrix\n * @param clearTag\n * @returns\n */\n protected tryUpdateGlobalTransMatrix(clearTag: boolean = true): Matrix {\n if (this.shouldUpdateGlobalMatrix()) {\n if (!this._globalTransMatrix) {\n this._globalTransMatrix = this.parent\n ? (this.parent as IGroup).globalTransMatrix.clone()\n : this.transMatrix.clone();\n } else if (this.parent) {\n const m = (this.parent as IGroup).globalTransMatrix;\n this._globalTransMatrix.setValue(m.a, m.b, m.c, m.d, m.e, m.f);\n }\n this.doUpdateGlobalMatrix();\n clearTag && this.clearUpdateGlobalPositionTag();\n }\n return this._globalTransMatrix;\n }\n /**\n * 查找自身更新global的tag,如果存在,就更新\n * @returns\n */\n shouldUpdateGlobalMatrix(): boolean {\n const shouldUpdate = !!(this._updateTag & UpdateTag.UPDATE_GLOBAL_MATRIX);\n return shouldUpdate;\n }\n\n private _getChildByName<T extends INode = INode>(name: string, deep?: boolean): T | null {\n return this.find(node => node.name === name, deep);\n }\n\n /**\n * if graphic exist then update attributes, otherwise create a new instance\n * @param graphicName the name of graphic\n * @param attributes the attributes of graphic\n * @param graphicType the type of graphic\n * @returns the graphic instance\n */\n createOrUpdateChild<T extends keyof GraphicAttributeMap>(\n graphicName: string,\n attributes: GraphicAttributeMap[T],\n graphicType: T\n ): INode {\n let graphic = this._getChildByName(graphicName) as IGraphic;\n if (graphic) {\n graphic.setAttributes(attributes);\n } else {\n graphic = graphicService.creator[graphicType](attributes as any);\n graphic.name = graphicName;\n this.add(graphic);\n }\n\n return graphic;\n }\n\n clone() {\n return new Group({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Group.NOWORK_ANIMATE_ATTR;\n }\n\n release(all?: boolean) {\n if (all) {\n this.forEachChildren((g: IGraphic) => {\n g.release(all);\n });\n }\n super.release();\n }\n}\n\nexport function createGroup(attributes: IGroupGraphicAttribute): IGroup {\n return new Group(attributes);\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.createImage = exports.Image = void 0;
6
6
 
7
- const graphic_1 = require("./graphic"), config_1 = require("./config"), theme_1 = require("./theme"), application_1 = require("../application"), constants_1 = require("./constants"), common_outer_boder_bounds_1 = require("./graphic-service/common-outer-boder-bounds"), IMAGE_UPDATE_TAG_KEY = [ "width", "height", "image", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
7
+ const graphic_1 = require("./graphic"), config_1 = require("./config"), theme_1 = require("./theme"), modules_1 = require("../modules"), constants_1 = require("./constants"), common_outer_boder_bounds_1 = require("./graphic-service/common-outer-boder-bounds"), IMAGE_UPDATE_TAG_KEY = [ "width", "height", "image", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
8
8
 
9
9
  class Image extends graphic_1.Graphic {
10
10
  constructor(params) {
@@ -79,10 +79,10 @@ class Image extends graphic_1.Graphic {
79
79
  }
80
80
  this._actualWidth = width, this._actualHeight = height, aabbBounds.set(0, 0, width, height);
81
81
  }
82
- const {tb1: tb1, tb2: tb2} = application_1.application.graphicService.updateTempAABBBounds(aabbBounds);
82
+ const {tb1: tb1, tb2: tb2} = modules_1.graphicService.updateTempAABBBounds(aabbBounds);
83
83
  return (0, common_outer_boder_bounds_1.updateBoundsOfCommonOuterBorder)(attribute, imageTheme, tb1),
84
84
  aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
85
- this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1, application_1.application.graphicService.transformAABBBounds(attribute, aabbBounds, imageTheme, !1, this),
85
+ this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1, modules_1.graphicService.transformAABBBounds(attribute, aabbBounds, imageTheme, !1, this),
86
86
  aabbBounds;
87
87
  }
88
88
  getDefaultAttribute(name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/image.ts"],"names":[],"mappings":"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","file":"image.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { IImage, IImageGraphicAttribute, IRepeatType, ISetAttributeContext } from '../interface';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { DefaultImageAttribute } from './config';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { IMAGE_NUMBER_TYPE } from './constants';\nimport { updateBoundsOfCommonOuterBorder } from './graphic-service/common-outer-boder-bounds';\n\nconst IMAGE_UPDATE_TAG_KEY = ['width', 'height', 'image', ...GRAPHIC_UPDATE_TAG_KEY];\n\n/**\n * TODO image 需要考虑加载问题 等load模块\n * 同时需要在Graphic增加 图片填充 or 图片按形状clip功能\n */\nexport class Image extends Graphic<IImageGraphicAttribute> implements IImage {\n type: 'image' = 'image';\n // 资源加载完成后回调,外部通过回调获取图片资源尺寸\n successCallback?: () => void;\n failCallback?: () => void;\n declare _actualWidth?: number;\n declare _actualHeight?: number;\n\n static NOWORK_ANIMATE_ATTR = {\n image: 1,\n repeatX: 1,\n repeatY: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n constructor(params: IImageGraphicAttribute) {\n super(params);\n this.numberType = IMAGE_NUMBER_TYPE;\n\n this.loadImage(this.attribute.image);\n }\n\n getImageElement(): HTMLImageElement | HTMLCanvasElement | null {\n const { image } = this.attribute;\n if (!image || !this.resources) {\n return null;\n }\n const res = this.resources.get(image);\n if (res.state !== 'success') {\n return null;\n }\n return res.data;\n }\n\n get width(): number {\n this.tryUpdateAABBBounds();\n return this._actualWidth;\n }\n // set width(width: number) {\n // if (this.attribute.width === width) {\n // this.attribute.width = width;\n // this.addUpdateShapeAndBoundsTag();\n // }\n // }\n\n get height(): number {\n this.tryUpdateAABBBounds();\n return this._actualHeight;\n }\n // set height(height: number) {\n // if (this.attribute.height === height) {\n // this.attribute.height = height;\n // this.addUpdateShapeAndBoundsTag();\n // }\n // }\n get repeatX(): IRepeatType {\n return this.attribute.repeatX ?? 'no-repeat';\n }\n set repeatX(repeatX: IRepeatType) {\n if (this.attribute.repeatX === repeatX) {\n this.attribute.repeatX = repeatX;\n }\n }\n get repeatY(): IRepeatType {\n return this.attribute.repeatY ?? 'no-repeat';\n }\n set repeatY(repeatY: IRepeatType) {\n if (this.attribute.repeatY === repeatY) {\n this.attribute.repeatY = repeatY;\n }\n }\n get image(): string | HTMLImageElement | HTMLCanvasElement {\n return this.attribute.image;\n }\n set image(image: string | HTMLImageElement | HTMLCanvasElement) {\n if (image !== this.attribute.image) {\n this.attribute.image = image;\n this.loadImage(this.attribute.image);\n // this.addUpdateShapeAndBoundsTag();\n }\n }\n\n imageLoadSuccess(url: string, image: HTMLImageElement, cb?: () => void): void {\n super.imageLoadSuccess(url, image, () => {\n if (this.successCallback) {\n this.successCallback();\n }\n });\n this.addUpdateBoundTag();\n }\n\n imageLoadFail(url: string, cb?: () => void): void {\n super.imageLoadFail(url, () => {\n if (this.failCallback) {\n this.failCallback();\n }\n });\n }\n\n setAttributes(\n params: Partial<IImageGraphicAttribute>,\n forceUpdateTag?: boolean,\n context?: ISetAttributeContext\n ): void {\n if (params.image) {\n this.loadImage(params.image);\n }\n return super.setAttributes(params, forceUpdateTag, context);\n }\n\n setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void {\n if (key === 'image') {\n this.loadImage(value);\n }\n return super.setAttribute(key, value, forceUpdateTag, context);\n }\n\n getGraphicTheme(): Required<IImageGraphicAttribute> {\n return getTheme(this).image;\n }\n\n protected updateAABBBounds(\n attribute: IImageGraphicAttribute,\n imageTheme: Required<IImageGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n const { maxWidth = imageTheme.maxWidth, maxHeight = imageTheme.maxHeight } = attribute;\n let { width, height } = attribute;\n if (width == null || height == null) {\n const imageElement = this.getImageElement();\n if (imageElement) {\n // 如果给了width或者height,那就使用已给的width或者height来按比例缩放,否则就在maxWidth和maxHeight之间按比例缩放\n const imageWidth = imageElement.width;\n const imageHeight = imageElement.height;\n if (width != null) {\n height = width * (imageHeight / imageWidth);\n } else if (height != null) {\n width = height * (imageWidth / imageHeight);\n } else {\n // 如果width和height都没有给,那就使用maxWidth和maxHeight来按比例缩放\n const imageRatio = imageWidth / imageHeight;\n const maxWHRatio = maxWidth / maxHeight;\n if (imageRatio > maxWHRatio) {\n width = maxWidth;\n height = maxWidth / imageRatio;\n } else {\n height = maxHeight;\n width = maxHeight * imageRatio;\n }\n }\n } else {\n width = maxWidth;\n height = maxHeight;\n }\n }\n this._actualWidth = width;\n this._actualHeight = height;\n aabbBounds.set(0, 0, width, height);\n }\n\n const { tb1, tb2 } = application.graphicService.updateTempAABBBounds(aabbBounds);\n\n updateBoundsOfCommonOuterBorder(attribute, imageTheme, tb1);\n aabbBounds.union(tb1);\n tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n application.graphicService.transformAABBBounds(attribute, aabbBounds, imageTheme, false, this);\n return aabbBounds;\n }\n\n getDefaultAttribute(name: string) {\n return (DefaultImageAttribute as any)[name];\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, IMAGE_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, IMAGE_UPDATE_TAG_KEY);\n }\n\n clone() {\n return new Image({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Image.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createImage(attributes: IImageGraphicAttribute): IImage {\n return new Image(attributes);\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/image.ts"],"names":[],"mappings":"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","file":"image.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { IImage, IImageGraphicAttribute, IRepeatType, ISetAttributeContext } from '../interface';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { DefaultImageAttribute } from './config';\nimport { getTheme } from './theme';\nimport { vglobal, graphicService } from '../modules';\nimport { IMAGE_NUMBER_TYPE } from './constants';\nimport { updateBoundsOfCommonOuterBorder } from './graphic-service/common-outer-boder-bounds';\n\nconst IMAGE_UPDATE_TAG_KEY = ['width', 'height', 'image', ...GRAPHIC_UPDATE_TAG_KEY];\n\n/**\n * TODO image 需要考虑加载问题 等load模块\n * 同时需要在Graphic增加 图片填充 or 图片按形状clip功能\n */\nexport class Image extends Graphic<IImageGraphicAttribute> implements IImage {\n type: 'image' = 'image';\n // 资源加载完成后回调,外部通过回调获取图片资源尺寸\n successCallback?: () => void;\n failCallback?: () => void;\n declare _actualWidth?: number;\n declare _actualHeight?: number;\n\n static NOWORK_ANIMATE_ATTR = {\n image: 1,\n repeatX: 1,\n repeatY: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n constructor(params: IImageGraphicAttribute) {\n super(params);\n this.numberType = IMAGE_NUMBER_TYPE;\n\n this.loadImage(this.attribute.image);\n }\n\n getImageElement(): HTMLImageElement | HTMLCanvasElement | null {\n const { image } = this.attribute;\n if (!image || !this.resources) {\n return null;\n }\n const res = this.resources.get(image);\n if (res.state !== 'success') {\n return null;\n }\n return res.data;\n }\n\n get width(): number {\n this.tryUpdateAABBBounds();\n return this._actualWidth;\n }\n // set width(width: number) {\n // if (this.attribute.width === width) {\n // this.attribute.width = width;\n // this.addUpdateShapeAndBoundsTag();\n // }\n // }\n\n get height(): number {\n this.tryUpdateAABBBounds();\n return this._actualHeight;\n }\n // set height(height: number) {\n // if (this.attribute.height === height) {\n // this.attribute.height = height;\n // this.addUpdateShapeAndBoundsTag();\n // }\n // }\n get repeatX(): IRepeatType {\n return this.attribute.repeatX ?? 'no-repeat';\n }\n set repeatX(repeatX: IRepeatType) {\n if (this.attribute.repeatX === repeatX) {\n this.attribute.repeatX = repeatX;\n }\n }\n get repeatY(): IRepeatType {\n return this.attribute.repeatY ?? 'no-repeat';\n }\n set repeatY(repeatY: IRepeatType) {\n if (this.attribute.repeatY === repeatY) {\n this.attribute.repeatY = repeatY;\n }\n }\n get image(): string | HTMLImageElement | HTMLCanvasElement {\n return this.attribute.image;\n }\n set image(image: string | HTMLImageElement | HTMLCanvasElement) {\n if (image !== this.attribute.image) {\n this.attribute.image = image;\n this.loadImage(this.attribute.image);\n // this.addUpdateShapeAndBoundsTag();\n }\n }\n\n imageLoadSuccess(url: string, image: HTMLImageElement, cb?: () => void): void {\n super.imageLoadSuccess(url, image, () => {\n if (this.successCallback) {\n this.successCallback();\n }\n });\n this.addUpdateBoundTag();\n }\n\n imageLoadFail(url: string, cb?: () => void): void {\n super.imageLoadFail(url, () => {\n if (this.failCallback) {\n this.failCallback();\n }\n });\n }\n\n setAttributes(\n params: Partial<IImageGraphicAttribute>,\n forceUpdateTag?: boolean,\n context?: ISetAttributeContext\n ): void {\n if (params.image) {\n this.loadImage(params.image);\n }\n return super.setAttributes(params, forceUpdateTag, context);\n }\n\n setAttribute(key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext): void {\n if (key === 'image') {\n this.loadImage(value);\n }\n return super.setAttribute(key, value, forceUpdateTag, context);\n }\n\n getGraphicTheme(): Required<IImageGraphicAttribute> {\n return getTheme(this).image;\n }\n\n protected updateAABBBounds(\n attribute: IImageGraphicAttribute,\n imageTheme: Required<IImageGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n const { maxWidth = imageTheme.maxWidth, maxHeight = imageTheme.maxHeight } = attribute;\n let { width, height } = attribute;\n if (width == null || height == null) {\n const imageElement = this.getImageElement();\n if (imageElement) {\n // 如果给了width或者height,那就使用已给的width或者height来按比例缩放,否则就在maxWidth和maxHeight之间按比例缩放\n const imageWidth = imageElement.width;\n const imageHeight = imageElement.height;\n if (width != null) {\n height = width * (imageHeight / imageWidth);\n } else if (height != null) {\n width = height * (imageWidth / imageHeight);\n } else {\n // 如果width和height都没有给,那就使用maxWidth和maxHeight来按比例缩放\n const imageRatio = imageWidth / imageHeight;\n const maxWHRatio = maxWidth / maxHeight;\n if (imageRatio > maxWHRatio) {\n width = maxWidth;\n height = maxWidth / imageRatio;\n } else {\n height = maxHeight;\n width = maxHeight * imageRatio;\n }\n }\n } else {\n width = maxWidth;\n height = maxHeight;\n }\n }\n this._actualWidth = width;\n this._actualHeight = height;\n aabbBounds.set(0, 0, width, height);\n }\n\n const { tb1, tb2 } = graphicService.updateTempAABBBounds(aabbBounds);\n\n updateBoundsOfCommonOuterBorder(attribute, imageTheme, tb1);\n aabbBounds.union(tb1);\n tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n graphicService.transformAABBBounds(attribute, aabbBounds, imageTheme, false, this);\n return aabbBounds;\n }\n\n getDefaultAttribute(name: string) {\n return (DefaultImageAttribute as any)[name];\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, IMAGE_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, IMAGE_UPDATE_TAG_KEY);\n }\n\n clone() {\n return new Image({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Image.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createImage(attributes: IImageGraphicAttribute): IImage {\n return new Image(attributes);\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.createLine = exports.Line = void 0;
6
6
 
7
- const graphic_1 = require("./graphic"), theme_1 = require("./theme"), application_1 = require("../application"), utils_1 = require("../common/utils"), custom_path2d_1 = require("../common/custom-path2d"), constants_1 = require("./constants"), LINE_UPDATE_TAG_KEY = [ "segments", "points", "curveType", "curveTension", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
7
+ const graphic_1 = require("./graphic"), theme_1 = require("./theme"), modules_1 = require("../modules"), utils_1 = require("../common/utils"), custom_path2d_1 = require("../common/custom-path2d"), constants_1 = require("./constants"), LINE_UPDATE_TAG_KEY = [ "segments", "points", "curveType", "curveTension", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
8
8
 
9
9
  class Line extends graphic_1.Graphic {
10
10
  constructor(params = {}) {
@@ -26,10 +26,10 @@ class Line extends graphic_1.Graphic {
26
26
  }
27
27
  updateAABBBounds(attribute, lineTheme, aabbBounds) {
28
28
  this.updatePathProxyAABBBounds(aabbBounds) || (attribute.segments ? this.updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds) : this.updateLineAABBBoundsByPoints(attribute, lineTheme, aabbBounds)),
29
- application_1.application.graphicService.updateTempAABBBounds(aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
29
+ modules_1.graphicService.updateTempAABBBounds(aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
30
30
  this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
31
31
  const {lineJoin: lineJoin = lineTheme.lineJoin} = attribute;
32
- return application_1.application.graphicService.transformAABBBounds(attribute, aabbBounds, lineTheme, "miter" === lineJoin, this),
32
+ return modules_1.graphicService.transformAABBBounds(attribute, aabbBounds, lineTheme, "miter" === lineJoin, this),
33
33
  aabbBounds;
34
34
  }
35
35
  updateLineAABBBoundsByPoints(attribute, lineTheme, aabbBounds, graphic) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["import type { IAABBBounds, IPointLike } from '@visactor/vutils';\nimport type { ILine, ILineGraphicAttribute } from '../interface';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { LINE_NUMBER_TYPE } from './constants';\n\nconst LINE_UPDATE_TAG_KEY = ['segments', 'points', 'curveType', 'curveTension', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Line extends Graphic<ILineGraphicAttribute> implements ILine {\n type: 'line' = 'line';\n\n constructor(params: ILineGraphicAttribute = {}) {\n super(params);\n this.numberType = LINE_NUMBER_TYPE;\n }\n\n static NOWORK_ANIMATE_ATTR = {\n segments: 1,\n curveType: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n if (this.pathProxy) {\n return true;\n }\n const { points, segments } = this.attribute;\n if (segments) {\n if (segments.length === 0) {\n return false;\n }\n return true;\n } else if (points) {\n if (points.length <= 1) {\n return false;\n }\n return true;\n }\n return false;\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n getGraphicTheme(): Required<ILineGraphicAttribute> {\n return getTheme(this).line;\n }\n\n protected updateAABBBounds(\n attribute: ILineGraphicAttribute,\n lineTheme: Required<ILineGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n attribute.segments\n ? this.updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds)\n : this.updateLineAABBBoundsByPoints(attribute, lineTheme, aabbBounds);\n }\n\n application.graphicService.updateTempAABBBounds(aabbBounds);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n const { lineJoin = lineTheme.lineJoin } = attribute;\n application.graphicService.transformAABBBounds(attribute, aabbBounds, lineTheme, lineJoin === 'miter', this);\n return aabbBounds;\n }\n\n protected updateLineAABBBoundsByPoints(\n attribute: ILineGraphicAttribute,\n lineTheme: Required<ILineGraphicAttribute>,\n aabbBounds: IAABBBounds,\n graphic?: ILine\n ): IAABBBounds {\n const { points = lineTheme.points, connectedType } = attribute;\n const b = aabbBounds;\n points.forEach(p => {\n if (p.defined !== false || connectedType === 'connect') {\n b.add(p.x, p.y);\n }\n });\n return b;\n }\n protected updateLineAABBBoundsBySegments(\n attribute: ILineGraphicAttribute,\n lineTheme: Required<ILineGraphicAttribute>,\n aabbBounds: IAABBBounds,\n graphic?: ILine\n ): IAABBBounds {\n const { segments = lineTheme.segments, connectedType } = attribute;\n const b = aabbBounds;\n segments.forEach(s => {\n s.points.forEach(p => {\n if (p.defined !== false || connectedType === 'connect') {\n b.add(p.x, p.y);\n }\n });\n });\n return b;\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, LINE_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, LINE_UPDATE_TAG_KEY);\n }\n\n toCustomPath() {\n let path = super.toCustomPath();\n if (path) {\n return path;\n }\n const attribute = this.attribute;\n path = new CustomPath2D();\n const segments = attribute.segments;\n\n const parsePoints = (points: IPointLike[]) => {\n if (points && points.length) {\n let isFirst = true;\n points.forEach(point => {\n if (point.defined === false) {\n return;\n }\n if (isFirst) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n\n isFirst = false;\n });\n }\n };\n\n if (segments && segments.length) {\n segments.forEach(seg => {\n parsePoints(seg.points);\n });\n } else if (attribute.points) {\n parsePoints(attribute.points);\n }\n\n return path;\n }\n\n clone() {\n return new Line({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Line.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createLine(attributes: ILineGraphicAttribute): ILine {\n return new Line(attributes);\n}\n\n// addAttributeToPrototype(DefaultLineStyle, Line, PURE_STYLE_KEY);\n"]}
1
+ {"version":3,"sources":["../src/graphic/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["import type { IAABBBounds, IPointLike } from '@visactor/vutils';\nimport type { ILine, ILineGraphicAttribute } from '../interface';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport { getTheme } from './theme';\nimport { vglobal, graphicService } from '../modules';\nimport { pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { LINE_NUMBER_TYPE } from './constants';\n\nconst LINE_UPDATE_TAG_KEY = ['segments', 'points', 'curveType', 'curveTension', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Line extends Graphic<ILineGraphicAttribute> implements ILine {\n type: 'line' = 'line';\n\n constructor(params: ILineGraphicAttribute = {}) {\n super(params);\n this.numberType = LINE_NUMBER_TYPE;\n }\n\n static NOWORK_ANIMATE_ATTR = {\n segments: 1,\n curveType: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n if (this.pathProxy) {\n return true;\n }\n const { points, segments } = this.attribute;\n if (segments) {\n if (segments.length === 0) {\n return false;\n }\n return true;\n } else if (points) {\n if (points.length <= 1) {\n return false;\n }\n return true;\n }\n return false;\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n getGraphicTheme(): Required<ILineGraphicAttribute> {\n return getTheme(this).line;\n }\n\n protected updateAABBBounds(\n attribute: ILineGraphicAttribute,\n lineTheme: Required<ILineGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n attribute.segments\n ? this.updateLineAABBBoundsBySegments(attribute, lineTheme, aabbBounds)\n : this.updateLineAABBBoundsByPoints(attribute, lineTheme, aabbBounds);\n }\n\n graphicService.updateTempAABBBounds(aabbBounds);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n const { lineJoin = lineTheme.lineJoin } = attribute;\n graphicService.transformAABBBounds(attribute, aabbBounds, lineTheme, lineJoin === 'miter', this);\n return aabbBounds;\n }\n\n protected updateLineAABBBoundsByPoints(\n attribute: ILineGraphicAttribute,\n lineTheme: Required<ILineGraphicAttribute>,\n aabbBounds: IAABBBounds,\n graphic?: ILine\n ): IAABBBounds {\n const { points = lineTheme.points, connectedType } = attribute;\n const b = aabbBounds;\n points.forEach(p => {\n if (p.defined !== false || connectedType === 'connect') {\n b.add(p.x, p.y);\n }\n });\n return b;\n }\n protected updateLineAABBBoundsBySegments(\n attribute: ILineGraphicAttribute,\n lineTheme: Required<ILineGraphicAttribute>,\n aabbBounds: IAABBBounds,\n graphic?: ILine\n ): IAABBBounds {\n const { segments = lineTheme.segments, connectedType } = attribute;\n const b = aabbBounds;\n segments.forEach(s => {\n s.points.forEach(p => {\n if (p.defined !== false || connectedType === 'connect') {\n b.add(p.x, p.y);\n }\n });\n });\n return b;\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, LINE_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, LINE_UPDATE_TAG_KEY);\n }\n\n toCustomPath() {\n let path = super.toCustomPath();\n if (path) {\n return path;\n }\n const attribute = this.attribute;\n path = new CustomPath2D();\n const segments = attribute.segments;\n\n const parsePoints = (points: IPointLike[]) => {\n if (points && points.length) {\n let isFirst = true;\n points.forEach(point => {\n if (point.defined === false) {\n return;\n }\n if (isFirst) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n\n isFirst = false;\n });\n }\n };\n\n if (segments && segments.length) {\n segments.forEach(seg => {\n parsePoints(seg.points);\n });\n } else if (attribute.points) {\n parsePoints(attribute.points);\n }\n\n return path;\n }\n\n clone() {\n return new Line({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Line.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createLine(attributes: ILineGraphicAttribute): ILine {\n return new Line(attributes);\n}\n\n// addAttributeToPrototype(DefaultLineStyle, Line, PURE_STYLE_KEY);\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.createPath = exports.Path = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), graphic_1 = require("./graphic"), custom_path2d_1 = require("../common/custom-path2d"), theme_1 = require("./theme"), application_1 = require("../application"), constants_1 = require("./constants"), common_outer_boder_bounds_1 = require("./graphic-service/common-outer-boder-bounds"), PATH_UPDATE_TAG_KEY = [ "path", "customPath", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
7
+ const vutils_1 = require("@visactor/vutils"), graphic_1 = require("./graphic"), custom_path2d_1 = require("../common/custom-path2d"), theme_1 = require("./theme"), modules_1 = require("../modules"), constants_1 = require("./constants"), common_outer_boder_bounds_1 = require("./graphic-service/common-outer-boder-bounds"), PATH_UPDATE_TAG_KEY = [ "path", "customPath", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
8
8
 
9
9
  class Path extends graphic_1.Graphic {
10
10
  constructor(params) {
@@ -35,12 +35,12 @@ class Path extends graphic_1.Graphic {
35
35
  const pathShape = this.getParsedPathShape();
36
36
  aabbBounds.union(pathShape.getBounds());
37
37
  }
38
- const {tb1: tb1, tb2: tb2} = application_1.application.graphicService.updateTempAABBBounds(aabbBounds);
38
+ const {tb1: tb1, tb2: tb2} = modules_1.graphicService.updateTempAABBBounds(aabbBounds);
39
39
  (0, common_outer_boder_bounds_1.updateBoundsOfCommonOuterBorder)(attribute, pathTheme, tb1),
40
40
  aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
41
41
  this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
42
42
  const {lineJoin: lineJoin = pathTheme.lineJoin} = attribute;
43
- return application_1.application.graphicService.transformAABBBounds(attribute, aabbBounds, pathTheme, "miter" === lineJoin, this),
43
+ return modules_1.graphicService.transformAABBBounds(attribute, aabbBounds, pathTheme, "miter" === lineJoin, this),
44
44
  aabbBounds;
45
45
  }
46
46
  doUpdateAABBBounds(full) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/path.ts"],"names":[],"mappings":"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","file":"path.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { isString, isNil } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { ICustomPath2D, IPath, IPathGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { PATH_NUMBER_TYPE } from './constants';\nimport { updateBoundsOfCommonOuterBorder } from './graphic-service/common-outer-boder-bounds';\n\nconst PATH_UPDATE_TAG_KEY = ['path', 'customPath', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Path extends Graphic<IPathGraphicAttribute> implements IPath {\n type: 'path' = 'path';\n cache?: ICustomPath2D;\n\n static NOWORK_ANIMATE_ATTR = {\n path: 1,\n customPath: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n constructor(params: IPathGraphicAttribute) {\n super(params);\n this.numberType = PATH_NUMBER_TYPE;\n }\n\n get pathShape(): ICustomPath2D {\n this.tryUpdateAABBBounds();\n return this.getParsedPathShape();\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { path } = this.attribute;\n return path != null && path !== '';\n }\n\n getParsedPathShape(): CustomPath2D {\n const pathTheme = this.getGraphicTheme();\n if (!this.valid) {\n return pathTheme.path as CustomPath2D;\n }\n const attribute = this.attribute;\n if (attribute.path instanceof CustomPath2D) {\n return attribute.path;\n }\n\n if (isNil(this.cache)) {\n this.doUpdatePathShape();\n }\n\n if (this.cache instanceof CustomPath2D) {\n return this.cache;\n }\n return pathTheme.path as CustomPath2D;\n }\n\n getGraphicTheme(): Required<IPathGraphicAttribute> {\n return getTheme(this).path;\n }\n\n protected updateAABBBounds(\n attribute: IPathGraphicAttribute,\n pathTheme: Required<IPathGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n const pathShape = this.getParsedPathShape();\n aabbBounds.union(pathShape.getBounds());\n }\n\n const { tb1, tb2 } = application.graphicService.updateTempAABBBounds(aabbBounds);\n\n updateBoundsOfCommonOuterBorder(attribute, pathTheme, tb1);\n aabbBounds.union(tb1);\n tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n const { lineJoin = pathTheme.lineJoin } = attribute;\n application.graphicService.transformAABBBounds(attribute, aabbBounds, pathTheme, lineJoin === 'miter', this);\n return aabbBounds;\n }\n\n protected doUpdateAABBBounds(full?: boolean) {\n this.doUpdatePathShape();\n return super.doUpdateAABBBounds(full);\n }\n\n protected doUpdatePathShape() {\n const attribute = this.attribute;\n if (isString(attribute.path, true)) {\n this.cache = new CustomPath2D().fromString(attribute.path as string);\n } else if (attribute.customPath) {\n this.cache = new CustomPath2D();\n attribute.customPath(this.cache, this);\n }\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, PATH_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, PATH_UPDATE_TAG_KEY);\n }\n\n toCustomPath() {\n const x = 0;\n const y = 0;\n\n return new CustomPath2D().fromCustomPath2D(this.getParsedPathShape(), x, y);\n }\n\n clone() {\n return new Path({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Path.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createPath(attributes: IPathGraphicAttribute): IPath {\n return new Path(attributes);\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/path.ts"],"names":[],"mappings":"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","file":"path.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { isString, isNil } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { ICustomPath2D, IPath, IPathGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getTheme } from './theme';\nimport { vglobal, graphicService } from '../modules';\nimport { PATH_NUMBER_TYPE } from './constants';\nimport { updateBoundsOfCommonOuterBorder } from './graphic-service/common-outer-boder-bounds';\n\nconst PATH_UPDATE_TAG_KEY = ['path', 'customPath', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Path extends Graphic<IPathGraphicAttribute> implements IPath {\n type: 'path' = 'path';\n cache?: ICustomPath2D;\n\n static NOWORK_ANIMATE_ATTR = {\n path: 1,\n customPath: 1,\n ...NOWORK_ANIMATE_ATTR\n };\n\n constructor(params: IPathGraphicAttribute) {\n super(params);\n this.numberType = PATH_NUMBER_TYPE;\n }\n\n get pathShape(): ICustomPath2D {\n this.tryUpdateAABBBounds();\n return this.getParsedPathShape();\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { path } = this.attribute;\n return path != null && path !== '';\n }\n\n getParsedPathShape(): CustomPath2D {\n const pathTheme = this.getGraphicTheme();\n if (!this.valid) {\n return pathTheme.path as CustomPath2D;\n }\n const attribute = this.attribute;\n if (attribute.path instanceof CustomPath2D) {\n return attribute.path;\n }\n\n if (isNil(this.cache)) {\n this.doUpdatePathShape();\n }\n\n if (this.cache instanceof CustomPath2D) {\n return this.cache;\n }\n return pathTheme.path as CustomPath2D;\n }\n\n getGraphicTheme(): Required<IPathGraphicAttribute> {\n return getTheme(this).path;\n }\n\n protected updateAABBBounds(\n attribute: IPathGraphicAttribute,\n pathTheme: Required<IPathGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n const pathShape = this.getParsedPathShape();\n aabbBounds.union(pathShape.getBounds());\n }\n\n const { tb1, tb2 } = graphicService.updateTempAABBBounds(aabbBounds);\n\n updateBoundsOfCommonOuterBorder(attribute, pathTheme, tb1);\n aabbBounds.union(tb1);\n tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n const { lineJoin = pathTheme.lineJoin } = attribute;\n graphicService.transformAABBBounds(attribute, aabbBounds, pathTheme, lineJoin === 'miter', this);\n return aabbBounds;\n }\n\n protected doUpdateAABBBounds(full?: boolean) {\n this.doUpdatePathShape();\n return super.doUpdateAABBBounds(full);\n }\n\n protected doUpdatePathShape() {\n const attribute = this.attribute;\n if (isString(attribute.path, true)) {\n this.cache = new CustomPath2D().fromString(attribute.path as string);\n } else if (attribute.customPath) {\n this.cache = new CustomPath2D();\n attribute.customPath(this.cache, this);\n }\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, PATH_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, PATH_UPDATE_TAG_KEY);\n }\n\n toCustomPath() {\n const x = 0;\n const y = 0;\n\n return new CustomPath2D().fromCustomPath2D(this.getParsedPathShape(), x, y);\n }\n\n clone() {\n return new Path({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Path.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createPath(attributes: IPathGraphicAttribute): IPath {\n return new Path(attributes);\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.createPolygon = exports.Polygon = void 0;
6
6
 
7
- const graphic_1 = require("./graphic"), theme_1 = require("./theme"), utils_1 = require("../common/utils"), custom_path2d_1 = require("../common/custom-path2d"), application_1 = require("../application"), constants_1 = require("./constants"), POLYGON_UPDATE_TAG_KEY = [ "points", "cornerRadius", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
7
+ const graphic_1 = require("./graphic"), theme_1 = require("./theme"), utils_1 = require("../common/utils"), custom_path2d_1 = require("../common/custom-path2d"), modules_1 = require("../modules"), constants_1 = require("./constants"), POLYGON_UPDATE_TAG_KEY = [ "points", "cornerRadius", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
8
8
 
9
9
  class Polygon extends graphic_1.Graphic {
10
10
  constructor(params) {
@@ -22,10 +22,10 @@ class Polygon extends graphic_1.Graphic {
22
22
  }
23
23
  updateAABBBounds(attribute, polygonTheme, aabbBounds) {
24
24
  this.updatePathProxyAABBBounds(aabbBounds) || this.updatePolygonAABBBoundsImprecise(attribute, polygonTheme, aabbBounds),
25
- application_1.application.graphicService.updateTempAABBBounds(aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
25
+ modules_1.graphicService.updateTempAABBBounds(aabbBounds), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
26
26
  this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
27
27
  const {lineJoin: lineJoin = polygonTheme.lineJoin} = attribute;
28
- return application_1.application.graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, "miter" === lineJoin, this),
28
+ return modules_1.graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, "miter" === lineJoin, this),
29
29
  aabbBounds;
30
30
  }
31
31
  updatePolygonAABBBoundsImprecise(attribute, polygonTheme, aabbBounds) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/polygon.ts"],"names":[],"mappings":";;;AACA,uCAAiF;AAEjF,mCAAmC;AACnC,2CAAsD;AACtD,2DAAuD;AACvD,gDAA6C;AAE7C,2CAAkD;AAElD,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,gCAAsB,CAAC,CAAC;AAErF,MAAa,OAAQ,SAAQ,iBAAiC;IAK5D,YAAY,MAAgC;QAC1C,KAAK,CAAC,MAAM,CAAC,CAAC;QALhB,SAAI,GAAgB,SAAS,CAAC;QAM5B,IAAI,CAAC,UAAU,GAAG,+BAAmB,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACS,QAAQ;QAChB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAChC,CAAC;IAES,gBAAgB,CACxB,SAAmC,EACnC,YAAgD,EAChD,UAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;SAC5E;QACD,yBAAW,CAAC,cAAc,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAE5D,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;QACvD,yBAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC;QAChH,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,gCAAgC,CACxC,SAAmC,EACnC,YAAgD,EAChD,UAAuB;QAEvB,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,YAAY,CAAC,GAAW,EAAE,KAAa,EAAE,WAAgB,EAAE,WAAgB,EAAE,cAAmB;QACxG,IAAI,GAAG,KAAK,QAAQ,EAAE;YACnB,cAAsB,CAAC,MAAM,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SACvF;IACH,CAAC;IAES,cAAc,CAAC,IAAc;QACrC,OAAO,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IACS,aAAa,CAAC,GAAW;QACjC,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrC,IAAI,GAAG,IAAI,4BAAY,EAAE,CAAC;QAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,mBAAM,IAAI,CAAC,SAAS,EAAG,CAAC;IAC5C,CAAC;IAED,oBAAoB;QAClB,OAAO,OAAO,CAAC,mBAAmB,CAAC;IACrC,CAAC;;AA5FH,0BA6FC;AA1FQ,2BAAmB,GAAG,6BAAmB,CAAC;AA4FnD,SAAgB,aAAa,CAAC,UAAoC;IAChE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAFD,sCAEC","file":"polygon.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';\nimport { getTheme } from './theme';\nimport { pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { application } from '../application';\nimport type { GraphicType } from '../interface';\nimport { POLYGON_NUMBER_TYPE } from './constants';\n\nconst POLYGON_UPDATE_TAG_KEY = ['points', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {\n type: GraphicType = 'polygon';\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IPolygonGraphicAttribute) {\n super(params);\n this.numberType = POLYGON_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n protected _isValid(): boolean {\n const { points } = this.attribute;\n return points && points.length >= 2;\n }\n\n getGraphicTheme(): Required<IPolygonGraphicAttribute> {\n return getTheme(this).polygon;\n }\n\n protected updateAABBBounds(\n attribute: IPolygonGraphicAttribute,\n polygonTheme: Required<IPolygonGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n this.updatePolygonAABBBoundsImprecise(attribute, polygonTheme, aabbBounds);\n }\n application.graphicService.updateTempAABBBounds(aabbBounds);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n const { lineJoin = polygonTheme.lineJoin } = attribute;\n application.graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, lineJoin === 'miter', this);\n return aabbBounds;\n }\n\n protected updatePolygonAABBBoundsImprecise(\n attribute: IPolygonGraphicAttribute,\n polygonTheme: Required<IPolygonGraphicAttribute>,\n aabbBounds: IAABBBounds\n ): IAABBBounds {\n const { points = polygonTheme.points } = attribute;\n points.forEach(p => {\n aabbBounds.add(p.x, p.y);\n });\n\n return aabbBounds;\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, POLYGON_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, POLYGON_UPDATE_TAG_KEY);\n }\n\n toCustomPath() {\n let path = super.toCustomPath();\n if (path) {\n return path;\n }\n const points = this.attribute.points;\n path = new CustomPath2D();\n\n points.forEach((point, index) => {\n if (index === 0) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n });\n path.closePath();\n\n return path;\n }\n\n clone() {\n return new Polygon({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Polygon.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createPolygon(attributes: IPolygonGraphicAttribute): IPolygon {\n return new Polygon(attributes);\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/polygon.ts"],"names":[],"mappings":";;;AACA,uCAAiF;AAEjF,mCAAmC;AACnC,2CAAsD;AACtD,2DAAuD;AACvD,wCAAqD;AAErD,2CAAkD;AAElD,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,gCAAsB,CAAC,CAAC;AAErF,MAAa,OAAQ,SAAQ,iBAAiC;IAK5D,YAAY,MAAgC;QAC1C,KAAK,CAAC,MAAM,CAAC,CAAC;QALhB,SAAI,GAAgB,SAAS,CAAC;QAM5B,IAAI,CAAC,UAAU,GAAG,+BAAmB,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACS,QAAQ;QAChB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAChC,CAAC;IAES,gBAAgB,CACxB,SAAmC,EACnC,YAAgD,EAChD,UAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;SAC5E;QACD,wBAAc,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAE5D,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;QACvD,wBAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC;QACpG,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,gCAAgC,CACxC,SAAmC,EACnC,YAAgD,EAChD,UAAuB;QAEvB,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,YAAY,CAAC,GAAW,EAAE,KAAa,EAAE,WAAgB,EAAE,WAAgB,EAAE,cAAmB;QACxG,IAAI,GAAG,KAAK,QAAQ,EAAE;YACnB,cAAsB,CAAC,MAAM,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SACvF;IACH,CAAC;IAES,cAAc,CAAC,IAAc;QACrC,OAAO,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IACS,aAAa,CAAC,GAAW;QACjC,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrC,IAAI,GAAG,IAAI,4BAAY,EAAE,CAAC;QAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,mBAAM,IAAI,CAAC,SAAS,EAAG,CAAC;IAC5C,CAAC;IAED,oBAAoB;QAClB,OAAO,OAAO,CAAC,mBAAmB,CAAC;IACrC,CAAC;;AA5FH,0BA6FC;AA1FQ,2BAAmB,GAAG,6BAAmB,CAAC;AA4FnD,SAAgB,aAAa,CAAC,UAAoC;IAChE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAFD,sCAEC","file":"polygon.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';\nimport { getTheme } from './theme';\nimport { pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { vglobal, graphicService } from '../modules';\nimport type { GraphicType } from '../interface';\nimport { POLYGON_NUMBER_TYPE } from './constants';\n\nconst POLYGON_UPDATE_TAG_KEY = ['points', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {\n type: GraphicType = 'polygon';\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IPolygonGraphicAttribute) {\n super(params);\n this.numberType = POLYGON_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n protected _isValid(): boolean {\n const { points } = this.attribute;\n return points && points.length >= 2;\n }\n\n getGraphicTheme(): Required<IPolygonGraphicAttribute> {\n return getTheme(this).polygon;\n }\n\n protected updateAABBBounds(\n attribute: IPolygonGraphicAttribute,\n polygonTheme: Required<IPolygonGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n this.updatePolygonAABBBoundsImprecise(attribute, polygonTheme, aabbBounds);\n }\n graphicService.updateTempAABBBounds(aabbBounds);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n const { lineJoin = polygonTheme.lineJoin } = attribute;\n graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, lineJoin === 'miter', this);\n return aabbBounds;\n }\n\n protected updatePolygonAABBBoundsImprecise(\n attribute: IPolygonGraphicAttribute,\n polygonTheme: Required<IPolygonGraphicAttribute>,\n aabbBounds: IAABBBounds\n ): IAABBBounds {\n const { points = polygonTheme.points } = attribute;\n points.forEach(p => {\n aabbBounds.add(p.x, p.y);\n });\n\n return aabbBounds;\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, POLYGON_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, POLYGON_UPDATE_TAG_KEY);\n }\n\n toCustomPath() {\n let path = super.toCustomPath();\n if (path) {\n return path;\n }\n const points = this.attribute.points;\n path = new CustomPath2D();\n\n points.forEach((point, index) => {\n if (index === 0) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n });\n path.closePath();\n\n return path;\n }\n\n clone() {\n return new Polygon({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Polygon.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createPolygon(attributes: IPolygonGraphicAttribute): IPolygon {\n return new Polygon(attributes);\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.createPyramid3d = exports.Pyramid3d = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), application_1 = require("../application"), polygon_1 = require("./polygon"), constants_1 = require("./constants"), graphic_1 = require("./graphic");
7
+ const vutils_1 = require("@visactor/vutils"), modules_1 = require("../modules"), polygon_1 = require("./polygon"), constants_1 = require("./constants"), graphic_1 = require("./graphic");
8
8
 
9
9
  class Pyramid3d extends polygon_1.Polygon {
10
10
  constructor(params) {
@@ -16,8 +16,7 @@ class Pyramid3d extends polygon_1.Polygon {
16
16
  return this.findFace().vertices.forEach((v => {
17
17
  const x = v[0], y = v[1];
18
18
  aabbBounds.add(x, y);
19
- })), application_1.application.graphicService.updateTempAABBBounds(aabbBounds),
20
- application_1.application.graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, !1, this),
19
+ })), modules_1.graphicService.updateTempAABBBounds(aabbBounds), modules_1.graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, !1, this),
21
20
  aabbBounds;
22
21
  }
23
22
  findFace() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/pyramid3d.ts"],"names":[],"mappings":"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","file":"pyramid3d.js","sourcesContent":["import type { IAABBBounds, IPointLike } from '@visactor/vutils';\nimport { max, PointService } from '@visactor/vutils';\nimport type { GraphicType, IPyramid3d, IPyramid3dGraphicAttribute } from '../interface';\nimport type { IFace3d } from '../interface/graphic/face3d';\nimport { application } from '../application';\nimport { Polygon } from './polygon';\nimport { PYRAMID3D_NUMBER_TYPE } from './constants';\nimport { NOWORK_ANIMATE_ATTR } from './graphic';\n\nexport class Pyramid3d extends Polygon implements IPyramid3d {\n type: GraphicType = 'pyramid3d';\n declare attribute: IPyramid3dGraphicAttribute;\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IPyramid3dGraphicAttribute) {\n super(params);\n this.numberType = PYRAMID3D_NUMBER_TYPE;\n }\n\n protected updateAABBBounds(\n attribute: IPyramid3dGraphicAttribute,\n polygonTheme: Required<IPyramid3dGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n const stage = this.stage;\n if (!stage || !stage.camera) {\n return aabbBounds;\n }\n\n const faces = this.findFace();\n // const outP = [0, 0, 0];\n faces.vertices.forEach(v => {\n const x = v[0];\n const y = v[1];\n aabbBounds.add(x, y);\n });\n application.graphicService.updateTempAABBBounds(aabbBounds);\n application.graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, false, this);\n return aabbBounds;\n }\n\n findFace(): IFace3d {\n const { points } = this.attribute;\n // 找到斜率相同的两条边\n const kList = points.map((p, i) => {\n const p1 = i === 3 ? points[0] : points[i + 1];\n const dx = p.x - p1.x;\n if (dx === 0) {\n return 0;\n }\n return (p.y - p1.y) / dx;\n });\n\n const pointsMap: { p: IPointLike; d: number }[] = points.map(p => ({ p, d: 0 }));\n let find = false;\n let maxD = 0;\n for (let i = 0; i < kList.length - 1; i++) {\n for (let j = i + 1; j < kList.length; j++) {\n if (kList[i] === kList[j]) {\n find = true;\n const d1 = PointService.distancePP(pointsMap[i].p, pointsMap[i + 1].p);\n pointsMap[i].d = d1;\n pointsMap[i + 1].d = d1;\n maxD = max(maxD, d1);\n const d2 = PointService.distancePP(pointsMap[j].p, pointsMap[j + 1].p);\n pointsMap[j].d = d2;\n pointsMap[j + 1].d = d2;\n maxD = max(maxD, d2);\n }\n if (find) {\n break;\n }\n }\n if (find) {\n break;\n }\n }\n\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n pointsMap.unshift({\n p,\n d: 0\n });\n }\n\n for (let i = 0; i < points.length; i++) {\n const delta = (maxD - pointsMap[i + points.length].d) / 2;\n pointsMap[i].d += delta;\n pointsMap[i + points.length].d += delta;\n }\n\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n\n pointsMap.forEach(p => {\n faces.vertices.push([p.p.x, p.p.y, p.d]);\n });\n\n // 上\n faces.polygons.push({ polygon: [0, 4, 5, 1], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [7, 6, 2, 3], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [0, 4, 7, 3], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 5, 6, 2], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n\n protected _isValid(): boolean {\n return super._isValid() && this.attribute.points.length === 4;\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Pyramid3d.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createPyramid3d(attributes: IPyramid3dGraphicAttribute): IPyramid3d {\n return new Pyramid3d(attributes);\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/pyramid3d.ts"],"names":[],"mappings":"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","file":"pyramid3d.js","sourcesContent":["import type { IAABBBounds, IPointLike } from '@visactor/vutils';\nimport { max, PointService } from '@visactor/vutils';\nimport type { GraphicType, IPyramid3d, IPyramid3dGraphicAttribute } from '../interface';\nimport type { IFace3d } from '../interface/graphic/face3d';\nimport { vglobal, graphicService } from '../modules';\nimport { Polygon } from './polygon';\nimport { PYRAMID3D_NUMBER_TYPE } from './constants';\nimport { NOWORK_ANIMATE_ATTR } from './graphic';\n\nexport class Pyramid3d extends Polygon implements IPyramid3d {\n type: GraphicType = 'pyramid3d';\n declare attribute: IPyramid3dGraphicAttribute;\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IPyramid3dGraphicAttribute) {\n super(params);\n this.numberType = PYRAMID3D_NUMBER_TYPE;\n }\n\n protected updateAABBBounds(\n attribute: IPyramid3dGraphicAttribute,\n polygonTheme: Required<IPyramid3dGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n const stage = this.stage;\n if (!stage || !stage.camera) {\n return aabbBounds;\n }\n\n const faces = this.findFace();\n // const outP = [0, 0, 0];\n faces.vertices.forEach(v => {\n const x = v[0];\n const y = v[1];\n aabbBounds.add(x, y);\n });\n graphicService.updateTempAABBBounds(aabbBounds);\n graphicService.transformAABBBounds(attribute, aabbBounds, polygonTheme, false, this);\n return aabbBounds;\n }\n\n findFace(): IFace3d {\n const { points } = this.attribute;\n // 找到斜率相同的两条边\n const kList = points.map((p, i) => {\n const p1 = i === 3 ? points[0] : points[i + 1];\n const dx = p.x - p1.x;\n if (dx === 0) {\n return 0;\n }\n return (p.y - p1.y) / dx;\n });\n\n const pointsMap: { p: IPointLike; d: number }[] = points.map(p => ({ p, d: 0 }));\n let find = false;\n let maxD = 0;\n for (let i = 0; i < kList.length - 1; i++) {\n for (let j = i + 1; j < kList.length; j++) {\n if (kList[i] === kList[j]) {\n find = true;\n const d1 = PointService.distancePP(pointsMap[i].p, pointsMap[i + 1].p);\n pointsMap[i].d = d1;\n pointsMap[i + 1].d = d1;\n maxD = max(maxD, d1);\n const d2 = PointService.distancePP(pointsMap[j].p, pointsMap[j + 1].p);\n pointsMap[j].d = d2;\n pointsMap[j + 1].d = d2;\n maxD = max(maxD, d2);\n }\n if (find) {\n break;\n }\n }\n if (find) {\n break;\n }\n }\n\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n pointsMap.unshift({\n p,\n d: 0\n });\n }\n\n for (let i = 0; i < points.length; i++) {\n const delta = (maxD - pointsMap[i + points.length].d) / 2;\n pointsMap[i].d += delta;\n pointsMap[i + points.length].d += delta;\n }\n\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n\n pointsMap.forEach(p => {\n faces.vertices.push([p.p.x, p.p.y, p.d]);\n });\n\n // 上\n faces.polygons.push({ polygon: [0, 4, 5, 1], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [7, 6, 2, 3], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [0, 4, 7, 3], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 5, 6, 2], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n\n protected _isValid(): boolean {\n return super._isValid() && this.attribute.points.length === 4;\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Pyramid3d.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createPyramid3d(attributes: IPyramid3dGraphicAttribute): IPyramid3d {\n return new Pyramid3d(attributes);\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.createRect = exports.Rect = void 0;
6
6
 
7
- const graphic_1 = require("./graphic"), custom_path2d_1 = require("../common/custom-path2d"), theme_1 = require("./theme"), application_1 = require("../application"), constants_1 = require("./constants"), rect_utils_1 = require("../common/rect-utils"), common_outer_boder_bounds_1 = require("./graphic-service/common-outer-boder-bounds"), RECT_UPDATE_TAG_KEY = [ "width", "x1", "y1", "height", "cornerRadius", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
7
+ const graphic_1 = require("./graphic"), custom_path2d_1 = require("../common/custom-path2d"), theme_1 = require("./theme"), modules_1 = require("../modules"), constants_1 = require("./constants"), rect_utils_1 = require("../common/rect-utils"), common_outer_boder_bounds_1 = require("./graphic-service/common-outer-boder-bounds"), RECT_UPDATE_TAG_KEY = [ "width", "x1", "y1", "height", "cornerRadius", ...graphic_1.GRAPHIC_UPDATE_TAG_KEY ];
8
8
 
9
9
  class Rect extends graphic_1.Graphic {
10
10
  constructor(params) {
@@ -26,10 +26,10 @@ class Rect extends graphic_1.Graphic {
26
26
  width = null != width ? width : x1 - x, height = null != height ? height : y1 - y,
27
27
  (isFinite(width) || isFinite(height) || isFinite(x) || isFinite(y)) && aabbBounds.set(0, 0, width || 0, height || 0);
28
28
  }
29
- const {tb1: tb1, tb2: tb2} = application_1.application.graphicService.updateTempAABBBounds(aabbBounds);
29
+ const {tb1: tb1, tb2: tb2} = modules_1.graphicService.updateTempAABBBounds(aabbBounds);
30
30
  return (0, common_outer_boder_bounds_1.updateBoundsOfCommonOuterBorder)(attribute, rectTheme, tb1),
31
31
  aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2), this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1,
32
- this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1, application_1.application.graphicService.transformAABBBounds(attribute, aabbBounds, rectTheme, !1, this),
32
+ this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1, modules_1.graphicService.transformAABBBounds(attribute, aabbBounds, rectTheme, !1, this),
33
33
  aabbBounds;
34
34
  }
35
35
  needUpdateTags(keys) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/rect.ts"],"names":[],"mappings":"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","file":"rect.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { GraphicType, ICustomPath2D, IRect, IRectGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { RECT_NUMBER_TYPE } from './constants';\nimport { normalizeRectAttributes } from '../common/rect-utils';\nimport { updateBoundsOfCommonOuterBorder } from './graphic-service/common-outer-boder-bounds';\nimport { EmptyContext2d } from '../canvas';\n\nconst RECT_UPDATE_TAG_KEY = ['width', 'x1', 'y1', 'height', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Rect extends Graphic<IRectGraphicAttribute> implements IRect {\n type: GraphicType = 'rect';\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IRectGraphicAttribute) {\n super(params);\n this.numberType = RECT_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n return true;\n // 暂时不判断,理论上认为都是合法的,节省性能耗时\n // const { width, x1, y1, height } = this.attribute;\n // return (this._validNumber(width) || this._validNumber(x1)) && (this._validNumber(height) || this._validNumber(y1));\n }\n\n getGraphicTheme(): Required<IRectGraphicAttribute> {\n return getTheme(this).rect;\n }\n\n protected updateAABBBounds(\n attribute: IRectGraphicAttribute,\n rectTheme: Required<IRectGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n let { width, height } = attribute;\n const { x1, y1, x, y } = attribute;\n width = width ?? x1 - x;\n height = height ?? y1 - y;\n if (isFinite(width) || isFinite(height) || isFinite(x) || isFinite(y)) {\n aabbBounds.set(0, 0, width || 0, height || 0);\n }\n }\n\n const { tb1, tb2 } = application.graphicService.updateTempAABBBounds(aabbBounds);\n\n updateBoundsOfCommonOuterBorder(attribute, rectTheme, tb1);\n aabbBounds.union(tb1);\n tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n application.graphicService.transformAABBBounds(attribute, aabbBounds, rectTheme, false, this);\n return aabbBounds;\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, RECT_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, RECT_UPDATE_TAG_KEY);\n }\n\n toCustomPath(): ICustomPath2D {\n // throw new Error('暂不支持');\n let path = super.toCustomPath();\n if (path) {\n return path;\n }\n const attribute = this.attribute;\n const { x, y, width, height } = normalizeRectAttributes(attribute);\n\n path = new CustomPath2D();\n path.moveTo(x, y);\n path.rect(x, y, width, height);\n\n return path;\n }\n\n clone() {\n return new Rect({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Rect.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createRect(attributes: IRectGraphicAttribute): IRect {\n return new Rect(attributes);\n}\n"]}
1
+ {"version":3,"sources":["../src/graphic/rect.ts"],"names":[],"mappings":"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","file":"rect.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY, NOWORK_ANIMATE_ATTR } from './graphic';\nimport type { GraphicType, ICustomPath2D, IRect, IRectGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getTheme } from './theme';\nimport { vglobal, graphicService } from '../modules';\nimport { RECT_NUMBER_TYPE } from './constants';\nimport { normalizeRectAttributes } from '../common/rect-utils';\nimport { updateBoundsOfCommonOuterBorder } from './graphic-service/common-outer-boder-bounds';\nimport { EmptyContext2d } from '../canvas';\n\nconst RECT_UPDATE_TAG_KEY = ['width', 'x1', 'y1', 'height', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Rect extends Graphic<IRectGraphicAttribute> implements IRect {\n type: GraphicType = 'rect';\n\n static NOWORK_ANIMATE_ATTR = NOWORK_ANIMATE_ATTR;\n\n constructor(params: IRectGraphicAttribute) {\n super(params);\n this.numberType = RECT_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n return true;\n // 暂时不判断,理论上认为都是合法的,节省性能耗时\n // const { width, x1, y1, height } = this.attribute;\n // return (this._validNumber(width) || this._validNumber(x1)) && (this._validNumber(height) || this._validNumber(y1));\n }\n\n getGraphicTheme(): Required<IRectGraphicAttribute> {\n return getTheme(this).rect;\n }\n\n protected updateAABBBounds(\n attribute: IRectGraphicAttribute,\n rectTheme: Required<IRectGraphicAttribute>,\n aabbBounds: IAABBBounds\n ) {\n if (!this.updatePathProxyAABBBounds(aabbBounds)) {\n let { width, height } = attribute;\n const { x1, y1, x, y } = attribute;\n width = width ?? x1 - x;\n height = height ?? y1 - y;\n if (isFinite(width) || isFinite(height) || isFinite(x) || isFinite(y)) {\n aabbBounds.set(0, 0, width || 0, height || 0);\n }\n }\n\n const { tb1, tb2 } = graphicService.updateTempAABBBounds(aabbBounds);\n\n updateBoundsOfCommonOuterBorder(attribute, rectTheme, tb1);\n aabbBounds.union(tb1);\n tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);\n\n this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1;\n this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;\n\n graphicService.transformAABBBounds(attribute, aabbBounds, rectTheme, false, this);\n return aabbBounds;\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n return super.needUpdateTags(keys, RECT_UPDATE_TAG_KEY);\n }\n protected needUpdateTag(key: string): boolean {\n return super.needUpdateTag(key, RECT_UPDATE_TAG_KEY);\n }\n\n toCustomPath(): ICustomPath2D {\n // throw new Error('暂不支持');\n let path = super.toCustomPath();\n if (path) {\n return path;\n }\n const attribute = this.attribute;\n const { x, y, width, height } = normalizeRectAttributes(attribute);\n\n path = new CustomPath2D();\n path.moveTo(x, y);\n path.rect(x, y, width, height);\n\n return path;\n }\n\n clone() {\n return new Rect({ ...this.attribute });\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return Rect.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createRect(attributes: IRectGraphicAttribute): IRect {\n return new Rect(attributes);\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.getFontString = exports.measureTextCanvas = exports.measureTextDom = exports.testLetter2 = exports.testLetter = exports.getWordStartEndIdx = exports.getStrByWithCanvas = exports.getStrByWithDom = exports.prepareContext = exports.applyStrokeStyle = exports.applyFillStyle = exports.regFirstSpace = exports.regLetter = exports.DIRECTION_KEY = void 0;
6
6
 
7
- const application_1 = require("../../application"), canvas_utils_1 = require("../../common/canvas-utils"), constants_1 = require("../../constants");
7
+ const modules_1 = require("../../modules"), canvas_utils_1 = require("../../common/canvas-utils"), constants_1 = require("../../constants");
8
8
 
9
9
  exports.DIRECTION_KEY = {
10
10
  horizontal: {
@@ -107,7 +107,7 @@ function getStrByWithDom(desc, width, style, guessIndex, needTestLetter) {
107
107
  function getStrByWithCanvas(desc, width, character, guessIndex, needTestLetter) {
108
108
  if (desc.length <= 1) return 0;
109
109
  if (!width || width <= 0) return 0;
110
- const textMeasure = application_1.application.graphicUtil.textMeasure;
110
+ const textMeasure = modules_1.graphicUtil.textMeasure;
111
111
  let index = guessIndex, temp = desc.slice(0, index), tempWidth = Math.floor(textMeasure.measureText(temp, character).width), tempNext = desc.slice(0, index + 1), tempWidthNext = Math.floor(textMeasure.measureText(tempNext, character).width);
112
112
  for (;tempWidth > width || tempWidthNext <= width; ) {
113
113
  if (tempWidth > width ? index-- : index++, index > desc.length) {
@@ -181,7 +181,7 @@ function measureTextCanvas(text, character, mode = "actual") {
181
181
  descent: 0,
182
182
  width: 0
183
183
  };
184
- const measurement = application_1.application.graphicUtil.textMeasure.measureText(text, character), result = {
184
+ const measurement = modules_1.graphicUtil.textMeasure.measureText(text, character), result = {
185
185
  ascent: 0,
186
186
  height: 0,
187
187
  descent: 0,