@visactor/vrender-core 0.16.20-alpha.3 → 0.16.20

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 (570) hide show
  1. package/cjs/allocator/canvas-allocate.d.ts +0 -4
  2. package/cjs/allocator/canvas-allocate.js +6 -19
  3. package/cjs/allocator/canvas-allocate.js.map +1 -1
  4. package/cjs/allocator/graphic-allocate.d.ts +1 -56
  5. package/cjs/allocator/graphic-allocate.js +1 -163
  6. package/cjs/allocator/graphic-allocate.js.map +1 -1
  7. package/cjs/animate/Ticker/default-ticker.js +1 -1
  8. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  9. package/cjs/animate/config.js +2 -1
  10. package/cjs/animate/custom-animate.js +1 -2
  11. package/cjs/canvas/contributions/base-canvas.js +2 -4
  12. package/cjs/canvas/contributions/base-canvas.js.map +1 -1
  13. package/cjs/common/Reflect-metadata.js +359 -349
  14. package/cjs/common/Reflect-metadata.js.map +1 -1
  15. package/cjs/common/bezier-utils.js +1 -2
  16. package/cjs/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  17. package/cjs/common/{inversify/annotation/injectable.js → inversify-lite/annotation/post_construct.js} +5 -15
  18. package/cjs/common/inversify-lite/annotation/post_construct.js.map +1 -0
  19. package/cjs/common/inversify-lite/container/container.js +3 -1
  20. package/cjs/common/inversify-lite/container/container.js.map +1 -1
  21. package/cjs/common/inversify-lite/index.d.ts +8 -1
  22. package/cjs/common/inversify-lite/index.js +64 -1
  23. package/cjs/common/inversify-lite/index.js.map +1 -1
  24. package/cjs/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  25. package/cjs/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  26. package/cjs/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  27. package/cjs/common/inversify-lite/planning/queryable_string.js +10 -0
  28. package/cjs/common/inversify-lite/planning/queryable_string.js.map +1 -1
  29. package/cjs/common/inversify-lite/resolution/resolver.js.map +1 -1
  30. package/cjs/common/render-area.js +1 -0
  31. package/cjs/common/render-area.js.map +1 -1
  32. package/cjs/common/segment/monotone.js +18 -20
  33. package/cjs/common/segment/monotone.js.map +1 -1
  34. package/cjs/common/shape/rect.js +1 -2
  35. package/cjs/common/shape/rect.js.map +1 -1
  36. package/cjs/common/sort.js +2 -1
  37. package/cjs/common/split-path.js +1 -2
  38. package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  39. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +9 -4
  40. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  41. package/cjs/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  42. package/cjs/core/contributions/layerHandler/empty-contribution.js +9 -4
  43. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  44. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  45. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +9 -4
  46. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  47. package/cjs/core/contributions/textMeasure/AtextMeasure.js +2 -3
  48. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  49. package/cjs/core/contributions/textMeasure/modules.js +2 -1
  50. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  51. package/cjs/core/core-modules.js +6 -5
  52. package/cjs/core/core-modules.js.map +1 -1
  53. package/cjs/core/global.d.ts +0 -4
  54. package/cjs/core/global.js +5 -8
  55. package/cjs/core/global.js.map +1 -1
  56. package/cjs/core/graphic-utils.d.ts +4 -7
  57. package/cjs/core/graphic-utils.js +14 -18
  58. package/cjs/core/graphic-utils.js.map +1 -1
  59. package/cjs/core/layer-service.d.ts +2 -5
  60. package/cjs/core/layer-service.js +13 -13
  61. package/cjs/core/layer-service.js.map +1 -1
  62. package/cjs/core/stage.d.ts +4 -7
  63. package/cjs/core/stage.js +34 -38
  64. package/cjs/core/stage.js.map +1 -1
  65. package/cjs/core/window.d.ts +2 -2
  66. package/cjs/core/window.js +12 -7
  67. package/cjs/core/window.js.map +1 -1
  68. package/cjs/event/event-manager.js +2 -3
  69. package/cjs/event/event-manager.js.map +1 -1
  70. package/cjs/graphic/config.d.ts +2 -1
  71. package/cjs/graphic/config.js +5 -7
  72. package/cjs/graphic/config.js.map +1 -1
  73. package/cjs/graphic/graphic-service/arc-contribution.d.ts +5 -1
  74. package/cjs/graphic/graphic-service/arc-contribution.js +18 -0
  75. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  76. package/cjs/graphic/graphic-service/area-contribution.d.ts +1 -1
  77. package/cjs/graphic/graphic-service/area-contribution.js +4 -1
  78. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  79. package/cjs/graphic/graphic-service/circle-contribution.d.ts +5 -1
  80. package/cjs/graphic/graphic-service/circle-contribution.js +18 -0
  81. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  82. package/cjs/graphic/graphic-service/common-contribution.js +11 -2
  83. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  84. package/cjs/graphic/graphic-service/graphic-module.js +17 -2
  85. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  86. package/cjs/graphic/graphic-service/graphic-service.d.ts +7 -2
  87. package/cjs/graphic/graphic-service/graphic-service.js +30 -24
  88. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  89. package/cjs/graphic/graphic-service/path-contribution.d.ts +5 -1
  90. package/cjs/graphic/graphic-service/path-contribution.js +18 -0
  91. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  92. package/cjs/graphic/graphic-service/rect-contribution.d.ts +5 -1
  93. package/cjs/graphic/graphic-service/rect-contribution.js +18 -0
  94. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  95. package/cjs/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  96. package/cjs/graphic/graphic-service/symbol-contribution.js +13 -4
  97. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  98. package/cjs/graphic/graphic.js +2 -3
  99. package/cjs/graphic/graphic.js.map +1 -1
  100. package/cjs/graphic/group.d.ts +0 -1
  101. package/cjs/graphic/group.js +3 -7
  102. package/cjs/graphic/group.js.map +1 -1
  103. package/cjs/graphic/rect.d.ts +3 -2
  104. package/cjs/graphic/rect.js +5 -3
  105. package/cjs/graphic/rect.js.map +1 -1
  106. package/cjs/graphic/symbol.js +4 -7
  107. package/cjs/graphic/symbol.js.map +1 -1
  108. package/cjs/graphic/text.js +4 -4
  109. package/cjs/graphic/text.js.map +1 -1
  110. package/cjs/graphic/theme.d.ts +4 -4
  111. package/cjs/graphic/theme.js +26 -25
  112. package/cjs/graphic/theme.js.map +1 -1
  113. package/cjs/graphic/wrap-text.js +4 -4
  114. package/cjs/graphic/wrap-text.js.map +1 -1
  115. package/cjs/index.d.ts +0 -2
  116. package/cjs/index.js +0 -1
  117. package/cjs/index.js.map +1 -1
  118. package/cjs/interface/allocator.d.ts +0 -1
  119. package/cjs/interface/allocator.js.map +1 -1
  120. package/cjs/interface/global.d.ts +0 -1
  121. package/cjs/interface/global.js.map +1 -1
  122. package/cjs/interface/graphic/rect.d.ts +0 -2
  123. package/cjs/interface/graphic/rect.js.map +1 -1
  124. package/cjs/interface/graphic.d.ts +4 -1
  125. package/cjs/interface/graphic.js.map +1 -1
  126. package/cjs/interface/render.d.ts +2 -2
  127. package/cjs/interface/render.js.map +1 -1
  128. package/cjs/interface/stage.d.ts +1 -2
  129. package/cjs/interface/stage.js.map +1 -1
  130. package/cjs/modules.d.ts +2 -1
  131. package/cjs/modules.js +8 -8
  132. package/cjs/modules.js.map +1 -1
  133. package/cjs/picker/global-picker-service.d.ts +2 -2
  134. package/cjs/picker/global-picker-service.js +9 -4
  135. package/cjs/picker/global-picker-service.js.map +1 -1
  136. package/cjs/picker/pick-modules.js +4 -2
  137. package/cjs/picker/pick-modules.js.map +1 -1
  138. package/cjs/picker/picker-service.d.ts +2 -2
  139. package/cjs/picker/picker-service.js +6 -6
  140. package/cjs/picker/picker-service.js.map +1 -1
  141. package/cjs/plugins/plugin-modules.js +2 -1
  142. package/cjs/plugins/plugin-modules.js.map +1 -1
  143. package/cjs/render/contributions/render/arc-render.js +1 -2
  144. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  145. package/cjs/render/contributions/render/area-render.d.ts +0 -1
  146. package/cjs/render/contributions/render/area-render.js +6 -44
  147. package/cjs/render/contributions/render/area-render.js.map +1 -1
  148. package/cjs/render/contributions/render/base-render.d.ts +1 -1
  149. package/cjs/render/contributions/render/base-render.js +18 -15
  150. package/cjs/render/contributions/render/base-render.js.map +1 -1
  151. package/cjs/render/contributions/render/circle-render.js +1 -2
  152. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  153. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  154. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +30 -7
  155. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  156. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  157. package/cjs/render/contributions/render/contributions/area-contribution-render.js +21 -7
  158. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  159. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  160. package/cjs/render/contributions/render/contributions/base-contribution-render.js +9 -9
  161. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  162. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  163. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +30 -7
  164. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  165. package/cjs/render/contributions/render/contributions/constants.d.ts +0 -1
  166. package/cjs/render/contributions/render/contributions/constants.js +2 -2
  167. package/cjs/render/contributions/render/contributions/constants.js.map +1 -1
  168. package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  169. package/cjs/render/contributions/render/contributions/group-contribution-render.js +12 -6
  170. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  171. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  172. package/cjs/render/contributions/render/contributions/image-contribution-render.js +12 -6
  173. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  174. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  175. package/cjs/render/contributions/render/contributions/path-contribution-render.js +25 -4
  176. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  177. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  178. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +25 -4
  179. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  180. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  181. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +37 -17
  182. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  183. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  184. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +27 -6
  185. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  186. package/cjs/render/contributions/render/contributions/text-contribution-render.d.ts +1 -8
  187. package/cjs/render/contributions/render/contributions/text-contribution-render.js +1 -25
  188. package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  189. package/cjs/render/contributions/render/draw-contribution.d.ts +6 -7
  190. package/cjs/render/contributions/render/draw-contribution.js +22 -31
  191. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  192. package/cjs/render/contributions/render/draw-interceptor.d.ts +1 -9
  193. package/cjs/render/contributions/render/draw-interceptor.js +27 -41
  194. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  195. package/cjs/render/contributions/render/group-render.js +2 -3
  196. package/cjs/render/contributions/render/group-render.js.map +1 -1
  197. package/cjs/render/contributions/render/image-render.js +1 -2
  198. package/cjs/render/contributions/render/image-render.js.map +1 -1
  199. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  200. package/cjs/render/contributions/render/incremental-draw-contribution.js +11 -8
  201. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  202. package/cjs/render/contributions/render/line-render.d.ts +0 -1
  203. package/cjs/render/contributions/render/line-render.js +6 -21
  204. package/cjs/render/contributions/render/line-render.js.map +1 -1
  205. package/cjs/render/contributions/render/module.js +87 -32
  206. package/cjs/render/contributions/render/module.js.map +1 -1
  207. package/cjs/render/contributions/render/path-render.d.ts +1 -2
  208. package/cjs/render/contributions/render/path-render.js +5 -8
  209. package/cjs/render/contributions/render/path-render.js.map +1 -1
  210. package/cjs/render/contributions/render/polygon-render.js +1 -2
  211. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  212. package/cjs/render/contributions/render/rect-render.d.ts +1 -2
  213. package/cjs/render/contributions/render/rect-render.js +5 -11
  214. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  215. package/cjs/render/contributions/render/render-slector.d.ts +4 -1
  216. package/cjs/render/contributions/render/render-slector.js +20 -0
  217. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  218. package/cjs/render/contributions/render/richtext-render.d.ts +0 -1
  219. package/cjs/render/contributions/render/richtext-render.js +7 -12
  220. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  221. package/cjs/render/contributions/render/symbol-render.js +1 -2
  222. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  223. package/cjs/render/contributions/render/text-render.js +9 -12
  224. package/cjs/render/contributions/render/text-render.js.map +1 -1
  225. package/cjs/render/contributions/render/utils.js +2 -2
  226. package/cjs/render/contributions/render/utils.js.map +1 -1
  227. package/cjs/render/render-modules.js +1 -1
  228. package/cjs/render/render-modules.js.map +1 -1
  229. package/cjs/render/render-service.js +1 -1
  230. package/cjs/render/render-service.js.map +1 -1
  231. package/dist/index.js +6240 -5326
  232. package/dist/index.min.js +1 -1
  233. package/es/allocator/canvas-allocate.d.ts +0 -4
  234. package/es/allocator/canvas-allocate.js +6 -19
  235. package/es/allocator/canvas-allocate.js.map +1 -1
  236. package/es/allocator/graphic-allocate.d.ts +1 -56
  237. package/es/allocator/graphic-allocate.js +1 -155
  238. package/es/allocator/graphic-allocate.js.map +1 -1
  239. package/es/animate/Ticker/default-ticker.js +1 -1
  240. package/es/animate/Ticker/default-ticker.js.map +1 -1
  241. package/es/animate/config.js +2 -1
  242. package/es/animate/custom-animate.js +1 -2
  243. package/es/canvas/contributions/base-canvas.js +2 -4
  244. package/es/canvas/contributions/base-canvas.js.map +1 -1
  245. package/es/common/Reflect-metadata.js +359 -349
  246. package/es/common/Reflect-metadata.js.map +1 -1
  247. package/es/common/bezier-utils.js +1 -2
  248. package/es/common/inversify-lite/annotation/post_construct.d.ts +4 -0
  249. package/es/common/inversify-lite/annotation/post_construct.js +10 -0
  250. package/es/common/inversify-lite/annotation/post_construct.js.map +1 -0
  251. package/es/common/inversify-lite/container/container.js +4 -2
  252. package/es/common/inversify-lite/container/container.js.map +1 -1
  253. package/es/common/inversify-lite/index.d.ts +8 -1
  254. package/es/common/inversify-lite/index.js +15 -1
  255. package/es/common/inversify-lite/index.js.map +1 -1
  256. package/es/common/inversify-lite/interfaces/interfaces.d.ts +2 -0
  257. package/es/common/inversify-lite/interfaces/interfaces.js.map +1 -1
  258. package/es/common/inversify-lite/planning/queryable_string.d.ts +2 -0
  259. package/es/common/inversify-lite/planning/queryable_string.js +10 -0
  260. package/es/common/inversify-lite/planning/queryable_string.js.map +1 -1
  261. package/es/common/inversify-lite/resolution/resolver.js.map +1 -1
  262. package/es/common/render-area.js +1 -0
  263. package/es/common/render-area.js.map +1 -1
  264. package/es/common/segment/monotone.js +18 -20
  265. package/es/common/segment/monotone.js.map +1 -1
  266. package/es/common/shape/rect.js +1 -2
  267. package/es/common/shape/rect.js.map +1 -1
  268. package/es/common/sort.js +2 -1
  269. package/es/common/split-path.js +1 -2
  270. package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -2
  271. package/es/core/contributions/layerHandler/canvas2d-contribution.js +9 -5
  272. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  273. package/es/core/contributions/layerHandler/empty-contribution.d.ts +2 -2
  274. package/es/core/contributions/layerHandler/empty-contribution.js +9 -5
  275. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  276. package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -2
  277. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +9 -5
  278. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  279. package/es/core/contributions/textMeasure/AtextMeasure.js +2 -3
  280. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  281. package/es/core/contributions/textMeasure/modules.js +1 -1
  282. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  283. package/es/core/core-modules.js +6 -4
  284. package/es/core/core-modules.js.map +1 -1
  285. package/es/core/global.d.ts +0 -4
  286. package/es/core/global.js +4 -8
  287. package/es/core/global.js.map +1 -1
  288. package/es/core/graphic-utils.d.ts +4 -7
  289. package/es/core/graphic-utils.js +15 -20
  290. package/es/core/graphic-utils.js.map +1 -1
  291. package/es/core/layer-service.d.ts +2 -5
  292. package/es/core/layer-service.js +13 -14
  293. package/es/core/layer-service.js.map +1 -1
  294. package/es/core/stage.d.ts +4 -7
  295. package/es/core/stage.js +36 -42
  296. package/es/core/stage.js.map +1 -1
  297. package/es/core/window.d.ts +2 -2
  298. package/es/core/window.js +12 -8
  299. package/es/core/window.js.map +1 -1
  300. package/es/event/event-manager.js +2 -3
  301. package/es/event/event-manager.js.map +1 -1
  302. package/es/graphic/config.d.ts +2 -1
  303. package/es/graphic/config.js +6 -6
  304. package/es/graphic/config.js.map +1 -1
  305. package/es/graphic/graphic-service/arc-contribution.d.ts +5 -1
  306. package/es/graphic/graphic-service/arc-contribution.js +15 -0
  307. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  308. package/es/graphic/graphic-service/area-contribution.d.ts +1 -1
  309. package/es/graphic/graphic-service/area-contribution.js +1 -2
  310. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  311. package/es/graphic/graphic-service/circle-contribution.d.ts +5 -1
  312. package/es/graphic/graphic-service/circle-contribution.js +15 -0
  313. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  314. package/es/graphic/graphic-service/common-contribution.js +14 -2
  315. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  316. package/es/graphic/graphic-service/graphic-module.js +23 -1
  317. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  318. package/es/graphic/graphic-service/graphic-service.d.ts +7 -2
  319. package/es/graphic/graphic-service/graphic-service.js +32 -25
  320. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  321. package/es/graphic/graphic-service/path-contribution.d.ts +5 -1
  322. package/es/graphic/graphic-service/path-contribution.js +15 -0
  323. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  324. package/es/graphic/graphic-service/rect-contribution.d.ts +5 -1
  325. package/es/graphic/graphic-service/rect-contribution.js +15 -0
  326. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  327. package/es/graphic/graphic-service/symbol-contribution.d.ts +1 -0
  328. package/es/graphic/graphic-service/symbol-contribution.js +16 -2
  329. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  330. package/es/graphic/graphic.js +2 -3
  331. package/es/graphic/graphic.js.map +1 -1
  332. package/es/graphic/group.d.ts +0 -1
  333. package/es/graphic/group.js +1 -8
  334. package/es/graphic/group.js.map +1 -1
  335. package/es/graphic/rect.d.ts +3 -2
  336. package/es/graphic/rect.js +7 -3
  337. package/es/graphic/rect.js.map +1 -1
  338. package/es/graphic/symbol.js +4 -6
  339. package/es/graphic/symbol.js.map +1 -1
  340. package/es/graphic/text.js +4 -4
  341. package/es/graphic/text.js.map +1 -1
  342. package/es/graphic/theme.d.ts +4 -4
  343. package/es/graphic/theme.js +27 -26
  344. package/es/graphic/theme.js.map +1 -1
  345. package/es/graphic/wrap-text.js +4 -4
  346. package/es/graphic/wrap-text.js.map +1 -1
  347. package/es/index.d.ts +0 -2
  348. package/es/index.js +0 -4
  349. package/es/index.js.map +1 -1
  350. package/es/interface/allocator.d.ts +0 -1
  351. package/es/interface/allocator.js.map +1 -1
  352. package/es/interface/global.d.ts +0 -1
  353. package/es/interface/global.js.map +1 -1
  354. package/es/interface/graphic/rect.d.ts +0 -2
  355. package/es/interface/graphic/rect.js.map +1 -1
  356. package/es/interface/graphic.d.ts +4 -1
  357. package/es/interface/graphic.js.map +1 -1
  358. package/es/interface/render.d.ts +2 -2
  359. package/es/interface/render.js.map +1 -1
  360. package/es/interface/stage.d.ts +1 -2
  361. package/es/interface/stage.js.map +1 -1
  362. package/es/modules.d.ts +2 -1
  363. package/es/modules.js +4 -0
  364. package/es/modules.js.map +1 -1
  365. package/es/picker/global-picker-service.d.ts +2 -2
  366. package/es/picker/global-picker-service.js +9 -5
  367. package/es/picker/global-picker-service.js.map +1 -1
  368. package/es/picker/pick-modules.js +4 -1
  369. package/es/picker/pick-modules.js.map +1 -1
  370. package/es/picker/picker-service.d.ts +2 -2
  371. package/es/picker/picker-service.js +5 -5
  372. package/es/picker/picker-service.js.map +1 -1
  373. package/es/plugins/plugin-modules.js +2 -1
  374. package/es/plugins/plugin-modules.js.map +1 -1
  375. package/es/render/contributions/render/arc-render.js +0 -3
  376. package/es/render/contributions/render/arc-render.js.map +1 -1
  377. package/es/render/contributions/render/area-render.d.ts +0 -1
  378. package/es/render/contributions/render/area-render.js +5 -45
  379. package/es/render/contributions/render/area-render.js.map +1 -1
  380. package/es/render/contributions/render/base-render.d.ts +1 -1
  381. package/es/render/contributions/render/base-render.js +22 -15
  382. package/es/render/contributions/render/base-render.js.map +1 -1
  383. package/es/render/contributions/render/circle-render.js +0 -3
  384. package/es/render/contributions/render/circle-render.js.map +1 -1
  385. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +7 -3
  386. package/es/render/contributions/render/contributions/arc-contribution-render.js +32 -6
  387. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  388. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +4 -3
  389. package/es/render/contributions/render/contributions/area-contribution-render.js +23 -5
  390. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  391. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +0 -2
  392. package/es/render/contributions/render/contributions/base-contribution-render.js +10 -6
  393. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  394. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +7 -3
  395. package/es/render/contributions/render/contributions/circle-contribution-render.js +32 -6
  396. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  397. package/es/render/contributions/render/contributions/constants.d.ts +0 -1
  398. package/es/render/contributions/render/contributions/constants.js +0 -2
  399. package/es/render/contributions/render/contributions/constants.js.map +1 -1
  400. package/es/render/contributions/render/contributions/group-contribution-render.d.ts +0 -1
  401. package/es/render/contributions/render/contributions/group-contribution-render.js +13 -3
  402. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  403. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +0 -1
  404. package/es/render/contributions/render/contributions/image-contribution-render.js +14 -4
  405. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  406. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +9 -2
  407. package/es/render/contributions/render/contributions/path-contribution-render.js +29 -3
  408. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  409. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -2
  410. package/es/render/contributions/render/contributions/polygon-contribution-render.js +29 -3
  411. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  412. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +7 -5
  413. package/es/render/contributions/render/contributions/rect-contribution-render.js +46 -19
  414. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  415. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +7 -3
  416. package/es/render/contributions/render/contributions/symbol-contribution-render.js +24 -6
  417. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  418. package/es/render/contributions/render/contributions/text-contribution-render.d.ts +1 -8
  419. package/es/render/contributions/render/contributions/text-contribution-render.js +1 -24
  420. package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  421. package/es/render/contributions/render/draw-contribution.d.ts +6 -7
  422. package/es/render/contributions/render/draw-contribution.js +24 -35
  423. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  424. package/es/render/contributions/render/draw-interceptor.d.ts +1 -9
  425. package/es/render/contributions/render/draw-interceptor.js +35 -38
  426. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  427. package/es/render/contributions/render/group-render.js +1 -4
  428. package/es/render/contributions/render/group-render.js.map +1 -1
  429. package/es/render/contributions/render/image-render.js +1 -3
  430. package/es/render/contributions/render/image-render.js.map +1 -1
  431. package/es/render/contributions/render/incremental-draw-contribution.d.ts +6 -2
  432. package/es/render/contributions/render/incremental-draw-contribution.js +11 -5
  433. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  434. package/es/render/contributions/render/line-render.d.ts +0 -1
  435. package/es/render/contributions/render/line-render.js +6 -21
  436. package/es/render/contributions/render/line-render.js.map +1 -1
  437. package/es/render/contributions/render/module.js +83 -29
  438. package/es/render/contributions/render/module.js.map +1 -1
  439. package/es/render/contributions/render/path-render.d.ts +1 -2
  440. package/es/render/contributions/render/path-render.js +4 -8
  441. package/es/render/contributions/render/path-render.js.map +1 -1
  442. package/es/render/contributions/render/polygon-render.js +0 -3
  443. package/es/render/contributions/render/polygon-render.js.map +1 -1
  444. package/es/render/contributions/render/rect-render.d.ts +1 -2
  445. package/es/render/contributions/render/rect-render.js +3 -11
  446. package/es/render/contributions/render/rect-render.js.map +1 -1
  447. package/es/render/contributions/render/render-slector.d.ts +4 -1
  448. package/es/render/contributions/render/render-slector.js +15 -0
  449. package/es/render/contributions/render/render-slector.js.map +1 -1
  450. package/es/render/contributions/render/richtext-render.d.ts +0 -1
  451. package/es/render/contributions/render/richtext-render.js +6 -12
  452. package/es/render/contributions/render/richtext-render.js.map +1 -1
  453. package/es/render/contributions/render/symbol-render.js +0 -3
  454. package/es/render/contributions/render/symbol-render.js.map +1 -1
  455. package/es/render/contributions/render/text-render.js +9 -13
  456. package/es/render/contributions/render/text-render.js.map +1 -1
  457. package/es/render/contributions/render/utils.js +2 -2
  458. package/es/render/contributions/render/utils.js.map +1 -1
  459. package/es/render/render-modules.js +1 -1
  460. package/es/render/render-modules.js.map +1 -1
  461. package/es/render/render-service.js +1 -1
  462. package/es/render/render-service.js.map +1 -1
  463. package/package.json +3 -5
  464. package/cjs/allocator/bounds-allocate.d.ts +0 -13
  465. package/cjs/allocator/bounds-allocate.js +0 -38
  466. package/cjs/allocator/bounds-allocate.js.map +0 -1
  467. package/cjs/common/inversify/annotation/inject.d.ts +0 -1
  468. package/cjs/common/inversify/annotation/inject.js +0 -10
  469. package/cjs/common/inversify/annotation/inject.js.map +0 -1
  470. package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
  471. package/cjs/common/inversify/annotation/inject_base.js +0 -39
  472. package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
  473. package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
  474. package/cjs/common/inversify/annotation/injectable.js.map +0 -1
  475. package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
  476. package/cjs/common/inversify/annotation/multi_inject.js +0 -10
  477. package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
  478. package/cjs/common/inversify/annotation/named.d.ts +0 -1
  479. package/cjs/common/inversify/annotation/named.js +0 -14
  480. package/cjs/common/inversify/annotation/named.js.map +0 -1
  481. package/cjs/common/inversify/binding.d.ts +0 -18
  482. package/cjs/common/inversify/binding.js +0 -26
  483. package/cjs/common/inversify/binding.js.map +0 -1
  484. package/cjs/common/inversify/container.d.ts +0 -28
  485. package/cjs/common/inversify/container.js +0 -155
  486. package/cjs/common/inversify/container.js.map +0 -1
  487. package/cjs/common/inversify/cotainer-module.d.ts +0 -6
  488. package/cjs/common/inversify/cotainer-module.js +0 -16
  489. package/cjs/common/inversify/cotainer-module.js.map +0 -1
  490. package/cjs/common/inversify/index.d.ts +0 -7
  491. package/cjs/common/inversify/index.js +0 -75
  492. package/cjs/common/inversify/index.js.map +0 -1
  493. package/cjs/common/inversify/interfaces.d.ts +0 -218
  494. package/cjs/common/inversify/interfaces.js +0 -6
  495. package/cjs/common/inversify/interfaces.js.map +0 -1
  496. package/cjs/common/inversify/literal_types.d.ts +0 -5
  497. package/cjs/common/inversify/literal_types.js +0 -34
  498. package/cjs/common/inversify/literal_types.js.map +0 -1
  499. package/cjs/common/inversify/meta-data.d.ts +0 -6
  500. package/cjs/common/inversify/meta-data.js +0 -19
  501. package/cjs/common/inversify/meta-data.js.map +0 -1
  502. package/cjs/common/inversify/metadata_keys.d.ts +0 -12
  503. package/cjs/common/inversify/metadata_keys.js +0 -15
  504. package/cjs/common/inversify/metadata_keys.js.map +0 -1
  505. package/cjs/common/inversify/metadata_reader.d.ts +0 -6
  506. package/cjs/common/inversify/metadata_reader.js +0 -28
  507. package/cjs/common/inversify/metadata_reader.js.map +0 -1
  508. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  509. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
  510. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  511. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  512. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
  513. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  514. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  515. package/cjs/common/inversify/syntax/constraint_helpers.js +0 -20
  516. package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
  517. package/es/allocator/bounds-allocate.d.ts +0 -13
  518. package/es/allocator/bounds-allocate.js +0 -32
  519. package/es/allocator/bounds-allocate.js.map +0 -1
  520. package/es/common/inversify/annotation/inject.d.ts +0 -1
  521. package/es/common/inversify/annotation/inject.js +0 -6
  522. package/es/common/inversify/annotation/inject.js.map +0 -1
  523. package/es/common/inversify/annotation/inject_base.d.ts +0 -14
  524. package/es/common/inversify/annotation/inject_base.js +0 -29
  525. package/es/common/inversify/annotation/inject_base.js.map +0 -1
  526. package/es/common/inversify/annotation/injectable.d.ts +0 -1
  527. package/es/common/inversify/annotation/injectable.js +0 -10
  528. package/es/common/inversify/annotation/injectable.js.map +0 -1
  529. package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
  530. package/es/common/inversify/annotation/multi_inject.js +0 -6
  531. package/es/common/inversify/annotation/multi_inject.js.map +0 -1
  532. package/es/common/inversify/annotation/named.d.ts +0 -1
  533. package/es/common/inversify/annotation/named.js +0 -10
  534. package/es/common/inversify/annotation/named.js.map +0 -1
  535. package/es/common/inversify/binding.d.ts +0 -18
  536. package/es/common/inversify/binding.js +0 -22
  537. package/es/common/inversify/binding.js.map +0 -1
  538. package/es/common/inversify/container.d.ts +0 -28
  539. package/es/common/inversify/container.js +0 -155
  540. package/es/common/inversify/container.js.map +0 -1
  541. package/es/common/inversify/cotainer-module.d.ts +0 -6
  542. package/es/common/inversify/cotainer-module.js +0 -8
  543. package/es/common/inversify/cotainer-module.js.map +0 -1
  544. package/es/common/inversify/index.d.ts +0 -7
  545. package/es/common/inversify/index.js +0 -14
  546. package/es/common/inversify/index.js.map +0 -1
  547. package/es/common/inversify/interfaces.d.ts +0 -218
  548. package/es/common/inversify/interfaces.js +0 -2
  549. package/es/common/inversify/interfaces.js.map +0 -1
  550. package/es/common/inversify/literal_types.d.ts +0 -5
  551. package/es/common/inversify/literal_types.js +0 -20
  552. package/es/common/inversify/literal_types.js.map +0 -1
  553. package/es/common/inversify/meta-data.d.ts +0 -6
  554. package/es/common/inversify/meta-data.js +0 -11
  555. package/es/common/inversify/meta-data.js.map +0 -1
  556. package/es/common/inversify/metadata_keys.d.ts +0 -12
  557. package/es/common/inversify/metadata_keys.js +0 -28
  558. package/es/common/inversify/metadata_keys.js.map +0 -1
  559. package/es/common/inversify/metadata_reader.d.ts +0 -6
  560. package/es/common/inversify/metadata_reader.js +0 -18
  561. package/es/common/inversify/metadata_reader.js.map +0 -1
  562. package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  563. package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
  564. package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  565. package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  566. package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
  567. package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  568. package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  569. package/es/common/inversify/syntax/constraint_helpers.js +0 -18
  570. package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
