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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1001) hide show
  1. package/cjs/allocator/canvas-allocate.js +7 -5
  2. package/cjs/allocator/canvas-allocate.js.map +1 -1
  3. package/cjs/allocator/graphic-allocate.js +17 -17
  4. package/cjs/allocator/graphic-allocate.js.map +1 -1
  5. package/cjs/application.d.ts +13 -5
  6. package/cjs/application.js +25 -2
  7. package/cjs/application.js.map +1 -1
  8. package/cjs/canvas/conical-gradient.js +2 -2
  9. package/cjs/canvas/conical-gradient.js.map +1 -1
  10. package/cjs/canvas/contributions/base-canvas.js +2 -2
  11. package/cjs/canvas/contributions/base-canvas.js.map +1 -1
  12. package/cjs/canvas/empty-context.js +3 -12
  13. package/cjs/canvas/empty-context.js.map +1 -1
  14. package/cjs/canvas/util.js +7 -3
  15. package/cjs/canvas/util.js.map +1 -1
  16. package/cjs/common/diff.js +2 -1
  17. package/cjs/common/enums.js +1 -2
  18. package/cjs/common/performance-raf.js +2 -2
  19. package/cjs/common/performance-raf.js.map +1 -1
  20. package/cjs/common/registry/contribution-registry.d.ts +24 -0
  21. package/cjs/common/registry/contribution-registry.js +61 -0
  22. package/cjs/common/registry/contribution-registry.js.map +1 -0
  23. package/cjs/common/registry/index.d.ts +5 -0
  24. package/cjs/common/registry/index.js +34 -0
  25. package/cjs/common/registry/index.js.map +1 -0
  26. package/cjs/common/registry/service-registry.d.ts +16 -0
  27. package/cjs/common/registry/service-registry.js +57 -0
  28. package/cjs/common/registry/service-registry.js.map +1 -0
  29. package/cjs/common/registry/types.d.ts +1 -0
  30. package/cjs/common/{inversify-lite/interfaces/interfaces.js → registry/types.js} +1 -1
  31. package/cjs/common/registry/types.js.map +1 -0
  32. package/cjs/common/simplify.js +2 -1
  33. package/cjs/common/sort.js +1 -2
  34. package/cjs/core/constants.js +1 -1
  35. package/cjs/core/contributions/env/base-contribution.js +4 -9
  36. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  37. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +4 -13
  38. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  39. package/cjs/core/contributions/layerHandler/empty-contribution.js +4 -13
  40. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  41. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +4 -13
  42. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  43. package/cjs/core/contributions/modules.d.ts +1 -2
  44. package/cjs/core/contributions/modules.js +2 -14
  45. package/cjs/core/contributions/modules.js.map +1 -1
  46. package/cjs/core/contributions/textMeasure/AtextMeasure.js +3 -10
  47. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  48. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js +3 -10
  49. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  50. package/cjs/core/contributions/window/base-contribution.js +3 -12
  51. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  52. package/cjs/core/global.d.ts +2 -2
  53. package/cjs/core/global.js +8 -20
  54. package/cjs/core/global.js.map +1 -1
  55. package/cjs/core/graphic-utils.d.ts +2 -2
  56. package/cjs/core/graphic-utils.js +9 -23
  57. package/cjs/core/graphic-utils.js.map +1 -1
  58. package/cjs/core/layer-service.js +9 -18
  59. package/cjs/core/layer-service.js.map +1 -1
  60. package/cjs/core/layer.js +3 -3
  61. package/cjs/core/layer.js.map +1 -1
  62. package/cjs/core/stage.js +10 -8
  63. package/cjs/core/stage.js.map +1 -1
  64. package/cjs/core/window.js +7 -15
  65. package/cjs/core/window.js.map +1 -1
  66. package/cjs/env-check.js +3 -3
  67. package/cjs/env-check.js.map +1 -1
  68. package/cjs/graphic/arc.js +3 -3
  69. package/cjs/graphic/arc.js.map +1 -1
  70. package/cjs/graphic/arc3d.js +3 -3
  71. package/cjs/graphic/arc3d.js.map +1 -1
  72. package/cjs/graphic/area.js +3 -3
  73. package/cjs/graphic/area.js.map +1 -1
  74. package/cjs/graphic/circle.js +3 -3
  75. package/cjs/graphic/circle.js.map +1 -1
  76. package/cjs/graphic/glyph.js +1 -1
  77. package/cjs/graphic/glyph.js.map +1 -1
  78. package/cjs/graphic/graphic-service/graphic-service.d.ts +2 -2
  79. package/cjs/graphic/graphic-service/graphic-service.js +5 -18
  80. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  81. package/cjs/graphic/graphic.d.ts +1 -0
  82. package/cjs/graphic/graphic.js +12 -11
  83. package/cjs/graphic/graphic.js.map +1 -1
  84. package/cjs/graphic/group.js +3 -4
  85. package/cjs/graphic/group.js.map +1 -1
  86. package/cjs/graphic/image.js +3 -3
  87. package/cjs/graphic/image.js.map +1 -1
  88. package/cjs/graphic/line.js +3 -3
  89. package/cjs/graphic/line.js.map +1 -1
  90. package/cjs/graphic/path.js +3 -3
  91. package/cjs/graphic/path.js.map +1 -1
  92. package/cjs/graphic/polygon.js +3 -3
  93. package/cjs/graphic/polygon.js.map +1 -1
  94. package/cjs/graphic/pyramid3d.js +2 -3
  95. package/cjs/graphic/pyramid3d.js.map +1 -1
  96. package/cjs/graphic/rect.js +3 -3
  97. package/cjs/graphic/rect.js.map +1 -1
  98. package/cjs/graphic/richtext/utils.js +3 -3
  99. package/cjs/graphic/richtext/utils.js.map +1 -1
  100. package/cjs/graphic/richtext.js +4 -4
  101. package/cjs/graphic/richtext.js.map +1 -1
  102. package/cjs/graphic/star.js +3 -3
  103. package/cjs/graphic/star.js.map +1 -1
  104. package/cjs/graphic/symbol.js +3 -3
  105. package/cjs/graphic/symbol.js.map +1 -1
  106. package/cjs/graphic/text.js +6 -7
  107. package/cjs/graphic/text.js.map +1 -1
  108. package/cjs/graphic/tools.js +2 -2
  109. package/cjs/graphic/tools.js.map +1 -1
  110. package/cjs/graphic/wrap-text.js +2 -2
  111. package/cjs/graphic/wrap-text.js.map +1 -1
  112. package/cjs/index.d.ts +3 -22
  113. package/cjs/index.js +59 -27
  114. package/cjs/index.js.map +1 -1
  115. package/cjs/interface/canvas.d.ts +1 -1
  116. package/cjs/interface/canvas.js.map +1 -1
  117. package/cjs/modules.js +6 -17
  118. package/cjs/modules.js.map +1 -1
  119. package/cjs/picker/global-picker-service.js +4 -13
  120. package/cjs/picker/global-picker-service.js.map +1 -1
  121. package/cjs/picker/pick-interceptor.js +9 -19
  122. package/cjs/picker/pick-interceptor.js.map +1 -1
  123. package/cjs/picker/picker-service.d.ts +3 -3
  124. package/cjs/picker/picker-service.js +8 -21
  125. package/cjs/picker/picker-service.js.map +1 -1
  126. package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js +5 -6
  127. package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
  128. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  129. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  130. package/cjs/plugins/builtin-plugin/edit-module.js +3 -4
  131. package/cjs/plugins/builtin-plugin/edit-module.js.map +1 -1
  132. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  133. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
  134. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  135. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
  136. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  137. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
  138. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  139. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +8 -10
  140. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  141. package/cjs/plugins/plugin-service.d.ts +2 -2
  142. package/cjs/plugins/plugin-service.js +7 -21
  143. package/cjs/plugins/plugin-service.js.map +1 -1
  144. package/cjs/register-modules.d.ts +9 -0
  145. package/cjs/register-modules.js +79 -0
  146. package/cjs/register-modules.js.map +1 -0
  147. package/cjs/render/contributions/render/arc-render.d.ts +2 -2
  148. package/cjs/render/contributions/render/arc-render.js +7 -21
  149. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  150. package/cjs/render/contributions/render/arc3d-render.js +3 -10
  151. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  152. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  153. package/cjs/render/contributions/render/area-render.js +7 -21
  154. package/cjs/render/contributions/render/area-render.js.map +1 -1
  155. package/cjs/render/contributions/render/base-render.js +1 -1
  156. package/cjs/render/contributions/render/base-render.js.map +1 -1
  157. package/cjs/render/contributions/render/circle-render.d.ts +2 -2
  158. package/cjs/render/contributions/render/circle-render.js +7 -21
  159. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  160. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +2 -2
  161. package/cjs/render/contributions/render/contributions/base-contribution-render.js +7 -20
  162. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  163. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +1 -2
  164. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  165. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +5 -13
  166. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  167. package/cjs/render/contributions/render/draw-contribution.d.ts +3 -3
  168. package/cjs/render/contributions/render/draw-contribution.js +9 -22
  169. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  170. package/cjs/render/contributions/render/draw-interceptor.js +3 -12
  171. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  172. package/cjs/render/contributions/render/glyph-render.js +3 -10
  173. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  174. package/cjs/render/contributions/render/graphic-render.js +1 -10
  175. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  176. package/cjs/render/contributions/render/group-render.d.ts +2 -2
  177. package/cjs/render/contributions/render/group-render.js +7 -20
  178. package/cjs/render/contributions/render/group-render.js.map +1 -1
  179. package/cjs/render/contributions/render/image-render.d.ts +2 -2
  180. package/cjs/render/contributions/render/image-render.js +7 -21
  181. package/cjs/render/contributions/render/image-render.js.map +1 -1
  182. package/cjs/render/contributions/render/incremental-area-render.js +3 -10
  183. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  184. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +3 -5
  185. package/cjs/render/contributions/render/incremental-draw-contribution.js +10 -23
  186. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  187. package/cjs/render/contributions/render/incremental-line-render.js +3 -10
  188. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  189. package/cjs/render/contributions/render/index.d.ts +12 -4
  190. package/cjs/render/contributions/render/index.js +11 -7
  191. package/cjs/render/contributions/render/index.js.map +1 -1
  192. package/cjs/render/contributions/render/line-render.js +3 -10
  193. package/cjs/render/contributions/render/line-render.js.map +1 -1
  194. package/cjs/render/contributions/render/path-render.d.ts +2 -2
  195. package/cjs/render/contributions/render/path-render.js +7 -21
  196. package/cjs/render/contributions/render/path-render.js.map +1 -1
  197. package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
  198. package/cjs/render/contributions/render/polygon-render.js +7 -21
  199. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  200. package/cjs/render/contributions/render/pyramid3d-render.js +3 -10
  201. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  202. package/cjs/render/contributions/render/rect-render.d.ts +2 -2
  203. package/cjs/render/contributions/render/rect-render.js +7 -21
  204. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  205. package/cjs/render/contributions/render/rect3d-render.js +3 -10
  206. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  207. package/cjs/render/contributions/render/richtext-render.js +3 -12
  208. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  209. package/cjs/render/contributions/render/star-render.d.ts +2 -2
  210. package/cjs/render/contributions/render/star-render.js +7 -21
  211. package/cjs/render/contributions/render/star-render.js.map +1 -1
  212. package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
  213. package/cjs/render/contributions/render/symbol-render.js +7 -21
  214. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  215. package/cjs/render/contributions/render/symbol.d.ts +2 -0
  216. package/cjs/render/contributions/render/symbol.js +3 -1
  217. package/cjs/render/contributions/render/symbol.js.map +1 -1
  218. package/cjs/render/contributions/render/text-render.d.ts +2 -2
  219. package/cjs/render/contributions/render/text-render.js +7 -21
  220. package/cjs/render/contributions/render/text-render.js.map +1 -1
  221. package/cjs/render/render-service.js +2 -18
  222. package/cjs/render/render-service.js.map +1 -1
  223. package/cjs/resource-loader/loader.js +6 -6
  224. package/cjs/resource-loader/loader.js.map +1 -1
  225. package/dist/index.es.js +20349 -21178
  226. package/es/allocator/canvas-allocate.js +8 -6
  227. package/es/allocator/canvas-allocate.js.map +1 -1
  228. package/es/allocator/graphic-allocate.js +17 -17
  229. package/es/allocator/graphic-allocate.js.map +1 -1
  230. package/es/application.d.ts +13 -5
  231. package/es/application.js +31 -2
  232. package/es/application.js.map +1 -1
  233. package/es/canvas/conical-gradient.js +2 -2
  234. package/es/canvas/conical-gradient.js.map +1 -1
  235. package/es/canvas/contributions/base-canvas.js +2 -2
  236. package/es/canvas/contributions/base-canvas.js.map +1 -1
  237. package/es/canvas/empty-context.js +2 -16
  238. package/es/canvas/empty-context.js.map +1 -1
  239. package/es/canvas/util.js +7 -5
  240. package/es/canvas/util.js.map +1 -1
  241. package/es/common/diff.js +2 -1
  242. package/es/common/enums.js +1 -2
  243. package/es/common/performance-raf.js +2 -2
  244. package/es/common/performance-raf.js.map +1 -1
  245. package/es/common/registry/contribution-registry.d.ts +24 -0
  246. package/es/common/registry/contribution-registry.js +55 -0
  247. package/es/common/registry/contribution-registry.js.map +1 -0
  248. package/es/common/registry/index.d.ts +5 -0
  249. package/es/common/registry/index.js +4 -0
  250. package/es/common/registry/index.js.map +1 -0
  251. package/es/common/registry/service-registry.d.ts +16 -0
  252. package/es/common/registry/service-registry.js +51 -0
  253. package/es/common/registry/service-registry.js.map +1 -0
  254. package/es/common/registry/types.d.ts +1 -0
  255. package/es/common/registry/types.js +2 -0
  256. package/es/common/registry/types.js.map +1 -0
  257. package/es/common/simplify.js +2 -1
  258. package/es/common/sort.js +1 -2
  259. package/es/core/constants.js +1 -1
  260. package/es/core/contributions/env/base-contribution.js +3 -13
  261. package/es/core/contributions/env/base-contribution.js.map +1 -1
  262. package/es/core/contributions/layerHandler/canvas2d-contribution.js +4 -18
  263. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  264. package/es/core/contributions/layerHandler/empty-contribution.js +4 -18
  265. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  266. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +4 -18
  267. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  268. package/es/core/contributions/modules.d.ts +1 -2
  269. package/es/core/contributions/modules.js +1 -9
  270. package/es/core/contributions/modules.js.map +1 -1
  271. package/es/core/contributions/textMeasure/AtextMeasure.js +2 -14
  272. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  273. package/es/core/contributions/textMeasure/textMeasure-contribution.js +2 -14
  274. package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  275. package/es/core/contributions/window/base-contribution.js +2 -16
  276. package/es/core/contributions/window/base-contribution.js.map +1 -1
  277. package/es/core/global.d.ts +2 -2
  278. package/es/core/global.js +9 -24
  279. package/es/core/global.js.map +1 -1
  280. package/es/core/graphic-utils.d.ts +2 -2
  281. package/es/core/graphic-utils.js +12 -34
  282. package/es/core/graphic-utils.js.map +1 -1
  283. package/es/core/layer-service.js +10 -23
  284. package/es/core/layer-service.js.map +1 -1
  285. package/es/core/layer.js +3 -3
  286. package/es/core/layer.js.map +1 -1
  287. package/es/core/stage.js +10 -10
  288. package/es/core/stage.js.map +1 -1
  289. package/es/core/window.js +9 -23
  290. package/es/core/window.js.map +1 -1
  291. package/es/env-check.js +3 -3
  292. package/es/env-check.js.map +1 -1
  293. package/es/graphic/arc.js +3 -3
  294. package/es/graphic/arc.js.map +1 -1
  295. package/es/graphic/arc3d.js +3 -4
  296. package/es/graphic/arc3d.js.map +1 -1
  297. package/es/graphic/area.js +3 -3
  298. package/es/graphic/area.js.map +1 -1
  299. package/es/graphic/circle.js +3 -3
  300. package/es/graphic/circle.js.map +1 -1
  301. package/es/graphic/glyph.js +1 -1
  302. package/es/graphic/glyph.js.map +1 -1
  303. package/es/graphic/graphic-service/graphic-service.d.ts +2 -2
  304. package/es/graphic/graphic-service/graphic-service.js +5 -21
  305. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  306. package/es/graphic/graphic.d.ts +1 -0
  307. package/es/graphic/graphic.js +14 -9
  308. package/es/graphic/graphic.js.map +1 -1
  309. package/es/graphic/group.js +3 -3
  310. package/es/graphic/group.js.map +1 -1
  311. package/es/graphic/image.js +3 -3
  312. package/es/graphic/image.js.map +1 -1
  313. package/es/graphic/line.js +3 -3
  314. package/es/graphic/line.js.map +1 -1
  315. package/es/graphic/path.js +3 -3
  316. package/es/graphic/path.js.map +1 -1
  317. package/es/graphic/polygon.js +3 -3
  318. package/es/graphic/polygon.js.map +1 -1
  319. package/es/graphic/pyramid3d.js +2 -2
  320. package/es/graphic/pyramid3d.js.map +1 -1
  321. package/es/graphic/rect.js +3 -3
  322. package/es/graphic/rect.js.map +1 -1
  323. package/es/graphic/richtext/utils.js +3 -3
  324. package/es/graphic/richtext/utils.js.map +1 -1
  325. package/es/graphic/richtext.js +4 -4
  326. package/es/graphic/richtext.js.map +1 -1
  327. package/es/graphic/star.js +3 -3
  328. package/es/graphic/star.js.map +1 -1
  329. package/es/graphic/symbol.js +3 -3
  330. package/es/graphic/symbol.js.map +1 -1
  331. package/es/graphic/text.js +6 -6
  332. package/es/graphic/text.js.map +1 -1
  333. package/es/graphic/tools.js +2 -2
  334. package/es/graphic/tools.js.map +1 -1
  335. package/es/graphic/wrap-text.js +2 -2
  336. package/es/graphic/wrap-text.js.map +1 -1
  337. package/es/index.d.ts +3 -22
  338. package/es/index.js +3 -41
  339. package/es/index.js.map +1 -1
  340. package/es/interface/canvas.d.ts +1 -1
  341. package/es/interface/canvas.js.map +1 -1
  342. package/es/modules.js +10 -36
  343. package/es/modules.js.map +1 -1
  344. package/es/picker/global-picker-service.js +4 -18
  345. package/es/picker/global-picker-service.js.map +1 -1
  346. package/es/picker/pick-interceptor.js +8 -32
  347. package/es/picker/pick-interceptor.js.map +1 -1
  348. package/es/picker/picker-service.d.ts +3 -3
  349. package/es/picker/picker-service.js +10 -25
  350. package/es/picker/picker-service.js.map +1 -1
  351. package/es/plugins/builtin-plugin/auto-refresh-plugin.js +6 -6
  352. package/es/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
  353. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  354. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  355. package/es/plugins/builtin-plugin/edit-module.js +3 -3
  356. package/es/plugins/builtin-plugin/edit-module.js.map +1 -1
  357. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  358. package/es/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
  359. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  360. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
  361. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  362. package/es/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
  363. package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  364. package/es/plugins/builtin-plugin/richtext-edit-plugin.js +6 -6
  365. package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  366. package/es/plugins/plugin-service.d.ts +2 -2
  367. package/es/plugins/plugin-service.js +7 -26
  368. package/es/plugins/plugin-service.js.map +1 -1
  369. package/es/register-modules.d.ts +9 -0
  370. package/es/register-modules.js +117 -0
  371. package/es/register-modules.js.map +1 -0
  372. package/es/render/contributions/render/arc-render.d.ts +2 -2
  373. package/es/render/contributions/render/arc-render.js +8 -25
  374. package/es/render/contributions/render/arc-render.js.map +1 -1
  375. package/es/render/contributions/render/arc3d-render.js +2 -14
  376. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  377. package/es/render/contributions/render/area-render.d.ts +2 -2
  378. package/es/render/contributions/render/area-render.js +8 -25
  379. package/es/render/contributions/render/area-render.js.map +1 -1
  380. package/es/render/contributions/render/base-render.js +1 -1
  381. package/es/render/contributions/render/base-render.js.map +1 -1
  382. package/es/render/contributions/render/circle-render.d.ts +2 -2
  383. package/es/render/contributions/render/circle-render.js +8 -25
  384. package/es/render/contributions/render/circle-render.js.map +1 -1
  385. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +2 -2
  386. package/es/render/contributions/render/contributions/base-contribution-render.js +8 -24
  387. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  388. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +1 -2
  389. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  390. package/es/render/contributions/render/contributions/rect-contribution-render.js +4 -20
  391. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  392. package/es/render/contributions/render/draw-contribution.d.ts +3 -3
  393. package/es/render/contributions/render/draw-contribution.js +11 -29
  394. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  395. package/es/render/contributions/render/draw-interceptor.js +2 -16
  396. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  397. package/es/render/contributions/render/glyph-render.js +2 -14
  398. package/es/render/contributions/render/glyph-render.js.map +1 -1
  399. package/es/render/contributions/render/graphic-render.js +1 -13
  400. package/es/render/contributions/render/graphic-render.js.map +1 -1
  401. package/es/render/contributions/render/group-render.d.ts +2 -2
  402. package/es/render/contributions/render/group-render.js +9 -25
  403. package/es/render/contributions/render/group-render.js.map +1 -1
  404. package/es/render/contributions/render/image-render.d.ts +2 -2
  405. package/es/render/contributions/render/image-render.js +8 -25
  406. package/es/render/contributions/render/image-render.js.map +1 -1
  407. package/es/render/contributions/render/incremental-area-render.js +2 -14
  408. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  409. package/es/render/contributions/render/incremental-draw-contribution.d.ts +3 -5
  410. package/es/render/contributions/render/incremental-draw-contribution.js +12 -30
  411. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  412. package/es/render/contributions/render/incremental-line-render.js +2 -14
  413. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  414. package/es/render/contributions/render/index.d.ts +12 -4
  415. package/es/render/contributions/render/index.js +24 -8
  416. package/es/render/contributions/render/index.js.map +1 -1
  417. package/es/render/contributions/render/line-render.js +2 -14
  418. package/es/render/contributions/render/line-render.js.map +1 -1
  419. package/es/render/contributions/render/path-render.d.ts +2 -2
  420. package/es/render/contributions/render/path-render.js +8 -25
  421. package/es/render/contributions/render/path-render.js.map +1 -1
  422. package/es/render/contributions/render/polygon-render.d.ts +2 -2
  423. package/es/render/contributions/render/polygon-render.js +8 -25
  424. package/es/render/contributions/render/polygon-render.js.map +1 -1
  425. package/es/render/contributions/render/pyramid3d-render.js +2 -14
  426. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  427. package/es/render/contributions/render/rect-render.d.ts +2 -2
  428. package/es/render/contributions/render/rect-render.js +8 -25
  429. package/es/render/contributions/render/rect-render.js.map +1 -1
  430. package/es/render/contributions/render/rect3d-render.js +2 -14
  431. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  432. package/es/render/contributions/render/richtext-render.js +2 -16
  433. package/es/render/contributions/render/richtext-render.js.map +1 -1
  434. package/es/render/contributions/render/star-render.d.ts +2 -2
  435. package/es/render/contributions/render/star-render.js +8 -25
  436. package/es/render/contributions/render/star-render.js.map +1 -1
  437. package/es/render/contributions/render/symbol-render.d.ts +2 -2
  438. package/es/render/contributions/render/symbol-render.js +8 -25
  439. package/es/render/contributions/render/symbol-render.js.map +1 -1
  440. package/es/render/contributions/render/symbol.d.ts +2 -0
  441. package/es/render/contributions/render/symbol.js +4 -0
  442. package/es/render/contributions/render/symbol.js.map +1 -1
  443. package/es/render/contributions/render/text-render.d.ts +2 -2
  444. package/es/render/contributions/render/text-render.js +7 -24
  445. package/es/render/contributions/render/text-render.js.map +1 -1
  446. package/es/render/render-service.js +2 -22
  447. package/es/render/render-service.js.map +1 -1
  448. package/es/resource-loader/loader.js +6 -6
  449. package/es/resource-loader/loader.js.map +1 -1
  450. package/package.json +1 -1
  451. package/cjs/common/contribution-provider.d.ts +0 -20
  452. package/cjs/common/contribution-provider.js +0 -46
  453. package/cjs/common/contribution-provider.js.map +0 -1
  454. package/cjs/common/inversify/annotation/inject.d.ts +0 -1
  455. package/cjs/common/inversify/annotation/inject.js +0 -10
  456. package/cjs/common/inversify/annotation/inject.js.map +0 -1
  457. package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
  458. package/cjs/common/inversify/annotation/inject_base.js +0 -39
  459. package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
  460. package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
  461. package/cjs/common/inversify/annotation/injectable.js +0 -46
  462. package/cjs/common/inversify/annotation/injectable.js.map +0 -1
  463. package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
  464. package/cjs/common/inversify/annotation/multi_inject.js +0 -10
  465. package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
  466. package/cjs/common/inversify/annotation/named.d.ts +0 -1
  467. package/cjs/common/inversify/annotation/named.js +0 -14
  468. package/cjs/common/inversify/annotation/named.js.map +0 -1
  469. package/cjs/common/inversify/annotation/optional.d.ts +0 -2
  470. package/cjs/common/inversify/annotation/optional.js +0 -14
  471. package/cjs/common/inversify/annotation/optional.js.map +0 -1
  472. package/cjs/common/inversify/binding.d.ts +0 -18
  473. package/cjs/common/inversify/binding.js +0 -26
  474. package/cjs/common/inversify/binding.js.map +0 -1
  475. package/cjs/common/inversify/container.d.ts +0 -28
  476. package/cjs/common/inversify/container.js +0 -158
  477. package/cjs/common/inversify/container.js.map +0 -1
  478. package/cjs/common/inversify/cotainer-module.d.ts +0 -6
  479. package/cjs/common/inversify/cotainer-module.js +0 -16
  480. package/cjs/common/inversify/cotainer-module.js.map +0 -1
  481. package/cjs/common/inversify/index.d.ts +0 -7
  482. package/cjs/common/inversify/index.js +0 -75
  483. package/cjs/common/inversify/index.js.map +0 -1
  484. package/cjs/common/inversify/interfaces.d.ts +0 -218
  485. package/cjs/common/inversify/interfaces.js +0 -6
  486. package/cjs/common/inversify/interfaces.js.map +0 -1
  487. package/cjs/common/inversify/literal_types.d.ts +0 -5
  488. package/cjs/common/inversify/literal_types.js +0 -34
  489. package/cjs/common/inversify/literal_types.js.map +0 -1
  490. package/cjs/common/inversify/meta-data.d.ts +0 -6
  491. package/cjs/common/inversify/meta-data.js +0 -19
  492. package/cjs/common/inversify/meta-data.js.map +0 -1
  493. package/cjs/common/inversify/metadata_keys.d.ts +0 -12
  494. package/cjs/common/inversify/metadata_keys.js +0 -15
  495. package/cjs/common/inversify/metadata_keys.js.map +0 -1
  496. package/cjs/common/inversify/metadata_reader.d.ts +0 -6
  497. package/cjs/common/inversify/metadata_reader.js +0 -28
  498. package/cjs/common/inversify/metadata_reader.js.map +0 -1
  499. package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  500. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
  501. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  502. package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  503. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
  504. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  505. package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  506. package/cjs/common/inversify/syntax/constraint_helpers.js +0 -20
  507. package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
  508. package/cjs/common/inversify-lite/annotation/decorator_utils.d.ts +0 -16
  509. package/cjs/common/inversify-lite/annotation/decorator_utils.js +0 -97
  510. package/cjs/common/inversify-lite/annotation/decorator_utils.js.map +0 -1
  511. package/cjs/common/inversify-lite/annotation/inject.d.ts +0 -2
  512. package/cjs/common/inversify-lite/annotation/inject.js +0 -36
  513. package/cjs/common/inversify-lite/annotation/inject.js.map +0 -1
  514. package/cjs/common/inversify-lite/annotation/inject_base.d.ts +0 -3
  515. package/cjs/common/inversify-lite/annotation/inject_base.js +0 -20
  516. package/cjs/common/inversify-lite/annotation/inject_base.js.map +0 -1
  517. package/cjs/common/inversify-lite/annotation/injectable.d.ts +0 -2
  518. package/cjs/common/inversify-lite/annotation/injectable.js +0 -48
  519. package/cjs/common/inversify-lite/annotation/injectable.js.map +0 -1
  520. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.d.ts +0 -7
  521. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js +0 -17
  522. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js.map +0 -1
  523. package/cjs/common/inversify-lite/annotation/multi_inject.d.ts +0 -2
  524. package/cjs/common/inversify-lite/annotation/multi_inject.js +0 -36
  525. package/cjs/common/inversify-lite/annotation/multi_inject.js.map +0 -1
  526. package/cjs/common/inversify-lite/annotation/named.d.ts +0 -2
  527. package/cjs/common/inversify-lite/annotation/named.js +0 -39
  528. package/cjs/common/inversify-lite/annotation/named.js.map +0 -1
  529. package/cjs/common/inversify-lite/annotation/property_event_decorator.d.ts +0 -4
  530. package/cjs/common/inversify-lite/annotation/property_event_decorator.js +0 -24
  531. package/cjs/common/inversify-lite/annotation/property_event_decorator.js.map +0 -1
  532. package/cjs/common/inversify-lite/bindings/binding.d.ts +0 -20
  533. package/cjs/common/inversify-lite/bindings/binding.js +0 -27
  534. package/cjs/common/inversify-lite/bindings/binding.js.map +0 -1
  535. package/cjs/common/inversify-lite/bindings/binding_count.d.ts +0 -5
  536. package/cjs/common/inversify-lite/bindings/binding_count.js +0 -10
  537. package/cjs/common/inversify-lite/bindings/binding_count.js.map +0 -1
  538. package/cjs/common/inversify-lite/constants/error_msgs.d.ts +0 -32
  539. package/cjs/common/inversify-lite/constants/error_msgs.js +0 -50
  540. package/cjs/common/inversify-lite/constants/error_msgs.js.map +0 -1
  541. package/cjs/common/inversify-lite/constants/literal_types.d.ts +0 -5
  542. package/cjs/common/inversify-lite/constants/literal_types.js +0 -35
  543. package/cjs/common/inversify-lite/constants/literal_types.js.map +0 -1
  544. package/cjs/common/inversify-lite/constants/metadata_keys.d.ts +0 -13
  545. package/cjs/common/inversify-lite/constants/metadata_keys.js +0 -16
  546. package/cjs/common/inversify-lite/constants/metadata_keys.js.map +0 -1
  547. package/cjs/common/inversify-lite/container/container.d.ts +0 -46
  548. package/cjs/common/inversify-lite/container/container.js +0 -290
  549. package/cjs/common/inversify-lite/container/container.js.map +0 -1
  550. package/cjs/common/inversify-lite/container/container_module.d.ts +0 -11
  551. package/cjs/common/inversify-lite/container/container_module.js +0 -24
  552. package/cjs/common/inversify-lite/container/container_module.js.map +0 -1
  553. package/cjs/common/inversify-lite/container/lookup.d.ts +0 -16
  554. package/cjs/common/inversify-lite/container/lookup.js +0 -97
  555. package/cjs/common/inversify-lite/container/lookup.js.map +0 -1
  556. package/cjs/common/inversify-lite/index.d.ts +0 -1
  557. package/cjs/common/inversify-lite/index.js +0 -21
  558. package/cjs/common/inversify-lite/index.js.map +0 -1
  559. package/cjs/common/inversify-lite/interfaces/interfaces.d.ts +0 -237
  560. package/cjs/common/inversify-lite/interfaces/interfaces.js.map +0 -1
  561. package/cjs/common/inversify-lite/planning/context.d.ts +0 -11
  562. package/cjs/common/inversify-lite/planning/context.js +0 -22
  563. package/cjs/common/inversify-lite/planning/context.js.map +0 -1
  564. package/cjs/common/inversify-lite/planning/metadata.d.ts +0 -8
  565. package/cjs/common/inversify-lite/planning/metadata.js +0 -44
  566. package/cjs/common/inversify-lite/planning/metadata.js.map +0 -1
  567. package/cjs/common/inversify-lite/planning/metadata_reader.d.ts +0 -6
  568. package/cjs/common/inversify-lite/planning/metadata_reader.js +0 -51
  569. package/cjs/common/inversify-lite/planning/metadata_reader.js.map +0 -1
  570. package/cjs/common/inversify-lite/planning/plan.d.ts +0 -7
  571. package/cjs/common/inversify-lite/planning/plan.js +0 -14
  572. package/cjs/common/inversify-lite/planning/plan.js.map +0 -1
  573. package/cjs/common/inversify-lite/planning/planner.d.ts +0 -5
  574. package/cjs/common/inversify-lite/planning/planner.js +0 -132
  575. package/cjs/common/inversify-lite/planning/planner.js.map +0 -1
  576. package/cjs/common/inversify-lite/planning/queryable_string.d.ts +0 -9
  577. package/cjs/common/inversify-lite/planning/queryable_string.js +0 -23
  578. package/cjs/common/inversify-lite/planning/queryable_string.js.map +0 -1
  579. package/cjs/common/inversify-lite/planning/reflection_utils.d.ts +0 -5
  580. package/cjs/common/inversify-lite/planning/reflection_utils.js +0 -129
  581. package/cjs/common/inversify-lite/planning/reflection_utils.js.map +0 -1
  582. package/cjs/common/inversify-lite/planning/request.d.ts +0 -14
  583. package/cjs/common/inversify-lite/planning/request.js +0 -22
  584. package/cjs/common/inversify-lite/planning/request.js.map +0 -1
  585. package/cjs/common/inversify-lite/planning/target.d.ts +0 -23
  586. package/cjs/common/inversify-lite/planning/target.js +0 -81
  587. package/cjs/common/inversify-lite/planning/target.js.map +0 -1
  588. package/cjs/common/inversify-lite/resolution/instantiation.d.ts +0 -3
  589. package/cjs/common/inversify-lite/resolution/instantiation.js +0 -143
  590. package/cjs/common/inversify-lite/resolution/instantiation.js.map +0 -1
  591. package/cjs/common/inversify-lite/resolution/resolver.d.ts +0 -3
  592. package/cjs/common/inversify-lite/resolution/resolver.js +0 -74
  593. package/cjs/common/inversify-lite/resolution/resolver.js.map +0 -1
  594. package/cjs/common/inversify-lite/scope/scope.d.ts +0 -3
  595. package/cjs/common/inversify-lite/scope/scope.js +0 -56
  596. package/cjs/common/inversify-lite/scope/scope.js.map +0 -1
  597. package/cjs/common/inversify-lite/syntax/binding_in_syntax.d.ts +0 -9
  598. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js +0 -25
  599. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js.map +0 -1
  600. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.d.ts +0 -12
  601. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -29
  602. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +0 -1
  603. package/cjs/common/inversify-lite/syntax/binding_on_syntax.d.ts +0 -6
  604. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js +0 -14
  605. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js.map +0 -1
  606. package/cjs/common/inversify-lite/syntax/binding_to_syntax.d.ts +0 -18
  607. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js +0 -88
  608. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js.map +0 -1
  609. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.d.ts +0 -8
  610. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -19
  611. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js.map +0 -1
  612. package/cjs/common/inversify-lite/syntax/binding_when_syntax.d.ts +0 -7
  613. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js +0 -20
  614. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js.map +0 -1
  615. package/cjs/common/inversify-lite/syntax/constraint_helpers.d.ts +0 -3
  616. package/cjs/common/inversify-lite/syntax/constraint_helpers.js +0 -38
  617. package/cjs/common/inversify-lite/syntax/constraint_helpers.js.map +0 -1
  618. package/cjs/common/inversify-lite/utils/async.d.ts +0 -3
  619. package/cjs/common/inversify-lite/utils/async.js +0 -15
  620. package/cjs/common/inversify-lite/utils/async.js.map +0 -1
  621. package/cjs/common/inversify-lite/utils/binding_utils.d.ts +0 -4
  622. package/cjs/common/inversify-lite/utils/binding_utils.js +0 -94
  623. package/cjs/common/inversify-lite/utils/binding_utils.js.map +0 -1
  624. package/cjs/common/inversify-lite/utils/clonable.d.ts +0 -3
  625. package/cjs/common/inversify-lite/utils/clonable.js +0 -10
  626. package/cjs/common/inversify-lite/utils/clonable.js.map +0 -1
  627. package/cjs/common/inversify-lite/utils/exceptions.d.ts +0 -2
  628. package/cjs/common/inversify-lite/utils/exceptions.js +0 -43
  629. package/cjs/common/inversify-lite/utils/exceptions.js.map +0 -1
  630. package/cjs/common/inversify-lite/utils/factory_type.d.ts +0 -5
  631. package/cjs/common/inversify-lite/utils/factory_type.js +0 -11
  632. package/cjs/common/inversify-lite/utils/factory_type.js.map +0 -1
  633. package/cjs/common/inversify-lite/utils/id.d.ts +0 -2
  634. package/cjs/common/inversify-lite/utils/id.js +0 -14
  635. package/cjs/common/inversify-lite/utils/id.js.map +0 -1
  636. package/cjs/common/inversify-lite/utils/js.d.ts +0 -1
  637. package/cjs/common/inversify-lite/utils/js.js +0 -14
  638. package/cjs/common/inversify-lite/utils/js.js.map +0 -1
  639. package/cjs/common/inversify-lite/utils/serialization.d.ts +0 -10
  640. package/cjs/common/inversify-lite/utils/serialization.js +0 -99
  641. package/cjs/common/inversify-lite/utils/serialization.js.map +0 -1
  642. package/cjs/container.d.ts +0 -2
  643. package/cjs/container.js +0 -10
  644. package/cjs/container.js.map +0 -1
  645. package/cjs/core/contributions/env/modules.d.ts +0 -3
  646. package/cjs/core/contributions/env/modules.js +0 -12
  647. package/cjs/core/contributions/env/modules.js.map +0 -1
  648. package/cjs/core/contributions/layerHandler/modules.d.ts +0 -3
  649. package/cjs/core/contributions/layerHandler/modules.js +0 -12
  650. package/cjs/core/contributions/layerHandler/modules.js.map +0 -1
  651. package/cjs/core/contributions/textMeasure/modules.d.ts +0 -3
  652. package/cjs/core/contributions/textMeasure/modules.js +0 -13
  653. package/cjs/core/contributions/textMeasure/modules.js.map +0 -1
  654. package/cjs/core/core-modules.d.ts +0 -3
  655. package/cjs/core/core-modules.js +0 -15
  656. package/cjs/core/core-modules.js.map +0 -1
  657. package/cjs/core/global-module.d.ts +0 -1
  658. package/cjs/core/global-module.js +0 -3
  659. package/cjs/core/global-module.js.map +0 -1
  660. package/cjs/graphic/graphic-service/graphic-module.d.ts +0 -3
  661. package/cjs/graphic/graphic-service/graphic-module.js +0 -12
  662. package/cjs/graphic/graphic-service/graphic-module.js.map +0 -1
  663. package/cjs/picker/pick-modules.d.ts +0 -3
  664. package/cjs/picker/pick-modules.js +0 -22
  665. package/cjs/picker/pick-modules.js.map +0 -1
  666. package/cjs/plugins/plugin-modules.d.ts +0 -3
  667. package/cjs/plugins/plugin-modules.js +0 -12
  668. package/cjs/plugins/plugin-modules.js.map +0 -1
  669. package/cjs/render/contributions/modules.d.ts +0 -2
  670. package/cjs/render/contributions/modules.js +0 -20
  671. package/cjs/render/contributions/modules.js.map +0 -1
  672. package/cjs/render/contributions/render/arc-module.d.ts +0 -2
  673. package/cjs/render/contributions/render/arc-module.js +0 -17
  674. package/cjs/render/contributions/render/arc-module.js.map +0 -1
  675. package/cjs/render/contributions/render/arc3d-module.d.ts +0 -2
  676. package/cjs/render/contributions/render/arc3d-module.js +0 -15
  677. package/cjs/render/contributions/render/arc3d-module.js.map +0 -1
  678. package/cjs/render/contributions/render/area-module.d.ts +0 -2
  679. package/cjs/render/contributions/render/area-module.js +0 -18
  680. package/cjs/render/contributions/render/area-module.js.map +0 -1
  681. package/cjs/render/contributions/render/circle-module.d.ts +0 -2
  682. package/cjs/render/contributions/render/circle-module.js +0 -17
  683. package/cjs/render/contributions/render/circle-module.js.map +0 -1
  684. package/cjs/render/contributions/render/glyph-module.d.ts +0 -2
  685. package/cjs/render/contributions/render/glyph-module.js +0 -15
  686. package/cjs/render/contributions/render/glyph-module.js.map +0 -1
  687. package/cjs/render/contributions/render/image-module.d.ts +0 -2
  688. package/cjs/render/contributions/render/image-module.js +0 -16
  689. package/cjs/render/contributions/render/image-module.js.map +0 -1
  690. package/cjs/render/contributions/render/line-module.d.ts +0 -2
  691. package/cjs/render/contributions/render/line-module.js +0 -17
  692. package/cjs/render/contributions/render/line-module.js.map +0 -1
  693. package/cjs/render/contributions/render/module.d.ts +0 -3
  694. package/cjs/render/contributions/render/module.js +0 -23
  695. package/cjs/render/contributions/render/module.js.map +0 -1
  696. package/cjs/render/contributions/render/path-module.d.ts +0 -2
  697. package/cjs/render/contributions/render/path-module.js +0 -17
  698. package/cjs/render/contributions/render/path-module.js.map +0 -1
  699. package/cjs/render/contributions/render/polygon-module.d.ts +0 -2
  700. package/cjs/render/contributions/render/polygon-module.js +0 -16
  701. package/cjs/render/contributions/render/polygon-module.js.map +0 -1
  702. package/cjs/render/contributions/render/pyramid3d-module.d.ts +0 -2
  703. package/cjs/render/contributions/render/pyramid3d-module.js +0 -15
  704. package/cjs/render/contributions/render/pyramid3d-module.js.map +0 -1
  705. package/cjs/render/contributions/render/rect-module.d.ts +0 -2
  706. package/cjs/render/contributions/render/rect-module.js +0 -20
  707. package/cjs/render/contributions/render/rect-module.js.map +0 -1
  708. package/cjs/render/contributions/render/rect3d-module.d.ts +0 -2
  709. package/cjs/render/contributions/render/rect3d-module.js +0 -15
  710. package/cjs/render/contributions/render/rect3d-module.js.map +0 -1
  711. package/cjs/render/contributions/render/richtext-module.d.ts +0 -2
  712. package/cjs/render/contributions/render/richtext-module.js +0 -15
  713. package/cjs/render/contributions/render/richtext-module.js.map +0 -1
  714. package/cjs/render/contributions/render/star-module.d.ts +0 -2
  715. package/cjs/render/contributions/render/star-module.js +0 -15
  716. package/cjs/render/contributions/render/star-module.js.map +0 -1
  717. package/cjs/render/contributions/render/symbol-module.d.ts +0 -2
  718. package/cjs/render/contributions/render/symbol-module.js +0 -17
  719. package/cjs/render/contributions/render/symbol-module.js.map +0 -1
  720. package/cjs/render/contributions/render/text-module.d.ts +0 -2
  721. package/cjs/render/contributions/render/text-module.js +0 -16
  722. package/cjs/render/contributions/render/text-module.js.map +0 -1
  723. package/cjs/render/render-modules.d.ts +0 -3
  724. package/cjs/render/render-modules.js +0 -12
  725. package/cjs/render/render-modules.js.map +0 -1
  726. package/es/common/contribution-provider.d.ts +0 -20
  727. package/es/common/contribution-provider.js +0 -39
  728. package/es/common/contribution-provider.js.map +0 -1
  729. package/es/common/inversify/annotation/inject.d.ts +0 -1
  730. package/es/common/inversify/annotation/inject.js +0 -6
  731. package/es/common/inversify/annotation/inject.js.map +0 -1
  732. package/es/common/inversify/annotation/inject_base.d.ts +0 -14
  733. package/es/common/inversify/annotation/inject_base.js +0 -29
  734. package/es/common/inversify/annotation/inject_base.js.map +0 -1
  735. package/es/common/inversify/annotation/injectable.d.ts +0 -1
  736. package/es/common/inversify/annotation/injectable.js +0 -10
  737. package/es/common/inversify/annotation/injectable.js.map +0 -1
  738. package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
  739. package/es/common/inversify/annotation/multi_inject.js +0 -6
  740. package/es/common/inversify/annotation/multi_inject.js.map +0 -1
  741. package/es/common/inversify/annotation/named.d.ts +0 -1
  742. package/es/common/inversify/annotation/named.js +0 -10
  743. package/es/common/inversify/annotation/named.js.map +0 -1
  744. package/es/common/inversify/annotation/optional.d.ts +0 -2
  745. package/es/common/inversify/annotation/optional.js +0 -12
  746. package/es/common/inversify/annotation/optional.js.map +0 -1
  747. package/es/common/inversify/binding.d.ts +0 -18
  748. package/es/common/inversify/binding.js +0 -22
  749. package/es/common/inversify/binding.js.map +0 -1
  750. package/es/common/inversify/container.d.ts +0 -28
  751. package/es/common/inversify/container.js +0 -158
  752. package/es/common/inversify/container.js.map +0 -1
  753. package/es/common/inversify/cotainer-module.d.ts +0 -6
  754. package/es/common/inversify/cotainer-module.js +0 -8
  755. package/es/common/inversify/cotainer-module.js.map +0 -1
  756. package/es/common/inversify/index.d.ts +0 -7
  757. package/es/common/inversify/index.js +0 -14
  758. package/es/common/inversify/index.js.map +0 -1
  759. package/es/common/inversify/interfaces.d.ts +0 -218
  760. package/es/common/inversify/interfaces.js +0 -2
  761. package/es/common/inversify/interfaces.js.map +0 -1
  762. package/es/common/inversify/literal_types.d.ts +0 -5
  763. package/es/common/inversify/literal_types.js +0 -20
  764. package/es/common/inversify/literal_types.js.map +0 -1
  765. package/es/common/inversify/meta-data.d.ts +0 -6
  766. package/es/common/inversify/meta-data.js +0 -11
  767. package/es/common/inversify/meta-data.js.map +0 -1
  768. package/es/common/inversify/metadata_keys.d.ts +0 -12
  769. package/es/common/inversify/metadata_keys.js +0 -28
  770. package/es/common/inversify/metadata_keys.js.map +0 -1
  771. package/es/common/inversify/metadata_reader.d.ts +0 -6
  772. package/es/common/inversify/metadata_reader.js +0 -18
  773. package/es/common/inversify/metadata_reader.js.map +0 -1
  774. package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
  775. package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
  776. package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
  777. package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
  778. package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
  779. package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
  780. package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
  781. package/es/common/inversify/syntax/constraint_helpers.js +0 -18
  782. package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
  783. package/es/common/inversify-lite/annotation/decorator_utils.d.ts +0 -16
  784. package/es/common/inversify-lite/annotation/decorator_utils.js +0 -67
  785. package/es/common/inversify-lite/annotation/decorator_utils.js.map +0 -1
  786. package/es/common/inversify-lite/annotation/inject.d.ts +0 -2
  787. package/es/common/inversify-lite/annotation/inject.js +0 -8
  788. package/es/common/inversify-lite/annotation/inject.js.map +0 -1
  789. package/es/common/inversify-lite/annotation/inject_base.d.ts +0 -3
  790. package/es/common/inversify-lite/annotation/inject_base.js +0 -16
  791. package/es/common/inversify-lite/annotation/inject_base.js.map +0 -1
  792. package/es/common/inversify-lite/annotation/injectable.d.ts +0 -2
  793. package/es/common/inversify-lite/annotation/injectable.js +0 -16
  794. package/es/common/inversify-lite/annotation/injectable.js.map +0 -1
  795. package/es/common/inversify-lite/annotation/lazy_service_identifier.d.ts +0 -7
  796. package/es/common/inversify-lite/annotation/lazy_service_identifier.js +0 -9
  797. package/es/common/inversify-lite/annotation/lazy_service_identifier.js.map +0 -1
  798. package/es/common/inversify-lite/annotation/multi_inject.d.ts +0 -2
  799. package/es/common/inversify-lite/annotation/multi_inject.js +0 -8
  800. package/es/common/inversify-lite/annotation/multi_inject.js.map +0 -1
  801. package/es/common/inversify-lite/annotation/named.d.ts +0 -2
  802. package/es/common/inversify-lite/annotation/named.js +0 -12
  803. package/es/common/inversify-lite/annotation/named.js.map +0 -1
  804. package/es/common/inversify-lite/annotation/property_event_decorator.d.ts +0 -4
  805. package/es/common/inversify-lite/annotation/property_event_decorator.js +0 -14
  806. package/es/common/inversify-lite/annotation/property_event_decorator.js.map +0 -1
  807. package/es/common/inversify-lite/bindings/binding.d.ts +0 -20
  808. package/es/common/inversify-lite/bindings/binding.js +0 -23
  809. package/es/common/inversify-lite/bindings/binding.js.map +0 -1
  810. package/es/common/inversify-lite/bindings/binding_count.d.ts +0 -5
  811. package/es/common/inversify-lite/bindings/binding_count.js +0 -6
  812. package/es/common/inversify-lite/bindings/binding_count.js.map +0 -1
  813. package/es/common/inversify-lite/constants/error_msgs.d.ts +0 -32
  814. package/es/common/inversify-lite/constants/error_msgs.js +0 -64
  815. package/es/common/inversify-lite/constants/error_msgs.js.map +0 -1
  816. package/es/common/inversify-lite/constants/literal_types.d.ts +0 -5
  817. package/es/common/inversify-lite/constants/literal_types.js +0 -21
  818. package/es/common/inversify-lite/constants/literal_types.js.map +0 -1
  819. package/es/common/inversify-lite/constants/metadata_keys.d.ts +0 -13
  820. package/es/common/inversify-lite/constants/metadata_keys.js +0 -30
  821. package/es/common/inversify-lite/constants/metadata_keys.js.map +0 -1
  822. package/es/common/inversify-lite/container/container.d.ts +0 -46
  823. package/es/common/inversify-lite/container/container.js +0 -279
  824. package/es/common/inversify-lite/container/container.js.map +0 -1
  825. package/es/common/inversify-lite/container/container_module.d.ts +0 -11
  826. package/es/common/inversify-lite/container/container_module.js +0 -14
  827. package/es/common/inversify-lite/container/container_module.js.map +0 -1
  828. package/es/common/inversify-lite/container/lookup.d.ts +0 -16
  829. package/es/common/inversify-lite/container/lookup.js +0 -68
  830. package/es/common/inversify-lite/container/lookup.js.map +0 -1
  831. package/es/common/inversify-lite/index.d.ts +0 -1
  832. package/es/common/inversify-lite/index.js +0 -2
  833. package/es/common/inversify-lite/index.js.map +0 -1
  834. package/es/common/inversify-lite/interfaces/interfaces.d.ts +0 -237
  835. package/es/common/inversify-lite/interfaces/interfaces.js +0 -2
  836. package/es/common/inversify-lite/interfaces/interfaces.js.map +0 -1
  837. package/es/common/inversify-lite/planning/context.d.ts +0 -11
  838. package/es/common/inversify-lite/planning/context.js +0 -16
  839. package/es/common/inversify-lite/planning/context.js.map +0 -1
  840. package/es/common/inversify-lite/planning/metadata.d.ts +0 -8
  841. package/es/common/inversify-lite/planning/metadata.js +0 -13
  842. package/es/common/inversify-lite/planning/metadata.js.map +0 -1
  843. package/es/common/inversify-lite/planning/metadata_reader.d.ts +0 -6
  844. package/es/common/inversify-lite/planning/metadata_reader.js +0 -18
  845. package/es/common/inversify-lite/planning/metadata_reader.js.map +0 -1
  846. package/es/common/inversify-lite/planning/plan.d.ts +0 -7
  847. package/es/common/inversify-lite/planning/plan.js +0 -8
  848. package/es/common/inversify-lite/planning/plan.js.map +0 -1
  849. package/es/common/inversify-lite/planning/planner.d.ts +0 -5
  850. package/es/common/inversify-lite/planning/planner.js +0 -120
  851. package/es/common/inversify-lite/planning/planner.js.map +0 -1
  852. package/es/common/inversify-lite/planning/queryable_string.d.ts +0 -9
  853. package/es/common/inversify-lite/planning/queryable_string.js +0 -17
  854. package/es/common/inversify-lite/planning/queryable_string.js.map +0 -1
  855. package/es/common/inversify-lite/planning/reflection_utils.d.ts +0 -5
  856. package/es/common/inversify-lite/planning/reflection_utils.js +0 -99
  857. package/es/common/inversify-lite/planning/reflection_utils.js.map +0 -1
  858. package/es/common/inversify-lite/planning/request.d.ts +0 -14
  859. package/es/common/inversify-lite/planning/request.js +0 -16
  860. package/es/common/inversify-lite/planning/request.js.map +0 -1
  861. package/es/common/inversify-lite/planning/target.d.ts +0 -23
  862. package/es/common/inversify-lite/planning/target.js +0 -58
  863. package/es/common/inversify-lite/planning/target.js.map +0 -1
  864. package/es/common/inversify-lite/resolution/instantiation.d.ts +0 -3
  865. package/es/common/inversify-lite/resolution/instantiation.js +0 -117
  866. package/es/common/inversify-lite/resolution/instantiation.js.map +0 -1
  867. package/es/common/inversify-lite/resolution/resolver.d.ts +0 -3
  868. package/es/common/inversify-lite/resolution/resolver.js +0 -55
  869. package/es/common/inversify-lite/resolution/resolver.js.map +0 -1
  870. package/es/common/inversify-lite/scope/scope.d.ts +0 -3
  871. package/es/common/inversify-lite/scope/scope.js +0 -50
  872. package/es/common/inversify-lite/scope/scope.js.map +0 -1
  873. package/es/common/inversify-lite/syntax/binding_in_syntax.d.ts +0 -9
  874. package/es/common/inversify-lite/syntax/binding_in_syntax.js +0 -21
  875. package/es/common/inversify-lite/syntax/binding_in_syntax.js.map +0 -1
  876. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.d.ts +0 -12
  877. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -25
  878. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +0 -1
  879. package/es/common/inversify-lite/syntax/binding_on_syntax.d.ts +0 -6
  880. package/es/common/inversify-lite/syntax/binding_on_syntax.js +0 -8
  881. package/es/common/inversify-lite/syntax/binding_on_syntax.js.map +0 -1
  882. package/es/common/inversify-lite/syntax/binding_to_syntax.d.ts +0 -18
  883. package/es/common/inversify-lite/syntax/binding_to_syntax.js +0 -63
  884. package/es/common/inversify-lite/syntax/binding_to_syntax.js.map +0 -1
  885. package/es/common/inversify-lite/syntax/binding_when_on_syntax.d.ts +0 -8
  886. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -13
  887. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js.map +0 -1
  888. package/es/common/inversify-lite/syntax/binding_when_syntax.d.ts +0 -7
  889. package/es/common/inversify-lite/syntax/binding_when_syntax.js +0 -15
  890. package/es/common/inversify-lite/syntax/binding_when_syntax.js.map +0 -1
  891. package/es/common/inversify-lite/syntax/constraint_helpers.d.ts +0 -3
  892. package/es/common/inversify-lite/syntax/constraint_helpers.js +0 -11
  893. package/es/common/inversify-lite/syntax/constraint_helpers.js.map +0 -1
  894. package/es/common/inversify-lite/utils/async.d.ts +0 -3
  895. package/es/common/inversify-lite/utils/async.js +0 -10
  896. package/es/common/inversify-lite/utils/async.js.map +0 -1
  897. package/es/common/inversify-lite/utils/binding_utils.d.ts +0 -4
  898. package/es/common/inversify-lite/utils/binding_utils.js +0 -65
  899. package/es/common/inversify-lite/utils/binding_utils.js.map +0 -1
  900. package/es/common/inversify-lite/utils/clonable.d.ts +0 -3
  901. package/es/common/inversify-lite/utils/clonable.js +0 -6
  902. package/es/common/inversify-lite/utils/clonable.js.map +0 -1
  903. package/es/common/inversify-lite/utils/exceptions.d.ts +0 -2
  904. package/es/common/inversify-lite/utils/exceptions.js +0 -8
  905. package/es/common/inversify-lite/utils/exceptions.js.map +0 -1
  906. package/es/common/inversify-lite/utils/factory_type.d.ts +0 -5
  907. package/es/common/inversify-lite/utils/factory_type.js +0 -7
  908. package/es/common/inversify-lite/utils/factory_type.js.map +0 -1
  909. package/es/common/inversify-lite/utils/id.d.ts +0 -2
  910. package/es/common/inversify-lite/utils/id.js +0 -8
  911. package/es/common/inversify-lite/utils/id.js.map +0 -1
  912. package/es/common/inversify-lite/utils/js.d.ts +0 -1
  913. package/es/common/inversify-lite/utils/js.js +0 -8
  914. package/es/common/inversify-lite/utils/js.js.map +0 -1
  915. package/es/common/inversify-lite/utils/serialization.d.ts +0 -10
  916. package/es/common/inversify-lite/utils/serialization.js +0 -66
  917. package/es/common/inversify-lite/utils/serialization.js.map +0 -1
  918. package/es/container.d.ts +0 -2
  919. package/es/container.js +0 -4
  920. package/es/container.js.map +0 -1
  921. package/es/core/contributions/env/modules.d.ts +0 -3
  922. package/es/core/contributions/env/modules.js +0 -10
  923. package/es/core/contributions/env/modules.js.map +0 -1
  924. package/es/core/contributions/layerHandler/modules.d.ts +0 -3
  925. package/es/core/contributions/layerHandler/modules.js +0 -10
  926. package/es/core/contributions/layerHandler/modules.js.map +0 -1
  927. package/es/core/contributions/textMeasure/modules.d.ts +0 -3
  928. package/es/core/contributions/textMeasure/modules.js +0 -11
  929. package/es/core/contributions/textMeasure/modules.js.map +0 -1
  930. package/es/core/core-modules.d.ts +0 -3
  931. package/es/core/core-modules.js +0 -20
  932. package/es/core/core-modules.js.map +0 -1
  933. package/es/core/global-module.d.ts +0 -1
  934. package/es/core/global-module.js +0 -3
  935. package/es/core/global-module.js.map +0 -1
  936. package/es/graphic/graphic-service/graphic-module.d.ts +0 -3
  937. package/es/graphic/graphic-service/graphic-module.js +0 -12
  938. package/es/graphic/graphic-service/graphic-module.js.map +0 -1
  939. package/es/picker/pick-modules.d.ts +0 -3
  940. package/es/picker/pick-modules.js +0 -18
  941. package/es/picker/pick-modules.js.map +0 -1
  942. package/es/plugins/plugin-modules.d.ts +0 -3
  943. package/es/plugins/plugin-modules.js +0 -14
  944. package/es/plugins/plugin-modules.js.map +0 -1
  945. package/es/render/contributions/modules.d.ts +0 -2
  946. package/es/render/contributions/modules.js +0 -6
  947. package/es/render/contributions/modules.js.map +0 -1
  948. package/es/render/contributions/render/arc-module.d.ts +0 -2
  949. package/es/render/contributions/render/arc-module.js +0 -21
  950. package/es/render/contributions/render/arc-module.js.map +0 -1
  951. package/es/render/contributions/render/arc3d-module.d.ts +0 -2
  952. package/es/render/contributions/render/arc3d-module.js +0 -13
  953. package/es/render/contributions/render/arc3d-module.js.map +0 -1
  954. package/es/render/contributions/render/area-module.d.ts +0 -2
  955. package/es/render/contributions/render/area-module.js +0 -23
  956. package/es/render/contributions/render/area-module.js.map +0 -1
  957. package/es/render/contributions/render/circle-module.d.ts +0 -2
  958. package/es/render/contributions/render/circle-module.js +0 -21
  959. package/es/render/contributions/render/circle-module.js.map +0 -1
  960. package/es/render/contributions/render/glyph-module.d.ts +0 -2
  961. package/es/render/contributions/render/glyph-module.js +0 -13
  962. package/es/render/contributions/render/glyph-module.js.map +0 -1
  963. package/es/render/contributions/render/image-module.d.ts +0 -2
  964. package/es/render/contributions/render/image-module.js +0 -20
  965. package/es/render/contributions/render/image-module.js.map +0 -1
  966. package/es/render/contributions/render/line-module.d.ts +0 -2
  967. package/es/render/contributions/render/line-module.js +0 -16
  968. package/es/render/contributions/render/line-module.js.map +0 -1
  969. package/es/render/contributions/render/module.d.ts +0 -3
  970. package/es/render/contributions/render/module.js +0 -28
  971. package/es/render/contributions/render/module.js.map +0 -1
  972. package/es/render/contributions/render/path-module.d.ts +0 -2
  973. package/es/render/contributions/render/path-module.js +0 -21
  974. package/es/render/contributions/render/path-module.js.map +0 -1
  975. package/es/render/contributions/render/polygon-module.d.ts +0 -2
  976. package/es/render/contributions/render/polygon-module.js +0 -20
  977. package/es/render/contributions/render/polygon-module.js.map +0 -1
  978. package/es/render/contributions/render/pyramid3d-module.d.ts +0 -2
  979. package/es/render/contributions/render/pyramid3d-module.js +0 -13
  980. package/es/render/contributions/render/pyramid3d-module.js.map +0 -1
  981. package/es/render/contributions/render/rect-module.d.ts +0 -2
  982. package/es/render/contributions/render/rect-module.js +0 -23
  983. package/es/render/contributions/render/rect-module.js.map +0 -1
  984. package/es/render/contributions/render/rect3d-module.d.ts +0 -2
  985. package/es/render/contributions/render/rect3d-module.js +0 -13
  986. package/es/render/contributions/render/rect3d-module.js.map +0 -1
  987. package/es/render/contributions/render/richtext-module.d.ts +0 -2
  988. package/es/render/contributions/render/richtext-module.js +0 -13
  989. package/es/render/contributions/render/richtext-module.js.map +0 -1
  990. package/es/render/contributions/render/star-module.d.ts +0 -2
  991. package/es/render/contributions/render/star-module.js +0 -13
  992. package/es/render/contributions/render/star-module.js.map +0 -1
  993. package/es/render/contributions/render/symbol-module.d.ts +0 -2
  994. package/es/render/contributions/render/symbol-module.js +0 -21
  995. package/es/render/contributions/render/symbol-module.js.map +0 -1
  996. package/es/render/contributions/render/text-module.d.ts +0 -2
  997. package/es/render/contributions/render/text-module.js +0 -20
  998. package/es/render/contributions/render/text-module.js.map +0 -1
  999. package/es/render/render-modules.d.ts +0 -3
  1000. package/es/render/render-modules.js +0 -10
  1001. package/es/render/render-modules.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/draw-interceptor.ts"],"names":[],"mappings":"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","file":"draw-interceptor.js","sourcesContent":["import { injectable } from '../../../common/inversify-lite';\nimport { AABBBounds } from '@visactor/vutils';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../../../common/matrix';\nimport { graphicCreator } from '../../../graphic/graphic-creator';\nimport type {\n IContext2d,\n IDrawContext,\n IDrawContribution,\n IDrawItemInterceptorContribution,\n IGraphic,\n IGraphicRenderDrawParams,\n IGroup,\n ILayer,\n IRenderService\n} from '../../../interface';\nimport { mat4Allocate, matrixAllocate } from '../../../allocator/matrix-allocate';\nimport { draw3dItem } from '../../../common/3d-interceptor';\n\n// 拦截器\nexport const DrawItemInterceptor = Symbol.for('DrawItemInterceptor');\n\n// @injectable()\n// export class DefaultDrawItemInterceptor implements IDrawItemInterceptor {\n// drawItem(graphic: IGraphic, renderService: IRenderService, params?: IGraphicRenderDrawParams): boolean {\n// return false;\n// }\n// }\n\nconst tempDirtyBounds = new AABBBounds();\nconst tempBackupDirtyBounds = new AABBBounds();\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\n// @injectable()\nexport class ShadowRootDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 如果graphic没设置shadowRootIdx,shadowRoot设置了,那就使用shadowRoot的shadowRootIdx\n if (\n graphic.attribute.shadowRootIdx == null &&\n graphic.shadowRoot &&\n graphic.shadowRoot.attribute.shadowRootIdx < 0\n ) {\n return false;\n }\n if (\n graphic.attribute.shadowRootIdx > 0 ||\n !graphic.attribute.shadowRootIdx ||\n (graphic.shadowRoot && graphic.shadowRoot.attribute.shadowRootIdx > 0)\n ) {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 如果graphic没设置shadowRootIdx,shadowRoot设置了,那就使用shadowRoot的shadowRootIdx\n if (\n graphic.attribute.shadowRootIdx == null &&\n graphic.shadowRoot &&\n graphic.shadowRoot.attribute.shadowRootIdx > 0\n ) {\n return false;\n }\n if (graphic.attribute.shadowRootIdx < 0 || (graphic.shadowRoot && graphic.shadowRoot.attribute.shadowRootIdx < 0)) {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n protected drawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (!graphic.shadowRoot) {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n context.transformFromMatrix(graphic.transMatrix, true);\n\n // 变换dirtyBounds\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n tempDirtyBounds.copy(drawContribution.dirtyBounds);\n tempBackupDirtyBounds.copy(drawContribution.backupDirtyBounds);\n const m = graphic.globalTransMatrix.getInverse();\n drawContribution.dirtyBounds.copy(drawContribution.backupDirtyBounds).transformWithMatrix(m);\n drawContribution.backupDirtyBounds.copy(drawContribution.dirtyBounds);\n }\n\n // 设置context的transform到上一个节点\n drawContribution.renderGroup(graphic.shadowRoot, drawContext, matrixAllocate.allocate(1, 0, 0, 1, 0, 0));\n\n context.highPerformanceRestore();\n\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n drawContribution.dirtyBounds.copy(tempDirtyBounds);\n drawContribution.backupDirtyBounds.copy(tempBackupDirtyBounds);\n }\n\n return true;\n }\n}\n\n// @injectable()\nexport class DebugDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (graphic.attribute._debug_bounds) {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n protected drawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (!graphic.attribute._debug_bounds) {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n graphic.parent && context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n graphic.glyphHost &&\n graphic.glyphHost.parent &&\n context.setTransformFromMatrix(graphic.glyphHost.parent.globalTransMatrix, true);\n\n const b = graphic.AABBBounds;\n\n if (graphic.attribute._debug_bounds !== true) {\n graphic.attribute._debug_bounds(context, graphic);\n }\n context.strokeRect(b.x1, b.y1, b.width(), b.height());\n\n context.highPerformanceRestore();\n\n return true;\n }\n}\n\n@injectable()\nexport class CommonDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n interceptors: IDrawItemInterceptorContribution[];\n constructor() {\n this.interceptors = [\n new ShadowRootDrawItemInterceptorContribution(),\n new Canvas3DDrawItemInterceptor(),\n new InteractiveDrawItemInterceptorContribution(),\n new DebugDrawItemInterceptorContribution()\n ];\n }\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 【性能方案】判定写在外层,减少遍历判断耗时,10000条数据减少1ms\n if (\n (!graphic.in3dMode || drawContext.in3dInterceptor) &&\n !graphic.shadowRoot &&\n !graphic.attribute._debug_bounds &&\n !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)\n ) {\n return false;\n }\n\n for (let i = 0; i < this.interceptors.length; i++) {\n if (\n this.interceptors[i].afterDrawItem &&\n this.interceptors[i].afterDrawItem(graphic, renderService, drawContext, drawContribution, params)\n ) {\n return true;\n }\n }\n return false;\n }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 【性能方案】判定写在外层,减少遍历判断耗时,10000条数据减少1ms\n if (\n (!graphic.in3dMode || drawContext.in3dInterceptor) &&\n !graphic.shadowRoot &&\n !graphic.attribute._debug_bounds &&\n !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)\n ) {\n return false;\n }\n\n for (let i = 0; i < this.interceptors.length; i++) {\n if (\n this.interceptors[i].beforeDrawItem &&\n this.interceptors[i].beforeDrawItem(graphic, renderService, drawContext, drawContribution, params)\n ) {\n return true;\n }\n }\n return false;\n }\n}\n\n/**\n * 交互层节点拦截器,用于支持交互层图元\n */\n// @injectable()\nexport class InteractiveDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n processing: boolean;\n // afterDrawItem(\n // graphic: IGraphic,\n // renderService: IRenderService,\n // drawContext: IDrawContext,\n // drawContribution: IDrawContribution,\n // params?: IGraphicRenderDrawParams\n // ): boolean {\n\n // if (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) {\n // this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n // }\n // return false;\n // }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (this.processing) {\n return false;\n }\n // 判断是否在交互层\n if (graphic.baseGraphic) {\n return this.beforeDrawInteractive(graphic, renderService, drawContext, drawContribution, params);\n }\n return this.beforeSetInteractive(graphic, renderService, drawContext, drawContribution, params);\n }\n\n /**\n * 用于提升interactive\n * @param graphic\n * @param renderService\n * @param drawContext\n * @param drawContribution\n * @param params\n */\n beforeSetInteractive(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n let interactiveGraphic: IGraphic = graphic.interactiveGraphic;\n if (graphic.attribute.globalZIndex) {\n if (!interactiveGraphic) {\n interactiveGraphic = graphic.clone();\n graphic.interactiveGraphic = interactiveGraphic;\n interactiveGraphic.baseGraphic = graphic;\n }\n // 设置位置\n // const m = graphic.globalTransMatrix;\n interactiveGraphic.setAttributes(\n {\n globalZIndex: 0,\n zIndex: graphic.attribute.globalZIndex\n },\n false,\n { skipUpdateCallback: true }\n );\n // 添加到交互层中\n drawContext.stage.tryInitInteractiveLayer();\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n const shadowRoot = this.getShadowRoot(interactiveLayer);\n shadowRoot.add(interactiveGraphic);\n }\n return true;\n } else if (interactiveGraphic) {\n // 从交互层中删除\n drawContext.stage.tryInitInteractiveLayer();\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n const shadowRoot = this.getShadowRoot(interactiveLayer);\n shadowRoot.removeChild(interactiveGraphic);\n }\n graphic.interactiveGraphic = null;\n interactiveGraphic.baseGraphic = null;\n }\n return false;\n }\n\n /**\n * 用于绘制interactive\n * @param graphic\n * @param renderService\n * @param drawContext\n * @param drawContribution\n * @param params\n */\n beforeDrawInteractive(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 默认使用原始的图元\n const baseGraphic = graphic.baseGraphic as IGraphic;\n // 如果主图元被删除了,那把交互图元这个也删除\n // 一直往上找\n let intree = !!baseGraphic.stage;\n let _g = baseGraphic.parent;\n while (intree && _g) {\n if ((_g as any).stage === _g) {\n break;\n }\n intree = !!_g.stage;\n _g = _g.parent;\n }\n if (!intree) {\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n const shadowRoot = this.getShadowRoot(interactiveLayer);\n shadowRoot.removeChild(graphic);\n }\n return true;\n }\n if (baseGraphic) {\n this.processing = true;\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n context.setTransformFromMatrix(baseGraphic.parent.globalTransMatrix, true);\n // context.fillRect(0, 0, 100, 100);\n // 设置context的transform到上一个节点\n baseGraphic.isContainer\n ? drawContribution.renderGroup(baseGraphic as IGroup, drawContext, baseGraphic.parent.globalTransMatrix)\n : drawContribution.renderItem(baseGraphic, drawContext);\n\n context.highPerformanceRestore();\n this.processing = false;\n\n return true;\n }\n return false;\n }\n getShadowRoot(interactiveLayer: ILayer) {\n // 获取绑定影子节点的group\n let group = interactiveLayer.getElementById('_interactive_group') as IGroup;\n if (!group) {\n group = graphicCreator.CreateGraphic('group', {});\n group.id = '_interactive_group';\n interactiveLayer.add(group);\n }\n return group.shadowRoot ?? group.attachShadow();\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n// @injectable()\nexport class Canvas3DDrawItemInterceptor implements IDrawItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) {\n if (!graphic.in3dMode || drawContext.in3dInterceptor) {\n return false;\n }\n\n drawContext.in3dInterceptor = true;\n const { context, stage } = renderService.drawParams;\n const canvas = context.canvas;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 将三维矩阵换成四维矩阵\n const m = context.currentMatrix;\n m.a /= context.dpr;\n m.b /= context.dpr;\n m.c /= context.dpr;\n m.d /= context.dpr;\n m.e /= context.dpr;\n m.f /= context.dpr;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n const lastModelMatrix = context.modelMatrix;\n if (lastModelMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n }\n } else {\n context.modelMatrix = matrix;\n }\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n draw3dItem(\n context,\n graphic,\n (isPie: boolean, is3d: boolean) => {\n return drawContribution.renderGroup(\n graphic as IGroup,\n drawContext,\n graphic.parent.globalTransMatrix,\n !isPie && is3d\n );\n },\n drawContext\n );\n } else {\n drawContribution.renderItem(graphic, drawContext);\n }\n context.camera = null;\n context.restore();\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n drawContext.in3dInterceptor = false;\n return true;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/draw-interceptor.ts"],"names":[],"mappings":"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","file":"draw-interceptor.js","sourcesContent":["import { AABBBounds } from '@visactor/vutils';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../../../common/matrix';\nimport { graphicCreator } from '../../../graphic/graphic-creator';\nimport type {\n IContext2d,\n IDrawContext,\n IDrawContribution,\n IDrawItemInterceptorContribution,\n IGraphic,\n IGraphicRenderDrawParams,\n IGroup,\n ILayer,\n IRenderService\n} from '../../../interface';\nimport { mat4Allocate, matrixAllocate } from '../../../allocator/matrix-allocate';\nimport { draw3dItem } from '../../../common/3d-interceptor';\n\n// 拦截器\nexport const DrawItemInterceptor = Symbol.for('DrawItemInterceptor');\n\n// @injectable()\n// export class DefaultDrawItemInterceptor implements IDrawItemInterceptor {\n// drawItem(graphic: IGraphic, renderService: IRenderService, params?: IGraphicRenderDrawParams): boolean {\n// return false;\n// }\n// }\n\nconst tempDirtyBounds = new AABBBounds();\nconst tempBackupDirtyBounds = new AABBBounds();\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\n// @injectable()\nexport class ShadowRootDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 如果graphic没设置shadowRootIdx,shadowRoot设置了,那就使用shadowRoot的shadowRootIdx\n if (\n graphic.attribute.shadowRootIdx == null &&\n graphic.shadowRoot &&\n graphic.shadowRoot.attribute.shadowRootIdx < 0\n ) {\n return false;\n }\n if (\n graphic.attribute.shadowRootIdx > 0 ||\n !graphic.attribute.shadowRootIdx ||\n (graphic.shadowRoot && graphic.shadowRoot.attribute.shadowRootIdx > 0)\n ) {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 如果graphic没设置shadowRootIdx,shadowRoot设置了,那就使用shadowRoot的shadowRootIdx\n if (\n graphic.attribute.shadowRootIdx == null &&\n graphic.shadowRoot &&\n graphic.shadowRoot.attribute.shadowRootIdx > 0\n ) {\n return false;\n }\n if (graphic.attribute.shadowRootIdx < 0 || (graphic.shadowRoot && graphic.shadowRoot.attribute.shadowRootIdx < 0)) {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n protected drawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (!graphic.shadowRoot) {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n context.transformFromMatrix(graphic.transMatrix, true);\n\n // 变换dirtyBounds\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n tempDirtyBounds.copy(drawContribution.dirtyBounds);\n tempBackupDirtyBounds.copy(drawContribution.backupDirtyBounds);\n const m = graphic.globalTransMatrix.getInverse();\n drawContribution.dirtyBounds.copy(drawContribution.backupDirtyBounds).transformWithMatrix(m);\n drawContribution.backupDirtyBounds.copy(drawContribution.dirtyBounds);\n }\n\n // 设置context的transform到上一个节点\n drawContribution.renderGroup(graphic.shadowRoot, drawContext, matrixAllocate.allocate(1, 0, 0, 1, 0, 0));\n\n context.highPerformanceRestore();\n\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n drawContribution.dirtyBounds.copy(tempDirtyBounds);\n drawContribution.backupDirtyBounds.copy(tempBackupDirtyBounds);\n }\n\n return true;\n }\n}\n\n// @injectable()\nexport class DebugDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (graphic.attribute._debug_bounds) {\n this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n }\n return false;\n }\n\n protected drawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (!graphic.attribute._debug_bounds) {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n graphic.parent && context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n graphic.glyphHost &&\n graphic.glyphHost.parent &&\n context.setTransformFromMatrix(graphic.glyphHost.parent.globalTransMatrix, true);\n\n const b = graphic.AABBBounds;\n\n if (graphic.attribute._debug_bounds !== true) {\n graphic.attribute._debug_bounds(context, graphic);\n }\n context.strokeRect(b.x1, b.y1, b.width(), b.height());\n\n context.highPerformanceRestore();\n\n return true;\n }\n}\n\nexport class CommonDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n interceptors: IDrawItemInterceptorContribution[];\n constructor() {\n this.interceptors = [\n new ShadowRootDrawItemInterceptorContribution(),\n new Canvas3DDrawItemInterceptor(),\n new InteractiveDrawItemInterceptorContribution(),\n new DebugDrawItemInterceptorContribution()\n ];\n }\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 【性能方案】判定写在外层,减少遍历判断耗时,10000条数据减少1ms\n if (\n (!graphic.in3dMode || drawContext.in3dInterceptor) &&\n !graphic.shadowRoot &&\n !graphic.attribute._debug_bounds &&\n !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)\n ) {\n return false;\n }\n\n for (let i = 0; i < this.interceptors.length; i++) {\n if (\n this.interceptors[i].afterDrawItem &&\n this.interceptors[i].afterDrawItem(graphic, renderService, drawContext, drawContribution, params)\n ) {\n return true;\n }\n }\n return false;\n }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 【性能方案】判定写在外层,减少遍历判断耗时,10000条数据减少1ms\n if (\n (!graphic.in3dMode || drawContext.in3dInterceptor) &&\n !graphic.shadowRoot &&\n !graphic.attribute._debug_bounds &&\n !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)\n ) {\n return false;\n }\n\n for (let i = 0; i < this.interceptors.length; i++) {\n if (\n this.interceptors[i].beforeDrawItem &&\n this.interceptors[i].beforeDrawItem(graphic, renderService, drawContext, drawContribution, params)\n ) {\n return true;\n }\n }\n return false;\n }\n}\n\n/**\n * 交互层节点拦截器,用于支持交互层图元\n */\n// @injectable()\nexport class InteractiveDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n processing: boolean;\n // afterDrawItem(\n // graphic: IGraphic,\n // renderService: IRenderService,\n // drawContext: IDrawContext,\n // drawContribution: IDrawContribution,\n // params?: IGraphicRenderDrawParams\n // ): boolean {\n\n // if (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) {\n // this.drawItem(graphic, renderService, drawContext, drawContribution, params);\n // }\n // return false;\n // }\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (this.processing) {\n return false;\n }\n // 判断是否在交互层\n if (graphic.baseGraphic) {\n return this.beforeDrawInteractive(graphic, renderService, drawContext, drawContribution, params);\n }\n return this.beforeSetInteractive(graphic, renderService, drawContext, drawContribution, params);\n }\n\n /**\n * 用于提升interactive\n * @param graphic\n * @param renderService\n * @param drawContext\n * @param drawContribution\n * @param params\n */\n beforeSetInteractive(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n let interactiveGraphic: IGraphic = graphic.interactiveGraphic;\n if (graphic.attribute.globalZIndex) {\n if (!interactiveGraphic) {\n interactiveGraphic = graphic.clone();\n graphic.interactiveGraphic = interactiveGraphic;\n interactiveGraphic.baseGraphic = graphic;\n }\n // 设置位置\n // const m = graphic.globalTransMatrix;\n interactiveGraphic.setAttributes(\n {\n globalZIndex: 0,\n zIndex: graphic.attribute.globalZIndex\n },\n false,\n { skipUpdateCallback: true }\n );\n // 添加到交互层中\n drawContext.stage.tryInitInteractiveLayer();\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n const shadowRoot = this.getShadowRoot(interactiveLayer);\n shadowRoot.add(interactiveGraphic);\n }\n return true;\n } else if (interactiveGraphic) {\n // 从交互层中删除\n drawContext.stage.tryInitInteractiveLayer();\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n const shadowRoot = this.getShadowRoot(interactiveLayer);\n shadowRoot.removeChild(interactiveGraphic);\n }\n graphic.interactiveGraphic = null;\n interactiveGraphic.baseGraphic = null;\n }\n return false;\n }\n\n /**\n * 用于绘制interactive\n * @param graphic\n * @param renderService\n * @param drawContext\n * @param drawContribution\n * @param params\n */\n beforeDrawInteractive(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n // 默认使用原始的图元\n const baseGraphic = graphic.baseGraphic as IGraphic;\n // 如果主图元被删除了,那把交互图元这个也删除\n // 一直往上找\n let intree = !!baseGraphic.stage;\n let _g = baseGraphic.parent;\n while (intree && _g) {\n if ((_g as any).stage === _g) {\n break;\n }\n intree = !!_g.stage;\n _g = _g.parent;\n }\n if (!intree) {\n const interactiveLayer = drawContext.stage.getLayer('_builtin_interactive');\n if (interactiveLayer) {\n const shadowRoot = this.getShadowRoot(interactiveLayer);\n shadowRoot.removeChild(graphic);\n }\n return true;\n }\n if (baseGraphic) {\n this.processing = true;\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n context.setTransformFromMatrix(baseGraphic.parent.globalTransMatrix, true);\n // context.fillRect(0, 0, 100, 100);\n // 设置context的transform到上一个节点\n baseGraphic.isContainer\n ? drawContribution.renderGroup(baseGraphic as IGroup, drawContext, baseGraphic.parent.globalTransMatrix)\n : drawContribution.renderItem(baseGraphic, drawContext);\n\n context.highPerformanceRestore();\n this.processing = false;\n\n return true;\n }\n return false;\n }\n getShadowRoot(interactiveLayer: ILayer) {\n // 获取绑定影子节点的group\n let group = interactiveLayer.getElementById('_interactive_group') as IGroup;\n if (!group) {\n group = graphicCreator.CreateGraphic('group', {});\n group.id = '_interactive_group';\n interactiveLayer.add(group);\n }\n return group.shadowRoot ?? group.attachShadow();\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n// @injectable()\nexport class Canvas3DDrawItemInterceptor implements IDrawItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) {\n if (!graphic.in3dMode || drawContext.in3dInterceptor) {\n return false;\n }\n\n drawContext.in3dInterceptor = true;\n const { context, stage } = renderService.drawParams;\n const canvas = context.canvas;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 将三维矩阵换成四维矩阵\n const m = context.currentMatrix;\n m.a /= context.dpr;\n m.b /= context.dpr;\n m.c /= context.dpr;\n m.d /= context.dpr;\n m.e /= context.dpr;\n m.f /= context.dpr;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n const lastModelMatrix = context.modelMatrix;\n if (lastModelMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n }\n } else {\n context.modelMatrix = matrix;\n }\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n draw3dItem(\n context,\n graphic,\n (isPie: boolean, is3d: boolean) => {\n return drawContribution.renderGroup(\n graphic as IGroup,\n drawContext,\n graphic.parent.globalTransMatrix,\n !isPie && is3d\n );\n },\n drawContext\n );\n } else {\n drawContribution.renderItem(graphic, drawContext);\n }\n context.camera = null;\n context.restore();\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n drawContext.in3dInterceptor = false;\n return true;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
