@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/interface/canvas.ts"],"names":[],"mappings":"","file":"canvas.js","sourcesContent":["/**\n * 提供ICanvas和ICanvasLike封装\n */\nimport type { Releaseable } from './common';\nimport type { IContextLike, IContext2d } from './context';\n\nexport type CanvasConfigType = {\n width?: number;\n height?: number;\n dpr?: number;\n x?: number;\n y?: number;\n container?: HTMLElement | string;\n visiable?: boolean;\n nativeCanvas: HTMLCanvasElement | any;\n canvasControled?: boolean;\n id?: string;\n};\n\nexport interface ICanvas extends Releaseable {\n width: number;\n height: number;\n id: number | string;\n x: number;\n y: number;\n visiable: boolean;\n nativeCanvas: HTMLCanvasElement | any;\n displayWidth: number;\n displayHeight: number;\n dpr: number;\n\n getContext: (contextId?: '2d', contextAttributes?: CanvasRenderingContext2DSettings) => IContext2d | null;\n\n getNativeCanvas: () => HTMLCanvasElement | any;\n\n // getContext(\n // contextId: 'bitmaprenderer',\n // contextAttributes?: WebGLContextAttributes,\n // ): ImageBitmapRenderingContext | null;\n\n // getContext(contextId: 'webgl', contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null;\n\n // getContext(contextId: 'webgl2', contextAttributes?: WebGLContextAttributes): WebGL2RenderingContext | null;\n\n convertToBlob: (options?: { type?: string | undefined; quality?: number | undefined }) => Promise<Blob>;\n\n transferToImageBitmap: () => ImageBitmap;\n\n resetStyle: (params: Partial<CanvasConfigType>) => void;\n applyPosition: () => void;\n\n hide: () => void;\n show: () => void;\n\n resize: (width: number, height: number) => void;\n\n toDataURL: (() => string) &\n ((mimeType: 'image/png') => string) &\n ((mimeType: 'image/jpeg', quality: number) => string);\n\n readPixels: (x: number, y: number, w: number, h: number) => ImageData | Promise<ImageData>;\n\n release: () => void;\n}\n\nexport interface ICanvasLike {\n width: number;\n height: number;\n\n /** _Non standard._ The type of the canvas. */\n readonly type?: 'image' | 'pdf' | 'svg';\n\n /** _Non standard._ Getter. The stride used by the canvas. */\n readonly stride?: number;\n\n /** Constant used in PNG encoding methods. */\n readonly PNG_NO_FILTERS?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_ALL_FILTERS?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_NONE?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_SUB?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_UP?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_AVG?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_PAETH?: number;\n\n getContext: (contextId: string) => IContextLike;\n}\n\nexport interface ICanvasFactory extends Function {\n (...params: any): ICanvas;\n}\n\nexport interface IContext2dFactory extends Function {\n (...params: any): IContext2d;\n}\n"]}
1
+ {"version":3,"sources":["../src/interface/canvas.ts"],"names":[],"mappings":"","file":"canvas.js","sourcesContent":["/**\n * 提供ICanvas和ICanvasLike封装\n */\nimport type { Releaseable } from './common';\nimport type { IContextLike, IContext2d } from './context';\n\nexport type CanvasConfigType = {\n width?: number;\n height?: number;\n dpr?: number;\n x?: number;\n y?: number;\n container?: HTMLElement | string;\n visiable?: boolean;\n nativeCanvas?: HTMLCanvasElement | any;\n canvasControled?: boolean;\n id?: string;\n};\n\nexport interface ICanvas extends Releaseable {\n width: number;\n height: number;\n id: number | string;\n x: number;\n y: number;\n visiable: boolean;\n nativeCanvas: HTMLCanvasElement | any;\n displayWidth: number;\n displayHeight: number;\n dpr: number;\n\n getContext: (contextId?: '2d', contextAttributes?: CanvasRenderingContext2DSettings) => IContext2d | null;\n\n getNativeCanvas: () => HTMLCanvasElement | any;\n\n // getContext(\n // contextId: 'bitmaprenderer',\n // contextAttributes?: WebGLContextAttributes,\n // ): ImageBitmapRenderingContext | null;\n\n // getContext(contextId: 'webgl', contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null;\n\n // getContext(contextId: 'webgl2', contextAttributes?: WebGLContextAttributes): WebGL2RenderingContext | null;\n\n convertToBlob: (options?: { type?: string | undefined; quality?: number | undefined }) => Promise<Blob>;\n\n transferToImageBitmap: () => ImageBitmap;\n\n resetStyle: (params: Partial<CanvasConfigType>) => void;\n applyPosition: () => void;\n\n hide: () => void;\n show: () => void;\n\n resize: (width: number, height: number) => void;\n\n toDataURL: (() => string) &\n ((mimeType: 'image/png') => string) &\n ((mimeType: 'image/jpeg', quality: number) => string);\n\n readPixels: (x: number, y: number, w: number, h: number) => ImageData | Promise<ImageData>;\n\n release: () => void;\n}\n\nexport interface ICanvasLike {\n width: number;\n height: number;\n\n /** _Non standard._ The type of the canvas. */\n readonly type?: 'image' | 'pdf' | 'svg';\n\n /** _Non standard._ Getter. The stride used by the canvas. */\n readonly stride?: number;\n\n /** Constant used in PNG encoding methods. */\n readonly PNG_NO_FILTERS?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_ALL_FILTERS?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_NONE?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_SUB?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_UP?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_AVG?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_PAETH?: number;\n\n getContext: (contextId: string) => IContextLike;\n}\n\nexport interface ICanvasFactory extends Function {\n (...params: any): ICanvas;\n}\n\nexport interface IContext2dFactory extends Function {\n (...params: any): IContext2d;\n}\n"]}
package/cjs/modules.js CHANGED
@@ -1,29 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var __importDefault = this && this.__importDefault || function(mod) {
4
- return mod && mod.__esModule ? mod : {
5
- default: mod
6
- };
7
- };
8
-
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: !0
11
5
  }), exports.layerService = exports.graphicService = exports.transformUtil = exports.graphicUtil = exports.vglobal = exports.preLoadAllModule = void 0;
12
6
 
13
- const core_modules_1 = __importDefault(require("./core/core-modules")), render_modules_1 = __importDefault(require("./render/render-modules")), pick_modules_1 = __importDefault(require("./picker/pick-modules")), graphic_module_1 = __importDefault(require("./graphic/graphic-service/graphic-module")), plugin_modules_1 = __importDefault(require("./plugins/plugin-modules")), modules_1 = __importDefault(require("./core/contributions/modules")), modules_2 = __importDefault(require("./render/contributions/modules")), constants_1 = require("./core/constants"), application_1 = require("./application"), constants_2 = require("./graphic/constants"), constants_3 = require("./core/constants"), container_1 = require("./container"), constants_4 = require("./constants");
7
+ const constants_1 = require("./core/constants"), constants_2 = require("./graphic/constants"), constants_3 = require("./core/constants"), constants_4 = require("./constants"), registry_1 = require("./common/registry"), register_modules_1 = require("./register-modules");
14
8
 
15
9
  function preLoadAllModule() {
16
- preLoadAllModule.__loaded || (preLoadAllModule.__loaded = !0, container_1.container.load(core_modules_1.default),
17
- container_1.container.load(graphic_module_1.default), container_1.container.load(render_modules_1.default),
18
- container_1.container.load(pick_modules_1.default), container_1.container.load(plugin_modules_1.default),
19
- (0, modules_1.default)(container_1.container), (0, modules_2.default)(container_1.container));
10
+ preLoadAllModule.__loaded || (preLoadAllModule.__loaded = !0, (0, register_modules_1.registerAllModules)());
20
11
  }
21
12
 
22
13
  exports.preLoadAllModule = preLoadAllModule, preLoadAllModule.__loaded = !1, preLoadAllModule(),