@@ -1,14 +1,17 @@
1
- import type { IGroup, IRenderService, IDrawContext, IDrawContribution, IGraphicRender, IDrawItemInterceptorContribution, IContributionProvider } from '../../../interface';
1
+ import type { IGroup, IGlobal, IRenderService, IDrawContext, IDrawContribution, IGraphicRender, IRenderSelector, IDrawItemInterceptorContribution, IContributionProvider } from '../../../interface';
2
2
  import { DefaultDrawContribution } from './draw-contribution';
3
3
  import { SyncHook } from '../../../tapable';
4
+ import type { ILayerService } from '../../../interface/core';
4
5
  declare enum STATUS {
5
6
  NORMAL = 0,
6
7
  STOP = 1
7
8
  }
8
9
  export declare class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {
9
10
  protected readonly contributions: IGraphicRender[];
11
+ protected readonly renderSelector: IRenderSelector;
10
12
  protected readonly lineRender: IGraphicRender;
11
13
  protected readonly areaRender: IGraphicRender;
14
+ protected readonly layerService: ILayerService;
12
15
  protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>;
13
16
  rendering: boolean;
14
17
  protected currFrameStartAt: number;
@@ -21,7 +24,8 @@ export declare class DefaultIncrementalDrawContribution extends DefaultDrawContr
21
24
  protected lastRenderService: IRenderService;
22
25
  protected lastDrawContext: IDrawContext;
23
26
  protected count: number;
24
- constructor(contributions: IGraphicRender[], lineRender: IGraphicRender, areaRender: IGraphicRender, drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>);
27
+ global: IGlobal;
28
+ constructor(contributions: IGraphicRender[], renderSelector: IRenderSelector, lineRender: IGraphicRender, areaRender: IGraphicRender, layerService: ILayerService, drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>);
25
29
  init(): void;
26
30
  draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void>;
27
31
  protected _increaseRender(group: IGroup, drawContext: IDrawContext): Promise<void>;
@@ -38,11 +38,13 @@ import { injectable, inject, named, multiInject } from "../../../common/inversif
38
38
 
39
39
  import { DefaultAttribute } from "../../../graphic";
40
40
 
41
+ import { LayerService } from "../../../core/constants";
42
+
41
43
  import { DefaultDrawContribution } from "./draw-contribution";
42
44
 
43
45
  import { SyncHook } from "../../../tapable";
44
46
 
45
- import { GraphicRender } from "./symbol";
47
+ import { GraphicRender, RenderSelector } from "./symbol";
46
48
 
47
49
  import { DefaultIncrementalCanvasLineRender } from "./incremental-line-render";
48
50
 
@@ -54,14 +56,17 @@ import { ContributionProvider } from "../../../common/contribution-provider";
54
56
 
55
57
  import { foreachAsync } from "../../../common/sort";
56
58
 
59
+ import { VGlobal } from "../../../constants";
60
+
57
61
  !function(STATUS) {
58
62
  STATUS[STATUS.NORMAL = 0] = "NORMAL", STATUS[STATUS.STOP = 1] = "STOP";
59
63
  }(STATUS || (STATUS = {}));
60
64
 
61
65
  let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
62
- constructor(contributions, lineRender, areaRender, drawItemInterceptorContributions) {
63
- super(contributions, drawItemInterceptorContributions), this.contributions = contributions,
64
- this.lineRender = lineRender, this.areaRender = areaRender, this.drawItemInterceptorContributions = drawItemInterceptorContributions,
66
+ constructor(contributions, renderSelector, lineRender, areaRender, layerService, drawItemInterceptorContributions) {
67
+ super(contributions, renderSelector, layerService, drawItemInterceptorContributions),
68
+ this.contributions = contributions, this.renderSelector = renderSelector, this.lineRender = lineRender,
69
+ this.areaRender = areaRender, this.layerService = layerService, this.drawItemInterceptorContributions = drawItemInterceptorContributions,
65
70
  this.rendering = !1, this.currFrameStartAt = 0, this.currentIdx = 0, this.status = STATUS.NORMAL,
66
71
  this.checkingForDrawPromise = null, this.hooks = {
67
72
  completeDraw: new SyncHook([])
@@ -167,7 +172,8 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
167
172
  }
168
173
  };
169
174
 
170
- DefaultIncrementalDrawContribution = __decorate([ injectable(), __param(0, multiInject(GraphicRender)), __param(1, inject(DefaultIncrementalCanvasLineRender)), __param(2, inject(DefaultIncrementalCanvasAreaRender)), __param(3, inject(ContributionProvider)), __param(3, named(DrawItemInterceptor)), __metadata("design:paramtypes", [ Array, Object, Object, Object ]) ], DefaultIncrementalDrawContribution);
175
+ __decorate([ inject(VGlobal), __metadata("design:type", Object) ], DefaultIncrementalDrawContribution.prototype, "global", void 0),
176
+ DefaultIncrementalDrawContribution = __decorate([ injectable(), __param(0, multiInject(GraphicRender)), __param(1, inject(RenderSelector)), __param(2, inject(DefaultIncrementalCanvasLineRender)), __param(3, inject(DefaultIncrementalCanvasAreaRender)), __param(4, inject(LayerService)), __param(5, inject(ContributionProvider)), __param(5, named(DrawItemInterceptor)), __metadata("design:paramtypes", [ Array, Object, Object, Object, Object, Object ]) ], DefaultIncrementalDrawContribution);
171
177
 
172
178
  export { DefaultIncrementalDrawContribution };
173
179
  //# sourceMappingURL=incremental-draw-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/incremental-draw-contribution.ts"],"names":[],"mappings":"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","file":"incremental-draw-contribution.js","sourcesContent":["import { injectable, inject, named, multiInject } from '../../../common/inversify-lite';\nimport type {\n IGraphic,\n IGroup,\n IGlobal,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRender,\n IRenderSelector,\n IDrawItemInterceptorContribution,\n IContributionProvider\n} from '../../../interface';\nimport { DefaultAttribute } from '../../../graphic';\nimport { LayerService } from '../../../core/constants';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { SyncHook } from '../../../tapable';\nimport { GraphicRender, RenderSelector } from './symbol';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DrawItemInterceptor } from './draw-interceptor';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { foreachAsync } from '../../../common/sort';\n\nenum STATUS {\n NORMAL = 0,\n STOP = 1\n}\n\n/**\n * 增量渲染的contribution,基于树状结构针对图元的渲染\n * 不是单例模式\n */\n@injectable()\nexport class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {\n rendering: boolean = false;\n protected currFrameStartAt: number = 0;\n protected currentIdx: number = 0;\n protected status: STATUS = STATUS.NORMAL;\n protected checkingForDrawPromise: Promise<any> | null = null;\n hooks = {\n completeDraw: new SyncHook<[]>([])\n };\n protected lastRenderService: IRenderService;\n protected lastDrawContext: IDrawContext;\n protected count: number;\n\n constructor(\n // @inject(ContributionProvider)\n // @named(GraphicRender)\n // protected readonly contributions: ContributionProvider<IGraphicRender>,\n @multiInject(GraphicRender) protected readonly contributions: IGraphicRender[],\n // @inject(RenderSelector) protected readonly renderSelector: IRenderSelector, // 根据图元类型选择对应的renderItem进行渲染\n @inject(DefaultIncrementalCanvasLineRender) protected readonly lineRender: IGraphicRender, // 默认的lineRender\n @inject(DefaultIncrementalCanvasAreaRender) protected readonly areaRender: IGraphicRender, // 默认的lineRender\n // 拦截器\n @inject(ContributionProvider)\n @named(DrawItemInterceptor)\n protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>\n ) {\n super(contributions, drawItemInterceptorContributions);\n }\n\n init(): void {\n super.init();\n this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender);\n this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);\n }\n\n /**\n *\n * @param renderService\n * @param drawContext restartIncremental为true表示重新执行增量渲染,为false表示不执行增量渲染\n * @returns\n */\n async draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void> {\n // 入口检查是否需要重新绘制\n if (this.checkingForDrawPromise) {\n return;\n }\n this.lastRenderService = renderService;\n this.lastDrawContext = drawContext;\n\n this.checkingForDrawPromise = this.checkForDraw(drawContext);\n const skipDraw = await this.checkingForDrawPromise;\n this.checkingForDrawPromise = null;\n if (skipDraw) {\n return;\n }\n\n this.currentRenderService = renderService;\n const { context, x = 0, y = 0 } = drawContext;\n\n if (!context) {\n return;\n }\n // 增量渲染不需要dirtyBounds\n // const dirtyBounds: IBounds | undefined = this.dirtyBounds.setValue(x, y, x + width, y + height);\n // if (stage.dirtyBounds) {\n // const b = getRectIntersect(dirtyBounds, stage.dirtyBounds, false);\n // dirtyBounds.x1 = Math.floor(b.x1);\n // dirtyBounds.y1 = Math.floor(b.y1);\n // dirtyBounds.x2 = Math.ceil(b.x2);\n // dirtyBounds.y2 = Math.ceil(b.y2);\n // }\n context.inuse = true;\n // 初始化context\n context.clearMatrix();\n context.setTransformForCurrent(true);\n\n // const drawInArea =\n // dirtyBounds.width() * context.dpr !== context.canvas.width ||\n // dirtyBounds.height() * context.dpr !== context.canvas.height;\n context.save();\n\n // if (drawInArea) {\n // context.beginPath();\n // context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());\n // context.clip();\n // }\n\n // this.clearScreen(renderService, context, drawContext);\n\n // 绘制之前需要清空画布\n drawContext.restartIncremental && this.clearScreen(this.currentRenderService, context, drawContext);\n // 设置translate\n context.translate(x, y, true);\n\n context.save();\n renderService.renderTreeRoots\n .sort((a, b) => {\n return (a.attribute.zIndex ?? DefaultAttribute.zIndex) - (b.attribute.zIndex ?? DefaultAttribute.zIndex);\n })\n .forEach(group => {\n this.renderGroup(group as IGroup, drawContext);\n });\n\n this.hooks.completeDraw.tap('top-draw', () => {\n context.restore();\n context.restore();\n context.draw();\n context.inuse = false;\n this.rendering = false;\n });\n }\n\n protected async _increaseRender(group: IGroup, drawContext: IDrawContext) {\n this.rendering = true;\n await this._renderIncrementalGroup(group, drawContext);\n return;\n }\n\n // 默认group后只有一层节点,也就是group是叶子结点的父节点\n protected async _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext) {\n this.count = group.count;\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n // 增量图元只支持一个,线段和面积图\n if (group.count === 2) {\n const graphic = group.getChildAt(0) as IGraphic;\n if (graphic.incremental && (graphic.attribute as any).segments) {\n if (!graphic.incrementalAt) {\n graphic.incrementalAt = 0;\n }\n while (graphic.incrementalAt < (graphic.attribute as any).segments.length) {\n drawContext.multiGraphicOptions = {\n startAtIdx: graphic.incrementalAt,\n length: graphic.incremental\n };\n this.renderItem(graphic, drawContext);\n graphic.incrementalAt += graphic.incremental;\n await this.waitToNextFrame();\n }\n } else {\n this.renderItem(graphic, drawContext);\n }\n resolve(false);\n return;\n }\n await foreachAsync(group, DefaultAttribute.zIndex, (item: IGraphic, i: number) => {\n if (this.status === STATUS.STOP) {\n return true;\n }\n if (item.isContainer) {\n // 增量渲染group下不应该有其他的group节点\n return false;\n }\n // 如果小于currentIdx,说明还没到当前的位置,那就直接跳过\n if (i < this.currentIdx) {\n return false;\n }\n const frameTail = this.currFrameStartAt + group.incremental;\n // 绘制 currentIdx到this.lastFrameIdx + group.incremental的内容\n if (i < frameTail) {\n this.currentIdx = i + 1;\n this.renderItem(item, drawContext);\n }\n // 下一帧\n if (i === frameTail - 1) {\n this.currFrameStartAt = this.currentIdx;\n // this.lastFrameIdx = this.currentIdx;\n return this.waitToNextFrame();\n }\n\n return false;\n });\n resolve(false);\n }\n });\n });\n this.hooks.completeDraw.call();\n }\n\n protected async waitToNextFrame(): Promise<boolean> {\n return new Promise(resolve => {\n this.global.getRequestAnimationFrame()(() => {\n resolve(false);\n });\n });\n }\n\n /**\n * 检查这次绘制是否跳过,以及执行一些准备\n * 增量渲染有自己的绘制逻辑流程,外部每次触发draw,该图层不一定会执行\n * @returns 返回true代表跳过绘制,false代表进行绘制\n */\n protected async checkForDraw(drawContext: IDrawContext): Promise<boolean> {\n let skip = this.rendering;\n if (drawContext.restartIncremental) {\n skip = false;\n await this.forceStop();\n this.resetToInit();\n }\n return skip;\n }\n\n protected async forceStop() {\n if (this.rendering) {\n this.status = STATUS.STOP;\n await new Promise(resolve => {\n this.hooks.completeDraw.tap('stopCb', () => {\n this.status = STATUS.NORMAL;\n this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => {\n return item.name !== 'stopCb';\n });\n resolve(false);\n });\n });\n }\n }\n\n protected resetToInit() {\n this.currFrameStartAt = 0;\n this.currentIdx = 0;\n }\n\n async renderGroup(group: IGroup, drawContext: IDrawContext) {\n if (drawContext.break || group.attribute.visibleAll === false) {\n return;\n }\n if (group.incremental && drawContext.startAtId === group._uid) {\n await this._increaseRender(group, drawContext);\n drawContext.break = true;\n return;\n }\n\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n await foreachAsync(group, DefaultAttribute.zIndex, async (item: IGraphic) => {\n if (drawContext.break) {\n return;\n }\n if (item.isContainer) {\n await this.renderGroup(item as IGroup, drawContext);\n } else {\n // 增量渲染不管非_increaseRender的内容\n return;\n }\n });\n resolve(false);\n }\n });\n });\n }\n\n // /**\n // * 一个每一帧都执行的脚本,用于检查和触发执行draw\n // */\n // protected autoRunner() {\n\n // }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/incremental-draw-contribution.ts"],"names":[],"mappings":"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","file":"incremental-draw-contribution.js","sourcesContent":["import { injectable, inject, named, multiInject } from '../../../common/inversify-lite';\nimport type {\n IGraphic,\n IGroup,\n IGlobal,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRender,\n IRenderSelector,\n IDrawItemInterceptorContribution,\n IContributionProvider\n} from '../../../interface';\nimport { DefaultAttribute } from '../../../graphic';\nimport { LayerService } from '../../../core/constants';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { SyncHook } from '../../../tapable';\nimport { GraphicRender, RenderSelector } from './symbol';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DrawItemInterceptor } from './draw-interceptor';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { foreachAsync } from '../../../common/sort';\nimport type { ILayerService } from '../../../interface/core';\nimport { VGlobal } from '../../../constants';\n\nenum STATUS {\n NORMAL = 0,\n STOP = 1\n}\n\n/**\n * 增量渲染的contribution,基于树状结构针对图元的渲染\n * 不是单例模式\n */\n@injectable()\nexport class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {\n rendering: boolean = false;\n protected currFrameStartAt: number = 0;\n protected currentIdx: number = 0;\n protected status: STATUS = STATUS.NORMAL;\n protected checkingForDrawPromise: Promise<any> | null = null;\n hooks = {\n completeDraw: new SyncHook<[]>([])\n };\n protected lastRenderService: IRenderService;\n protected lastDrawContext: IDrawContext;\n protected count: number;\n @inject(VGlobal) global: IGlobal;\n\n constructor(\n // @inject(ContributionProvider)\n // @named(GraphicRender)\n // protected readonly contributions: ContributionProvider<IGraphicRender>,\n @multiInject(GraphicRender) protected readonly contributions: IGraphicRender[],\n @inject(RenderSelector) protected readonly renderSelector: IRenderSelector, // 根据图元类型选择对应的renderItem进行渲染\n @inject(DefaultIncrementalCanvasLineRender) protected readonly lineRender: IGraphicRender, // 默认的lineRender\n @inject(DefaultIncrementalCanvasAreaRender) protected readonly areaRender: IGraphicRender, // 默认的lineRender\n @inject(LayerService) protected readonly layerService: ILayerService, // 默认的polygonRender\n // 拦截器\n @inject(ContributionProvider)\n @named(DrawItemInterceptor)\n protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>\n ) {\n super(contributions, renderSelector, layerService, drawItemInterceptorContributions);\n }\n\n init(): void {\n super.init();\n this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender);\n this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);\n }\n\n /**\n *\n * @param renderService\n * @param drawContext restartIncremental为true表示重新执行增量渲染,为false表示不执行增量渲染\n * @returns\n */\n async draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void> {\n // 入口检查是否需要重新绘制\n if (this.checkingForDrawPromise) {\n return;\n }\n this.lastRenderService = renderService;\n this.lastDrawContext = drawContext;\n\n this.checkingForDrawPromise = this.checkForDraw(drawContext);\n const skipDraw = await this.checkingForDrawPromise;\n this.checkingForDrawPromise = null;\n if (skipDraw) {\n return;\n }\n\n this.currentRenderService = renderService;\n const { context, x = 0, y = 0 } = drawContext;\n\n if (!context) {\n return;\n }\n // 增量渲染不需要dirtyBounds\n // const dirtyBounds: IBounds | undefined = this.dirtyBounds.setValue(x, y, x + width, y + height);\n // if (stage.dirtyBounds) {\n // const b = getRectIntersect(dirtyBounds, stage.dirtyBounds, false);\n // dirtyBounds.x1 = Math.floor(b.x1);\n // dirtyBounds.y1 = Math.floor(b.y1);\n // dirtyBounds.x2 = Math.ceil(b.x2);\n // dirtyBounds.y2 = Math.ceil(b.y2);\n // }\n context.inuse = true;\n // 初始化context\n context.clearMatrix();\n context.setTransformForCurrent(true);\n\n // const drawInArea =\n // dirtyBounds.width() * context.dpr !== context.canvas.width ||\n // dirtyBounds.height() * context.dpr !== context.canvas.height;\n context.save();\n\n // if (drawInArea) {\n // context.beginPath();\n // context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());\n // context.clip();\n // }\n\n // this.clearScreen(renderService, context, drawContext);\n\n // 绘制之前需要清空画布\n drawContext.restartIncremental && this.clearScreen(this.currentRenderService, context, drawContext);\n // 设置translate\n context.translate(x, y, true);\n\n context.save();\n renderService.renderTreeRoots\n .sort((a, b) => {\n return (a.attribute.zIndex ?? DefaultAttribute.zIndex) - (b.attribute.zIndex ?? DefaultAttribute.zIndex);\n })\n .forEach(group => {\n this.renderGroup(group as IGroup, drawContext);\n });\n\n this.hooks.completeDraw.tap('top-draw', () => {\n context.restore();\n context.restore();\n context.draw();\n context.inuse = false;\n this.rendering = false;\n });\n }\n\n protected async _increaseRender(group: IGroup, drawContext: IDrawContext) {\n this.rendering = true;\n await this._renderIncrementalGroup(group, drawContext);\n return;\n }\n\n // 默认group后只有一层节点,也就是group是叶子结点的父节点\n protected async _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext) {\n this.count = group.count;\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n // 增量图元只支持一个,线段和面积图\n if (group.count === 2) {\n const graphic = group.getChildAt(0) as IGraphic;\n if (graphic.incremental && (graphic.attribute as any).segments) {\n if (!graphic.incrementalAt) {\n graphic.incrementalAt = 0;\n }\n while (graphic.incrementalAt < (graphic.attribute as any).segments.length) {\n drawContext.multiGraphicOptions = {\n startAtIdx: graphic.incrementalAt,\n length: graphic.incremental\n };\n this.renderItem(graphic, drawContext);\n graphic.incrementalAt += graphic.incremental;\n await this.waitToNextFrame();\n }\n } else {\n this.renderItem(graphic, drawContext);\n }\n resolve(false);\n return;\n }\n await foreachAsync(group, DefaultAttribute.zIndex, (item: IGraphic, i: number) => {\n if (this.status === STATUS.STOP) {\n return true;\n }\n if (item.isContainer) {\n // 增量渲染group下不应该有其他的group节点\n return false;\n }\n // 如果小于currentIdx,说明还没到当前的位置,那就直接跳过\n if (i < this.currentIdx) {\n return false;\n }\n const frameTail = this.currFrameStartAt + group.incremental;\n // 绘制 currentIdx到this.lastFrameIdx + group.incremental的内容\n if (i < frameTail) {\n this.currentIdx = i + 1;\n this.renderItem(item, drawContext);\n }\n // 下一帧\n if (i === frameTail - 1) {\n this.currFrameStartAt = this.currentIdx;\n // this.lastFrameIdx = this.currentIdx;\n return this.waitToNextFrame();\n }\n\n return false;\n });\n resolve(false);\n }\n });\n });\n this.hooks.completeDraw.call();\n }\n\n protected async waitToNextFrame(): Promise<boolean> {\n return new Promise(resolve => {\n this.global.getRequestAnimationFrame()(() => {\n resolve(false);\n });\n });\n }\n\n /**\n * 检查这次绘制是否跳过,以及执行一些准备\n * 增量渲染有自己的绘制逻辑流程,外部每次触发draw,该图层不一定会执行\n * @returns 返回true代表跳过绘制,false代表进行绘制\n */\n protected async checkForDraw(drawContext: IDrawContext): Promise<boolean> {\n let skip = this.rendering;\n if (drawContext.restartIncremental) {\n skip = false;\n await this.forceStop();\n this.resetToInit();\n }\n return skip;\n }\n\n protected async forceStop() {\n if (this.rendering) {\n this.status = STATUS.STOP;\n await new Promise(resolve => {\n this.hooks.completeDraw.tap('stopCb', () => {\n this.status = STATUS.NORMAL;\n this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => {\n return item.name !== 'stopCb';\n });\n resolve(false);\n });\n });\n }\n }\n\n protected resetToInit() {\n this.currFrameStartAt = 0;\n this.currentIdx = 0;\n }\n\n async renderGroup(group: IGroup, drawContext: IDrawContext) {\n if (drawContext.break || group.attribute.visibleAll === false) {\n return;\n }\n if (group.incremental && drawContext.startAtId === group._uid) {\n await this._increaseRender(group, drawContext);\n drawContext.break = true;\n return;\n }\n\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n await foreachAsync(group, DefaultAttribute.zIndex, async (item: IGraphic) => {\n if (drawContext.break) {\n return;\n }\n if (item.isContainer) {\n await this.renderGroup(item as IGroup, drawContext);\n } else {\n // 增量渲染不管非_increaseRender的内容\n return;\n }\n });\n resolve(false);\n }\n });\n });\n }\n\n // /**\n // * 一个每一帧都执行的脚本,用于检查和触发执行draw\n // */\n // protected autoRunner() {\n\n // }\n}\n"]}
@@ -6,6 +6,5 @@ export declare class DefaultCanvasLineRender extends BaseRender<ILine> implement
6
6
  z: number;
7
7
  draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
8
8
  protected drawSegmentItem(context: IContext2d, cache: ISegPath2D, fill: boolean, stroke: boolean, fillOpacity: number, strokeOpacity: number, attribute: Partial<ILineGraphicAttribute>, defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[], clipRange: number, clipRangeByDimension: IClipRangeByDimensionType, offsetX: number, offsetY: number, line: ILine, fillCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute | IThemeAttribute[]) => boolean, strokeCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute | IThemeAttribute[]) => boolean): boolean;