-
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: !0
11
5
  }), exports.DefaultCanvasGlyphRender = void 0;
12
6
 
13
- const inversify_lite_1 = require("../../../common/inversify-lite"), theme_1 = require("../../../graphic/theme"), constants_1 = require("../../../graphic/constants");
7
+ const theme_1 = require("../../../graphic/theme"), constants_1 = require("../../../graphic/constants");
14
8
 
15
- let DefaultCanvasGlyphRender = class {
9
+ class DefaultCanvasGlyphRender {
16
10
  constructor() {
17
11
  this.numberType = constants_1.GLYPH_NUMBER_TYPE;
18
12
  }
@@ -34,8 +28,7 @@ let DefaultCanvasGlyphRender = class {
34
28
  });
35
29
  })), context.highPerformanceRestore();
36
30
  }
37
- };
31
+ }
38
32
 
39
- DefaultCanvasGlyphRender = __decorate([ (0, inversify_lite_1.injectable)() ], DefaultCanvasGlyphRender),
40
33
  exports.DefaultCanvasGlyphRender = DefaultCanvasGlyphRender;
41
34
  //# sourceMappingURL=glyph-render.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/glyph-render.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mEAA4D;AAC5D,kDAAkD;AAClD,0DAA+D;AAcxD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QAEL,eAAU,GAAW,6BAAiB,CAAC;IAyDzC,CAAC;IArDC,MAAM;QACJ,OAAO;IACT,CAAC;IAED,SAAS,CACP,KAAa,EACb,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;QAEZ,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,OAAO;SACR;QACD,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;gBAClC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC7G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,OAAO;SACR;QACD,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,UAAU,CAAC,MAAM;YACf,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AA3DY,wBAAwB;IADpC,IAAA,2BAAU,GAAE;GACA,wBAAwB,CA2DpC;AA3DY,4DAAwB","file":"glyph-render.js","sourcesContent":["import { injectable } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { GLYPH_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IGlyph,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\n\n@injectable()\nexport class DefaultCanvasGlyphRender implements IGraphicRender {\n type: 'glyph';\n numberType: number = GLYPH_NUMBER_TYPE;\n\n // constructor() {}\n\n reInit() {\n return;\n }\n\n drawShape(\n glyph: IGlyph,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (!drawContext.drawContribution) {\n return;\n }\n glyph.getSubGraphic().forEach(item => {\n const renderer = drawContext.drawContribution.getRenderContribution(item);\n if (renderer && renderer.drawShape) {\n renderer.drawShape(item, context, x, y, drawContext, params, fillCb, strokeCb);\n }\n });\n }\n\n draw(glyph: IGlyph, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n if (!drawContext.drawContribution) {\n return;\n }\n const glyphTheme = getTheme(glyph);\n const subGraphic = glyph.getSubGraphic();\n subGraphic.length &&\n subGraphic.forEach(g => {\n drawContext.drawContribution.renderItem(g, drawContext, { theme: glyphTheme });\n });\n\n context.highPerformanceRestore();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/glyph-render.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,0DAA+D;AAa/D,MAAa,wBAAwB;IAArC;QAEE,eAAU,GAAW,6BAAiB,CAAC;IAyDzC,CAAC;IArDC,MAAM;QACJ,OAAO;IACT,CAAC;IAED,SAAS,CACP,KAAa,EACb,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;QAEZ,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,OAAO;SACR;QACD,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;gBAClC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC7G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,OAAO;SACR;QACD,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,UAAU,CAAC,MAAM;YACf,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;CACF;AA3DD,4DA2DC","file":"glyph-render.js","sourcesContent":["import { getTheme } from '../../../graphic/theme';\nimport { GLYPH_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IGlyph,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\n\nexport class DefaultCanvasGlyphRender implements IGraphicRender {\n type: 'glyph';\n numberType: number = GLYPH_NUMBER_TYPE;\n\n // constructor() {}\n\n reInit() {\n return;\n }\n\n drawShape(\n glyph: IGlyph,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (!drawContext.drawContribution) {\n return;\n }\n glyph.getSubGraphic().forEach(item => {\n const renderer = drawContext.drawContribution.getRenderContribution(item);\n if (renderer && renderer.drawShape) {\n renderer.drawShape(item, context, x, y, drawContext, params, fillCb, strokeCb);\n }\n });\n }\n\n draw(glyph: IGlyph, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n if (!drawContext.drawContribution) {\n return;\n }\n const glyphTheme = getTheme(glyph);\n const subGraphic = glyph.getSubGraphic();\n subGraphic.length &&\n subGraphic.forEach(g => {\n drawContext.drawContribution.renderItem(g, drawContext, { theme: glyphTheme });\n });\n\n context.highPerformanceRestore();\n }\n}\n"]}