23
- exports.vglobal = container_1.container.get(constants_4.VGlobal), application_1.application.global = exports.vglobal,
24
- exports.graphicUtil = container_1.container.get(constants_3.GraphicUtil), application_1.application.graphicUtil = exports.graphicUtil,
25
- exports.transformUtil = container_1.container.get(constants_3.TransformUtil), application_1.application.transformUtil = exports.transformUtil,
26
- exports.graphicService = container_1.container.get(constants_2.GraphicService),
27
- application_1.application.graphicService = exports.graphicService, exports.layerService = container_1.container.get(constants_1.LayerService),
28
- application_1.application.layerService = exports.layerService;
14
+ exports.vglobal = registry_1.serviceRegistry.get(constants_4.VGlobal), exports.graphicUtil = registry_1.serviceRegistry.get(constants_3.GraphicUtil),
15
+ exports.transformUtil = registry_1.serviceRegistry.get(constants_3.TransformUtil),
16
+ exports.graphicService = registry_1.serviceRegistry.get(constants_2.GraphicService),
17
+ exports.layerService = registry_1.serviceRegistry.get(constants_1.LayerService);
29
18
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA6C;AAC7C,6EAAmD;AACnD,yEAA+C;AAE/C,8FAAqE;AACrE,8EAAoD;AACpD,2EAAoE;AACpE,6EAAqE;AAGrE,gDAAgD;AAIhD,+CAA4C;AAE5C,mDAAqD;AACrD,gDAA8D;AAC9D,2CAAwC;AACxC,2CAAsC;AAEtC,SAAgB,gBAAgB;IAC9B,IAAI,gBAAgB,CAAC,QAAQ,EAAE;QAC7B,OAAO;KACR;IACD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;IACjC,qBAAS,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAC;IAC3B,qBAAS,CAAC,IAAI,CAAC,wBAAa,CAAC,CAAC;IAC9B,qBAAS,CAAC,IAAI,CAAC,wBAAY,CAAC,CAAC;IAC7B,qBAAS,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAC;IAE3B,qBAAS,CAAC,IAAI,CAAC,wBAAY,CAAC,CAAC;IAC7B,IAAA,iBAAwB,EAAC,qBAAS,CAAC,CAAC;IACpC,IAAA,iBAAuB,EAAC,qBAAS,CAAC,CAAC;AACrC,CAAC;AAbD,4CAaC;AAED,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAC;AAElC,gBAAgB,EAAE,CAAC;AAKN,QAAA,OAAO,GAAG,qBAAS,CAAC,GAAG,CAAU,mBAAO,CAAC,CAAC;AACvD,yBAAW,CAAC,MAAM,GAAG,eAAO,CAAC;AAChB,QAAA,WAAW,GAAG,qBAAS,CAAC,GAAG,CAAe,uBAAW,CAAC,CAAC;AACpE,yBAAW,CAAC,WAAW,GAAG,mBAAW,CAAC;AACzB,QAAA,aAAa,GAAG,qBAAS,CAAC,GAAG,CAAiB,yBAAa,CAAC,CAAC;AAC1E,yBAAW,CAAC,aAAa,GAAG,qBAAa,CAAC;AAC7B,QAAA,cAAc,GAAG,qBAAS,CAAC,GAAG,CAAkB,0BAAc,CAAC,CAAC;AAC7E,yBAAW,CAAC,cAAc,GAAG,sBAAc,CAAC;AAe/B,QAAA,YAAY,GAAG,qBAAS,CAAC,GAAG,CAAgB,wBAAY,CAAC,CAAC;AACvE,yBAAW,CAAC,YAAY,GAAG,oBAAY,CAAC","file":"modules.js","sourcesContent":["import coreModule from './core/core-modules';\nimport renderModule from './render/render-modules';\nimport pickModule from './picker/pick-modules';\n// import allocatorModule from './allocator/allocator-modules';\nimport graphicModule from './graphic/graphic-service/graphic-module';\nimport pluginModule from './plugins/plugin-modules';\nimport loadBuiltinContributions from './core/contributions/modules';\nimport loadRenderContributions from './render/contributions/modules';\n// import loadPickContributions from './picker/contributions/modules';\n// import loadCanvasContributions from './canvas/contributions/modules';\nimport { LayerService } from './core/constants';\n// import { IMat4Allocate, IMatrixAllocate, Mat4Allocate, MatrixAllocate } from './allocator/matrix-allocate';\n// import { GlobalPickerService } from './picker/constants';\nimport type { IGlobal, IGraphicService, IPickerService, IRenderService } from './interface';\nimport { application } from './application';\nimport type { IGraphicUtil, ILayerService, ITransformUtil } from './interface/core';\nimport { GraphicService } from './graphic/constants';\nimport { GraphicUtil, TransformUtil } from './core/constants';\nimport { container } from './container';\nimport { VGlobal } from './constants';\n\nexport function preLoadAllModule() {\n if (preLoadAllModule.__loaded) {\n return;\n }\n preLoadAllModule.__loaded = true;\n container.load(coreModule);\n container.load(graphicModule);\n container.load(renderModule);\n container.load(pickModule);\n // container.load(allocatorModule);\n container.load(pluginModule);\n loadBuiltinContributions(container);\n loadRenderContributions(container);\n}\n\npreLoadAllModule.__loaded = false;\n\npreLoadAllModule();\n// loadPickContributions(container);\n// loadCanvasContributions(container);\n\n// 全局变量\nexport const vglobal = container.get<IGlobal>(VGlobal);\napplication.global = vglobal;\nexport const graphicUtil = container.get<IGraphicUtil>(GraphicUtil);\napplication.graphicUtil = graphicUtil;\nexport const transformUtil = container.get<ITransformUtil>(TransformUtil);\napplication.transformUtil = transformUtil;\nexport const graphicService = container.get<IGraphicService>(GraphicService);\napplication.graphicService = graphicService;\n// export const renderService = container.get<IRenderService>(RenderService);\n// application.renderService = renderService;\n// export const matrixAllocate = container.get<IMatrixAllocate>(MatrixAllocate);\n// export const mat4Allocate = container.get<IMat4Allocate>(Mat4Allocate);\n// export const canvasAllocate = container.get<ICanvasAllocate>(CanvasAllocate);\n// export const arcAllocate = container.get<IArcAllocate>(ArcAllocate);\n// export const areaAllocate = container.get<IAreaAllocate>(AreaAllocate);\n// export const circleAllocate = container.get<ICircleAllocate>(CircleAllocate);\n// export const lineAllocate = container.get<ILineAllocate>(LineAllocate);\n// export const pathAllocate = container.get<IPathAllocate>(PathAllocate);\n// export const rectAllocate = container.get<IRectAllocate>(RectAllocate);\n// export const symbolAllocate = container.get<ISymbolAllocate>(SymbolAllocate);\n// export const textAllocate = container.get<ITextAllocate>(TextAllocate);\n// export const pickerService = container.get<IPickerService>(GlobalPickerService);\nexport const layerService = container.get<ILayerService>(LayerService);\napplication.layerService = layerService;\n"]}
1
+ {"version":3,"sources":["../src/modules.ts"],"names":[],"mappings":";;;AAGA,gDAAgD;AAGhD,mDAAqD;AACrD,gDAA8D;AAC9D,2CAAsC;AACtC,gDAAoD;AACpD,yDAAwD;AAExD,SAAgB,gBAAgB;IAC9B,IAAI,gBAAgB,CAAC,QAAQ,EAAE;QAC7B,OAAO;KACR;IACD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;IAGjC,IAAA,qCAAkB,GAAE,CAAC;AACvB,CAAC;AARD,4CAQC;AAED,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAC;AAElC,gBAAgB,EAAE,CAAC;AAGN,QAAA,OAAO,GAAG,0BAAe,CAAC,GAAG,CAAU,mBAAO,CAAC,CAAC;AAChD,QAAA,WAAW,GAAG,0BAAe,CAAC,GAAG,CAAe,uBAAW,CAAC,CAAC;AAC7D,QAAA,aAAa,GAAG,0BAAe,CAAC,GAAG,CAAiB,yBAAa,CAAC,CAAC;AACnE,QAAA,cAAc,GAAG,0BAAe,CAAC,GAAG,CAAkB,0BAAc,CAAC,CAAC;AACtE,QAAA,YAAY,GAAG,0BAAe,CAAC,GAAG,CAAgB,wBAAY,CAAC,CAAC","file":"modules.js","sourcesContent":["/**\n * 模块预加载入口(Registry-only)\n */\nimport { LayerService } from './core/constants';\nimport type { IGlobal, IGraphicService } from './interface';\nimport type { IGraphicUtil, ILayerService, ITransformUtil } from './interface/core';\nimport { GraphicService } from './graphic/constants';\nimport { GraphicUtil, TransformUtil } from './core/constants';\nimport { VGlobal } from './constants';\nimport { serviceRegistry } from './common/registry';\nimport { registerAllModules } from './register-modules';\n\nexport function preLoadAllModule() {\n if (preLoadAllModule.__loaded) {\n return;\n }\n preLoadAllModule.__loaded = true;\n\n // Registry-only\n registerAllModules();\n}\n\npreLoadAllModule.__loaded = false;\n\npreLoadAllModule();\n\n// 全局变量 - 从 serviceRegistry 获取(替代 application)\nexport const vglobal = serviceRegistry.get<IGlobal>(VGlobal);\nexport const graphicUtil = serviceRegistry.get<IGraphicUtil>(GraphicUtil);\nexport const transformUtil = serviceRegistry.get<ITransformUtil>(TransformUtil);\nexport const graphicService = serviceRegistry.get<IGraphicService>(GraphicService);\nexport const layerService = serviceRegistry.get<ILayerService>(LayerService);\n"]}
@@ -1,22 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- }, __metadata = this && this.__metadata || function(k, v) {
8
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
9
- };
10
-
11
3
  Object.defineProperty(exports, "__esModule", {
12
4
  value: !0
13
5
  }), exports.DefaultGlobalPickerService = void 0;