9
- drawLinearLineHighPerformance(line: ILine, context: IContext2d, fill: boolean, stroke: boolean, fillOpacity: number, strokeOpacity: number, offsetX: number, offsetY: number, lineAttribute: Required<ILineGraphicAttribute>, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
10
9
  drawShape(line: ILine, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
11
10
  }
@@ -67,30 +67,14 @@ let DefaultCanvasLineRender = class extends BaseRender {
67
67
  }
68
68
  return !1;
69
69
  }
70
- drawLinearLineHighPerformance(line, context, fill, stroke, fillOpacity, strokeOpacity, offsetX, offsetY, lineAttribute, drawContext, params, fillCb, strokeCb) {
71
- var _a;
72
- context.beginPath();
73
- const z = null !== (_a = this.z) && void 0 !== _a ? _a : 0, {points: points} = line.attribute, startP = points[0];
74
- context.moveTo(startP.x, startP.y, z);
75
- for (let i = 1; i < points.length; i++) {
76
- const p = points[i];
77
- context.lineTo(p.x, p.y, z);
78
- }
79
- context.setShadowBlendStyle && context.setShadowBlendStyle(line, line.attribute, lineAttribute);
80
- const {x: originX = 0, x: originY = 0} = line.attribute;
81
- !1 !== fill && (fillCb ? fillCb(context, line.attribute, lineAttribute) : fillOpacity && (context.setCommonStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute),
82
- context.fill())), !1 !== stroke && (strokeCb ? strokeCb(context, line.attribute, lineAttribute) : strokeOpacity && (context.setStrokeStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute),
83
- context.stroke()));
84
- }
85
70
  drawShape(line, context, x, y, drawContext, params, fillCb, strokeCb) {
86
- const lineAttribute = getTheme(line, null == params ? void 0 : params.theme).line, {fill: fill = lineAttribute.fill, stroke: stroke = lineAttribute.stroke, fillOpacity: fillOpacity = lineAttribute.fillOpacity, strokeOpacity: strokeOpacity = lineAttribute.strokeOpacity, segments: segments, points: points, closePath: closePath} = line.attribute;
71
+ const lineAttribute = getTheme(line, null == params ? void 0 : params.theme).line, {fill: fill = lineAttribute.fill, stroke: stroke = lineAttribute.stroke, fillOpacity: fillOpacity = lineAttribute.fillOpacity, strokeOpacity: strokeOpacity = lineAttribute.strokeOpacity} = line.attribute;
87
72
  if (!this.valid(line, lineAttribute, fillCb, strokeCb)) return;
88
- let {curveType: curveType = lineAttribute.curveType} = line.attribute;
89
- closePath && "linear" === curveType && (curveType = "linearClosed");
90
- const {clipRange: clipRange = lineAttribute.clipRange, clipRangeByDimension: clipRangeByDimension = lineAttribute.clipRangeByDimension} = line.attribute;
91
- if (1 === clipRange && !segments && !points.some((p => !1 === p.defined)) && "linear" === curveType) return this.drawLinearLineHighPerformance(line, context, !!fill, !!stroke, fillOpacity, strokeOpacity, x, y, lineAttribute, drawContext, params, fillCb, strokeCb);
92
73
  if (line.shouldUpdateShape()) {
93
- const {points: points, segments: segments} = line.attribute, _points = points;
74
+ const {points: points, segments: segments, closePath: closePath} = line.attribute;
75
+ let {curveType: curveType = lineAttribute.curveType} = line.attribute;
76
+ closePath && "linear" === curveType && (curveType = "linearClosed");
77
+ const _points = points;
94
78
  if (segments && segments.length) {
95
79
  let startPoint, lastSeg;
96
80
  if (line.cache = segments.map(((seg, index) => {
@@ -128,6 +112,7 @@ let DefaultCanvasLineRender = class extends BaseRender {
128
112
  }
129
113
  line.clearUpdateShapeTag();
130
114
  }
115
+ const {clipRange: clipRange = lineAttribute.clipRange, clipRangeByDimension: clipRangeByDimension = lineAttribute.clipRangeByDimension} = line.attribute;
131
116
  if (Array.isArray(line.cache)) {
132
117
  const segments = line.attribute.segments.filter((item => item.points.length));
133
118
  if (1 === segments[0].points.length && segments.shift(), 1 === clipRange) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/line-render.ts"],"names":[],"mappings":"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","file":"line-render.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport { min, isArray } from '@visactor/vutils';\nimport { injectable } from '../../../common/inversify-lite';\nimport type {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IClipRangeByDimensionType,\n ISegPath2D,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { LINE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { drawSegments } from '../../../common/render-curve';\nimport { calcLineCache } from '../../../common/segment';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\n@injectable()\nexport class DefaultCanvasLineRender extends BaseRender<ILine> implements IGraphicRender {\n type: 'line';\n numberType: number = LINE_NUMBER_TYPE;\n declare z: number;\n\n draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const lineAttribute = getTheme(line, params?.theme).line;\n this._draw(line, lineAttribute, false, drawContext, params);\n }\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: ISegPath2D,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n clipRange: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n offsetX: number,\n offsetY: number,\n line: ILine,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n if (!cache) {\n return;\n }\n context.beginPath();\n\n const z = this.z ?? 0;\n\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z\n });\n\n // 如果是一根线,且是Closed,并且没有defined为false的点,需要close\n if (\n line.cache &&\n !isArray(line.cache) &&\n line.cache.curves.every(c => c.defined) &&\n line.attribute.curveType &&\n line.attribute.curveType.includes('Closed')\n ) {\n context.closePath();\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, attribute, defaultAttribute);\n\n const { x: originX = 0, x: originY = 0 } = attribute;\n const ret: boolean = false;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, attribute, defaultAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, attribute, defaultAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute);\n context.stroke();\n }\n }\n\n // 绘制connect区域\n let { connectedType, connectedX, connectedY, connectedStyle } = attribute;\n if (isArray(defaultAttribute)) {\n connectedType = connectedType ?? defaultAttribute[0].connectedType ?? defaultAttribute[1].connectedType;\n connectedX = connectedX ?? defaultAttribute[0].connectedX ?? defaultAttribute[1].connectedX;\n connectedY = connectedY ?? defaultAttribute[0].connectedY ?? defaultAttribute[1].connectedY;\n connectedStyle = connectedStyle ?? defaultAttribute[0].connectedStyle ?? defaultAttribute[1].connectedStyle;\n } else {\n connectedType = connectedType ?? defaultAttribute.connectedType;\n connectedX = connectedX ?? defaultAttribute.connectedX;\n connectedY = connectedY ?? defaultAttribute.connectedY;\n connectedStyle = connectedStyle ?? defaultAttribute.connectedStyle;\n }\n // 如果有非法值就是none\n if (connectedType !== 'connect' && connectedType !== 'zero') {\n connectedType = 'none';\n }\n if (connectedType !== 'none') {\n context.beginPath();\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z,\n drawConnect: true,\n mode: connectedType,\n zeroX: connectedX,\n zeroY: connectedY\n });\n\n const da = [];\n if (isArray(defaultAttribute)) {\n defaultAttribute.forEach(i => da.push(i));\n } else {\n da.push(defaultAttribute);\n }\n da.push(attribute);\n\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, attribute, defaultAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, connectedStyle, originX - offsetX, originY - offsetY, da);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, attribute, defaultAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, connectedStyle, originX - offsetX, originY - offsetY, da);\n context.stroke();\n }\n }\n }\n return !!ret;\n }\n\n // 高性能绘制linear line,不用拆分\n drawLinearLineHighPerformance(\n line: ILine,\n context: IContext2d,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n offsetX: number,\n offsetY: number,\n lineAttribute: Required<ILineGraphicAttribute>,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n context.beginPath();\n\n const z = this.z ?? 0;\n const { points } = line.attribute;\n const startP = points[0];\n\n context.moveTo(startP.x, startP.y, z);\n for (let i = 1; i < points.length; i++) {\n const p = points[i];\n context.lineTo(p.x, p.y, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, line.attribute, lineAttribute);\n\n const { x: originX = 0, x: originY = 0 } = line.attribute;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, line.attribute, lineAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, line.attribute, lineAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute);\n context.stroke();\n }\n }\n }\n\n drawShape(\n line: ILine,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line, params?.theme).line;\n\n const {\n fill = lineAttribute.fill,\n stroke = lineAttribute.stroke,\n fillOpacity = lineAttribute.fillOpacity,\n strokeOpacity = lineAttribute.strokeOpacity,\n segments,\n points,\n closePath\n } = line.attribute;\n\n const data = this.valid(line, lineAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n\n let { curveType = lineAttribute.curveType } = line.attribute;\n if (closePath && curveType === 'linear') {\n curveType = 'linearClosed';\n }\n\n const { clipRange = lineAttribute.clipRange, clipRangeByDimension = lineAttribute.clipRangeByDimension } =\n line.attribute;\n\n if (clipRange === 1 && !segments && !points.some(p => p.defined === false) && curveType === 'linear') {\n return this.drawLinearLineHighPerformance(\n line,\n context,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n x,\n y,\n lineAttribute,\n drawContext,\n params,\n fillCb,\n strokeCb\n );\n }\n // const { fVisible, sVisible, doFill, doStroke } = data;\n\n // 更新cache\n if (line.shouldUpdateShape()) {\n const { points, segments } = line.attribute;\n\n const _points = points;\n if (segments && segments.length) {\n let startPoint: IPointLike;\n let lastSeg: { endX: number; endY: number; curves: Array<{ defined: boolean }> };\n line.cache = segments\n .map((seg, index) => {\n if (seg.points.length <= 1) {\n // 第一个点的话,直接设置lastTopSeg\n if (index === 0) {\n seg.points[0] &&\n (lastSeg = {\n endX: seg.points[0].x,\n endY: seg.points[0].y,\n curves: [{ defined: seg.points[0].defined !== false }]\n });\n return null;\n }\n }\n // 添加上一个segment结束的点作为这个segment的起始点\n if (index === 1) {\n startPoint = {\n x: lastSeg.endX,\n y: lastSeg.endY,\n defined: lastSeg.curves[lastSeg.curves.length - 1].defined\n };\n } else if (index > 1) {\n startPoint.x = lastSeg.endX;\n startPoint.y = lastSeg.endY;\n startPoint.defined = lastSeg.curves[lastSeg.curves.length - 1].defined;\n }\n const data = calcLineCache(seg.points, curveType, {\n startPoint\n });\n lastSeg = data;\n return data;\n })\n .filter(item => !!item);\n\n // 如果lineClosed,那就绘制到第一个点\n if (curveType === 'linearClosed') {\n let startP: IPointLike;\n for (let i = 0; i < line.cache.length; i++) {\n const cacheItem = line.cache[i];\n for (let i = 0; i < cacheItem.curves.length; i++) {\n if (cacheItem.curves[i].defined) {\n startP = cacheItem.curves[i].p0;\n break;\n }\n }\n if (startP) {\n break;\n }\n }\n line.cache[line.cache.length - 1] && line.cache[line.cache.length - 1].lineTo(startP.x, startP.y, true);\n }\n } else if (points && points.length) {\n line.cache = calcLineCache(_points, curveType);\n } else {\n line.cache = null;\n line.clearUpdateShapeTag();\n return;\n }\n line.clearUpdateShapeTag();\n }\n\n if (Array.isArray(line.cache)) {\n const segments = line.attribute.segments.filter(item => item.points.length);\n // 如果第一个seg只有一个点,那么shift出去\n if (segments[0].points.length === 1) {\n segments.shift();\n }\n if (clipRange === 1) {\n let skip = false;\n // 性能优化,不需要clip的线段不需要计算长度\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n skip = this.drawSegmentItem(\n context,\n cache,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n segments[index],\n [lineAttribute, line.attribute],\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n });\n } else {\n // 如果是segments的话,每个clipRange需要重新计算\n // 整个线段的总长度\n const totalLength = line.cache.reduce((l, c) => l + c.getLength(), 0);\n // 总需要绘制的长度\n const totalDrawLength = clipRange * totalLength;\n // 直到上次绘制的长度\n let drawedLengthUntilLast = 0;\n let skip = false;\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n const curSegLength = cache.getLength();\n const _cr = (totalDrawLength - drawedLengthUntilLast) / curSegLength;\n drawedLengthUntilLast += curSegLength;\n if (_cr > 0) {\n skip = this.drawSegmentItem(\n context,\n cache,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n segments[index],\n [lineAttribute, line.attribute],\n min(_cr, 1),\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n });\n }\n } else {\n this.drawSegmentItem(\n context,\n line.cache as ISegPath2D,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute,\n lineAttribute,\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/line-render.ts"],"names":[],"mappings":"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","file":"line-render.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport { min, isArray } from '@visactor/vutils';\nimport { injectable } from '../../../common/inversify-lite';\nimport type {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IClipRangeByDimensionType,\n ISegPath2D,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { LINE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { drawSegments } from '../../../common/render-curve';\nimport { calcLineCache } from '../../../common/segment';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\n@injectable()\nexport class DefaultCanvasLineRender extends BaseRender<ILine> implements IGraphicRender {\n type: 'line';\n numberType: number = LINE_NUMBER_TYPE;\n declare z: number;\n\n draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const lineAttribute = getTheme(line, params?.theme).line;\n this._draw(line, lineAttribute, false, drawContext, params);\n }\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: ISegPath2D,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n clipRange: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n offsetX: number,\n offsetY: number,\n line: ILine,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n if (!cache) {\n return;\n }\n context.beginPath();\n\n const z = this.z ?? 0;\n\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z\n });\n\n // 如果是一根线,且是Closed,并且没有defined为false的点,需要close\n if (\n line.cache &&\n !isArray(line.cache) &&\n line.cache.curves.every(c => c.defined) &&\n line.attribute.curveType &&\n line.attribute.curveType.includes('Closed')\n ) {\n context.closePath();\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, attribute, defaultAttribute);\n\n const { x: originX = 0, x: originY = 0 } = attribute;\n const ret: boolean = false;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, attribute, defaultAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, attribute, defaultAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, attribute, originX - offsetX, originY - offsetY, defaultAttribute);\n context.stroke();\n }\n }\n\n // 绘制connect区域\n let { connectedType, connectedX, connectedY, connectedStyle } = attribute;\n if (isArray(defaultAttribute)) {\n connectedType = connectedType ?? defaultAttribute[0].connectedType ?? defaultAttribute[1].connectedType;\n connectedX = connectedX ?? defaultAttribute[0].connectedX ?? defaultAttribute[1].connectedX;\n connectedY = connectedY ?? defaultAttribute[0].connectedY ?? defaultAttribute[1].connectedY;\n connectedStyle = connectedStyle ?? defaultAttribute[0].connectedStyle ?? defaultAttribute[1].connectedStyle;\n } else {\n connectedType = connectedType ?? defaultAttribute.connectedType;\n connectedX = connectedX ?? defaultAttribute.connectedX;\n connectedY = connectedY ?? defaultAttribute.connectedY;\n connectedStyle = connectedStyle ?? defaultAttribute.connectedStyle;\n }\n // 如果有非法值就是none\n if (connectedType !== 'connect' && connectedType !== 'zero') {\n connectedType = 'none';\n }\n if (connectedType !== 'none') {\n context.beginPath();\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z,\n drawConnect: true,\n mode: connectedType,\n zeroX: connectedX,\n zeroY: connectedY\n });\n\n const da = [];\n if (isArray(defaultAttribute)) {\n defaultAttribute.forEach(i => da.push(i));\n } else {\n da.push(defaultAttribute);\n }\n da.push(attribute);\n\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, attribute, defaultAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, connectedStyle, originX - offsetX, originY - offsetY, da);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, attribute, defaultAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, connectedStyle, originX - offsetX, originY - offsetY, da);\n context.stroke();\n }\n }\n }\n return !!ret;\n }\n\n drawShape(\n line: ILine,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line, params?.theme).line;\n\n const {\n fill = lineAttribute.fill,\n stroke = lineAttribute.stroke,\n fillOpacity = lineAttribute.fillOpacity,\n strokeOpacity = lineAttribute.strokeOpacity\n } = line.attribute;\n\n const data = this.valid(line, lineAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n // const { fVisible, sVisible, doFill, doStroke } = data;\n\n // 更新cache\n if (line.shouldUpdateShape()) {\n const { points, segments, closePath } = line.attribute;\n let { curveType = lineAttribute.curveType } = line.attribute;\n if (closePath && curveType === 'linear') {\n curveType = 'linearClosed';\n }\n const _points = points;\n if (segments && segments.length) {\n let startPoint: IPointLike;\n let lastSeg: { endX: number; endY: number; curves: Array<{ defined: boolean }> };\n line.cache = segments\n .map((seg, index) => {\n if (seg.points.length <= 1) {\n // 第一个点的话,直接设置lastTopSeg\n if (index === 0) {\n seg.points[0] &&\n (lastSeg = {\n endX: seg.points[0].x,\n endY: seg.points[0].y,\n curves: [{ defined: seg.points[0].defined !== false }]\n });\n return null;\n }\n }\n // 添加上一个segment结束的点作为这个segment的起始点\n if (index === 1) {\n startPoint = {\n x: lastSeg.endX,\n y: lastSeg.endY,\n defined: lastSeg.curves[lastSeg.curves.length - 1].defined\n };\n } else if (index > 1) {\n startPoint.x = lastSeg.endX;\n startPoint.y = lastSeg.endY;\n startPoint.defined = lastSeg.curves[lastSeg.curves.length - 1].defined;\n }\n const data = calcLineCache(seg.points, curveType, {\n startPoint\n });\n lastSeg = data;\n return data;\n })\n .filter(item => !!item);\n\n // 如果lineClosed,那就绘制到第一个点\n if (curveType === 'linearClosed') {\n let startP: IPointLike;\n for (let i = 0; i < line.cache.length; i++) {\n const cacheItem = line.cache[i];\n for (let i = 0; i < cacheItem.curves.length; i++) {\n if (cacheItem.curves[i].defined) {\n startP = cacheItem.curves[i].p0;\n break;\n }\n }\n if (startP) {\n break;\n }\n }\n line.cache[line.cache.length - 1] && line.cache[line.cache.length - 1].lineTo(startP.x, startP.y, true);\n }\n } else if (points && points.length) {\n line.cache = calcLineCache(_points, curveType);\n } else {\n line.cache = null;\n line.clearUpdateShapeTag();\n return;\n }\n line.clearUpdateShapeTag();\n }\n\n const { clipRange = lineAttribute.clipRange, clipRangeByDimension = lineAttribute.clipRangeByDimension } =\n line.attribute;\n\n if (Array.isArray(line.cache)) {\n const segments = line.attribute.segments.filter(item => item.points.length);\n // 如果第一个seg只有一个点,那么shift出去\n if (segments[0].points.length === 1) {\n segments.shift();\n }\n if (clipRange === 1) {\n let skip = false;\n // 性能优化,不需要clip的线段不需要计算长度\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n skip = this.drawSegmentItem(\n context,\n cache,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n segments[index],\n [lineAttribute, line.attribute],\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n });\n } else {\n // 如果是segments的话,每个clipRange需要重新计算\n // 整个线段的总长度\n const totalLength = line.cache.reduce((l, c) => l + c.getLength(), 0);\n // 总需要绘制的长度\n const totalDrawLength = clipRange * totalLength;\n // 直到上次绘制的长度\n let drawedLengthUntilLast = 0;\n let skip = false;\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n const curSegLength = cache.getLength();\n const _cr = (totalDrawLength - drawedLengthUntilLast) / curSegLength;\n drawedLengthUntilLast += curSegLength;\n if (_cr > 0) {\n skip = this.drawSegmentItem(\n context,\n cache,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n segments[index],\n [lineAttribute, line.attribute],\n min(_cr, 1),\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n });\n }\n } else {\n this.drawSegmentItem(\n context,\n line.cache as ISegPath2D,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute,\n lineAttribute,\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n }\n}\n"]}
@@ -10,6 +10,8 @@ import { DefaultCanvasArcRender } from "./arc-render";
10
10
 
11
11
  import { DefaultDrawContribution } from "./draw-contribution";
12
12
 
13
+ import { DefaultRenderSelector } from "./render-slector";
14
+
13
15
  import { DefaultCanvasSymbolRender } from "./symbol-render";
14
16
 
15
17
  import { DefaultCanvasTextRender } from "./text-render";
@@ -28,9 +30,9 @@ import { DefaultCanvasImageRender } from "./image-render";
28
30
 
29
31
  import { DefaultIncrementalDrawContribution } from "./incremental-draw-contribution";
30
32
 
31
- import { ArcRender, AreaRender, CircleRender, DrawContribution, GlyphRender, GraphicRender, GroupRender, IncrementalDrawContribution, LineRender, PathRender, PolygonRender, Rect3DRender, RectRender, RichTextRender, SymbolRender, TextRender, ImageRender, Arc3dRender, Pyramid3dRender } from "./symbol";
33
+ import { ArcRender, AreaRender, CircleRender, DrawContribution, GlyphRender, GraphicRender, GroupRender, IncrementalDrawContribution, LineRender, PathRender, PolygonRender, Rect3DRender, RectRender, RenderSelector, RichTextRender, SymbolRender, TextRender, ImageRender, Arc3dRender, Pyramid3dRender } from "./symbol";
32
34
 
33
- import { CommonDrawItemInterceptorContribution, DrawItemInterceptor } from "./draw-interceptor";
35
+ import { Canvas3DDrawItemInterceptor, CommonDrawItemInterceptorContribution, DrawItemInterceptor, InteractiveDrawItemInterceptorContribution, ShadowRootDrawItemInterceptorContribution } from "./draw-interceptor";
34
36
 
35
37
  import { DefaultCanvasRect3dRender } from "./rect3d-render";
36
38
 
@@ -40,44 +42,93 @@ import { DefaultIncrementalCanvasAreaRender } from "./incremental-area-render";
40
42
 
41
43
  import { DefaultCanvasRichTextRender } from "./richtext-render";
42
44
 
45
+ import { DefaultRectBackgroundRenderContribution, DefaultRectRenderContribution, DefaultRectTextureRenderContribution, SplitRectAfterRenderContribution, SplitRectBeforeRenderContribution } from "./contributions/rect-contribution-render";
46
+
47
+ import { DefaultSymbolBackgroundRenderContribution, DefaultSymbolRenderContribution, DefaultSymbolTextureRenderContribution } from "./contributions/symbol-contribution-render";
48
+
49
+ import { DefaultCircleBackgroundRenderContribution, DefaultCircleRenderContribution, DefaultCircleTextureRenderContribution } from "./contributions/circle-contribution-render";
50
+
51
+ import { DefaultArcBackgroundRenderContribution, DefaultArcRenderContribution, DefaultArcTextureRenderContribution } from "./contributions/arc-contribution-render";
52
+
43
53
  import { DefaultCanvasGlyphRender } from "./glyph-render";
44
54
 
55
+ import { DefaultImageBackgroundRenderContribution } from "./contributions/image-contribution-render";
56
+
57
+ import { DefaultGroupBackgroundRenderContribution } from "./contributions/group-contribution-render";
58
+
45
59
  import { DefaultCanvasArc3DRender } from "./arc3d-render";
46
60
 
47
61
  import { DefaultCanvasPyramid3dRender } from "./pyramid3d-render";
48
62
 
63
+ import { DefaultPolygonBackgroundRenderContribution, DefaultPolygonTextureRenderContribution } from "./contributions/polygon-contribution-render";
64
+
65
+ import { DefaultPathBackgroundRenderContribution, DefaultPathTextureRenderContribution } from "./contributions/path-contribution-render";
66
+
67
+ import { DefaultAreaBackgroundRenderContribution, DefaultAreaTextureRenderContribution } from "./contributions/area-contribution-render";
68
+
49
69
  import { RectRenderContribution, CircleRenderContribution, ArcRenderContribution, AreaRenderContribution, TextRenderContribution, PathRenderContribution, PolygonRenderContribution, GroupRenderContribution, ImageRenderContribution, SymbolRenderContribution, InteractiveSubRenderContribution } from "./contributions/constants";
50
70
 
51
- import { DefaultBaseBackgroundRenderContribution, DefaultBaseInteractiveRenderContribution, DefaultBaseTextureRenderContribution } from "./contributions";
71
+ import { DefaultBaseInteractiveRenderContribution } from "./contributions";
52
72
 
53
73
  export default new ContainerModule((bind => {
54
- bind(DefaultBaseBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultBaseTextureRenderContribution).toSelf().inSingletonScope(),
55
- bind(DrawContribution).to(DefaultDrawContribution), bind(IncrementalDrawContribution).to(DefaultIncrementalDrawContribution),
56
- bind(DefaultCanvasCircleRender).toSelf().inSingletonScope(), bind(CircleRender).to(DefaultCanvasCircleRender).inSingletonScope(),
57
- bind(GraphicRender).toService(CircleRender), bindContributionProvider(bind, CircleRenderContribution),
58
- bind(DefaultCanvasRectRender).toSelf().inSingletonScope(), bind(RectRender).to(DefaultCanvasRectRender).inSingletonScope(),
59
- bind(GraphicRender).toService(RectRender), bind(Rect3DRender).to(DefaultCanvasRect3dRender).inSingletonScope(),
60
- bind(GraphicRender).toService(Rect3DRender), bindContributionProvider(bind, RectRenderContribution),
61
- bind(TextRender).to(DefaultCanvasTextRender).inSingletonScope(), bind(GraphicRender).toService(TextRender),
62
- bindContributionProvider(bind, TextRenderContribution), bind(DefaultCanvasPathRender).toSelf().inSingletonScope(),
63
- bind(PathRender).to(DefaultCanvasPathRender).inSingletonScope(), bind(GraphicRender).toService(PathRender),
64
- bindContributionProvider(bind, PathRenderContribution), bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope(),
65
- bind(SymbolRender).to(DefaultCanvasSymbolRender).inSingletonScope(), bind(GraphicRender).toService(SymbolRender),
74
+ bind(DefaultDrawContribution).toSelf(), bind(DrawContribution).toService(DefaultDrawContribution),
75
+ bind(DefaultIncrementalDrawContribution).toSelf(), bind(IncrementalDrawContribution).toService(DefaultIncrementalDrawContribution),
76
+ bind(DefaultRenderSelector).toSelf(), bind(RenderSelector).toService(DefaultRenderSelector),
77
+ bind(DefaultCanvasCircleRender).toSelf().inSingletonScope(), bind(CircleRender).to(DefaultCanvasCircleRender),
78
+ bind(GraphicRender).to(DefaultCanvasCircleRender), bind(DefaultCircleRenderContribution).toSelf().inSingletonScope(),
79
+ bind(DefaultCircleBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultCircleTextureRenderContribution).toSelf().inSingletonScope(),
80
+ bind(CircleRenderContribution).toService(DefaultCircleRenderContribution), bind(CircleRenderContribution).toService(DefaultCircleBackgroundRenderContribution),
81
+ bind(CircleRenderContribution).toService(DefaultCircleTextureRenderContribution),
82
+ bindContributionProvider(bind, CircleRenderContribution), bind(DefaultCanvasRectRender).toSelf().inSingletonScope(),
83
+ bind(RectRender).to(DefaultCanvasRectRender), bind(GraphicRender).to(DefaultCanvasRectRender),
84
+ bind(DefaultCanvasRect3dRender).toSelf().inSingletonScope(), bind(Rect3DRender).toService(DefaultCanvasRect3dRender),
85
+ bind(GraphicRender).toService(Rect3DRender), bind(DefaultRectRenderContribution).toSelf().inSingletonScope(),
86
+ bind(DefaultRectBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultRectTextureRenderContribution).toSelf().inSingletonScope(),
87
+ bind(SplitRectBeforeRenderContribution).toSelf().inSingletonScope(), bind(SplitRectAfterRenderContribution).toSelf().inSingletonScope(),
88
+ bind(RectRenderContribution).toService(DefaultRectRenderContribution), bind(RectRenderContribution).toService(DefaultRectBackgroundRenderContribution),
89
+ bind(RectRenderContribution).toService(DefaultRectTextureRenderContribution), bind(RectRenderContribution).toService(SplitRectBeforeRenderContribution),
90
+ bind(RectRenderContribution).toService(SplitRectAfterRenderContribution), bindContributionProvider(bind, RectRenderContribution),
91
+ bind(DefaultCanvasTextRender).toSelf().inSingletonScope(), bind(TextRender).to(DefaultCanvasTextRender),
92
+ bind(GraphicRender).to(DefaultCanvasTextRender), bindContributionProvider(bind, TextRenderContribution),
93
+ bind(DefaultCanvasPathRender).toSelf().inSingletonScope(), bind(PathRender).to(DefaultCanvasPathRender),
94
+ bind(GraphicRender).to(DefaultCanvasPathRender), bind(DefaultPathBackgroundRenderContribution).toSelf().inSingletonScope(),
95
+ bind(DefaultPathTextureRenderContribution).toSelf().inSingletonScope(), bind(PathRenderContribution).toService(DefaultPathBackgroundRenderContribution),
96
+ bind(PathRenderContribution).toService(DefaultPathTextureRenderContribution), bindContributionProvider(bind, PathRenderContribution),
97
+ bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope(), bind(SymbolRender).to(DefaultCanvasSymbolRender),
98
+ bind(GraphicRender).to(DefaultCanvasSymbolRender), bind(DefaultSymbolRenderContribution).toSelf().inSingletonScope(),
99
+ bind(DefaultSymbolBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultSymbolTextureRenderContribution).toSelf().inSingletonScope(),
100
+ bind(SymbolRenderContribution).toService(DefaultSymbolRenderContribution), bind(SymbolRenderContribution).toService(DefaultSymbolBackgroundRenderContribution),
101
+ bind(SymbolRenderContribution).toService(DefaultSymbolTextureRenderContribution),
66
102
  bindContributionProvider(bind, SymbolRenderContribution), bind(DefaultCanvasArcRender).toSelf().inSingletonScope(),
67
- bind(ArcRender).to(DefaultCanvasArcRender).inSingletonScope(), bind(GraphicRender).toService(ArcRender),
68
- bind(Arc3dRender).to(DefaultCanvasArc3DRender).inSingletonScope(), bind(GraphicRender).toService(Arc3dRender),
69
- bindContributionProvider(bind, ArcRenderContribution), bind(DefaultCanvasLineRender).toSelf().inSingletonScope(),
70
- bind(LineRender).to(DefaultCanvasLineRender).inSingletonScope(), bind(GraphicRender).toService(LineRender),
71
- bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope(), bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope(),
72
- bind(DefaultCanvasAreaRender).toSelf().inSingletonScope(), bind(AreaRender).to(DefaultCanvasAreaRender).inSingletonScope(),
73
- bind(GraphicRender).toService(AreaRender), bindContributionProvider(bind, AreaRenderContribution),
74
- bind(GroupRender).to(DefaultCanvasGroupRender).inSingletonScope(), bind(GraphicRender).toService(GroupRender),
75
- bindContributionProvider(bind, GroupRenderContribution), bind(PolygonRender).to(DefaultCanvasPolygonRender).inSingletonScope(),
76
- bind(GraphicRender).toService(PolygonRender), bindContributionProvider(bind, PolygonRenderContribution),
77
- bind(GlyphRender).to(DefaultCanvasGlyphRender).inSingletonScope(), bind(GraphicRender).toService(GlyphRender),
78
- bind(ImageRender).to(DefaultCanvasImageRender).inSingletonScope(), bind(GraphicRender).toService(ImageRender),
79
- bindContributionProvider(bind, ImageRenderContribution), bind(RichTextRender).to(DefaultCanvasRichTextRender).inSingletonScope(),
80
- bind(GraphicRender).toService(RichTextRender), bind(Pyramid3dRender).to(DefaultCanvasPyramid3dRender).inSingletonScope(),
103
+ bind(ArcRender).to(DefaultCanvasArcRender), bind(GraphicRender).to(DefaultCanvasArcRender),
104
+ bind(DefaultCanvasArc3DRender).toSelf().inSingletonScope(), bind(Arc3dRender).toService(DefaultCanvasArc3DRender),
105
+ bind(GraphicRender).toService(Arc3dRender), bind(DefaultArcRenderContribution).toSelf().inSingletonScope(),
106
+ bind(DefaultArcBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultArcTextureRenderContribution).toSelf().inSingletonScope(),
107
+ bind(ArcRenderContribution).toService(DefaultArcRenderContribution), bind(ArcRenderContribution).toService(DefaultArcBackgroundRenderContribution),
108
+ bind(ArcRenderContribution).toService(DefaultArcTextureRenderContribution), bindContributionProvider(bind, ArcRenderContribution),
109
+ bind(DefaultCanvasLineRender).toSelf().inSingletonScope(), bind(LineRender).to(DefaultCanvasLineRender),
110
+ bind(GraphicRender).to(DefaultCanvasLineRender), bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope(),
111
+ bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope(), bind(DefaultCanvasAreaRender).toSelf().inSingletonScope(),
112
+ bind(AreaRender).to(DefaultCanvasAreaRender), bind(GraphicRender).to(DefaultCanvasAreaRender),
113
+ bind(DefaultAreaBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultAreaTextureRenderContribution).toSelf().inSingletonScope(),
114
+ bind(AreaRenderContribution).toService(DefaultAreaBackgroundRenderContribution),
115
+ bind(AreaRenderContribution).toService(DefaultAreaTextureRenderContribution), bindContributionProvider(bind, AreaRenderContribution),
116
+ bind(DefaultCanvasGroupRender).toSelf().inSingletonScope(), bind(GroupRender).to(DefaultCanvasGroupRender),
117
+ bind(GraphicRender).to(DefaultCanvasGroupRender), bind(DefaultGroupBackgroundRenderContribution).toSelf().inSingletonScope(),
118
+ bind(GroupRenderContribution).toService(DefaultGroupBackgroundRenderContribution),
119
+ bindContributionProvider(bind, GroupRenderContribution), bind(DefaultCanvasPolygonRender).toSelf().inSingletonScope(),
120
+ bind(PolygonRender).to(DefaultCanvasPolygonRender), bind(GraphicRender).to(DefaultCanvasPolygonRender),
121
+ bind(DefaultPolygonBackgroundRenderContribution).toSelf().inSingletonScope(), bind(DefaultPolygonTextureRenderContribution).toSelf().inSingletonScope(),
122
+ bind(PolygonRenderContribution).toService(DefaultPolygonBackgroundRenderContribution),
123
+ bind(PolygonRenderContribution).toService(DefaultPolygonTextureRenderContribution),
124
+ bindContributionProvider(bind, PolygonRenderContribution), bind(DefaultCanvasGlyphRender).toSelf().inSingletonScope(),
125
+ bind(GlyphRender).toService(DefaultCanvasGlyphRender), bind(GraphicRender).toService(GlyphRender),
126
+ bind(DefaultCanvasImageRender).toSelf().inSingletonScope(), bind(ImageRender).toService(DefaultCanvasImageRender),
127
+ bind(GraphicRender).toService(ImageRender), bind(DefaultImageBackgroundRenderContribution).toSelf().inSingletonScope(),
128
+ bind(ImageRenderContribution).toService(DefaultImageBackgroundRenderContribution),
129
+ bindContributionProvider(bind, ImageRenderContribution), bind(DefaultCanvasRichTextRender).toSelf().inSingletonScope(),
130
+ bind(RichTextRender).toService(DefaultCanvasRichTextRender), bind(GraphicRender).toService(RichTextRender),
131
+ bind(DefaultCanvasPyramid3dRender).toSelf().inSingletonScope(), bind(Pyramid3dRender).toService(DefaultCanvasPyramid3dRender),
81
132
  bind(GraphicRender).toService(Pyramid3dRender), bind(DefaultBaseInteractiveRenderContribution).toSelf().inSingletonScope(),
82
133
  bind(TextRenderContribution).toService(DefaultBaseInteractiveRenderContribution),
83
134
  bind(ArcRenderContribution).toService(DefaultBaseInteractiveRenderContribution),
@@ -89,7 +140,10 @@ export default new ContainerModule((bind => {
89
140
  bind(AreaRenderContribution).toService(DefaultBaseInteractiveRenderContribution),
90
141
  bind(PolygonRenderContribution).toService(DefaultBaseInteractiveRenderContribution),
91
142
  bindContributionProvider(bind, InteractiveSubRenderContribution), bindContributionProvider(bind, GraphicRender),
143
+ bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope(), bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution),
92
144
  bind(CommonDrawItemInterceptorContribution).toSelf().inSingletonScope(), bind(DrawItemInterceptor).toService(CommonDrawItemInterceptorContribution),
145
+ bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope(), bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor),
146
+ bind(InteractiveDrawItemInterceptorContribution).toSelf().inSingletonScope(), bind(DrawItemInterceptor).toService(InteractiveDrawItemInterceptorContribution),
93
147
  bindContributionProvider(bind, DrawItemInterceptor);
94
148
  }));
95
149
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/module.ts"],"names":[],"mappings":"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","file":"module.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify-lite';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultCanvasRectRender } from './rect-render';\nimport { DefaultCanvasArcRender } from './arc-render';\nimport { DefaultDrawContribution } from './draw-contribution';\n// import { DefaultRenderSelector } from './render-slector';\nimport { DefaultCanvasSymbolRender } from './symbol-render';\nimport { DefaultCanvasTextRender } from './text-render';\nimport { DefaultCanvasPathRender } from './path-render';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { DefaultCanvasGroupRender } from './group-render';\nimport { DefaultCanvasPolygonRender } from './polygon-render';\nimport { DefaultCanvasImageRender } from './image-render';\nimport { DefaultIncrementalDrawContribution } from './incremental-draw-contribution';\nimport {\n ArcRender,\n AreaRender,\n CircleRender,\n DrawContribution,\n GlyphRender,\n GraphicRender,\n GroupRender,\n IncrementalDrawContribution,\n LineRender,\n PathRender,\n PolygonRender,\n Rect3DRender,\n RectRender,\n RenderSelector,\n RichTextRender,\n SymbolRender,\n TextRender,\n ImageRender,\n Arc3dRender,\n Pyramid3dRender\n} from './symbol';\nimport {\n Canvas3DDrawItemInterceptor,\n CommonDrawItemInterceptorContribution,\n DrawItemInterceptor,\n InteractiveDrawItemInterceptorContribution,\n ShadowRootDrawItemInterceptorContribution\n} from './draw-interceptor';\nimport { DefaultCanvasRect3dRender } from './rect3d-render';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DefaultCanvasRichTextRender } from './richtext-render';\nimport { DefaultSymbolRenderContribution } from './contributions/symbol-contribution-render';\nimport { DefaultCanvasGlyphRender } from './glyph-render';\nimport { DefaultCanvasArc3DRender } from './arc3d-render';\nimport { DefaultCanvasPyramid3dRender } from './pyramid3d-render';\nimport {\n RectRenderContribution,\n CircleRenderContribution,\n ArcRenderContribution,\n AreaRenderContribution,\n TextRenderContribution,\n PathRenderContribution,\n PolygonRenderContribution,\n GroupRenderContribution,\n ImageRenderContribution,\n SymbolRenderContribution,\n InteractiveSubRenderContribution\n} from './contributions/constants';\nimport {\n DefaultBaseBackgroundRenderContribution,\n DefaultBaseInteractiveRenderContribution,\n DefaultBaseTextureRenderContribution\n} from './contributions';\n\nexport default new ContainerModule(bind => {\n bind(DefaultBaseBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultBaseTextureRenderContribution).toSelf().inSingletonScope();\n\n bind(DrawContribution).to(DefaultDrawContribution);\n bind(IncrementalDrawContribution).to(DefaultIncrementalDrawContribution);\n\n // bind(RenderSelector).to(DefaultRenderSelector).inSingletonScope();\n\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender).inSingletonScope();\n bind(GraphicRender).toService(CircleRender);\n\n // circle 渲染器注入contributions\n bindContributionProvider(bind, CircleRenderContribution);\n\n // rect 渲染器\n bind(DefaultCanvasRectRender).toSelf().inSingletonScope();\n bind(RectRender).to(DefaultCanvasRectRender).inSingletonScope();\n bind(GraphicRender).toService(RectRender);\n\n // rect3d 渲染器\n bind(Rect3DRender).to(DefaultCanvasRect3dRender).inSingletonScope();\n bind(GraphicRender).toService(Rect3DRender);\n\n // rect 渲染器注入contributions\n bindContributionProvider(bind, RectRenderContribution);\n\n // text 渲染器\n bind(TextRender).to(DefaultCanvasTextRender).inSingletonScope();\n bind(GraphicRender).toService(TextRender);\n bindContributionProvider(bind, TextRenderContribution);\n\n // path 渲染器\n bind(DefaultCanvasPathRender).toSelf().inSingletonScope();\n bind(PathRender).to(DefaultCanvasPathRender).inSingletonScope();\n bind(GraphicRender).toService(PathRender);\n\n // path 渲染器注入contributions\n bindContributionProvider(bind, PathRenderContribution);\n\n // symbol渲染器\n bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope();\n bind(SymbolRender).to(DefaultCanvasSymbolRender).inSingletonScope();\n bind(GraphicRender).toService(SymbolRender);\n\n // symbol 渲染器注入contributions\n bindContributionProvider(bind, SymbolRenderContribution);\n\n // arc 渲染器\n bind(DefaultCanvasArcRender).toSelf().inSingletonScope();\n bind(ArcRender).to(DefaultCanvasArcRender).inSingletonScope();\n bind(GraphicRender).toService(ArcRender);\n\n // arc3d 渲染器\n bind(Arc3dRender).to(DefaultCanvasArc3DRender).inSingletonScope();\n bind(GraphicRender).toService(Arc3dRender);\n\n // arc 渲染器注入contributions\n bindContributionProvider(bind, ArcRenderContribution);\n\n // line渲染器\n bind(DefaultCanvasLineRender).toSelf().inSingletonScope();\n bind(LineRender).to(DefaultCanvasLineRender).inSingletonScope();\n bind(GraphicRender).toService(LineRender);\n\n // incremental-line渲染器\n bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope();\n bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope();\n\n // area渲染器\n bind(DefaultCanvasAreaRender).toSelf().inSingletonScope();\n bind(AreaRender).to(DefaultCanvasAreaRender).inSingletonScope();\n bind(GraphicRender).toService(AreaRender);\n\n // area 渲染器注入contributions\n bindContributionProvider(bind, AreaRenderContribution);\n\n // group渲染器\n bind(GroupRender).to(DefaultCanvasGroupRender).inSingletonScope();\n bind(GraphicRender).toService(GroupRender);\n\n // group 渲染器注入contributions\n bindContributionProvider(bind, GroupRenderContribution);\n\n // polygon渲染器\n bind(PolygonRender).to(DefaultCanvasPolygonRender).inSingletonScope();\n bind(GraphicRender).toService(PolygonRender);\n\n // polygon 渲染器注入contributions\n bindContributionProvider(bind, PolygonRenderContribution);\n\n // glyph渲染器\n bind(GlyphRender).to(DefaultCanvasGlyphRender).inSingletonScope();\n bind(GraphicRender).toService(GlyphRender);\n\n // image渲染器\n bind(ImageRender).to(DefaultCanvasImageRender).inSingletonScope();\n bind(GraphicRender).toService(ImageRender);\n\n // image 渲染器注入contributions\n bindContributionProvider(bind, ImageRenderContribution);\n\n // richtext渲染器\n bind(RichTextRender).to(DefaultCanvasRichTextRender).inSingletonScope();\n bind(GraphicRender).toService(RichTextRender);\n\n // pyramid3d 渲染器\n bind(Pyramid3dRender).to(DefaultCanvasPyramid3dRender).inSingletonScope();\n bind(GraphicRender).toService(Pyramid3dRender);\n\n // 绑定通用interactive contribution\n bind(DefaultBaseInteractiveRenderContribution).toSelf().inSingletonScope();\n bind(TextRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ArcRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PathRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(RectRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ImageRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(CircleRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(AreaRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bindContributionProvider(bind, InteractiveSubRenderContribution);\n\n bindContributionProvider(bind, GraphicRender);\n\n // interceptor\n // bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();\n // bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);\n bind(CommonDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(CommonDrawItemInterceptorContribution);\n // bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();\n // bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);\n // bind(InteractiveDrawItemInterceptorContribution).toSelf().inSingletonScope();\n // bind(DrawItemInterceptor).toService(InteractiveDrawItemInterceptorContribution);\n bindContributionProvider(bind, DrawItemInterceptor);\n});\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,2BAA2B,EAC3B,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,2BAA2B,EAC3B,qCAAqC,EACrC,mBAAmB,EACnB,0CAA0C,EAC1C,yCAAyC,EAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,uCAAuC,EACvC,6BAA6B,EAC7B,oCAAoC,EACpC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,yCAAyC,EACzC,+BAA+B,EAC/B,sCAAsC,EACvC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yCAAyC,EACzC,+BAA+B,EAC/B,sCAAsC,EACvC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC5B,mCAAmC,EACpC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,0CAA0C,EAC1C,uCAAuC,EACxC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wCAAwC,EAAE,MAAM,iBAAiB,CAAC;AAE3E,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC1D,IAAI,CAAC,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClD,IAAI,CAAC,2BAA2B,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAEhF,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAGtD,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IACjD,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAGlD,IAAI,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,sCAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAC1E,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACpF,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACjF,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IAGzD,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAGhD,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE5C,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvE,IAAI,CAAC,iCAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACtE,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAChF,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC7E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC1E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACzE,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAGvD,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAChD,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAGvD,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAGhD,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvE,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAChF,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC7E,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAGvD,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IACjD,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAGlD,IAAI,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,sCAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAC1E,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACpF,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACjF,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IAGzD,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAC3C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;IAG/C,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAG3C,IAAI,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,sCAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,mCAAmC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtE,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACpE,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC9E,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3E,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAGtD,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAGhD,IAAI,CAAC,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAGrE,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;IAGhD,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEvE,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAChF,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC7E,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAGvD,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC/C,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAGjD,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAClF,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAGxD,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IAGnD,IAAI,CAAC,0CAA0C,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7E,IAAI,CAAC,uCAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACtF,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;IACnF,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAG1D,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAG3C,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAG3C,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAClF,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAGxD,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAG9C,IAAI,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAG/C,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACjF,IAAI,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAChF,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACjF,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACnF,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACjF,IAAI,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAClF,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACnF,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACjF,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACpF,wBAAwB,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAEjE,wBAAwB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAG9C,IAAI,CAAC,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IAC/E,IAAI,CAAC,qCAAqC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxE,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC3E,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACjE,IAAI,CAAC,0CAA0C,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7E,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAChF,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC","file":"module.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify-lite';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultCanvasRectRender } from './rect-render';\nimport { DefaultCanvasArcRender } from './arc-render';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { DefaultRenderSelector } from './render-slector';\nimport { DefaultCanvasSymbolRender } from './symbol-render';\nimport { DefaultCanvasTextRender } from './text-render';\nimport { DefaultCanvasPathRender } from './path-render';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { DefaultCanvasGroupRender } from './group-render';\nimport { DefaultCanvasPolygonRender } from './polygon-render';\nimport { DefaultCanvasImageRender } from './image-render';\nimport { DefaultIncrementalDrawContribution } from './incremental-draw-contribution';\nimport {\n ArcRender,\n AreaRender,\n CircleRender,\n DrawContribution,\n GlyphRender,\n GraphicRender,\n GroupRender,\n IncrementalDrawContribution,\n LineRender,\n PathRender,\n PolygonRender,\n Rect3DRender,\n RectRender,\n RenderSelector,\n RichTextRender,\n SymbolRender,\n TextRender,\n ImageRender,\n Arc3dRender,\n Pyramid3dRender\n} from './symbol';\nimport {\n Canvas3DDrawItemInterceptor,\n CommonDrawItemInterceptorContribution,\n DrawItemInterceptor,\n InteractiveDrawItemInterceptorContribution,\n ShadowRootDrawItemInterceptorContribution\n} from './draw-interceptor';\nimport { DefaultCanvasRect3dRender } from './rect3d-render';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DefaultCanvasRichTextRender } from './richtext-render';\nimport {\n DefaultRectBackgroundRenderContribution,\n DefaultRectRenderContribution,\n DefaultRectTextureRenderContribution,\n SplitRectAfterRenderContribution,\n SplitRectBeforeRenderContribution\n} from './contributions/rect-contribution-render';\nimport {\n DefaultSymbolBackgroundRenderContribution,\n DefaultSymbolRenderContribution,\n DefaultSymbolTextureRenderContribution\n} from './contributions/symbol-contribution-render';\nimport {\n DefaultCircleBackgroundRenderContribution,\n DefaultCircleRenderContribution,\n DefaultCircleTextureRenderContribution\n} from './contributions/circle-contribution-render';\nimport {\n DefaultArcBackgroundRenderContribution,\n DefaultArcRenderContribution,\n DefaultArcTextureRenderContribution\n} from './contributions/arc-contribution-render';\nimport { DefaultCanvasGlyphRender } from './glyph-render';\nimport { DefaultImageBackgroundRenderContribution } from './contributions/image-contribution-render';\nimport { DefaultGroupBackgroundRenderContribution } from './contributions/group-contribution-render';\nimport { DefaultCanvasArc3DRender } from './arc3d-render';\nimport { DefaultCanvasPyramid3dRender } from './pyramid3d-render';\nimport {\n DefaultPolygonBackgroundRenderContribution,\n DefaultPolygonTextureRenderContribution\n} from './contributions/polygon-contribution-render';\nimport {\n DefaultPathBackgroundRenderContribution,\n DefaultPathTextureRenderContribution\n} from './contributions/path-contribution-render';\nimport {\n DefaultAreaBackgroundRenderContribution,\n DefaultAreaTextureRenderContribution\n} from './contributions/area-contribution-render';\nimport {\n RectRenderContribution,\n CircleRenderContribution,\n ArcRenderContribution,\n AreaRenderContribution,\n TextRenderContribution,\n PathRenderContribution,\n PolygonRenderContribution,\n GroupRenderContribution,\n ImageRenderContribution,\n SymbolRenderContribution,\n InteractiveSubRenderContribution\n} from './contributions/constants';\nimport { DefaultBaseInteractiveRenderContribution } from './contributions';\n\nexport default new ContainerModule(bind => {\n bind(DefaultDrawContribution).toSelf();\n bind(DrawContribution).toService(DefaultDrawContribution);\n bind(DefaultIncrementalDrawContribution).toSelf();\n bind(IncrementalDrawContribution).toService(DefaultIncrementalDrawContribution);\n\n bind(DefaultRenderSelector).toSelf();\n bind(RenderSelector).toService(DefaultRenderSelector);\n\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender);\n bind(GraphicRender).to(DefaultCanvasCircleRender);\n\n // circle 渲染器注入contributions\n bind(DefaultCircleRenderContribution).toSelf().inSingletonScope();\n bind(DefaultCircleBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultCircleTextureRenderContribution).toSelf().inSingletonScope();\n bind(CircleRenderContribution).toService(DefaultCircleRenderContribution);\n bind(CircleRenderContribution).toService(DefaultCircleBackgroundRenderContribution);\n bind(CircleRenderContribution).toService(DefaultCircleTextureRenderContribution);\n bindContributionProvider(bind, CircleRenderContribution);\n\n // rect 渲染器\n bind(DefaultCanvasRectRender).toSelf().inSingletonScope();\n bind(RectRender).to(DefaultCanvasRectRender);\n bind(GraphicRender).to(DefaultCanvasRectRender);\n\n // rect3d 渲染器\n bind(DefaultCanvasRect3dRender).toSelf().inSingletonScope();\n bind(Rect3DRender).toService(DefaultCanvasRect3dRender);\n bind(GraphicRender).toService(Rect3DRender);\n // rect 渲染器注入contributions\n bind(DefaultRectRenderContribution).toSelf().inSingletonScope();\n bind(DefaultRectBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultRectTextureRenderContribution).toSelf().inSingletonScope();\n bind(SplitRectBeforeRenderContribution).toSelf().inSingletonScope();\n bind(SplitRectAfterRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(DefaultRectRenderContribution);\n bind(RectRenderContribution).toService(DefaultRectBackgroundRenderContribution);\n bind(RectRenderContribution).toService(DefaultRectTextureRenderContribution);\n bind(RectRenderContribution).toService(SplitRectBeforeRenderContribution);\n bind(RectRenderContribution).toService(SplitRectAfterRenderContribution);\n bindContributionProvider(bind, RectRenderContribution);\n\n // text 渲染器\n bind(DefaultCanvasTextRender).toSelf().inSingletonScope();\n bind(TextRender).to(DefaultCanvasTextRender);\n bind(GraphicRender).to(DefaultCanvasTextRender);\n bindContributionProvider(bind, TextRenderContribution);\n\n // path 渲染器\n bind(DefaultCanvasPathRender).toSelf().inSingletonScope();\n bind(PathRender).to(DefaultCanvasPathRender);\n bind(GraphicRender).to(DefaultCanvasPathRender);\n\n // path 渲染器注入contributions\n bind(DefaultPathBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultPathTextureRenderContribution).toSelf().inSingletonScope();\n bind(PathRenderContribution).toService(DefaultPathBackgroundRenderContribution);\n bind(PathRenderContribution).toService(DefaultPathTextureRenderContribution);\n bindContributionProvider(bind, PathRenderContribution);\n\n // symbol渲染器\n bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope();\n bind(SymbolRender).to(DefaultCanvasSymbolRender);\n bind(GraphicRender).to(DefaultCanvasSymbolRender);\n\n // symbol 渲染器注入contributions\n bind(DefaultSymbolRenderContribution).toSelf().inSingletonScope();\n bind(DefaultSymbolBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultSymbolTextureRenderContribution).toSelf().inSingletonScope();\n bind(SymbolRenderContribution).toService(DefaultSymbolRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultSymbolBackgroundRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultSymbolTextureRenderContribution);\n bindContributionProvider(bind, SymbolRenderContribution);\n\n // arc 渲染器\n bind(DefaultCanvasArcRender).toSelf().inSingletonScope();\n bind(ArcRender).to(DefaultCanvasArcRender);\n bind(GraphicRender).to(DefaultCanvasArcRender);\n\n // arc3d 渲染器\n bind(DefaultCanvasArc3DRender).toSelf().inSingletonScope();\n bind(Arc3dRender).toService(DefaultCanvasArc3DRender);\n bind(GraphicRender).toService(Arc3dRender);\n\n // arc 渲染器注入contributions\n bind(DefaultArcRenderContribution).toSelf().inSingletonScope();\n bind(DefaultArcBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultArcTextureRenderContribution).toSelf().inSingletonScope();\n bind(ArcRenderContribution).toService(DefaultArcRenderContribution);\n bind(ArcRenderContribution).toService(DefaultArcBackgroundRenderContribution);\n bind(ArcRenderContribution).toService(DefaultArcTextureRenderContribution);\n bindContributionProvider(bind, ArcRenderContribution);\n\n // line渲染器\n bind(DefaultCanvasLineRender).toSelf().inSingletonScope();\n bind(LineRender).to(DefaultCanvasLineRender);\n bind(GraphicRender).to(DefaultCanvasLineRender);\n\n // incremental-line渲染器\n bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope();\n bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope();\n\n // area渲染器\n bind(DefaultCanvasAreaRender).toSelf().inSingletonScope();\n bind(AreaRender).to(DefaultCanvasAreaRender);\n bind(GraphicRender).to(DefaultCanvasAreaRender);\n\n // area 渲染器注入contributions\n bind(DefaultAreaBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultAreaTextureRenderContribution).toSelf().inSingletonScope();\n\n bind(AreaRenderContribution).toService(DefaultAreaBackgroundRenderContribution);\n bind(AreaRenderContribution).toService(DefaultAreaTextureRenderContribution);\n bindContributionProvider(bind, AreaRenderContribution);\n\n // group渲染器\n bind(DefaultCanvasGroupRender).toSelf().inSingletonScope();\n bind(GroupRender).to(DefaultCanvasGroupRender);\n bind(GraphicRender).to(DefaultCanvasGroupRender);\n\n // group 渲染器注入contributions\\\n bind(DefaultGroupBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DefaultGroupBackgroundRenderContribution);\n bindContributionProvider(bind, GroupRenderContribution);\n\n // polygon渲染器\n bind(DefaultCanvasPolygonRender).toSelf().inSingletonScope();\n bind(PolygonRender).to(DefaultCanvasPolygonRender);\n bind(GraphicRender).to(DefaultCanvasPolygonRender);\n\n // polygon 渲染器注入contributions\n bind(DefaultPolygonBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultPolygonTextureRenderContribution).toSelf().inSingletonScope();\n bind(PolygonRenderContribution).toService(DefaultPolygonBackgroundRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultPolygonTextureRenderContribution);\n bindContributionProvider(bind, PolygonRenderContribution);\n\n // glyph渲染器\n bind(DefaultCanvasGlyphRender).toSelf().inSingletonScope();\n bind(GlyphRender).toService(DefaultCanvasGlyphRender);\n bind(GraphicRender).toService(GlyphRender);\n\n // image渲染器\n bind(DefaultCanvasImageRender).toSelf().inSingletonScope();\n bind(ImageRender).toService(DefaultCanvasImageRender);\n bind(GraphicRender).toService(ImageRender);\n\n // image 渲染器注入contributions\n bind(DefaultImageBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(DefaultImageBackgroundRenderContribution);\n bindContributionProvider(bind, ImageRenderContribution);\n\n // richtext渲染器\n bind(DefaultCanvasRichTextRender).toSelf().inSingletonScope();\n bind(RichTextRender).toService(DefaultCanvasRichTextRender);\n bind(GraphicRender).toService(RichTextRender);\n\n // pyramid3d 渲染器\n bind(DefaultCanvasPyramid3dRender).toSelf().inSingletonScope();\n bind(Pyramid3dRender).toService(DefaultCanvasPyramid3dRender);\n bind(GraphicRender).toService(Pyramid3dRender);\n\n // 绑定通用interactive contribution\n bind(DefaultBaseInteractiveRenderContribution).toSelf().inSingletonScope();\n bind(TextRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ArcRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PathRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(RectRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ImageRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(CircleRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(AreaRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bindContributionProvider(bind, InteractiveSubRenderContribution);\n\n bindContributionProvider(bind, GraphicRender);\n\n // interceptor\n bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);\n bind(CommonDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(CommonDrawItemInterceptorContribution);\n bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);\n bind(InteractiveDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(InteractiveDrawItemInterceptorContribution);\n bindContributionProvider(bind, DrawItemInterceptor);\n});\n"]}