@@ -1,19 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
-
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: !0
11
5
  }), exports.AbstractGraphicRender = void 0;
12
6
 
13
- const inversify_lite_1 = require("../../../common/inversify-lite");
14
-
15
- let AbstractGraphicRender = class {};
7
+ class AbstractGraphicRender {}
16
8
 
17
- AbstractGraphicRender = __decorate([ (0, inversify_lite_1.injectable)() ], AbstractGraphicRender),
18
9
  exports.AbstractGraphicRender = AbstractGraphicRender;
19
10
  //# sourceMappingURL=graphic-render.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/graphic-render.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mEAA4D;AAIrD,IAAe,qBAAqB,GAApC,MAAe,qBAAqB;CAO1C,CAAA;AAPqB,qBAAqB;IAD1C,IAAA,2BAAU,GAAE;GACS,qBAAqB,CAO1C;AAPqB,sDAAqB","file":"graphic-render.js","sourcesContent":["import { injectable } from '../../../common/inversify-lite';\nimport type { IGraphic, IGraphicRender, IRenderService } from '../../../interface';\n\n@injectable()\nexport abstract class AbstractGraphicRender implements IGraphicRender {\n type: string; // 图元类型\n numberType: number;\n\n abstract draw(graphic: IGraphic, renderService: IRenderService): void;\n\n abstract reInit(): void;\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/graphic-render.ts"],"names":[],"mappings":";;;AAEA,MAAsB,qBAAqB;CAO1C;AAPD,sDAOC","file":"graphic-render.js","sourcesContent":["import type { IGraphic, IGraphicRender, IRenderService } from '../../../interface';\n\nexport abstract class AbstractGraphicRender implements IGraphicRender {\n type: string; // 图元类型\n numberType: number;\n\n abstract draw(graphic: IGraphic, renderService: IRenderService): void;\n\n abstract reInit(): void;\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { IGraphicAttribute, IContext2d, IGroup, IMarkAttribute, IThemeAttribute, IGroupRenderContribution, IDrawContext, IRenderService, IGraphicRender, IGraphicRenderDrawParams, IContributionProvider, IGroupGraphicAttribute } from '../../../interface';