14
6
 
15
- const vutils_1 = require("@visactor/vutils"), inversify_lite_1 = require("../common/inversify-lite"), application_1 = require("../application");
7
+ const vutils_1 = require("@visactor/vutils"), modules_1 = require("../modules");
16
8
 
17
- let DefaultGlobalPickerService = class {
9
+ class DefaultGlobalPickerService {
18
10
  constructor() {
19
- this.global = application_1.application.global, this.global.hooks.onSetEnv.tap("global-picker-service", ((lastEnv, env, global) => {
11
+ this.global = modules_1.vglobal, this.global.hooks.onSetEnv.tap("global-picker-service", ((lastEnv, env, global) => {
20
12
  this.configure(global, env);
21
13
  })), this.configure(this.global, this.global.env);
22
14
  }
@@ -76,8 +68,7 @@ let DefaultGlobalPickerService = class {
76
68
  graphic: graphic
77
69
  } : null;
78
70
  }
79
- };
71
+ }
80
72
 
81
- DefaultGlobalPickerService = __decorate([ (0, inversify_lite_1.injectable)(), __metadata("design:paramtypes", []) ], DefaultGlobalPickerService),
82
73
  exports.DefaultGlobalPickerService = DefaultGlobalPickerService;
83
74
  //# sourceMappingURL=global-picker-service.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/global-picker-service.ts"],"names":[],"mappings":"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","file":"global-picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { Matrix, Point } from '@visactor/vutils';\nimport { inject, injectable } from '../common/inversify-lite';\nimport type {\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult\n} from '../interface';\nimport { application } from '../application';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultGlobalPickerService implements IPickerService {\n type: 'global';\n\n declare pickerMap: Map<number, IGraphicPicker>;\n declare global: IGlobal;\n\n constructor() {\n this.global = application.global;\n this.global.hooks.onSetEnv.tap('global-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n }\n\n reInit() {\n return;\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n }\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPointLike, params?: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = 0; i < graphics.length; i++) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n const data = this.pickItem(graphics[i], point, parentMatrix, params);\n if (data) {\n result.graphic = data.graphic;\n result.params = data.params;\n }\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n // 判断是否有shadow-dom\n if (result.graphic) {\n let g = result.graphic;\n while (g.parent) {\n g = g.parent;\n }\n if (g.shadowHost) {\n result.params = {\n shadowTarget: result.graphic\n };\n result.graphic = g.shadowHost;\n }\n }\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params?: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params);\n }\n\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params?: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过\n if (!insideGroup) {\n return result;\n }\n // todo: 支持带有path的group的选中\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n parentMatrix.multiply(transMatrix.a, transMatrix.b, transMatrix.c, transMatrix.d, transMatrix.e, transMatrix.f);\n\n if (group.attribute.childrenPickable !== false) {\n group.forEachChildren((graphic: IGraphic) => {\n if (graphic.isContainer) {\n result = this.pickGroup(graphic as IGroup, point, parentMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const data = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (data) {\n result.graphic = data.graphic;\n result.params = data.params;\n }\n }\n return !!result.graphic || !!result.group;\n });\n }\n\n if (!result.graphic && !result.group && groupPicked) {\n result.group = group;\n }\n\n return result;\n }\n\n // todo: switch统一改为数字map\n pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params?: IPickParams\n ): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n if (graphic.AABBBounds.containsPoint(point)) {\n return {\n graphic: graphic\n };\n }\n return null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/global-picker-service.ts"],"names":[],"mappings":"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","file":"global-picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { Matrix, Point } from '@visactor/vutils';\nimport type {\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult\n} from '../interface';\nimport { vglobal } from '../modules';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\nexport class DefaultGlobalPickerService implements IPickerService {\n type: 'global';\n\n declare pickerMap: Map<number, IGraphicPicker>;\n declare global: IGlobal;\n\n constructor() {\n this.global = vglobal;\n this.global.hooks.onSetEnv.tap('global-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n }\n\n reInit() {\n return;\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n }\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPointLike, params?: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = 0; i < graphics.length; i++) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n const data = this.pickItem(graphics[i], point, parentMatrix, params);\n if (data) {\n result.graphic = data.graphic;\n result.params = data.params;\n }\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n // 判断是否有shadow-dom\n if (result.graphic) {\n let g = result.graphic;\n while (g.parent) {\n g = g.parent;\n }\n if (g.shadowHost) {\n result.params = {\n shadowTarget: result.graphic\n };\n result.graphic = g.shadowHost;\n }\n }\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params?: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params);\n }\n\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params?: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过\n if (!insideGroup) {\n return result;\n }\n // todo: 支持带有path的group的选中\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n parentMatrix.multiply(transMatrix.a, transMatrix.b, transMatrix.c, transMatrix.d, transMatrix.e, transMatrix.f);\n\n if (group.attribute.childrenPickable !== false) {\n group.forEachChildren((graphic: IGraphic) => {\n if (graphic.isContainer) {\n result = this.pickGroup(graphic as IGroup, point, parentMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const data = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (data) {\n result.graphic = data.graphic;\n result.params = data.params;\n }\n }\n return !!result.graphic || !!result.group;\n });\n }\n\n if (!result.graphic && !result.group && groupPicked) {\n result.group = group;\n }\n\n return result;\n }\n\n // todo: switch统一改为数字map\n pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params?: IPickParams\n ): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n if (graphic.AABBBounds.containsPoint(point)) {\n return {\n graphic: graphic\n };\n }\n return null;\n }\n}\n"]}
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
-
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: !0
11
5
  }), exports.Canvas3DPickItemInterceptor = exports.InteractivePickItemInterceptorContribution = exports.ShadowRootPickItemInterceptorContribution = exports.ShadowPickServiceInterceptorContribution = void 0;
12
6
 
13
- const vutils_1 = require("@visactor/vutils"), inversify_lite_1 = require("../common/inversify-lite"), matrix_allocate_1 = require("../allocator/matrix-allocate"), _3d_interceptor_1 = require("../common/3d-interceptor"), graphic_1 = require("../graphic");
7
+ const vutils_1 = require("@visactor/vutils"), matrix_allocate_1 = require("../allocator/matrix-allocate"), _3d_interceptor_1 = require("../common/3d-interceptor"), graphic_1 = require("../graphic");
14
8
 
15
- let ShadowPickServiceInterceptorContribution = class {
9
+ class ShadowPickServiceInterceptorContribution {
16
10
  constructor() {
17
11
  this.order = 1;
18
12
  }
@@ -26,12 +20,11 @@ let ShadowPickServiceInterceptorContribution = class {
26
20
  }
27
21
  return result;
28
22
  }
29
- };
23
+ }
30
24
 
31
- ShadowPickServiceInterceptorContribution = __decorate([ (0, inversify_lite_1.injectable)() ], ShadowPickServiceInterceptorContribution),
32
25
  exports.ShadowPickServiceInterceptorContribution = ShadowPickServiceInterceptorContribution;
33
26
 
34
- let ShadowRootPickItemInterceptorContribution = class {
27
+ class ShadowRootPickItemInterceptorContribution {
35
28
  constructor() {
36
29
  this.order = 1;
37
30
  }
@@ -52,12 +45,11 @@ let ShadowRootPickItemInterceptorContribution = class {
52
45
  return context.highPerformanceRestore(), !result.graphic && result.group && "full" === shadowPickMode && (result.graphic = result.group),
53
46
  result;
54
47
  }
55
- };
48
+ }
56
49
 
57
- ShadowRootPickItemInterceptorContribution = __decorate([ (0, inversify_lite_1.injectable)() ], ShadowRootPickItemInterceptorContribution),
58
50
  exports.ShadowRootPickItemInterceptorContribution = ShadowRootPickItemInterceptorContribution;
59
51
 
60
- let InteractivePickItemInterceptorContribution = class {
52
+ class InteractivePickItemInterceptorContribution {
61
53
  constructor() {
62
54
  this.order = 1;
63
55
  }
@@ -73,12 +65,11 @@ let InteractivePickItemInterceptorContribution = class {
73
65
  }
74
66
  return null;
75
67
  }
76
- };
68
+ }
77
69
 