2
2
  export declare class DefaultCanvasGroupRender implements IGraphicRender {
3
- protected readonly groupRenderContribitions: IContributionProvider<IGroupRenderContribution>;
4
3
  type: 'group';
5
4
  numberType: number;
6
5
  _groupRenderContribitions: IGroupRenderContribution[];
7
- constructor(groupRenderContribitions: IContributionProvider<IGroupRenderContribution>);
6
+ protected readonly groupRenderContribitions: IContributionProvider<IGroupRenderContribution>;
7
+ constructor(groupRenderContribitions?: IContributionProvider<IGroupRenderContribution>);
8
8
  reInit(): void;
9
9
  drawShape(group: IGroup, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, groupAttribute?: Required<IGroupGraphicAttribute>): void;
10
10
  draw(group: IGroup, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
@@ -1,26 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- }, __metadata = this && this.__metadata || function(k, v) {
8
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
9
- }, __param = this && this.__param || function(paramIndex, decorator) {
10
- return function(target, key) {
11
- decorator(target, key, paramIndex);
12
- };
13
- };
14
-
15
3
  Object.defineProperty(exports, "__esModule", {
16
4
  value: !0
17
5
  }), exports.DefaultCanvasGroupRender = void 0;
18
6
 
19
- const inversify_lite_1 = require("../../../common/inversify-lite"), theme_1 = require("../../../graphic/theme"), graphic_service_1 = require("../../../graphic/graphic-service/graphic-service"), vutils_1 = require("@visactor/vutils"), contribution_provider_1 = require("../../../common/contribution-provider"), rect_1 = require("../../../common/shape/rect"), utils_1 = require("./utils"), constants_1 = require("./contributions/constants"), matrix_allocate_1 = require("../../../allocator/matrix-allocate"), constants_2 = require("../../../graphic/constants"), enums_1 = require("../../../common/enums"), contributions_1 = require("./contributions"), matrix_1 = require("../../../common/matrix"), application_1 = require("../../../application");
7
+ const theme_1 = require("../../../graphic/theme"), graphic_service_1 = require("../../../graphic/graphic-service/graphic-service"), vutils_1 = require("@visactor/vutils"), rect_1 = require("../../../common/shape/rect"), utils_1 = require("./utils"), constants_1 = require("./contributions/constants"), matrix_allocate_1 = require("../../../allocator/matrix-allocate"), constants_2 = require("../../../graphic/constants"), enums_1 = require("../../../common/enums"), contributions_1 = require("./contributions"), matrix_1 = require("../../../common/matrix"), modules_1 = require("../../../modules"), registry_1 = require("../../../common/registry");
20
8
 
21
- let DefaultCanvasGroupRender = class {
9
+ class DefaultCanvasGroupRender {
22
10
  constructor(groupRenderContribitions) {
23
- this.groupRenderContribitions = groupRenderContribitions, this.numberType = constants_2.GROUP_NUMBER_TYPE;
11
+ this.numberType = constants_2.GROUP_NUMBER_TYPE, this.groupRenderContribitions = groupRenderContribitions || {
12
+ getContributions: () => registry_1.contributionRegistry.get(constants_1.GroupRenderContribution)
13
+ };
24
14
  }
25
15
  reInit() {
26
16
  this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [],
@@ -74,7 +64,7 @@ let DefaultCanvasGroupRender = class {
74
64
  if (!context) return;
75
65
  const {clip: clip, baseOpacity: baseOpacity = 1, drawMode: drawMode} = group.attribute, lastNativeContext = context.nativeContext, lastNativeCanvas = context.canvas.nativeCanvas;
76
66
  if (drawMode > 0) {
77
- const {x: x, y: y, width: width, height: height} = group.attribute, canvas = context.canvas, newCanvas = application_1.application.global.createCanvas({
67
+ const {x: x, y: y, width: width, height: height} = group.attribute, canvas = context.canvas, newCanvas = modules_1.vglobal.createCanvas({
78
68
  width: canvas.width,
79
69
  height: canvas.height,
80
70
  dpr: 1
@@ -115,10 +105,7 @@ let DefaultCanvasGroupRender = class {
115
105
  clip ? context.restore() : context.highPerformanceRestore();
116
106
  })) : clip ? context.restore() : context.highPerformanceRestore();
117
107
  }
118
- };
108
+ }
119
109
 
120
- DefaultCanvasGroupRender = __decorate([ (0, inversify_lite_1.injectable)(), __param(0, (0,
121
- inversify_lite_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
122
- inversify_lite_1.named)(constants_1.GroupRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasGroupRender),
123
110
  exports.DefaultCanvasGroupRender = DefaultCanvasGroupRender;
124
111
  //# sourceMappingURL=group-render.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/group-render.ts"],"names":[],"mappings":"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","file":"group-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IGroup,\n IMarkAttribute,\n IThemeAttribute,\n IGroupRenderContribution,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IContributionProvider,\n IGroupGraphicAttribute\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { getModelMatrix } from '../../../graphic/graphic-service/graphic-service';\nimport { isArray } from '@visactor/vutils';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { createRectPath } from '../../../common/shape/rect';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { GroupRenderContribution } from './contributions/constants';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { GROUP_NUMBER_TYPE } from '../../../graphic/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { defaultGroupBackgroundRenderContribution } from './contributions';\nimport { multiplyMat4Mat4 } from '../../../common/matrix';\nimport { application } from '../../../application';\n\n@injectable()\nexport class DefaultCanvasGroupRender implements IGraphicRender {\n type: 'group';\n numberType: number = GROUP_NUMBER_TYPE;\n\n _groupRenderContribitions: IGroupRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(GroupRenderContribution)\n protected readonly groupRenderContribitions: IContributionProvider<IGroupRenderContribution>\n ) {}\n\n reInit() {\n this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];\n this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);\n }\n\n drawShape(\n group: IGroup,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n groupAttribute?: Required<IGroupGraphicAttribute>\n ) {\n // 提前判定,否则每次都要获取一堆属性\n const { clip, fill, stroke, background } = group.attribute;\n\n if (!(clip || fill || stroke || background)) {\n return;\n }\n\n groupAttribute = groupAttribute ?? getTheme(group, params?.theme).group;\n\n const {\n opacity = groupAttribute.opacity,\n width = groupAttribute.width,\n height = groupAttribute.height,\n fillOpacity = groupAttribute.fillOpacity,\n strokeOpacity = groupAttribute.strokeOpacity,\n cornerRadius = groupAttribute.cornerRadius,\n path = groupAttribute.path,\n lineWidth = groupAttribute.lineWidth,\n visible = groupAttribute.visible,\n fillStrokeOrder = groupAttribute.fillStrokeOrder,\n cornerType = groupAttribute.cornerType,\n x: originX = groupAttribute.x,\n y: originY = groupAttribute.y\n } = group.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(group.valid && visible)) {\n return;\n }\n\n if (!clip) {\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n }\n\n if (path && path.length && drawContext.drawContribution) {\n // 禁用fill和stroke\n const disableFill = context.disableFill;\n const disableStroke = context.disableStroke;\n const disableBeginPath = context.disableBeginPath;\n context.disableFill = true;\n context.disableStroke = true;\n context.disableBeginPath = true;\n path.forEach(g => {\n const rc = drawContext.drawContribution.getRenderContribution(g);\n rc.draw(g, drawContext.renderService, drawContext, params);\n });\n context.disableFill = disableFill;\n context.disableStroke = disableStroke;\n context.disableBeginPath = disableBeginPath;\n } else if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, cornerRadius, cornerType !== 'bevel');\n }\n\n if (!this._groupRenderContribitions) {\n this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];\n this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(group, group.attribute, groupAttribute);\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(\n group,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n groupAttribute,\n drawContext,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n }\n });\n\n // beforeFillStroke contribition可以操作clip范围\n if (clip) {\n context.clip();\n }\n\n const _runFill = () => {\n if ((doFillOrStroke as any).doFill) {\n if (fillCb) {\n fillCb(context, group.attribute, groupAttribute);\n } else if (fVisible) {\n context.setCommonStyle(group, group.attribute, originX - x, originY - y, groupAttribute);\n context.fill();\n }\n }\n };\n\n const _runStroke = () => {\n if ((doFillOrStroke as any).doStroke) {\n if (strokeCb) {\n strokeCb(context, group.attribute, groupAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(group, group.attribute, originX - x, originY - y, groupAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(\n group,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n groupAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n });\n }\n\n draw(group: IGroup, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n const { clip, baseOpacity = 1, drawMode } = group.attribute;\n const lastNativeContext = context.nativeContext;\n const lastNativeCanvas = context.canvas.nativeCanvas;\n\n if (drawMode > 0) {\n const { x, y, width, height } = group.attribute;\n // 绘制到新的Canvas上,然后再绘制回来\n const canvas = context.canvas;\n const newCanvas = application.global.createCanvas({ width: canvas.width, height: canvas.height, dpr: 1 });\n const newContext = newCanvas.getContext('2d');\n const transform = context.nativeContext.getTransform();\n // 首先应用transform\n newContext.setTransform(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f);\n // 然后将背景绘制到新的canvas上,只绘制group的Bounds区域\n // 如果drawMode === 1,则需要背景\n // 如果drawMode === 2,则不需要背景,只需要group即可\n if (drawMode === 1) {\n newContext.save();\n newContext.clearRect(0, 0, canvas.width, canvas.height);\n newContext.beginPath();\n\n newContext.rect(x, y, width, height);\n newContext.clip();\n newContext.drawImage(\n canvas.nativeCanvas,\n 0,\n 0,\n canvas.width,\n canvas.height,\n 0,\n 0,\n canvas.displayWidth,\n canvas.displayHeight\n );\n newContext.restore();\n }\n // 狸猫换太子,把新的context赋值给context\n context.nativeContext = newContext;\n canvas.nativeCanvas = newCanvas;\n }\n if (clip) {\n context.save();\n } else {\n context.highPerformanceSave();\n }\n const baseGlobalAlpha = context.baseGlobalAlpha;\n context.baseGlobalAlpha *= baseOpacity;\n\n // const lastMatrix = context.modelMatrix;\n // if (context.camera) {\n // const m = group.transMatrix;\n // const matrix = createMat4();\n // mat3Tomat4(matrix, m);\n // const lastModelMatrix = context.modelMatrix;\n // if (lastModelMatrix) {\n // if (matrix) {\n // const m = createMat4();\n // context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n // }\n // } else {\n // context.modelMatrix = matrix;\n // }\n // } else {\n // // group直接transform\n // context.transformFromMatrix(group.transMatrix, true);\n // }\n const lastModelMatrix = context.modelMatrix;\n const camera = context.camera;\n if (camera) {\n const groupAttribute = getTheme(group, params?.theme).group;\n const nextModelMatrix = mat4Allocate.allocate();\n // 计算模型矩阵\n const modelMatrix = mat4Allocate.allocate();\n getModelMatrix(modelMatrix, group, groupAttribute);\n if (lastModelMatrix) {\n multiplyMat4Mat4(nextModelMatrix, lastModelMatrix, modelMatrix);\n } else {\n multiplyMat4Mat4(nextModelMatrix, nextModelMatrix, modelMatrix);\n }\n context.modelMatrix = nextModelMatrix;\n mat4Allocate.free(modelMatrix);\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n } else {\n // group直接transform\n context.transformFromMatrix(group.transMatrix, true);\n }\n\n context.beginPath();\n // 如果跳过绘制,那就不绘制\n if (params.skipDraw) {\n this.drawShape(\n group,\n context,\n 0,\n 0,\n drawContext,\n params,\n () => false,\n () => false\n );\n } else {\n this.drawShape(group, context, 0, 0, drawContext, null, null, null);\n }\n\n // 绘制子元素的时候要添加scroll\n const { scrollX, scrollY } = group.attribute;\n if (scrollX || scrollY) {\n context.translate(scrollX, scrollY);\n }\n let p: any;\n if (params && params.renderInGroup) {\n p = params.renderInGroup(\n params.renderInGroupParams?.skipSort,\n group,\n drawContext,\n params.renderInGroupParams?.nextM\n );\n }\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.baseGlobalAlpha = baseGlobalAlpha;\n\n if (drawMode > 0) {\n const { x, y, width, height } = group.attribute;\n // 将原始的context和canvas恢复,另外将newCanvas上的内容绘制到lastCanvas上\n const newContext = context.nativeContext;\n const newCanvas = context.canvas.nativeCanvas;\n lastNativeContext.save();\n lastNativeContext.setTransform(context.dpr, 0, 0, context.dpr, 0, 0, true);\n // 如果drawMode === 1,则需要清一下之前的背景,否则背景就重复绘制了一次\n if (drawMode === 1) {\n newContext.rect(x, y, width, height);\n }\n lastNativeContext.drawImage(\n newCanvas,\n 0,\n 0,\n newCanvas.width,\n newCanvas.height,\n 0,\n 0,\n context.canvas.displayWidth,\n context.canvas.displayHeight\n );\n const transform = newContext.getTransform();\n lastNativeContext.setTransform(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f);\n context.nativeContext = lastNativeContext;\n context.canvas.nativeCanvas = lastNativeCanvas;\n lastNativeContext.restore();\n }\n\n if (p && p.then) {\n p.then(() => {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n });\n } else {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/group-render.ts"],"names":[],"mappings":"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","file":"group-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n IContext2d,\n IGroup,\n IMarkAttribute,\n IThemeAttribute,\n IGroupRenderContribution,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IContributionProvider,\n IGroupGraphicAttribute\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { getModelMatrix } from '../../../graphic/graphic-service/graphic-service';\nimport { isArray } from '@visactor/vutils';\nimport { createRectPath } from '../../../common/shape/rect';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { GroupRenderContribution } from './contributions/constants';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { GROUP_NUMBER_TYPE } from '../../../graphic/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { defaultGroupBackgroundRenderContribution } from './contributions';\nimport { multiplyMat4Mat4 } from '../../../common/matrix';\nimport { vglobal } from '../../../modules';\nimport { contributionRegistry } from '../../../common/registry';\n\nexport class DefaultCanvasGroupRender implements IGraphicRender {\n type: 'group';\n numberType: number = GROUP_NUMBER_TYPE;\n\n _groupRenderContribitions: IGroupRenderContribution[];\n protected readonly groupRenderContribitions: IContributionProvider<IGroupRenderContribution>;\n\n constructor(groupRenderContribitions?: IContributionProvider<IGroupRenderContribution>) {\n // 如果没有传入,则使用 registry 获取\n this.groupRenderContribitions =\n groupRenderContribitions ||\n ({\n getContributions: () => contributionRegistry.get<IGroupRenderContribution>(GroupRenderContribution)\n } as IContributionProvider<IGroupRenderContribution>);\n }\n\n reInit() {\n this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];\n this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);\n }\n\n drawShape(\n group: IGroup,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n groupAttribute?: Required<IGroupGraphicAttribute>\n ) {\n // 提前判定,否则每次都要获取一堆属性\n const { clip, fill, stroke, background } = group.attribute;\n\n if (!(clip || fill || stroke || background)) {\n return;\n }\n\n groupAttribute = groupAttribute ?? getTheme(group, params?.theme).group;\n\n const {\n opacity = groupAttribute.opacity,\n width = groupAttribute.width,\n height = groupAttribute.height,\n fillOpacity = groupAttribute.fillOpacity,\n strokeOpacity = groupAttribute.strokeOpacity,\n cornerRadius = groupAttribute.cornerRadius,\n path = groupAttribute.path,\n lineWidth = groupAttribute.lineWidth,\n visible = groupAttribute.visible,\n fillStrokeOrder = groupAttribute.fillStrokeOrder,\n cornerType = groupAttribute.cornerType,\n x: originX = groupAttribute.x,\n y: originY = groupAttribute.y\n } = group.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(group.valid && visible)) {\n return;\n }\n\n if (!clip) {\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n }\n\n if (path && path.length && drawContext.drawContribution) {\n // 禁用fill和stroke\n const disableFill = context.disableFill;\n const disableStroke = context.disableStroke;\n const disableBeginPath = context.disableBeginPath;\n context.disableFill = true;\n context.disableStroke = true;\n context.disableBeginPath = true;\n path.forEach(g => {\n const rc = drawContext.drawContribution.getRenderContribution(g);\n rc.draw(g, drawContext.renderService, drawContext, params);\n });\n context.disableFill = disableFill;\n context.disableStroke = disableStroke;\n context.disableBeginPath = disableBeginPath;\n } else if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, cornerRadius, cornerType !== 'bevel');\n }\n\n if (!this._groupRenderContribitions) {\n this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];\n this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(group, group.attribute, groupAttribute);\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(\n group,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n groupAttribute,\n drawContext,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n }\n });\n\n // beforeFillStroke contribition可以操作clip范围\n if (clip) {\n context.clip();\n }\n\n const _runFill = () => {\n if ((doFillOrStroke as any).doFill) {\n if (fillCb) {\n fillCb(context, group.attribute, groupAttribute);\n } else if (fVisible) {\n context.setCommonStyle(group, group.attribute, originX - x, originY - y, groupAttribute);\n context.fill();\n }\n }\n };\n\n const _runStroke = () => {\n if ((doFillOrStroke as any).doStroke) {\n if (strokeCb) {\n strokeCb(context, group.attribute, groupAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(group, group.attribute, originX - x, originY - y, groupAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(\n group,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n groupAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n });\n }\n\n draw(group: IGroup, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n const { clip, baseOpacity = 1, drawMode } = group.attribute;\n const lastNativeContext = context.nativeContext;\n const lastNativeCanvas = context.canvas.nativeCanvas;\n\n if (drawMode > 0) {\n const { x, y, width, height } = group.attribute;\n // 绘制到新的Canvas上,然后再绘制回来\n const canvas = context.canvas;\n const newCanvas = vglobal.createCanvas({ width: canvas.width, height: canvas.height, dpr: 1 });\n const newContext = newCanvas.getContext('2d');\n const transform = context.nativeContext.getTransform();\n // 首先应用transform\n newContext.setTransform(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f);\n // 然后将背景绘制到新的canvas上,只绘制group的Bounds区域\n // 如果drawMode === 1,则需要背景\n // 如果drawMode === 2,则不需要背景,只需要group即可\n if (drawMode === 1) {\n newContext.save();\n newContext.clearRect(0, 0, canvas.width, canvas.height);\n newContext.beginPath();\n\n newContext.rect(x, y, width, height);\n newContext.clip();\n newContext.drawImage(\n canvas.nativeCanvas,\n 0,\n 0,\n canvas.width,\n canvas.height,\n 0,\n 0,\n canvas.displayWidth,\n canvas.displayHeight\n );\n newContext.restore();\n }\n // 狸猫换太子,把新的context赋值给context\n context.nativeContext = newContext;\n canvas.nativeCanvas = newCanvas;\n }\n if (clip) {\n context.save();\n } else {\n context.highPerformanceSave();\n }\n const baseGlobalAlpha = context.baseGlobalAlpha;\n context.baseGlobalAlpha *= baseOpacity;\n\n // const lastMatrix = context.modelMatrix;\n // if (context.camera) {\n // const m = group.transMatrix;\n // const matrix = createMat4();\n // mat3Tomat4(matrix, m);\n // const lastModelMatrix = context.modelMatrix;\n // if (lastModelMatrix) {\n // if (matrix) {\n // const m = createMat4();\n // context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n // }\n // } else {\n // context.modelMatrix = matrix;\n // }\n // } else {\n // // group直接transform\n // context.transformFromMatrix(group.transMatrix, true);\n // }\n const lastModelMatrix = context.modelMatrix;\n const camera = context.camera;\n if (camera) {\n const groupAttribute = getTheme(group, params?.theme).group;\n const nextModelMatrix = mat4Allocate.allocate();\n // 计算模型矩阵\n const modelMatrix = mat4Allocate.allocate();\n getModelMatrix(modelMatrix, group, groupAttribute);\n if (lastModelMatrix) {\n multiplyMat4Mat4(nextModelMatrix, lastModelMatrix, modelMatrix);\n } else {\n multiplyMat4Mat4(nextModelMatrix, nextModelMatrix, modelMatrix);\n }\n context.modelMatrix = nextModelMatrix;\n mat4Allocate.free(modelMatrix);\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n } else {\n // group直接transform\n context.transformFromMatrix(group.transMatrix, true);\n }\n\n context.beginPath();\n // 如果跳过绘制,那就不绘制\n if (params.skipDraw) {\n this.drawShape(\n group,\n context,\n 0,\n 0,\n drawContext,\n params,\n () => false,\n () => false\n );\n } else {\n this.drawShape(group, context, 0, 0, drawContext, null, null, null);\n }\n\n // 绘制子元素的时候要添加scroll\n const { scrollX, scrollY } = group.attribute;\n if (scrollX || scrollY) {\n context.translate(scrollX, scrollY);\n }\n let p: any;\n if (params && params.renderInGroup) {\n p = params.renderInGroup(\n params.renderInGroupParams?.skipSort,\n group,\n drawContext,\n params.renderInGroupParams?.nextM\n );\n }\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.baseGlobalAlpha = baseGlobalAlpha;\n\n if (drawMode > 0) {\n const { x, y, width, height } = group.attribute;\n // 将原始的context和canvas恢复,另外将newCanvas上的内容绘制到lastCanvas上\n const newContext = context.nativeContext;\n const newCanvas = context.canvas.nativeCanvas;\n lastNativeContext.save();\n lastNativeContext.setTransform(context.dpr, 0, 0, context.dpr, 0, 0, true);\n // 如果drawMode === 1,则需要清一下之前的背景,否则背景就重复绘制了一次\n if (drawMode === 1) {\n newContext.rect(x, y, width, height);\n }\n lastNativeContext.drawImage(\n newCanvas,\n 0,\n 0,\n newCanvas.width,\n newCanvas.height,\n 0,\n 0,\n context.canvas.displayWidth,\n context.canvas.displayHeight\n );\n const transform = newContext.getTransform();\n lastNativeContext.setTransform(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f);\n context.nativeContext = lastNativeContext;\n context.canvas.nativeCanvas = lastNativeCanvas;\n lastNativeContext.restore();\n }\n\n if (p && p.then) {\n p.then(() => {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n });\n } else {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n }\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { IGraphicAttribute, IContext2d, IMarkAttribute, IImage, IThemeAttribute, IGraphicRender, IImageRenderContribution, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService } from '../../../interface';
2
2
  import { BaseRender } from './base-render';
3
3
  export declare class DefaultCanvasImageRender extends BaseRender<IImage> implements IGraphicRender {
4
- protected readonly graphicRenderContributions: IContributionProvider<IImageRenderContribution>;
5
4
  type: 'image';
6
5
  numberType: number;
7
- constructor(graphicRenderContributions: IContributionProvider<IImageRenderContribution>);
6
+ protected readonly graphicRenderContributions: IContributionProvider<IImageRenderContribution>;
7
+ constructor(graphicRenderContributions?: IContributionProvider<IImageRenderContribution>);
8
8
  drawShape(image: IImage, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
9
9
  draw(image: IImage, renderService: IRenderService, drawContext: IDrawContext): void;
10
10
  }
@@ -1,28 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- }, __metadata = this && this.__metadata || function(k, v) {
8
- if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
9
- }, __param = this && this.__param || function(paramIndex, decorator) {
10
- return function(target, key) {
11
- decorator(target, key, paramIndex);
12
- };
13
- };
14
-
15
3
  Object.defineProperty(exports, "__esModule", {
16
4
  value: !0
17
5
  }), exports.DefaultCanvasImageRender = void 0;
18
6
 
19
- const inversify_lite_1 = require("../../../common/inversify-lite"), contribution_provider_1 = require("../../../common/contribution-provider"), theme_1 = require("../../../graphic/theme"), constants_1 = require("./contributions/constants"), constants_2 = require("../../../graphic/constants"), vutils_1 = require("@visactor/vutils"), rect_1 = require("../../../common/shape/rect"), base_render_1 = require("./base-render"), contributions_1 = require("./contributions"), loader_1 = require("../../../resource-loader/loader"), repeatStr = [ "", "repeat-x", "repeat-y", "repeat" ];
7
+ const theme_1 = require("../../../graphic/theme"), constants_1 = require("./contributions/constants"), constants_2 = require("../../../graphic/constants"), vutils_1 = require("@visactor/vutils"), rect_1 = require("../../../common/shape/rect"), base_render_1 = require("./base-render"), contributions_1 = require("./contributions"), loader_1 = require("../../../resource-loader/loader"), registry_1 = require("../../../common/registry"), repeatStr = [ "", "repeat-x", "repeat-y", "repeat" ];
20
8
 
21
- let DefaultCanvasImageRender = class extends base_render_1.BaseRender {
9
+ class DefaultCanvasImageRender extends base_render_1.BaseRender {
22
10
  constructor(graphicRenderContributions) {
23
- super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = constants_2.IMAGE_NUMBER_TYPE,
24
- this.builtinContributions = [ contributions_1.defaultImageRenderContribution, contributions_1.defaultImageBackgroundRenderContribution ],
25
- this.init(graphicRenderContributions);
11
+ super(), this.numberType = constants_2.IMAGE_NUMBER_TYPE, this.graphicRenderContributions = graphicRenderContributions || {
12
+ getContributions: () => registry_1.contributionRegistry.get(constants_1.ImageRenderContribution)
13
+ }, this.builtinContributions = [ contributions_1.defaultImageRenderContribution, contributions_1.defaultImageBackgroundRenderContribution ],
14
+ this.init(this.graphicRenderContributions);
26
15
  }
27
16
  drawShape(image, context, x, y, drawContext, params, fillCb, strokeCb) {
28
17
  const imageAttribute = (0, theme_1.getTheme)(image).image, {repeatX: repeatX = imageAttribute.repeatX, repeatY: repeatY = imageAttribute.repeatY, x: originX = imageAttribute.x, y: originY = imageAttribute.y, cornerRadius: cornerRadius = imageAttribute.cornerRadius, fillStrokeOrder: fillStrokeOrder = imageAttribute.fillStrokeOrder, cornerType: cornerType = imageAttribute.cornerType, image: url} = image.attribute, data = this.valid(image, imageAttribute, fillCb);
@@ -69,10 +58,7 @@ let DefaultCanvasImageRender = class extends base_render_1.BaseRender {
69
58
  const imageAttribute = (0, theme_1.getTheme)(image).image;
70
59
  this._draw(image, imageAttribute, !1, drawContext);
71
60
  }
72
- };
61
+ }
73
62
 
74
- DefaultCanvasImageRender = __decorate([ (0, inversify_lite_1.injectable)(), __param(0, (0,
75
- inversify_lite_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
76
- inversify_lite_1.named)(constants_1.ImageRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasImageRender),
77
63
  exports.DefaultCanvasImageRender = DefaultCanvasImageRender;
78
64
  //# sourceMappingURL=image-render.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/image-render.ts"],"names":[],"mappings":"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","file":"image-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { getTheme } from '../../../graphic/theme';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IImage,\n IThemeAttribute,\n IGraphicRender,\n IImageRenderContribution,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { ImageRenderContribution } from './contributions/constants';\nimport { fillVisible, runFill } from './utils';\nimport { IMAGE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { isArray, isString } from '@visactor/vutils';\nimport { createRectPath } from '../../../common/shape/rect';\nimport { BaseRender } from './base-render';\nimport { defaultImageBackgroundRenderContribution, defaultImageRenderContribution } from './contributions';\nimport { ResourceLoader } from '../../../resource-loader/loader';\n\nconst repeatStr = ['', 'repeat-x', 'repeat-y', 'repeat'];\n\n@injectable()\nexport class DefaultCanvasImageRender extends BaseRender<IImage> implements IGraphicRender {\n type: 'image';\n numberType: number = IMAGE_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(ImageRenderContribution)\n protected readonly graphicRenderContributions: IContributionProvider<IImageRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n image: IImage,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const imageAttribute = graphicService.themeService.getCurrentTheme().imageAttribute;\n const imageAttribute = getTheme(image).image;\n const {\n repeatX = imageAttribute.repeatX,\n repeatY = imageAttribute.repeatY,\n x: originX = imageAttribute.x,\n y: originY = imageAttribute.y,\n cornerRadius = imageAttribute.cornerRadius,\n fillStrokeOrder = imageAttribute.fillStrokeOrder,\n cornerType = imageAttribute.cornerType,\n image: url\n } = image.attribute;\n\n const data = this.valid(image, imageAttribute, fillCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n if (!url || !image.resources) {\n return;\n }\n const res = image.resources.get(url);\n if (res.state !== 'success') {\n return;\n }\n\n const width = image.width;\n const height = image.height;\n context.beginPath();\n\n // deal with cornerRadius\n let needRestore = false;\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.rect(x, y, width, height);\n } else {\n // context.beginPath();\n createRectPath(context, x, y, width, height, cornerRadius, cornerType !== 'bevel');\n needRestore = true;\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(image, image.attribute, imageAttribute);\n // context.beginPath();\n // context.image(x, y, width, height);\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, image.attribute, imageAttribute);\n } else if (fVisible) {\n context.setCommonStyle(image, image.attribute, x, y, imageAttribute);\n let repeat = 0;\n if (repeatX === 'repeat') {\n repeat |= 0b0001;\n }\n if (repeatY === 'repeat') {\n repeat |= 0b0010;\n }\n if (repeat) {\n const pattern = context.createPattern(res.data, repeatStr[repeat]);\n context.fillStyle = pattern;\n context.translate(x, y, true);\n context.fillRect(0, 0, width, height);\n context.translate(-x, -y, true);\n } else {\n context.drawImage(res.data, x, y, width, height);\n }\n }\n }\n };\n\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, image.attribute, imageAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(image, image.attribute, originX - x, originY - y, imageAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n if (needRestore) {\n context.save();\n context.clip();\n }\n this.beforeRenderStep(image, context, x, y, doFill, false, fVisible, false, imageAttribute, drawContext, fillCb);\n _runFill();\n if (needRestore) {\n context.restore();\n }\n _runStroke();\n } else {\n _runStroke();\n if (needRestore) {\n context.save();\n context.clip();\n }\n this.beforeRenderStep(image, context, x, y, doFill, false, fVisible, false, imageAttribute, drawContext, fillCb);\n _runFill();\n if (needRestore) {\n context.restore();\n }\n }\n\n this.afterRenderStep(image, context, x, y, doFill, false, fVisible, false, imageAttribute, drawContext, fillCb);\n }\n\n draw(image: IImage, renderService: IRenderService, drawContext: IDrawContext) {\n const { image: url } = image.attribute;\n\n if (!url || !image.resources) {\n return;\n }\n const res = image.resources.get(url);\n // if (res.state !== 'success') {\n // return;\n // }\n if (res.state === 'loading' && isString(url)) {\n ResourceLoader.improveImageLoading(url);\n return;\n } else if (res.state !== 'success') {\n return;\n }\n\n const { context } = renderService.drawParams;\n if (!context) {\n return;\n }\n const imageAttribute = getTheme(image).image;\n this._draw(image, imageAttribute, false, drawContext);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/image-render.ts"],"names":[],"mappings":"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","file":"image-render.js","sourcesContent":["import { getTheme } from '../../../graphic/theme';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IImage,\n IThemeAttribute,\n IGraphicRender,\n IImageRenderContribution,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { ImageRenderContribution } from './contributions/constants';\nimport { fillVisible, runFill } from './utils';\nimport { IMAGE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { isArray, isString } from '@visactor/vutils';\nimport { createRectPath } from '../../../common/shape/rect';\nimport { BaseRender } from './base-render';\nimport { defaultImageBackgroundRenderContribution, defaultImageRenderContribution } from './contributions';\nimport { ResourceLoader } from '../../../resource-loader/loader';\nimport { contributionRegistry } from '../../../common/registry';\n\nconst repeatStr = ['', 'repeat-x', 'repeat-y', 'repeat'];\n\nexport class DefaultCanvasImageRender extends BaseRender<IImage> implements IGraphicRender {\n type: 'image';\n numberType: number = IMAGE_NUMBER_TYPE;\n\n protected readonly graphicRenderContributions: IContributionProvider<IImageRenderContribution>;\n\n constructor(graphicRenderContributions?: IContributionProvider<IImageRenderContribution>) {\n super();\n this.graphicRenderContributions =\n graphicRenderContributions ||\n ({\n getContributions: () => contributionRegistry.get<IImageRenderContribution>(ImageRenderContribution)\n } as IContributionProvider<IImageRenderContribution>);\n this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution];\n this.init(this.graphicRenderContributions);\n }\n\n drawShape(\n image: IImage,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const imageAttribute = graphicService.themeService.getCurrentTheme().imageAttribute;\n const imageAttribute = getTheme(image).image;\n const {\n repeatX = imageAttribute.repeatX,\n repeatY = imageAttribute.repeatY,\n x: originX = imageAttribute.x,\n y: originY = imageAttribute.y,\n cornerRadius = imageAttribute.cornerRadius,\n fillStrokeOrder = imageAttribute.fillStrokeOrder,\n cornerType = imageAttribute.cornerType,\n image: url\n } = image.attribute;\n\n const data = this.valid(image, imageAttribute, fillCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n if (!url || !image.resources) {\n return;\n }\n const res = image.resources.get(url);\n if (res.state !== 'success') {\n return;\n }\n\n const width = image.width;\n const height = image.height;\n context.beginPath();\n\n // deal with cornerRadius\n let needRestore = false;\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.rect(x, y, width, height);\n } else {\n // context.beginPath();\n createRectPath(context, x, y, width, height, cornerRadius, cornerType !== 'bevel');\n needRestore = true;\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(image, image.attribute, imageAttribute);\n // context.beginPath();\n // context.image(x, y, width, height);\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, image.attribute, imageAttribute);\n } else if (fVisible) {\n context.setCommonStyle(image, image.attribute, x, y, imageAttribute);\n let repeat = 0;\n if (repeatX === 'repeat') {\n repeat |= 0b0001;\n }\n if (repeatY === 'repeat') {\n repeat |= 0b0010;\n }\n if (repeat) {\n const pattern = context.createPattern(res.data, repeatStr[repeat]);\n context.fillStyle = pattern;\n context.translate(x, y, true);\n context.fillRect(0, 0, width, height);\n context.translate(-x, -y, true);\n } else {\n context.drawImage(res.data, x, y, width, height);\n }\n }\n }\n };\n\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, image.attribute, imageAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(image, image.attribute, originX - x, originY - y, imageAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n if (needRestore) {\n context.save();\n context.clip();\n }\n this.beforeRenderStep(image, context, x, y, doFill, false, fVisible, false, imageAttribute, drawContext, fillCb);\n _runFill();\n if (needRestore) {\n context.restore();\n }\n _runStroke();\n } else {\n _runStroke();\n if (needRestore) {\n context.save();\n context.clip();\n }\n this.beforeRenderStep(image, context, x, y, doFill, false, fVisible, false, imageAttribute, drawContext, fillCb);\n _runFill();\n if (needRestore) {\n context.restore();\n }\n }\n\n this.afterRenderStep(image, context, x, y, doFill, false, fVisible, false, imageAttribute, drawContext, fillCb);\n }\n\n draw(image: IImage, renderService: IRenderService, drawContext: IDrawContext) {\n const { image: url } = image.attribute;\n\n if (!url || !image.resources) {\n return;\n }\n const res = image.resources.get(url);\n // if (res.state !== 'success') {\n // return;\n // }\n if (res.state === 'loading' && isString(url)) {\n ResourceLoader.improveImageLoading(url);\n return;\n } else if (res.state !== 'success') {\n return;\n }\n\n const { context } = renderService.drawParams;\n if (!context) {\n return;\n }\n const imageAttribute = getTheme(image).image;\n this._draw(image, imageAttribute, false, drawContext);\n }\n}\n"]}
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
4
- var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
-
9
3
  Object.defineProperty(exports, "__esModule", {
10
4
  value: !0
11
5
  }), exports.DefaultIncrementalCanvasAreaRender = void 0;
12
6
 
13
- const inversify_lite_1 = require("../../../common/inversify-lite"), constants_1 = require("../../../graphic/constants"), theme_1 = require("../../../graphic/theme"), utils_1 = require("./utils"), area_render_1 = require("./area-render"), render_curve_1 = require("../../../common/render-curve");
7
+ const constants_1 = require("../../../graphic/constants"), theme_1 = require("../../../graphic/theme"), utils_1 = require("./utils"), area_render_1 = require("./area-render"), render_curve_1 = require("../../../common/render-curve");
14
8
 
15
- let DefaultIncrementalCanvasAreaRender = class extends area_render_1.DefaultCanvasAreaRender {
9
+ class DefaultIncrementalCanvasAreaRender extends area_render_1.DefaultCanvasAreaRender {
16
10
  constructor() {
17
11
  super(...arguments), this.numberType = constants_1.AREA_NUMBER_TYPE;
18
12
  }
@@ -35,8 +29,7 @@ let DefaultIncrementalCanvasAreaRender = class extends area_render_1.DefaultCanv
35
29
  }), context.setShadowBlendStyle && context.setShadowBlendStyle(area, attribute, defaultAttribute),
36
30
  context.setCommonStyle(area, attribute, offsetX, offsetY, defaultAttribute), context.fill());
37
31
  }
38
- };
32
+ }
39
33
 
40
- DefaultIncrementalCanvasAreaRender = __decorate([ (0, inversify_lite_1.injectable)() ], DefaultIncrementalCanvasAreaRender),
41
34
  exports.DefaultIncrementalCanvasAreaRender = DefaultIncrementalCanvasAreaRender;
42
35
  //# sourceMappingURL=incremental-area-render.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/incremental-area-render.ts"],"names":[],"mappings":"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","file":"incremental-area-render.js","sourcesContent":["import { injectable } from '../../../common/inversify-lite';\nimport type {\n IArea,\n IAreaGraphicAttribute,\n IAreaSegment,\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IDrawContext\n} from '../../../interface';\nimport { AREA_NUMBER_TYPE } from '../../../graphic/constants';\nimport { getTheme } from '../../../graphic/theme';\nimport { fillVisible, runFill } from './utils';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { drawIncrementalAreaSegments } from '../../../common/render-curve';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\n@injectable()\nexport class DefaultIncrementalCanvasAreaRender extends DefaultCanvasAreaRender implements IGraphicRender {\n declare type: 'area';\n numberType: number = AREA_NUMBER_TYPE;\n\n drawShape(\n area: IArea,\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 ) {\n if (area.incremental && drawContext.multiGraphicOptions) {\n const { startAtIdx, length } = drawContext.multiGraphicOptions;\n const { segments = [] } = area.attribute;\n if (startAtIdx > segments.length) {\n return;\n }\n const areaAttribute = getTheme(area).area;\n const {\n fill = areaAttribute.fill,\n fillOpacity = areaAttribute.fillOpacity,\n opacity = areaAttribute.opacity,\n visible = areaAttribute.visible\n } = area.attribute;\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity, fill);\n const doFill = runFill(fill);\n\n if (!(area.valid && visible)) {\n return;\n }\n\n if (!doFill) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || fillCb)) {\n return;\n }\n\n // 不支持clipRange,不支持pick,仅支持最基础的线段绘制\n for (let i = startAtIdx; i < startAtIdx + length; i++) {\n this.drawIncreaseSegment(\n area,\n context,\n segments[i - 1],\n segments[i],\n area.attribute.segments[i],\n [areaAttribute, area.attribute],\n x,\n y\n );\n }\n } else {\n super.drawShape(area, context, x, y, drawContext, params, fillCb);\n }\n }\n\n drawIncreaseSegment(\n area: IArea,\n context: IContext2d,\n lastSeg: IAreaSegment,\n seg: IAreaSegment,\n attribute: Partial<IAreaGraphicAttribute>,\n defaultAttribute: Required<IAreaGraphicAttribute> | Partial<IAreaGraphicAttribute>[],\n offsetX: number,\n offsetY: number\n ) {\n if (!seg) {\n return;\n }\n\n context.beginPath();\n drawIncrementalAreaSegments(context.camera ? context : context.nativeContext, lastSeg, seg, {\n offsetX,\n offsetY\n });\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(area, attribute, defaultAttribute);\n context.setCommonStyle(area, attribute, offsetX, offsetY, defaultAttribute);\n context.fill();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/incremental-area-render.ts"],"names":[],"mappings":";;;AAYA,0DAA8D;AAC9D,kDAAkD;AAClD,mCAA+C;AAC/C,+CAAwD;AACxD,+DAA2E;AAM3E,MAAa,kCAAmC,SAAQ,qCAAuB;IAA/E;;QAEE,eAAU,GAAW,4BAAgB,CAAC;IAwFxC,CAAC;IAtFC,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY;QAEZ,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,mBAAmB,EAAE;YACvD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,mBAAmB,CAAC;YAC/D,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACzC,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE;gBAChC,OAAO;aACR;YACD,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAC1C,MAAM,EACJ,IAAI,GAAG,aAAa,CAAC,IAAI,EACzB,WAAW,GAAG,aAAa,CAAC,WAAW,EACvC,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,OAAO,GAAG,aAAa,CAAC,OAAO,EAChC,GAAG,IAAI,CAAC,SAAS,CAAC;YAEnB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;YAE7B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE;gBAC5B,OAAO;aACR;YAED,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;YAGD,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;gBACzB,OAAO;aACR;YAGD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,CAAC,mBAAmB,CACtB,IAAI,EACJ,OAAO,EACP,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACf,QAAQ,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1B,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC/B,CAAC,EACD,CAAC,CACF,CAAC;aACH;SACF;aAAM;YACL,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SACnE;IACH,CAAC;IAED,mBAAmB,CACjB,IAAW,EACX,OAAmB,EACnB,OAAqB,EACrB,GAAiB,EACjB,SAAyC,EACzC,gBAAoF,EACpF,OAAe,EACf,OAAe;QAEf,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,IAAA,0CAA2B,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1F,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QAGH,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC9F,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;CACF;AA1FD,gFA0FC","file":"incremental-area-render.js","sourcesContent":["import type {\n IArea,\n IAreaGraphicAttribute,\n IAreaSegment,\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IDrawContext\n} from '../../../interface';\nimport { AREA_NUMBER_TYPE } from '../../../graphic/constants';\nimport { getTheme } from '../../../graphic/theme';\nimport { fillVisible, runFill } from './utils';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { drawIncrementalAreaSegments } from '../../../common/render-curve';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\nexport class DefaultIncrementalCanvasAreaRender extends DefaultCanvasAreaRender implements IGraphicRender {\n declare type: 'area';\n numberType: number = AREA_NUMBER_TYPE;\n\n drawShape(\n area: IArea,\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 ) {\n if (area.incremental && drawContext.multiGraphicOptions) {\n const { startAtIdx, length } = drawContext.multiGraphicOptions;\n const { segments = [] } = area.attribute;\n if (startAtIdx > segments.length) {\n return;\n }\n const areaAttribute = getTheme(area).area;\n const {\n fill = areaAttribute.fill,\n fillOpacity = areaAttribute.fillOpacity,\n opacity = areaAttribute.opacity,\n visible = areaAttribute.visible\n } = area.attribute;\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity, fill);\n const doFill = runFill(fill);\n\n if (!(area.valid && visible)) {\n return;\n }\n\n if (!doFill) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || fillCb)) {\n return;\n }\n\n // 不支持clipRange,不支持pick,仅支持最基础的线段绘制\n for (let i = startAtIdx; i < startAtIdx + length; i++) {\n this.drawIncreaseSegment(\n area,\n context,\n segments[i - 1],\n segments[i],\n area.attribute.segments[i],\n [areaAttribute, area.attribute],\n x,\n y\n );\n }\n } else {\n super.drawShape(area, context, x, y, drawContext, params, fillCb);\n }\n }\n\n drawIncreaseSegment(\n area: IArea,\n context: IContext2d,\n lastSeg: IAreaSegment,\n seg: IAreaSegment,\n attribute: Partial<IAreaGraphicAttribute>,\n defaultAttribute: Required<IAreaGraphicAttribute> | Partial<IAreaGraphicAttribute>[],\n offsetX: number,\n offsetY: number\n ) {\n if (!seg) {\n return;\n }\n\n context.beginPath();\n drawIncrementalAreaSegments(context.camera ? context : context.nativeContext, lastSeg, seg, {\n offsetX,\n offsetY\n });\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(area, attribute, defaultAttribute);\n context.setCommonStyle(area, attribute, offsetX, offsetY, defaultAttribute);\n context.fill();\n }\n}\n"]}
@@ -6,10 +6,6 @@ declare enum STATUS {
6
6
  STOP = 1
7
7
  }
8
8
  export declare class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {
9
- protected readonly contributions: IGraphicRender[];
10
- protected readonly lineRender: IGraphicRender;
11
- protected readonly areaRender: IGraphicRender;
12
- protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>;
13
9
  rendering: boolean;
14
10
  protected currFrameStartAt: number;
15
11
  protected currentIdx: number;
@@ -21,7 +17,9 @@ export declare class DefaultIncrementalDrawContribution extends DefaultDrawContr
21
17
  protected lastRenderService: IRenderService;
22
18
  protected lastDrawContext: IDrawContext;
23
19
  protected count: number;
24
- constructor(contributions: IGraphicRender[], lineRender: IGraphicRender, areaRender: IGraphicRender, drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>);
20
+ protected readonly lineRender: IGraphicRender;
21
+ protected readonly areaRender: IGraphicRender;
22
+ constructor(contributions?: IGraphicRender[], lineRender?: IGraphicRender, areaRender?: IGraphicRender, drawItemInterceptorContributions?: IContributionProvider<IDrawItemInterceptorContribution>);
25
23
  draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void>;
26
24
  protected _increaseRender(group: IGroup, drawContext: IDrawContext): Promise<void>;
27
25
  protected _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext): Promise<void>;