78
- InteractivePickItemInterceptorContribution = __decorate([ (0, inversify_lite_1.injectable)() ], InteractivePickItemInterceptorContribution),
79
70
  exports.InteractivePickItemInterceptorContribution = InteractivePickItemInterceptorContribution;
80
71
 
81
- let Canvas3DPickItemInterceptor = class {
72
+ class Canvas3DPickItemInterceptor {
82
73
  constructor() {
83
74
  this.order = 1;
84
75
  }
@@ -97,8 +88,7 @@ let Canvas3DPickItemInterceptor = class {
97
88
  initCanvasCtx(context) {
98
89
  context.setTransformForCurrent();
99
90
  }
100
- };
91
+ }
101
92
 
102
- Canvas3DPickItemInterceptor = __decorate([ (0, inversify_lite_1.injectable)() ], Canvas3DPickItemInterceptor),
103
93
  exports.Canvas3DPickItemInterceptor = Canvas3DPickItemInterceptor;
104
94
  //# sourceMappingURL=pick-interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/pick-interceptor.ts"],"names":[],"mappings":"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","file":"pick-interceptor.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\nimport { Point } from '@visactor/vutils';\nimport { injectable } from '../common/inversify-lite';\nimport type {\n IContext2d,\n IGraphic,\n IGroup,\n IPickItemInterceptorContribution,\n IPickParams,\n IPickServiceInterceptorContribution,\n IPickerService,\n PickResult\n} from '../interface';\nimport { matrixAllocate } from '../allocator/matrix-allocate';\nimport { draw3dItem } from '../common/3d-interceptor';\nimport { getTheme } from '../graphic';\n\n@injectable()\nexport class ShadowPickServiceInterceptorContribution implements IPickServiceInterceptorContribution {\n order: number = 1;\n afterPickItem(\n result: PickResult,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n if (result.graphic) {\n let g = result.graphic;\n while (g.parent) {\n g = g.parent;\n }\n if (g.shadowHost) {\n result.params = {\n shadowTarget: result.graphic\n };\n result.graphic = g.shadowHost;\n }\n }\n return result;\n }\n}\n\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\n@injectable()\nexport class ShadowRootPickItemInterceptorContribution implements IPickItemInterceptorContribution {\n order: number = 1;\n afterPickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n if (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) {\n return this._pickItem(graphic, pickerService, point, pickParams, params);\n }\n return null;\n }\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n if (graphic.attribute.shadowRootIdx < 0) {\n return this._pickItem(graphic, pickerService, point, pickParams, params);\n }\n return null;\n }\n\n protected _pickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): PickResult | null {\n if (!graphic.shadowRoot) {\n return null;\n }\n const { parentMatrix } = params || {};\n if (!parentMatrix) {\n return null;\n }\n\n const context = pickerService.pickContext;\n context.highPerformanceSave();\n\n const theme = (getTheme(graphic) as any)?.[graphic.type];\n const { shadowPickMode = theme?.shadowPickMode } = graphic.attribute;\n const g = graphic.shadowRoot;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint = new Point(\n currentGroupMatrix.a * point.x + currentGroupMatrix.c * point.y + currentGroupMatrix.e,\n currentGroupMatrix.b * point.x + currentGroupMatrix.d * point.y + currentGroupMatrix.f\n );\n // const transMatrix = graphic.transMatrix;\n // currentGroupMatrix.multiply(\n // transMatrix.a,\n // transMatrix.b,\n // transMatrix.c,\n // transMatrix.d,\n // transMatrix.e,\n // transMatrix.f\n // );\n\n // currentGroupMatrix.transformPoint(newPoint, newPoint);\n const result = pickerService.pickGroup(g, newPoint, currentGroupMatrix, pickParams);\n\n context.highPerformanceRestore();\n\n // 影子节点pick到group也算pick到graphic\n if (!result.graphic && result.group && shadowPickMode === 'full') {\n result.graphic = result.group;\n }\n\n return result;\n }\n}\n\n@injectable()\nexport class InteractivePickItemInterceptorContribution implements IPickItemInterceptorContribution {\n order: number = 1;\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n const originGraphic = graphic.baseGraphic;\n if (originGraphic && originGraphic.parent) {\n const newPoint = new Point(point.x, point.y);\n const context = pickerService.pickContext;\n context.highPerformanceSave();\n const parentMatrix = originGraphic.parent.globalTransMatrix;\n parentMatrix.transformPoint(newPoint, newPoint);\n\n const result = originGraphic.isContainer\n ? pickerService.pickGroup(originGraphic, newPoint.clone(), parentMatrix, pickParams)\n : pickerService.pickItem(originGraphic, newPoint.clone(), parentMatrix, pickParams);\n context.highPerformanceRestore();\n return result;\n }\n return null;\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n@injectable()\nexport class Canvas3DPickItemInterceptor implements IPickItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ) {\n if (!graphic.in3dMode || pickParams.in3dInterceptor) {\n return null;\n }\n\n const context = pickerService.pickContext;\n const stage = graphic.stage;\n if (!(context && stage)) {\n return null;\n }\n pickParams.in3dInterceptor = true;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n const result = draw3dItem(\n context,\n graphic,\n () => {\n return pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n },\n pickParams\n );\n\n context.camera = null;\n\n pickParams.in3dInterceptor = false;\n context.restore();\n return result;\n }\n context.restore();\n return null;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/pick-interceptor.ts"],"names":[],"mappings":"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","file":"pick-interceptor.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\nimport { Point } from '@visactor/vutils';\nimport type {\n IContext2d,\n IGraphic,\n IGroup,\n IPickItemInterceptorContribution,\n IPickParams,\n IPickServiceInterceptorContribution,\n IPickerService,\n PickResult\n} from '../interface';\nimport { matrixAllocate } from '../allocator/matrix-allocate';\nimport { draw3dItem } from '../common/3d-interceptor';\nimport { getTheme } from '../graphic';\n\nexport class ShadowPickServiceInterceptorContribution implements IPickServiceInterceptorContribution {\n order: number = 1;\n afterPickItem(\n result: PickResult,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n if (result.graphic) {\n let g = result.graphic;\n while (g.parent) {\n g = g.parent;\n }\n if (g.shadowHost) {\n result.params = {\n shadowTarget: result.graphic\n };\n result.graphic = g.shadowHost;\n }\n }\n return result;\n }\n}\n\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\nexport class ShadowRootPickItemInterceptorContribution implements IPickItemInterceptorContribution {\n order: number = 1;\n afterPickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n if (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) {\n return this._pickItem(graphic, pickerService, point, pickParams, params);\n }\n return null;\n }\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n if (graphic.attribute.shadowRootIdx < 0) {\n return this._pickItem(graphic, pickerService, point, pickParams, params);\n }\n return null;\n }\n\n protected _pickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): PickResult | null {\n if (!graphic.shadowRoot) {\n return null;\n }\n const { parentMatrix } = params || {};\n if (!parentMatrix) {\n return null;\n }\n\n const context = pickerService.pickContext;\n context.highPerformanceSave();\n\n const theme = (getTheme(graphic) as any)?.[graphic.type];\n const { shadowPickMode = theme?.shadowPickMode } = graphic.attribute;\n const g = graphic.shadowRoot;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint = new Point(\n currentGroupMatrix.a * point.x + currentGroupMatrix.c * point.y + currentGroupMatrix.e,\n currentGroupMatrix.b * point.x + currentGroupMatrix.d * point.y + currentGroupMatrix.f\n );\n // const transMatrix = graphic.transMatrix;\n // currentGroupMatrix.multiply(\n // transMatrix.a,\n // transMatrix.b,\n // transMatrix.c,\n // transMatrix.d,\n // transMatrix.e,\n // transMatrix.f\n // );\n\n // currentGroupMatrix.transformPoint(newPoint, newPoint);\n const result = pickerService.pickGroup(g, newPoint, currentGroupMatrix, pickParams);\n\n context.highPerformanceRestore();\n\n // 影子节点pick到group也算pick到graphic\n if (!result.graphic && result.group && shadowPickMode === 'full') {\n result.graphic = result.group;\n }\n\n return result;\n }\n}\n\nexport class InteractivePickItemInterceptorContribution implements IPickItemInterceptorContribution {\n order: number = 1;\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): null | PickResult {\n const originGraphic = graphic.baseGraphic;\n if (originGraphic && originGraphic.parent) {\n const newPoint = new Point(point.x, point.y);\n const context = pickerService.pickContext;\n context.highPerformanceSave();\n const parentMatrix = originGraphic.parent.globalTransMatrix;\n parentMatrix.transformPoint(newPoint, newPoint);\n\n const result = originGraphic.isContainer\n ? pickerService.pickGroup(originGraphic, newPoint.clone(), parentMatrix, pickParams)\n : pickerService.pickItem(originGraphic, newPoint.clone(), parentMatrix, pickParams);\n context.highPerformanceRestore();\n return result;\n }\n return null;\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\nexport class Canvas3DPickItemInterceptor implements IPickItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ) {\n if (!graphic.in3dMode || pickParams.in3dInterceptor) {\n return null;\n }\n\n const context = pickerService.pickContext;\n const stage = graphic.stage;\n if (!(context && stage)) {\n return null;\n }\n pickParams.in3dInterceptor = true;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n const result = draw3dItem(\n context,\n graphic,\n () => {\n return pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n },\n pickParams\n );\n\n context.camera = null;\n\n pickParams.in3dInterceptor = false;\n context.restore();\n return result;\n }\n context.restore();\n return null;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
@@ -1,15 +1,15 @@
1
1
  import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';
2
2
  import type { IContext2d, IGraphic, IGroup, EnvType, IGlobal, IPickerService, IGraphicPicker, IPickParams, PickResult, IPickItemInterceptorContribution, IContributionProvider, IPickServiceInterceptorContribution } from '../interface';
3
3
  export declare abstract class DefaultPickService implements IPickerService {
4
- protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>;
5
- protected readonly pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>;
6
4
  type: string;
7
5
  pickerMap: Map<number, IGraphicPicker>;
8
6
  pickContext?: IContext2d;
9
7
  InterceptorContributions: IPickItemInterceptorContribution[];
10
8
  pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];
11
9
  global: IGlobal;
12
- constructor(pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>, pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>);
10
+ protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>;
11
+ protected readonly pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>;
12
+ constructor(pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>, pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>);
13
13
  reInit(): void;
14
14
  protected _init(): void;
15
15
  abstract configure(global: IGlobal, env: EnvType): void;
@@ -1,27 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- }, __metadata = this && this.__metadata || function(k, v) {
8
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
9
- }, __param = this && this.__param || function(paramIndex, decorator) {
10
- return function(target, key) {
11
- decorator(target, key, paramIndex);
12
- };
13
- };
14
-
15
3
  Object.defineProperty(exports, "__esModule", {
16
4
  value: !0
17
5
  }), exports.DefaultPickService = void 0;
18
6
 
19
- const vutils_1 = require("@visactor/vutils"), inversify_lite_1 = require("../common/inversify-lite"), sort_1 = require("../common/sort"), contribution_provider_1 = require("../common/contribution-provider"), theme_1 = require("../graphic/theme"), config_1 = require("../graphic/config"), matrix_1 = require("../common/matrix"), matrix_allocate_1 = require("../allocator/matrix-allocate"), application_1 = require("../application"), constants_1 = require("./constants");
7
+ const vutils_1 = require("@visactor/vutils"), sort_1 = require("../common/sort"), theme_1 = require("../graphic/theme"), config_1 = require("../graphic/config"), matrix_1 = require("../common/matrix"), matrix_allocate_1 = require("../allocator/matrix-allocate"), modules_1 = require("../modules"), constants_1 = require("./constants"), registry_1 = require("../common/registry");
20
8
 
21
- let DefaultPickService = class {
9
+ class DefaultPickService {
22
10
  constructor(pickItemInterceptorContributions, pickServiceInterceptorContributions) {
23
- this.pickItemInterceptorContributions = pickItemInterceptorContributions, this.pickServiceInterceptorContributions = pickServiceInterceptorContributions,
24
- this.type = "default", this.global = application_1.application.global;
11
+ this.type = "default", this.pickItemInterceptorContributions = pickItemInterceptorContributions || {
12
+ getContributions: () => registry_1.contributionRegistry.get(constants_1.PickItemInterceptor)
13
+ }, this.pickServiceInterceptorContributions = pickServiceInterceptorContributions || {
14
+ getContributions: () => registry_1.contributionRegistry.get(constants_1.PickServiceInterceptor)
15
+ }, this.global = modules_1.vglobal;
25
16
  }
26
17
  reInit() {
27
18
  this._init();
@@ -116,11 +107,7 @@ let DefaultPickService = class {
116
107
  const picker = this.pickerMap.get(graphic.numberType);
117
108
  return picker || null;
118
109
  }
119
- };
110
+ }
120
111
 
121
- DefaultPickService = __decorate([ (0, inversify_lite_1.injectable)(), __param(0, (0,
122
- inversify_lite_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
123
- inversify_lite_1.named)(constants_1.PickItemInterceptor)), __param(1, (0, inversify_lite_1.inject)(contribution_provider_1.ContributionProvider)), __param(1, (0,
124
- inversify_lite_1.named)(constants_1.PickServiceInterceptor)), __metadata("design:paramtypes", [ Object, Object ]) ], DefaultPickService),
125
112
  exports.DefaultPickService = DefaultPickService;
126
113
  //# sourceMappingURL=picker-service.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/picker-service.ts"],"names":[],"mappings":"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","file":"picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { AABBBounds, Matrix, Point } from '@visactor/vutils';\nimport { inject, injectable, named } from '../common/inversify-lite';\nimport { foreach } from '../common/sort';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../common/contribution-provider';\nimport type {\n IContext2d,\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult,\n IPickItemInterceptorContribution,\n IContributionProvider,\n IPickServiceInterceptorContribution\n} from '../interface';\nimport { getTheme } from '../graphic/theme';\nimport { DefaultAttribute } from '../graphic/config';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../common/matrix';\nimport { mat4Allocate, matrixAllocate } from '../allocator/matrix-allocate';\nimport { application } from '../application';\nimport { PickItemInterceptor, PickServiceInterceptor } from './constants';\n\n@injectable()\nexport abstract class DefaultPickService implements IPickerService {\n type: string = 'default';\n declare pickerMap: Map<number, IGraphicPicker>;\n declare pickContext?: IContext2d;\n declare InterceptorContributions: IPickItemInterceptorContribution[];\n declare pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];\n declare global: IGlobal;\n\n constructor(\n // 拦截器\n // @ts-ignore\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>,\n // @ts-ignore\n @inject(ContributionProvider)\n @named(PickServiceInterceptor)\n protected readonly pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>\n ) {\n this.global = application.global;\n }\n\n reInit() {\n this._init();\n }\n\n protected _init() {\n this.InterceptorContributions = this.pickItemInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n this.pickerServiceInterceptorContributions = this.pickServiceInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n }\n\n abstract configure(global: IGlobal, env: EnvType): void;\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPoint, params: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n // point变换\n params.pickerService = this;\n\n const w = params.bounds.width();\n const h = params.bounds.height();\n if (!new AABBBounds().setValue(0, 0, w, h).containsPoint(point)) {\n return result;\n }\n if (this.pickContext) {\n this.pickContext.inuse = true;\n }\n params.pickContext = this.pickContext;\n this.pickContext && this.pickContext.clearMatrix(true, 1);\n\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = graphics.length - 1; i >= 0; i--) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n result = this.pickItem(graphics[i], point, parentMatrix, params);\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n if (this.pickContext) {\n this.pickContext.inuse = false;\n }\n\n if (this.pickerServiceInterceptorContributions.length) {\n for (let i = 0; i < this.pickerServiceInterceptorContributions.length; i++) {\n const drawContribution = this.pickerServiceInterceptorContributions[i];\n if (drawContribution.afterPickItem) {\n result = drawContribution.afterPickItem(result, this, point, params, { parentMatrix });\n }\n }\n }\n // // 判断是否有shadow-dom\n // if (result.graphic) {\n // let g = result.graphic;\n // while (g.parent) {\n // g = g.parent;\n // }\n // if (g.shadowHost) {\n // result.params = {\n // shadowTarget: result.graphic\n // };\n // result.graphic = g.shadowHost;\n // }\n // }\n\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params ?? { pickContext: this.pickContext, pickerService: this })\n ?.graphic;\n }\n\n // TODO: 支持3d模式的拾取和自定义path的拾取\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n const context = params.pickContext;\n const lastMatrix = context.modelMatrix;\n // 如果是3d,那么需要生成modelMatrix\n if (context.camera) {\n const m = group.transMatrix;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n if (lastMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastMatrix, matrix);\n mat4Allocate.free(matrix);\n }\n } else {\n // 转化context的matrix为lastMatrix\n mat3Tomat4(matrix, group.globalTransMatrix);\n context.modelMatrix = matrix;\n }\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n const result = drawContribution.beforePickItem(group, this, point, params, { parentMatrix });\n if (result) {\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n return result;\n }\n }\n }\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // todo: 支持带有path的group的选中\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过(如果是3d模式,那么继续)\n if (!insideGroup && !group.stage.camera) {\n return result;\n }\n // pickGroup,Group目前只支持拦截模式(用于shadow节点)\n const pickedItem = this.pickItem(group, newPoint.clone(), parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n currentGroupMatrix.multiply(\n transMatrix.a,\n transMatrix.b,\n transMatrix.c,\n transMatrix.d,\n transMatrix.e,\n transMatrix.f\n );\n if (group.attribute.childrenPickable !== false && !(pickedItem && pickedItem.graphic)) {\n foreach(\n group,\n DefaultAttribute.zIndex,\n (graphic: IGraphic) => {\n if (graphic.isContainer) {\n // 偏移scrollX和scrollY\n const newPoint: IPoint = new Point(point.x, point.y);\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n result = this.pickGroup(graphic as IGroup, newPoint, currentGroupMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // 偏移scrollX和scrollY\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n const pickedItem = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n }\n return !!result.graphic || !!result.group;\n },\n true,\n !!context.camera\n );\n }\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n\n if (!result.graphic && !result.group && groupPicked && !group.stage.camera) {\n result.group = group;\n }\n matrixAllocate.free(currentGroupMatrix);\n return result;\n }\n\n // todo: switch统一改为数字map\n abstract pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params: IPickParams\n ): PickResult | null;\n\n protected selectPicker(graphic: IGraphic): IGraphicPicker | null {\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/picker/picker-service.ts"],"names":[],"mappings":"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","file":"picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { AABBBounds, Matrix, Point } from '@visactor/vutils';\nimport { foreach } from '../common/sort';\nimport type {\n IContext2d,\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult,\n IPickItemInterceptorContribution,\n IContributionProvider,\n IPickServiceInterceptorContribution\n} from '../interface';\nimport { getTheme } from '../graphic/theme';\nimport { DefaultAttribute } from '../graphic/config';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../common/matrix';\nimport { mat4Allocate, matrixAllocate } from '../allocator/matrix-allocate';\nimport { vglobal } from '../modules';\nimport { PickItemInterceptor, PickServiceInterceptor } from './constants';\nimport { contributionRegistry } from '../common/registry';\n\nexport abstract class DefaultPickService implements IPickerService {\n type: string = 'default';\n declare pickerMap: Map<number, IGraphicPicker>;\n declare pickContext?: IContext2d;\n declare InterceptorContributions: IPickItemInterceptorContribution[];\n declare pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];\n declare global: IGlobal;\n\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>;\n protected readonly pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>;\n\n constructor(\n pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>,\n pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>\n ) {\n this.pickItemInterceptorContributions =\n pickItemInterceptorContributions ||\n ({\n getContributions: () => contributionRegistry.get<IPickItemInterceptorContribution>(PickItemInterceptor)\n } as IContributionProvider<IPickItemInterceptorContribution>);\n this.pickServiceInterceptorContributions =\n pickServiceInterceptorContributions ||\n ({\n getContributions: () => contributionRegistry.get<IPickServiceInterceptorContribution>(PickServiceInterceptor)\n } as IContributionProvider<IPickServiceInterceptorContribution>);\n this.global = vglobal;\n }\n\n reInit() {\n this._init();\n }\n\n protected _init() {\n this.InterceptorContributions = this.pickItemInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n this.pickerServiceInterceptorContributions = this.pickServiceInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n }\n\n abstract configure(global: IGlobal, env: EnvType): void;\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPoint, params: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n // point变换\n params.pickerService = this;\n\n const w = params.bounds.width();\n const h = params.bounds.height();\n if (!new AABBBounds().setValue(0, 0, w, h).containsPoint(point)) {\n return result;\n }\n if (this.pickContext) {\n this.pickContext.inuse = true;\n }\n params.pickContext = this.pickContext;\n this.pickContext && this.pickContext.clearMatrix(true, 1);\n\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = graphics.length - 1; i >= 0; i--) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n result = this.pickItem(graphics[i], point, parentMatrix, params);\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n if (this.pickContext) {\n this.pickContext.inuse = false;\n }\n\n if (this.pickerServiceInterceptorContributions.length) {\n for (let i = 0; i < this.pickerServiceInterceptorContributions.length; i++) {\n const drawContribution = this.pickerServiceInterceptorContributions[i];\n if (drawContribution.afterPickItem) {\n result = drawContribution.afterPickItem(result, this, point, params, { parentMatrix });\n }\n }\n }\n // // 判断是否有shadow-dom\n // if (result.graphic) {\n // let g = result.graphic;\n // while (g.parent) {\n // g = g.parent;\n // }\n // if (g.shadowHost) {\n // result.params = {\n // shadowTarget: result.graphic\n // };\n // result.graphic = g.shadowHost;\n // }\n // }\n\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params ?? { pickContext: this.pickContext, pickerService: this })\n ?.graphic;\n }\n\n // TODO: 支持3d模式的拾取和自定义path的拾取\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n const context = params.pickContext;\n const lastMatrix = context.modelMatrix;\n // 如果是3d,那么需要生成modelMatrix\n if (context.camera) {\n const m = group.transMatrix;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n if (lastMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastMatrix, matrix);\n mat4Allocate.free(matrix);\n }\n } else {\n // 转化context的matrix为lastMatrix\n mat3Tomat4(matrix, group.globalTransMatrix);\n context.modelMatrix = matrix;\n }\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n const result = drawContribution.beforePickItem(group, this, point, params, { parentMatrix });\n if (result) {\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n return result;\n }\n }\n }\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // todo: 支持带有path的group的选中\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过(如果是3d模式,那么继续)\n if (!insideGroup && !group.stage.camera) {\n return result;\n }\n // pickGroup,Group目前只支持拦截模式(用于shadow节点)\n const pickedItem = this.pickItem(group, newPoint.clone(), parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n currentGroupMatrix.multiply(\n transMatrix.a,\n transMatrix.b,\n transMatrix.c,\n transMatrix.d,\n transMatrix.e,\n transMatrix.f\n );\n if (group.attribute.childrenPickable !== false && !(pickedItem && pickedItem.graphic)) {\n foreach(\n group,\n DefaultAttribute.zIndex,\n (graphic: IGraphic) => {\n if (graphic.isContainer) {\n // 偏移scrollX和scrollY\n const newPoint: IPoint = new Point(point.x, point.y);\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n result = this.pickGroup(graphic as IGroup, newPoint, currentGroupMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // 偏移scrollX和scrollY\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n const pickedItem = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n }\n return !!result.graphic || !!result.group;\n },\n true,\n !!context.camera\n );\n }\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n\n if (!result.graphic && !result.group && groupPicked && !group.stage.camera) {\n result.group = group;\n }\n matrixAllocate.free(currentGroupMatrix);\n return result;\n }\n\n // todo: switch统一改为数字map\n abstract pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params: IPickParams\n ): PickResult | null;\n\n protected selectPicker(graphic: IGraphic): IGraphicPicker | null {\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker;\n }\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.AutoRefreshPlugin = void 0;
6
6
 
7
- const generator_1 = require("../../common/generator"), application_1 = require("../../application");
7
+ const generator_1 = require("../../common/generator"), modules_1 = require("../../modules");
8
8
 
9
9
  class AutoRefreshPlugin {
10
10
  constructor() {
@@ -14,16 +14,15 @@ class AutoRefreshPlugin {
14
14
  };
15
15
  }
16
16
  activate(context) {
17
- this.pluginService = context, this.dpr = application_1.application.global.devicePixelRatio,
18
- this.refresh();
17
+ this.pluginService = context, this.dpr = modules_1.vglobal.devicePixelRatio, this.refresh();
19
18
  }
20
19
  refresh() {
21
20
  this._refreshByMediaQuery() || this._refreshByRaf();
22
21
  }
23
22
  _refreshByRaf() {
24
- const raf = application_1.application.global.getRequestAnimationFrame();
23
+ const raf = modules_1.vglobal.getRequestAnimationFrame();
25
24
  this.rafId = raf((() => {
26
- application_1.application.global.devicePixelRatio !== this.dpr && (this.dpr = application_1.application.global.devicePixelRatio,
25
+ modules_1.vglobal.devicePixelRatio !== this.dpr && (this.dpr = modules_1.vglobal.devicePixelRatio,
27
26
  this.pluginService.stage.setDpr(this.dpr, !0)), this.refresh();
28
27
  }));
29
28
  }
@@ -43,7 +42,7 @@ class AutoRefreshPlugin {
43
42
  }
44
43
  deactivate(context) {
45
44
  var _a;
46
- const craf = application_1.application.global.getCancelAnimationFrame();
45
+ const craf = modules_1.vglobal.getCancelAnimationFrame();
47
46
  craf && this.rafId && craf(this.rafId), null === (_a = this.autoRefreshCbs) || void 0 === _a || _a.forEach((cb => {
48
47
  cb();
49
48
  })), this.autoRefreshCbs = void 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/builtin-plugin/auto-refresh-plugin.ts"],"names":[],"mappings":"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","file":"auto-refresh-plugin.js","sourcesContent":["import { Generator } from '../../common/generator';\nimport { application } from '../../application';\nimport type { IGraphic, IPlugin, IPluginService } from '../../interface';\n\nexport class AutoRefreshPlugin implements IPlugin {\n name: 'AutoRefreshPlugin' = 'AutoRefreshPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n dpr: number;\n rafId: number;\n autoRefreshCbs?: (() => void)[];\n\n handleChange = (graphic: IGraphic) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (graphic.stage === this.pluginService.stage && graphic.stage != null) {\n graphic.stage.renderNextFrame();\n }\n };\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n this.dpr = application.global.devicePixelRatio;\n this.refresh();\n }\n\n refresh() {\n if (!this._refreshByMediaQuery()) {\n this._refreshByRaf();\n }\n }\n protected _refreshByRaf() {\n const raf = application.global.getRequestAnimationFrame();\n this.rafId = raf(() => {\n if (application.global.devicePixelRatio !== this.dpr) {\n this.dpr = application.global.devicePixelRatio;\n this.pluginService.stage.setDpr(this.dpr, true);\n }\n this.refresh();\n });\n }\n protected _refreshByMediaQuery() {\n try {\n const mqString = `(resolution: ${window.devicePixelRatio}dppx)`;\n\n const updatePixelRatio = () => {\n if (window.devicePixelRatio !== this.dpr) {\n this.dpr = window.devicePixelRatio;\n this.pluginService.stage.setDpr(this.dpr, true);\n }\n };\n const dom = matchMedia(mqString);\n dom && dom.addEventListener('change', updatePixelRatio);\n if (!this.autoRefreshCbs) {\n this.autoRefreshCbs = [];\n }\n this.autoRefreshCbs.push(() => {\n dom && dom.removeEventListener('change', updatePixelRatio);\n });\n } catch (err) {\n return false;\n }\n return true;\n }\n deactivate(context: IPluginService): void {\n const craf = application.global.getCancelAnimationFrame();\n craf && this.rafId && craf(this.rafId);\n this.autoRefreshCbs?.forEach(cb => {\n cb();\n });\n this.autoRefreshCbs = undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugins/builtin-plugin/auto-refresh-plugin.ts"],"names":[],"mappings":"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","file":"auto-refresh-plugin.js","sourcesContent":["import { Generator } from '../../common/generator';\nimport { vglobal } from '../../modules';\nimport type { IGraphic, IPlugin, IPluginService } from '../../interface';\n\nexport class AutoRefreshPlugin implements IPlugin {\n name: 'AutoRefreshPlugin' = 'AutoRefreshPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n dpr: number;\n rafId: number;\n autoRefreshCbs?: (() => void)[];\n\n handleChange = (graphic: IGraphic) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (graphic.stage === this.pluginService.stage && graphic.stage != null) {\n graphic.stage.renderNextFrame();\n }\n };\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n this.dpr = vglobal.devicePixelRatio;\n this.refresh();\n }\n\n refresh() {\n if (!this._refreshByMediaQuery()) {\n this._refreshByRaf();\n }\n }\n protected _refreshByRaf() {\n const raf = vglobal.getRequestAnimationFrame();\n this.rafId = raf(() => {\n if (vglobal.devicePixelRatio !== this.dpr) {\n this.dpr = vglobal.devicePixelRatio;\n this.pluginService.stage.setDpr(this.dpr, true);\n }\n this.refresh();\n });\n }\n protected _refreshByMediaQuery() {\n try {\n const mqString = `(resolution: ${window.devicePixelRatio}dppx)`;\n\n const updatePixelRatio = () => {\n if (window.devicePixelRatio !== this.dpr) {\n this.dpr = window.devicePixelRatio;\n this.pluginService.stage.setDpr(this.dpr, true);\n }\n };\n const dom = matchMedia(mqString);\n dom && dom.addEventListener('change', updatePixelRatio);\n if (!this.autoRefreshCbs) {\n this.autoRefreshCbs = [];\n }\n this.autoRefreshCbs.push(() => {\n dom && dom.removeEventListener('change', updatePixelRatio);\n });\n } catch (err) {\n return false;\n }\n return true;\n }\n deactivate(context: IPluginService): void {\n const craf = vglobal.getCancelAnimationFrame();\n craf && this.rafId && craf(this.rafId);\n this.autoRefreshCbs?.forEach(cb => {\n cb();\n });\n this.autoRefreshCbs = undefined;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/builtin-plugin/auto-render-plugin.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAInD,MAAa,gBAAgB;IAA7B;QACE,SAAI,GAAuB,kBAAkB,CAAC;QAC9C,gBAAW,GAAiB,YAAY,CAAC;QAEzC,SAAI,GAAW,qBAAS,CAAC,kBAAkB,EAAE,CAAC;QAC9C,QAAG,GAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEpC,iBAAY,GAAG,CAAC,OAAiB,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;aAC7B;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;gBACvE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;aACjC;QACH,CAAC,CAAC;IA2BJ,CAAC;IAzBC,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9E,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,UAAU,CAAC,OAAuB;QAChC,MAAM,YAAY,GAAG,CAAC,IAAe,EAAE,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACxB,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpH,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC;CACF;AAzCD,4CAyCC","file":"auto-render-plugin.js","sourcesContent":["import { Generator } from '../../common/generator';\nimport { application } from '../../application';\nimport type { FullTap, IGraphic, IPlugin, IPluginService } from '../../interface';\n\nexport class AutoRenderPlugin implements IPlugin {\n name: 'AutoRenderPlugin' = 'AutoRenderPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n\n handleChange = (graphic: IGraphic) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (graphic.stage === this.pluginService.stage && graphic.stage != null) {\n graphic.stage.renderNextFrame();\n }\n };\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n stage.graphicService.hooks.onAttributeUpdate.tap(this.key, this.handleChange);\n stage.graphicService.hooks.onSetStage.tap(this.key, this.handleChange);\n stage.graphicService.hooks.onRemove.tap(this.key, this.handleChange);\n }\n deactivate(context: IPluginService): void {\n const filterByName = (taps: FullTap[]) => {\n return taps.filter(item => {\n return item.name !== this.key;\n });\n };\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n\n stage.graphicService.hooks.onAttributeUpdate.taps = filterByName(stage.graphicService.hooks.onAttributeUpdate.taps);\n stage.graphicService.hooks.onSetStage.taps = filterByName(stage.graphicService.hooks.onSetStage.taps);\n stage.graphicService.hooks.onRemove.taps = filterByName(stage.graphicService.hooks.onRemove.taps);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugins/builtin-plugin/auto-render-plugin.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAInD,MAAa,gBAAgB;IAA7B;QACE,SAAI,GAAuB,kBAAkB,CAAC;QAC9C,gBAAW,GAAiB,YAAY,CAAC;QAEzC,SAAI,GAAW,qBAAS,CAAC,kBAAkB,EAAE,CAAC;QAC9C,QAAG,GAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEpC,iBAAY,GAAG,CAAC,OAAiB,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;aAC7B;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;gBACvE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;aACjC;QACH,CAAC,CAAC;IA2BJ,CAAC;IAzBC,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9E,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,UAAU,CAAC,OAAuB;QAChC,MAAM,YAAY,GAAG,CAAC,IAAe,EAAE,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACxB,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpH,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC;CACF;AAzCD,4CAyCC","file":"auto-render-plugin.js","sourcesContent":["import { Generator } from '../../common/generator';\nimport { vglobal } from '../../modules';\nimport type { FullTap, IGraphic, IPlugin, IPluginService } from '../../interface';\n\nexport class AutoRenderPlugin implements IPlugin {\n name: 'AutoRenderPlugin' = 'AutoRenderPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n\n handleChange = (graphic: IGraphic) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (graphic.stage === this.pluginService.stage && graphic.stage != null) {\n graphic.stage.renderNextFrame();\n }\n };\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n stage.graphicService.hooks.onAttributeUpdate.tap(this.key, this.handleChange);\n stage.graphicService.hooks.onSetStage.tap(this.key, this.handleChange);\n stage.graphicService.hooks.onRemove.tap(this.key, this.handleChange);\n }\n deactivate(context: IPluginService): void {\n const filterByName = (taps: FullTap[]) => {\n return taps.filter(item => {\n return item.name !== this.key;\n });\n };\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n\n stage.graphicService.hooks.onAttributeUpdate.taps = filterByName(stage.graphicService.hooks.onAttributeUpdate.taps);\n stage.graphicService.hooks.onSetStage.taps = filterByName(stage.graphicService.hooks.onSetStage.taps);\n stage.graphicService.hooks.onRemove.taps = filterByName(stage.graphicService.hooks.onRemove.taps);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugins/builtin-plugin/dirty-bounds-plugin.ts"],"names":[],"mappings":"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","file":"dirty-bounds-plugin.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { AABBBounds } from '@visactor/vutils';\nimport { Generator } from '../../common/generator';\nimport type { IGraphic, IStage, IPlugin, IPluginService } from '../../interface';\nimport { application } from '../../application';\n\nconst globalBounds = new AABBBounds();\n\nexport class DirtyBoundsPlugin implements IPlugin {\n name: 'DirtyBoundsPlugin' = 'DirtyBoundsPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n context.stage.hooks.afterRender.tap(this.key, stage => {\n if (!(stage && stage === this.pluginService.stage)) {\n return;\n }\n stage.dirtyBounds.clear();\n });\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n stage.graphicService.hooks.beforeUpdateAABBBounds.tap(\n this.key,\n (graphic: IGraphic, stage: IStage, willUpdate: boolean, bounds: IAABBBounds) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n // group的子元素导致的bounds更新不用做dirtyBounds\n if (graphic.isContainer && !graphic.shouldSelfChangeUpdateAABBBounds()) {\n return;\n }\n if (willUpdate) {\n globalBounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2);\n stage.dirty(globalBounds, graphic.parent && graphic.parent.globalTransMatrix);\n }\n }\n );\n stage.graphicService.hooks.afterUpdateAABBBounds.tap(\n this.key,\n (\n graphic: IGraphic,\n stage: IStage,\n bounds: IAABBBounds,\n params: { globalAABBBounds: IAABBBounds },\n selfChange: boolean\n ) => {\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n // group的子元素导致的bounds更新不用做dirtyBounds\n if (graphic.isContainer && !selfChange) {\n return;\n }\n stage.dirty(params.globalAABBBounds);\n }\n );\n stage.graphicService.hooks.clearAABBBounds.tap(\n this.key,\n (graphic: IGraphic, stage: IStage, bounds: IAABBBounds) => {\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n if (stage) {\n stage.dirty(bounds);\n }\n }\n );\n stage.graphicService.hooks.onRemove.tap(this.key, (graphic: IGraphic) => {\n const stage = graphic.stage;\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n if (stage) {\n stage.dirty(graphic.globalAABBBounds);\n }\n });\n }\n deactivate(context: IPluginService): void {\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n stage.graphicService.hooks.beforeUpdateAABBBounds.taps =\n stage.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.graphicService.hooks.afterUpdateAABBBounds.taps =\n stage.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.graphicService.hooks.clearAABBBounds.taps = stage.graphicService.hooks.clearAABBBounds.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.hooks.afterRender.taps = stage.hooks.afterRender.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.graphicService.hooks.onRemove.taps = stage.graphicService.hooks.onRemove.taps.filter(item => {\n return item.name !== this.key;\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/plugins/builtin-plugin/dirty-bounds-plugin.ts"],"names":[],"mappings":"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","file":"dirty-bounds-plugin.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport { AABBBounds } from '@visactor/vutils';\nimport { Generator } from '../../common/generator';\nimport type { IGraphic, IStage, IPlugin, IPluginService } from '../../interface';\nimport { vglobal } from '../../modules';\n\nconst globalBounds = new AABBBounds();\n\nexport class DirtyBoundsPlugin implements IPlugin {\n name: 'DirtyBoundsPlugin' = 'DirtyBoundsPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n context.stage.hooks.afterRender.tap(this.key, stage => {\n if (!(stage && stage === this.pluginService.stage)) {\n return;\n }\n stage.dirtyBounds.clear();\n });\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n stage.graphicService.hooks.beforeUpdateAABBBounds.tap(\n this.key,\n (graphic: IGraphic, stage: IStage, willUpdate: boolean, bounds: IAABBBounds) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n // group的子元素导致的bounds更新不用做dirtyBounds\n if (graphic.isContainer && !graphic.shouldSelfChangeUpdateAABBBounds()) {\n return;\n }\n if (willUpdate) {\n globalBounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2);\n stage.dirty(globalBounds, graphic.parent && graphic.parent.globalTransMatrix);\n }\n }\n );\n stage.graphicService.hooks.afterUpdateAABBBounds.tap(\n this.key,\n (\n graphic: IGraphic,\n stage: IStage,\n bounds: IAABBBounds,\n params: { globalAABBBounds: IAABBBounds },\n selfChange: boolean\n ) => {\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n // group的子元素导致的bounds更新不用做dirtyBounds\n if (graphic.isContainer && !selfChange) {\n return;\n }\n stage.dirty(params.globalAABBBounds);\n }\n );\n stage.graphicService.hooks.clearAABBBounds.tap(\n this.key,\n (graphic: IGraphic, stage: IStage, bounds: IAABBBounds) => {\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n if (stage) {\n stage.dirty(bounds);\n }\n }\n );\n stage.graphicService.hooks.onRemove.tap(this.key, (graphic: IGraphic) => {\n const stage = graphic.stage;\n if (!(stage && stage === this.pluginService.stage && stage.renderCount)) {\n return;\n }\n if (stage) {\n stage.dirty(graphic.globalAABBBounds);\n }\n });\n }\n deactivate(context: IPluginService): void {\n const stage = this.pluginService.stage;\n if (!stage) {\n return;\n }\n stage.graphicService.hooks.beforeUpdateAABBBounds.taps =\n stage.graphicService.hooks.beforeUpdateAABBBounds.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.graphicService.hooks.afterUpdateAABBBounds.taps =\n stage.graphicService.hooks.afterUpdateAABBBounds.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.graphicService.hooks.clearAABBBounds.taps = stage.graphicService.hooks.clearAABBBounds.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.hooks.afterRender.taps = stage.hooks.afterRender.taps.filter(item => {\n return item.name !== this.key;\n });\n stage.graphicService.hooks.onRemove.taps = stage.graphicService.hooks.onRemove.taps.filter(item => {\n return item.name !== this.key;\n });\n }\n}\n"]}
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.EditModule = exports.findCursorIdxByConfigIndex = exports.findConfigIndexByCursorIdx = exports.getDefaultCharacterConfig = void 0;
16
16
 
17
- const application_1 = require("../../application");
17
+ const modules_1 = require("../../modules");
18
18
 
19
19
  function getDefaultCharacterConfig(attribute) {
20
20
  const {fill: fill = "black", stroke: stroke = !1, fontWeight: fontWeight = "normal", lineHeight: lineHeight, fontFamily: fontFamily = "Arial", textAlign: textAlign} = attribute;
@@ -152,7 +152,7 @@ class EditModule {
152
152
  textAreaDom.setAttribute("style", "width: 100px; height: 30px; left: 0; top: 0; position: absolute; z-index: -1; outline: none; resize: none; border: none; overflow: hidden; color: transparent; user-select: none; caret-color: transparent;background-color: transparent;opacity: 0;pointer-events: none;"),
153
153
  textAreaDom.addEventListener("input", this.handleInput), textAreaDom.addEventListener("compositionstart", this.handleCompositionStart),
154
154
  textAreaDom.addEventListener("compositionend", this.handleCompositionEnd), textAreaDom.addEventListener("focusin", this.handleFocusIn),
155
- textAreaDom.addEventListener("focusout", this.handleFocusOut), application_1.application.global.addEventListener("keydown", this.handleKeyDown);
155
+ textAreaDom.addEventListener("focusout", this.handleFocusOut), modules_1.vglobal.addEventListener("keydown", this.handleKeyDown);
156
156
  }
157
157
  parseCompositionStr(configIdx) {
158
158
  var _a;
@@ -183,8 +183,7 @@ class EditModule {
183
183
  this.textAreaDom.removeEventListener("input", this.handleInput), this.textAreaDom.removeEventListener("compositionstart", this.handleCompositionStart),
184
184
  this.textAreaDom.removeEventListener("compositionend", this.handleCompositionEnd),
185
185
  this.textAreaDom.removeEventListener("focusin", this.handleFocusOut), this.textAreaDom.removeEventListener("focusout", this.handleFocusOut),
186
- application_1.application.global.removeEventListener("keydown", this.handleKeyDown),
187
- null === (_a = this.textAreaDom.parentElement) || void 0 === _a || _a.removeChild(this.textAreaDom),
186
+ modules_1.vglobal.removeEventListener("keydown", this.handleKeyDown), null === (_a = this.textAreaDom.parentElement) || void 0 === _a || _a.removeChild(this.textAreaDom),
188
187
  this.textAreaDom = null;
189
188
  }
190
189
  }