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

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 (1030) hide show
  1. package/cjs/allocator/canvas-allocate.js +5 -7
  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 +19 -18
  6. package/cjs/application.js +1 -31
  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/util.d.ts +2 -3
  13. package/cjs/canvas/util.js +17 -7
  14. package/cjs/canvas/util.js.map +1 -1
  15. package/cjs/common/contribution-provider.d.ts +27 -0
  16. package/cjs/common/contribution-provider.js +51 -0
  17. package/cjs/common/contribution-provider.js.map +1 -0
  18. package/cjs/common/enums.d.ts +2 -0
  19. package/cjs/common/enums.js +3 -1
  20. package/cjs/common/enums.js.map +1 -1
  21. package/cjs/common/event-listener-manager.d.ts +18 -1
  22. package/cjs/common/event-listener-manager.js +40 -10
  23. package/cjs/common/event-listener-manager.js.map +1 -1
  24. package/cjs/common/event-transformer.js +42 -7
  25. package/cjs/common/event-transformer.js.map +1 -1
  26. package/cjs/common/explicit-binding.d.ts +5 -0
  27. package/cjs/common/explicit-binding.js +16 -0
  28. package/cjs/common/explicit-binding.js.map +1 -0
  29. package/cjs/common/performance-raf.d.ts +1 -0
  30. package/cjs/common/performance-raf.js +7 -2
  31. package/cjs/common/performance-raf.js.map +1 -1
  32. package/cjs/common/rect-utils.js +1 -1
  33. package/cjs/common/render-area.js +1 -1
  34. package/cjs/common/render-command-list.js +1 -1
  35. package/cjs/common/render-curve.js +1 -1
  36. package/cjs/common/render-utils.js +1 -1
  37. package/cjs/common/seg-context.js +1 -1
  38. package/cjs/common/simplify.js +1 -1
  39. package/cjs/common/sort.js +2 -1
  40. package/cjs/common/split-path.js +1 -1
  41. package/cjs/common/store.js +1 -1
  42. package/cjs/common/text.js +1 -1
  43. package/cjs/common/utils.js +1 -1
  44. package/cjs/core/contributions/env/modules.d.ts +4 -0
  45. package/cjs/core/contributions/env/modules.js +14 -0
  46. package/cjs/core/contributions/env/modules.js.map +1 -0
  47. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
  48. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  49. package/cjs/core/contributions/layerHandler/empty-contribution.js +2 -2
  50. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  51. package/cjs/core/contributions/layerHandler/modules.d.ts +4 -0
  52. package/cjs/core/contributions/layerHandler/modules.js +14 -0
  53. package/cjs/core/contributions/layerHandler/modules.js.map +1 -0
  54. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
  55. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  56. package/cjs/core/contributions/modules.d.ts +2 -1
  57. package/cjs/core/contributions/modules.js +20 -2
  58. package/cjs/core/contributions/modules.js.map +1 -1
  59. package/cjs/core/contributions/textMeasure/modules.d.ts +4 -0
  60. package/cjs/core/contributions/textMeasure/modules.js +15 -0
  61. package/cjs/core/contributions/textMeasure/modules.js.map +1 -0
  62. package/cjs/core/core-modules.d.ts +4 -0
  63. package/cjs/core/core-modules.js +19 -0
  64. package/cjs/core/core-modules.js.map +1 -0
  65. package/cjs/core/global-module.d.ts +1 -0
  66. package/cjs/core/global-module.js +1 -0
  67. package/cjs/core/global-module.js.map +1 -0
  68. package/cjs/core/global.d.ts +4 -2
  69. package/cjs/core/global.js +9 -6
  70. package/cjs/core/global.js.map +1 -1
  71. package/cjs/core/graphic-utils.d.ts +3 -4
  72. package/cjs/core/graphic-utils.js +5 -6
  73. package/cjs/core/graphic-utils.js.map +1 -1
  74. package/cjs/core/index.js +1 -1
  75. package/cjs/core/layer-service.d.ts +7 -2
  76. package/cjs/core/layer-service.js +24 -15
  77. package/cjs/core/layer-service.js.map +1 -1
  78. package/cjs/core/layer.d.ts +1 -1
  79. package/cjs/core/layer.js +4 -4
  80. package/cjs/core/layer.js.map +1 -1
  81. package/cjs/core/light.js +1 -1
  82. package/cjs/core/stage.d.ts +17 -3
  83. package/cjs/core/stage.js +48 -26
  84. package/cjs/core/stage.js.map +1 -1
  85. package/cjs/core/window.d.ts +7 -5
  86. package/cjs/core/window.js +12 -8
  87. package/cjs/core/window.js.map +1 -1
  88. package/cjs/create.d.ts +1 -2
  89. package/cjs/create.js +2 -2
  90. package/cjs/create.js.map +1 -1
  91. package/cjs/entries/app-context.d.ts +30 -0
  92. package/cjs/entries/app-context.js +84 -0
  93. package/cjs/entries/app-context.js.map +1 -0
  94. package/cjs/entries/browser.d.ts +25 -0
  95. package/cjs/entries/browser.js +44 -0
  96. package/cjs/entries/browser.js.map +1 -0
  97. package/cjs/entries/index.d.ts +7 -0
  98. package/cjs/entries/index.js +32 -0
  99. package/cjs/entries/index.js.map +1 -0
  100. package/cjs/entries/miniapp.d.ts +6 -0
  101. package/cjs/entries/miniapp.js +20 -0
  102. package/cjs/entries/miniapp.js.map +1 -0
  103. package/cjs/entries/node.d.ts +6 -0
  104. package/cjs/entries/node.js +20 -0
  105. package/cjs/entries/node.js.map +1 -0
  106. package/cjs/entries/runtime-installer.d.ts +11 -0
  107. package/cjs/entries/runtime-installer.js +111 -0
  108. package/cjs/entries/runtime-installer.js.map +1 -0
  109. package/cjs/entries/types.d.ts +29 -0
  110. package/cjs/entries/types.js.map +1 -0
  111. package/cjs/env-check.js +3 -3
  112. package/cjs/env-check.js.map +1 -1
  113. package/cjs/event/event-manager.js +4 -1
  114. package/cjs/event/event-manager.js.map +1 -1
  115. package/cjs/event/util.d.ts +1 -1
  116. package/cjs/factory/graphic-factory.d.ts +7 -0
  117. package/cjs/factory/graphic-factory.js +23 -0
  118. package/cjs/factory/graphic-factory.js.map +1 -0
  119. package/cjs/factory/index.d.ts +4 -0
  120. package/cjs/factory/index.js +22 -0
  121. package/cjs/factory/index.js.map +1 -0
  122. package/cjs/factory/layer-factory.d.ts +7 -0
  123. package/cjs/factory/layer-factory.js +19 -0
  124. package/cjs/factory/layer-factory.js.map +1 -0
  125. package/cjs/factory/stage-factory.d.ts +8 -0
  126. package/cjs/factory/stage-factory.js +20 -0
  127. package/cjs/factory/stage-factory.js.map +1 -0
  128. package/cjs/factory/types.d.ts +34 -0
  129. package/cjs/factory/types.js +6 -0
  130. package/cjs/factory/types.js.map +1 -0
  131. package/cjs/factory.d.ts +1 -0
  132. package/cjs/factory.js +16 -1
  133. package/cjs/factory.js.map +1 -1
  134. package/cjs/global.d.ts +2 -0
  135. package/cjs/global.js +11 -0
  136. package/cjs/global.js.map +1 -0
  137. package/cjs/graphic/arc.js +3 -3
  138. package/cjs/graphic/arc.js.map +1 -1
  139. package/cjs/graphic/arc3d.js +3 -3
  140. package/cjs/graphic/arc3d.js.map +1 -1
  141. package/cjs/graphic/area.js +3 -3
  142. package/cjs/graphic/area.js.map +1 -1
  143. package/cjs/graphic/bounds.js +3 -3
  144. package/cjs/graphic/bounds.js.map +1 -1
  145. package/cjs/graphic/circle.js +3 -3
  146. package/cjs/graphic/circle.js.map +1 -1
  147. package/cjs/graphic/config.js +7 -1
  148. package/cjs/graphic/config.js.map +1 -1
  149. package/cjs/graphic/glyph.js +9 -3
  150. package/cjs/graphic/glyph.js.map +1 -1
  151. package/cjs/graphic/graphic-creator.d.ts +9 -4
  152. package/cjs/graphic/graphic-creator.js +35 -7
  153. package/cjs/graphic/graphic-creator.js.map +1 -1
  154. package/cjs/graphic/graphic-service/graphic-module.d.ts +4 -0
  155. package/cjs/graphic/graphic-service/graphic-module.js +14 -0
  156. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -0
  157. package/cjs/graphic/graphic-service/graphic-service.d.ts +2 -3
  158. package/cjs/graphic/graphic-service/graphic-service.js +3 -4
  159. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  160. package/cjs/graphic/graphic.d.ts +78 -7
  161. package/cjs/graphic/graphic.js +491 -146
  162. package/cjs/graphic/graphic.js.map +1 -1
  163. package/cjs/graphic/group.d.ts +11 -1
  164. package/cjs/graphic/group.js +49 -13
  165. package/cjs/graphic/group.js.map +1 -1
  166. package/cjs/graphic/image.d.ts +1 -0
  167. package/cjs/graphic/image.js +4 -3
  168. package/cjs/graphic/image.js.map +1 -1
  169. package/cjs/graphic/index.d.ts +3 -0
  170. package/cjs/graphic/index.js +34 -15
  171. package/cjs/graphic/index.js.map +1 -1
  172. package/cjs/graphic/line.js +3 -3
  173. package/cjs/graphic/line.js.map +1 -1
  174. package/cjs/graphic/path.js +3 -3
  175. package/cjs/graphic/path.js.map +1 -1
  176. package/cjs/graphic/polygon.js +3 -3
  177. package/cjs/graphic/polygon.js.map +1 -1
  178. package/cjs/graphic/pyramid3d.js +3 -2
  179. package/cjs/graphic/pyramid3d.js.map +1 -1
  180. package/cjs/graphic/rect.js +3 -3
  181. package/cjs/graphic/rect.js.map +1 -1
  182. package/cjs/graphic/richtext/utils.js +3 -3
  183. package/cjs/graphic/richtext/utils.js.map +1 -1
  184. package/cjs/graphic/richtext.js +4 -4
  185. package/cjs/graphic/richtext.js.map +1 -1
  186. package/cjs/graphic/star.js +3 -3
  187. package/cjs/graphic/star.js.map +1 -1
  188. package/cjs/graphic/state/attribute-update-classifier.d.ts +13 -0
  189. package/cjs/graphic/state/attribute-update-classifier.js +67 -0
  190. package/cjs/graphic/state/attribute-update-classifier.js.map +1 -0
  191. package/cjs/graphic/state/shared-state-refresh.d.ts +6 -0
  192. package/cjs/graphic/state/shared-state-refresh.js +55 -0
  193. package/cjs/graphic/state/shared-state-refresh.js.map +1 -0
  194. package/cjs/graphic/state/shared-state-scope.d.ts +25 -0
  195. package/cjs/graphic/state/shared-state-scope.js +98 -0
  196. package/cjs/graphic/state/shared-state-scope.js.map +1 -0
  197. package/cjs/graphic/state/state-batch-scheduler.d.ts +42 -0
  198. package/cjs/graphic/state/state-batch-scheduler.js +285 -0
  199. package/cjs/graphic/state/state-batch-scheduler.js.map +1 -0
  200. package/cjs/graphic/state/state-definition-compiler.d.ts +6 -0
  201. package/cjs/graphic/state/state-definition-compiler.js +91 -0
  202. package/cjs/graphic/state/state-definition-compiler.js.map +1 -0
  203. package/cjs/graphic/state/state-definition.d.ts +44 -0
  204. package/cjs/graphic/state/state-definition.js +6 -0
  205. package/cjs/graphic/state/state-definition.js.map +1 -0
  206. package/cjs/graphic/state/state-engine.d.ts +38 -0
  207. package/cjs/graphic/state/state-engine.js +220 -0
  208. package/cjs/graphic/state/state-engine.js.map +1 -0
  209. package/cjs/graphic/state/state-model.d.ts +43 -0
  210. package/cjs/graphic/state/state-model.js +143 -0
  211. package/cjs/graphic/state/state-model.js.map +1 -0
  212. package/cjs/graphic/state/state-perf-monitor.d.ts +119 -0
  213. package/cjs/graphic/state/state-perf-monitor.js +217 -0
  214. package/cjs/graphic/state/state-perf-monitor.js.map +1 -0
  215. package/cjs/graphic/state/state-style-resolver.d.ts +22 -0
  216. package/cjs/graphic/state/state-style-resolver.js +73 -0
  217. package/cjs/graphic/state/state-style-resolver.js.map +1 -0
  218. package/cjs/graphic/state/state-transition-orchestrator.d.ts +41 -0
  219. package/cjs/graphic/state/state-transition-orchestrator.js +74 -0
  220. package/cjs/graphic/state/state-transition-orchestrator.js.map +1 -0
  221. package/cjs/graphic/symbol.js +3 -3
  222. package/cjs/graphic/symbol.js.map +1 -1
  223. package/cjs/graphic/text.d.ts +3 -2
  224. package/cjs/graphic/text.js +29 -20
  225. package/cjs/graphic/text.js.map +1 -1
  226. package/cjs/graphic/theme.d.ts +5 -0
  227. package/cjs/graphic/theme.js +7 -0
  228. package/cjs/graphic/theme.js.map +1 -1
  229. package/cjs/graphic/tools.js +2 -2
  230. package/cjs/graphic/tools.js.map +1 -1
  231. package/cjs/graphic/wrap-text.d.ts +1 -1
  232. package/cjs/graphic/wrap-text.js +18 -15
  233. package/cjs/graphic/wrap-text.js.map +1 -1
  234. package/cjs/index.d.ts +26 -4
  235. package/cjs/index.js +83 -45
  236. package/cjs/index.js.map +1 -1
  237. package/cjs/interface/canvas.d.ts +1 -1
  238. package/cjs/interface/canvas.js.map +1 -1
  239. package/cjs/interface/global.d.ts +2 -0
  240. package/cjs/interface/global.js.map +1 -1
  241. package/cjs/interface/graphic/group.d.ts +6 -0
  242. package/cjs/interface/graphic/group.js.map +1 -1
  243. package/cjs/interface/graphic/image.d.ts +7 -1
  244. package/cjs/interface/graphic/image.js.map +1 -1
  245. package/cjs/interface/graphic/theme.d.ts +3 -0
  246. package/cjs/interface/graphic/theme.js.map +1 -1
  247. package/cjs/interface/graphic.d.ts +34 -5
  248. package/cjs/interface/graphic.js.map +1 -1
  249. package/cjs/interface/layer.d.ts +3 -2
  250. package/cjs/interface/layer.js.map +1 -1
  251. package/cjs/interface/plugin.d.ts +2 -0
  252. package/cjs/interface/plugin.js.map +1 -1
  253. package/cjs/interface/render.d.ts +1 -1
  254. package/cjs/interface/render.js.map +1 -1
  255. package/cjs/interface/stage.d.ts +9 -0
  256. package/cjs/interface/stage.js.map +1 -1
  257. package/cjs/interface/theme-service.js.map +1 -1
  258. package/cjs/legacy/binding-context.d.ts +24 -0
  259. package/cjs/legacy/binding-context.js +98 -0
  260. package/cjs/legacy/binding-context.js.map +1 -0
  261. package/cjs/legacy/bootstrap.d.ts +10 -0
  262. package/cjs/legacy/bootstrap.js +72 -0
  263. package/cjs/legacy/bootstrap.js.map +1 -0
  264. package/cjs/legacy/module-types.d.ts +2 -0
  265. package/cjs/legacy/module-types.js +6 -0
  266. package/cjs/legacy/module-types.js.map +1 -0
  267. package/cjs/modules.d.ts +5 -6
  268. package/cjs/modules.js +54 -9
  269. package/cjs/modules.js.map +1 -1
  270. package/cjs/picker/global-picker-service.js +2 -2
  271. package/cjs/picker/global-picker-service.js.map +1 -1
  272. package/cjs/picker/pick-modules.d.ts +5 -0
  273. package/cjs/picker/pick-modules.js +24 -0
  274. package/cjs/picker/pick-modules.js.map +1 -0
  275. package/cjs/picker/picker-service.d.ts +13 -4
  276. package/cjs/picker/picker-service.js +15 -8
  277. package/cjs/picker/picker-service.js.map +1 -1
  278. package/cjs/plugins/base-plugin.d.ts +8 -0
  279. package/cjs/plugins/base-plugin.js +15 -0
  280. package/cjs/plugins/base-plugin.js.map +1 -0
  281. package/cjs/plugins/browser-env-plugin.d.ts +8 -0
  282. package/cjs/plugins/browser-env-plugin.js +24 -0
  283. package/cjs/plugins/browser-env-plugin.js.map +1 -0
  284. package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js +6 -5
  285. package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
  286. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  287. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +4 -1
  288. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +25 -4
  289. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  290. package/cjs/plugins/builtin-plugin/edit-module.js +4 -3
  291. package/cjs/plugins/builtin-plugin/edit-module.js.map +1 -1
  292. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  293. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
  294. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  295. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
  296. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  297. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
  298. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  299. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +13 -9
  300. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  301. package/cjs/plugins/index.d.ts +5 -0
  302. package/cjs/plugins/index.js +23 -0
  303. package/cjs/plugins/index.js.map +1 -0
  304. package/cjs/plugins/picker-plugin.d.ts +7 -0
  305. package/cjs/plugins/picker-plugin.js +19 -0
  306. package/cjs/plugins/picker-plugin.js.map +1 -0
  307. package/cjs/plugins/plugin-modules.d.ts +4 -0
  308. package/cjs/plugins/plugin-modules.js +14 -0
  309. package/cjs/plugins/plugin-modules.js.map +1 -0
  310. package/cjs/plugins/plugin-service.d.ts +16 -2
  311. package/cjs/plugins/plugin-service.js +23 -11
  312. package/cjs/plugins/plugin-service.js.map +1 -1
  313. package/cjs/plugins/renderer-plugin.d.ts +7 -0
  314. package/cjs/plugins/renderer-plugin.js +19 -0
  315. package/cjs/plugins/renderer-plugin.js.map +1 -0
  316. package/cjs/plugins/types.d.ts +28 -0
  317. package/cjs/plugins/types.js +6 -0
  318. package/cjs/plugins/types.js.map +1 -0
  319. package/cjs/register/register-arc.js +1 -1
  320. package/cjs/register/register-arc.js.map +1 -1
  321. package/cjs/register/register-arc3d.js +1 -1
  322. package/cjs/register/register-arc3d.js.map +1 -1
  323. package/cjs/register/register-area.js +1 -1
  324. package/cjs/register/register-area.js.map +1 -1
  325. package/cjs/register/register-circle.js +1 -1
  326. package/cjs/register/register-circle.js.map +1 -1
  327. package/cjs/register/register-glyph.js +1 -1
  328. package/cjs/register/register-glyph.js.map +1 -1
  329. package/cjs/register/register-group.js +1 -1
  330. package/cjs/register/register-group.js.map +1 -1
  331. package/cjs/register/register-image.js +1 -1
  332. package/cjs/register/register-image.js.map +1 -1
  333. package/cjs/register/register-line.js +1 -1
  334. package/cjs/register/register-line.js.map +1 -1
  335. package/cjs/register/register-path.js +1 -1
  336. package/cjs/register/register-path.js.map +1 -1
  337. package/cjs/register/register-polygon.js +1 -1
  338. package/cjs/register/register-polygon.js.map +1 -1
  339. package/cjs/register/register-pyramid3d.js +1 -1
  340. package/cjs/register/register-pyramid3d.js.map +1 -1
  341. package/cjs/register/register-rect.js +1 -1
  342. package/cjs/register/register-rect.js.map +1 -1
  343. package/cjs/register/register-rect3d.js +1 -1
  344. package/cjs/register/register-rect3d.js.map +1 -1
  345. package/cjs/register/register-richtext.js +1 -1
  346. package/cjs/register/register-richtext.js.map +1 -1
  347. package/cjs/register/register-shadowRoot.js +1 -1
  348. package/cjs/register/register-shadowRoot.js.map +1 -1
  349. package/cjs/register/register-star.js +1 -1
  350. package/cjs/register/register-star.js.map +1 -1
  351. package/cjs/register/register-symbol.js +1 -1
  352. package/cjs/register/register-symbol.js.map +1 -1
  353. package/cjs/register/register-text.js +1 -1
  354. package/cjs/register/register-text.js.map +1 -1
  355. package/cjs/register/register-wraptext.js +1 -1
  356. package/cjs/register/register-wraptext.js.map +1 -1
  357. package/cjs/registry/contribution-registry.d.ts +9 -0
  358. package/cjs/registry/contribution-registry.js +33 -0
  359. package/cjs/registry/contribution-registry.js.map +1 -0
  360. package/cjs/registry/index.d.ts +5 -0
  361. package/cjs/registry/index.js +23 -0
  362. package/cjs/registry/index.js.map +1 -0
  363. package/cjs/registry/picker-registry.d.ts +10 -0
  364. package/cjs/registry/picker-registry.js +29 -0
  365. package/cjs/registry/picker-registry.js.map +1 -0
  366. package/cjs/registry/plugin-registry.d.ts +10 -0
  367. package/cjs/registry/plugin-registry.js +29 -0
  368. package/cjs/registry/plugin-registry.js.map +1 -0
  369. package/cjs/registry/renderer-registry.d.ts +11 -0
  370. package/cjs/registry/renderer-registry.js +37 -0
  371. package/cjs/registry/renderer-registry.js.map +1 -0
  372. package/cjs/registry/types.d.ts +34 -0
  373. package/cjs/registry/types.js +6 -0
  374. package/cjs/registry/types.js.map +1 -0
  375. package/cjs/render/contributions/modules.d.ts +2 -0
  376. package/cjs/render/contributions/modules.js +22 -0
  377. package/cjs/render/contributions/modules.js.map +1 -0
  378. package/cjs/render/contributions/render/arc-module.d.ts +4 -0
  379. package/cjs/render/contributions/render/arc-module.js +19 -0
  380. package/cjs/render/contributions/render/arc-module.js.map +1 -0
  381. package/cjs/render/contributions/render/arc-render.d.ts +2 -2
  382. package/cjs/render/contributions/render/arc-render.js +4 -5
  383. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  384. package/cjs/render/contributions/render/arc3d-module.d.ts +4 -0
  385. package/cjs/render/contributions/render/arc3d-module.js +17 -0
  386. package/cjs/render/contributions/render/arc3d-module.js.map +1 -0
  387. package/cjs/render/contributions/render/area-module.d.ts +4 -0
  388. package/cjs/render/contributions/render/area-module.js +20 -0
  389. package/cjs/render/contributions/render/area-module.js.map +1 -0
  390. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  391. package/cjs/render/contributions/render/area-render.js +4 -5
  392. package/cjs/render/contributions/render/area-render.js.map +1 -1
  393. package/cjs/render/contributions/render/base-render.js +1 -1
  394. package/cjs/render/contributions/render/base-render.js.map +1 -1
  395. package/cjs/render/contributions/render/circle-module.d.ts +4 -0
  396. package/cjs/render/contributions/render/circle-module.js +19 -0
  397. package/cjs/render/contributions/render/circle-module.js.map +1 -0
  398. package/cjs/render/contributions/render/circle-render.d.ts +2 -2
  399. package/cjs/render/contributions/render/circle-render.js +4 -5
  400. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  401. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +29 -11
  402. package/cjs/render/contributions/render/contributions/base-contribution-render.js +150 -39
  403. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  404. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.d.ts +4 -2
  405. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +84 -31
  406. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
  407. package/cjs/render/contributions/render/contributions/group-contribution-render.js +8 -6
  408. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  409. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +2 -1
  410. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  411. package/cjs/render/contributions/render/contributions/text-contribution-render.js +20 -16
  412. package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  413. package/cjs/render/contributions/render/draw-contribution.d.ts +13 -4
  414. package/cjs/render/contributions/render/draw-contribution.js +37 -13
  415. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  416. package/cjs/render/contributions/render/draw-interceptor.js +2 -3
  417. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  418. package/cjs/render/contributions/render/glyph-module.d.ts +4 -0
  419. package/cjs/render/contributions/render/glyph-module.js +17 -0
  420. package/cjs/render/contributions/render/glyph-module.js.map +1 -0
  421. package/cjs/render/contributions/render/group-render.d.ts +2 -2
  422. package/cjs/render/contributions/render/group-render.js +3 -5
  423. package/cjs/render/contributions/render/group-render.js.map +1 -1
  424. package/cjs/render/contributions/render/image-module.d.ts +4 -0
  425. package/cjs/render/contributions/render/image-module.js +18 -0
  426. package/cjs/render/contributions/render/image-module.js.map +1 -0
  427. package/cjs/render/contributions/render/image-render.d.ts +16 -3
  428. package/cjs/render/contributions/render/image-render.js +101 -24
  429. package/cjs/render/contributions/render/image-render.js.map +1 -1
  430. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +5 -3
  431. package/cjs/render/contributions/render/incremental-draw-contribution.js +5 -7
  432. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  433. package/cjs/render/contributions/render/index.d.ts +4 -12
  434. package/cjs/render/contributions/render/index.js +7 -11
  435. package/cjs/render/contributions/render/index.js.map +1 -1
  436. package/cjs/render/contributions/render/line-module.d.ts +4 -0
  437. package/cjs/render/contributions/render/line-module.js +19 -0
  438. package/cjs/render/contributions/render/line-module.js.map +1 -0
  439. package/cjs/render/contributions/render/module.d.ts +4 -0
  440. package/cjs/render/contributions/render/module.js +27 -0
  441. package/cjs/render/contributions/render/module.js.map +1 -0
  442. package/cjs/render/contributions/render/path-module.d.ts +4 -0
  443. package/cjs/render/contributions/render/path-module.js +19 -0
  444. package/cjs/render/contributions/render/path-module.js.map +1 -0
  445. package/cjs/render/contributions/render/path-render.d.ts +2 -2
  446. package/cjs/render/contributions/render/path-render.js +4 -5
  447. package/cjs/render/contributions/render/path-render.js.map +1 -1
  448. package/cjs/render/contributions/render/polygon-module.d.ts +4 -0
  449. package/cjs/render/contributions/render/polygon-module.js +18 -0
  450. package/cjs/render/contributions/render/polygon-module.js.map +1 -0
  451. package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
  452. package/cjs/render/contributions/render/polygon-render.js +4 -5
  453. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  454. package/cjs/render/contributions/render/pyramid3d-module.d.ts +4 -0
  455. package/cjs/render/contributions/render/pyramid3d-module.js +17 -0
  456. package/cjs/render/contributions/render/pyramid3d-module.js.map +1 -0
  457. package/cjs/render/contributions/render/rect-module.d.ts +4 -0
  458. package/cjs/render/contributions/render/rect-module.js +23 -0
  459. package/cjs/render/contributions/render/rect-module.js.map +1 -0
  460. package/cjs/render/contributions/render/rect-render.d.ts +2 -2
  461. package/cjs/render/contributions/render/rect-render.js +4 -5
  462. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  463. package/cjs/render/contributions/render/rect3d-module.d.ts +4 -0
  464. package/cjs/render/contributions/render/rect3d-module.js +17 -0
  465. package/cjs/render/contributions/render/rect3d-module.js.map +1 -0
  466. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  467. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  468. package/cjs/render/contributions/render/richtext-module.d.ts +4 -0
  469. package/cjs/render/contributions/render/richtext-module.js +17 -0
  470. package/cjs/render/contributions/render/richtext-module.js.map +1 -0
  471. package/cjs/render/contributions/render/star-module.d.ts +4 -0
  472. package/cjs/render/contributions/render/star-module.js +18 -0
  473. package/cjs/render/contributions/render/star-module.js.map +1 -0
  474. package/cjs/render/contributions/render/star-render.d.ts +2 -2
  475. package/cjs/render/contributions/render/star-render.js +4 -5
  476. package/cjs/render/contributions/render/star-render.js.map +1 -1
  477. package/cjs/render/contributions/render/symbol-module.d.ts +4 -0
  478. package/cjs/render/contributions/render/symbol-module.js +19 -0
  479. package/cjs/render/contributions/render/symbol-module.js.map +1 -0
  480. package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
  481. package/cjs/render/contributions/render/symbol-render.js +4 -5
  482. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  483. package/cjs/render/contributions/render/symbol.d.ts +0 -2
  484. package/cjs/render/contributions/render/symbol.js +1 -3
  485. package/cjs/render/contributions/render/symbol.js.map +1 -1
  486. package/cjs/render/contributions/render/text-module.d.ts +4 -0
  487. package/cjs/render/contributions/render/text-module.js +18 -0
  488. package/cjs/render/contributions/render/text-module.js.map +1 -0
  489. package/cjs/render/contributions/render/text-render.d.ts +2 -2
  490. package/cjs/render/contributions/render/text-render.js +4 -5
  491. package/cjs/render/contributions/render/text-render.js.map +1 -1
  492. package/cjs/render/render-modules.d.ts +4 -0
  493. package/cjs/render/render-modules.js +14 -0
  494. package/cjs/render/render-modules.js.map +1 -0
  495. package/cjs/render/render-service.d.ts +1 -1
  496. package/cjs/render/render-service.js +3 -1
  497. package/cjs/render/render-service.js.map +1 -1
  498. package/cjs/resource-loader/loader.js +6 -6
  499. package/cjs/resource-loader/loader.js.map +1 -1
  500. package/dist/index.es.js +23955 -20200
  501. package/es/allocator/canvas-allocate.js +6 -8
  502. package/es/allocator/canvas-allocate.js.map +1 -1
  503. package/es/allocator/graphic-allocate.js +17 -17
  504. package/es/allocator/graphic-allocate.js.map +1 -1
  505. package/es/application.d.ts +19 -18
  506. package/es/application.js +1 -39
  507. package/es/application.js.map +1 -1
  508. package/es/canvas/conical-gradient.js +2 -2
  509. package/es/canvas/conical-gradient.js.map +1 -1
  510. package/es/canvas/contributions/base-canvas.js +2 -2
  511. package/es/canvas/contributions/base-canvas.js.map +1 -1
  512. package/es/canvas/util.d.ts +2 -3
  513. package/es/canvas/util.js +16 -8
  514. package/es/canvas/util.js.map +1 -1
  515. package/es/common/contribution-provider.d.ts +27 -0
  516. package/es/common/contribution-provider.js +43 -0
  517. package/es/common/contribution-provider.js.map +1 -0
  518. package/es/common/enums.d.ts +2 -0
  519. package/es/common/enums.js +3 -1
  520. package/es/common/enums.js.map +1 -1
  521. package/es/common/event-listener-manager.d.ts +18 -1
  522. package/es/common/event-listener-manager.js +40 -10
  523. package/es/common/event-listener-manager.js.map +1 -1
  524. package/es/common/event-transformer.js +42 -7
  525. package/es/common/event-transformer.js.map +1 -1
  526. package/es/common/explicit-binding.d.ts +5 -0
  527. package/es/common/explicit-binding.js +10 -0
  528. package/es/common/explicit-binding.js.map +1 -0
  529. package/es/common/performance-raf.d.ts +1 -0
  530. package/es/common/performance-raf.js +7 -2
  531. package/es/common/performance-raf.js.map +1 -1
  532. package/es/common/rect-utils.js +1 -1
  533. package/es/common/render-area.js +1 -1
  534. package/es/common/render-command-list.js +1 -1
  535. package/es/common/render-curve.js +1 -1
  536. package/es/common/render-utils.js +1 -1
  537. package/es/common/seg-context.js +1 -1
  538. package/es/common/simplify.js +1 -1
  539. package/es/common/sort.js +2 -1
  540. package/es/common/split-path.js +1 -1
  541. package/es/common/store.js +1 -1
  542. package/es/common/text.js +1 -1
  543. package/es/common/utils.js +1 -1
  544. package/es/core/contributions/env/modules.d.ts +4 -0
  545. package/es/core/contributions/env/modules.js +10 -0
  546. package/es/core/contributions/env/modules.js.map +1 -0
  547. package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
  548. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  549. package/es/core/contributions/layerHandler/empty-contribution.js +2 -2
  550. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  551. package/es/core/contributions/layerHandler/modules.d.ts +4 -0
  552. package/es/core/contributions/layerHandler/modules.js +10 -0
  553. package/es/core/contributions/layerHandler/modules.js.map +1 -0
  554. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
  555. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  556. package/es/core/contributions/modules.d.ts +2 -1
  557. package/es/core/contributions/modules.js +15 -1
  558. package/es/core/contributions/modules.js.map +1 -1
  559. package/es/core/contributions/textMeasure/modules.d.ts +4 -0
  560. package/es/core/contributions/textMeasure/modules.js +11 -0
  561. package/es/core/contributions/textMeasure/modules.js.map +1 -0
  562. package/es/core/core-modules.d.ts +4 -0
  563. package/es/core/core-modules.js +24 -0
  564. package/es/core/core-modules.js.map +1 -0
  565. package/es/core/global-module.d.ts +1 -0
  566. package/es/core/global-module.js +1 -0
  567. package/es/core/global-module.js.map +1 -0
  568. package/es/core/global.d.ts +4 -2
  569. package/es/core/global.js +8 -9
  570. package/es/core/global.js.map +1 -1
  571. package/es/core/graphic-utils.d.ts +3 -4
  572. package/es/core/graphic-utils.js +7 -12
  573. package/es/core/graphic-utils.js.map +1 -1
  574. package/es/core/index.js +1 -1
  575. package/es/core/layer-service.d.ts +7 -2
  576. package/es/core/layer-service.js +24 -19
  577. package/es/core/layer-service.js.map +1 -1
  578. package/es/core/layer.d.ts +1 -1
  579. package/es/core/layer.js +4 -4
  580. package/es/core/layer.js.map +1 -1
  581. package/es/core/light.js +1 -1
  582. package/es/core/stage.d.ts +17 -3
  583. package/es/core/stage.js +59 -31
  584. package/es/core/stage.js.map +1 -1
  585. package/es/core/window.d.ts +7 -5
  586. package/es/core/window.js +12 -10
  587. package/es/core/window.js.map +1 -1
  588. package/es/create.d.ts +1 -2
  589. package/es/create.js +4 -2
  590. package/es/create.js.map +1 -1
  591. package/es/entries/app-context.d.ts +30 -0
  592. package/es/entries/app-context.js +86 -0
  593. package/es/entries/app-context.js.map +1 -0
  594. package/es/entries/browser.d.ts +25 -0
  595. package/es/entries/browser.js +36 -0
  596. package/es/entries/browser.js.map +1 -0
  597. package/es/entries/index.d.ts +7 -0
  598. package/es/entries/index.js +14 -0
  599. package/es/entries/index.js.map +1 -0
  600. package/es/entries/miniapp.d.ts +6 -0
  601. package/es/entries/miniapp.js +12 -0
  602. package/es/entries/miniapp.js.map +1 -0
  603. package/es/entries/node.d.ts +6 -0
  604. package/es/entries/node.js +12 -0
  605. package/es/entries/node.js.map +1 -0
  606. package/es/entries/runtime-installer.d.ts +11 -0
  607. package/es/entries/runtime-installer.js +130 -0
  608. package/es/entries/runtime-installer.js.map +1 -0
  609. package/es/entries/types.d.ts +29 -0
  610. package/es/entries/types.js.map +1 -0
  611. package/es/env-check.js +3 -3
  612. package/es/env-check.js.map +1 -1
  613. package/es/event/event-manager.js +4 -1
  614. package/es/event/event-manager.js.map +1 -1
  615. package/es/event/util.d.ts +1 -1
  616. package/es/factory/graphic-factory.d.ts +7 -0
  617. package/es/factory/graphic-factory.js +15 -0
  618. package/es/factory/graphic-factory.js.map +1 -0
  619. package/es/factory/index.d.ts +4 -0
  620. package/es/factory/index.js +8 -0
  621. package/es/factory/index.js.map +1 -0
  622. package/es/factory/layer-factory.d.ts +7 -0
  623. package/es/factory/layer-factory.js +11 -0
  624. package/es/factory/layer-factory.js.map +1 -0
  625. package/es/factory/stage-factory.d.ts +8 -0
  626. package/es/factory/stage-factory.js +12 -0
  627. package/es/factory/stage-factory.js.map +1 -0
  628. package/es/factory/types.d.ts +34 -0
  629. package/es/factory/types.js +2 -0
  630. package/es/factory/types.js.map +1 -0
  631. package/es/factory.d.ts +1 -0
  632. package/es/factory.js +2 -0
  633. package/es/factory.js.map +1 -1
  634. package/es/global.d.ts +2 -0
  635. package/es/global.js +10 -0
  636. package/es/global.js.map +1 -0
  637. package/es/graphic/arc.js +3 -3
  638. package/es/graphic/arc.js.map +1 -1
  639. package/es/graphic/arc3d.js +4 -3
  640. package/es/graphic/arc3d.js.map +1 -1
  641. package/es/graphic/area.js +3 -3
  642. package/es/graphic/area.js.map +1 -1
  643. package/es/graphic/bounds.js +3 -3
  644. package/es/graphic/bounds.js.map +1 -1
  645. package/es/graphic/circle.js +3 -3
  646. package/es/graphic/circle.js.map +1 -1
  647. package/es/graphic/config.js +7 -1
  648. package/es/graphic/config.js.map +1 -1
  649. package/es/graphic/glyph.js +9 -3
  650. package/es/graphic/glyph.js.map +1 -1
  651. package/es/graphic/graphic-creator.d.ts +9 -4
  652. package/es/graphic/graphic-creator.js +32 -5
  653. package/es/graphic/graphic-creator.js.map +1 -1
  654. package/es/graphic/graphic-service/graphic-module.d.ts +4 -0
  655. package/es/graphic/graphic-service/graphic-module.js +12 -0
  656. package/es/graphic/graphic-service/graphic-module.js.map +1 -0
  657. package/es/graphic/graphic-service/graphic-service.d.ts +2 -3
  658. package/es/graphic/graphic-service/graphic-service.js +3 -5
  659. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  660. package/es/graphic/graphic.d.ts +78 -7
  661. package/es/graphic/graphic.js +490 -140
  662. package/es/graphic/graphic.js.map +1 -1
  663. package/es/graphic/group.d.ts +11 -1
  664. package/es/graphic/group.js +49 -13
  665. package/es/graphic/group.js.map +1 -1
  666. package/es/graphic/image.d.ts +1 -0
  667. package/es/graphic/image.js +5 -4
  668. package/es/graphic/image.js.map +1 -1
  669. package/es/graphic/index.d.ts +3 -0
  670. package/es/graphic/index.js +4 -0
  671. package/es/graphic/index.js.map +1 -1
  672. package/es/graphic/line.js +3 -3
  673. package/es/graphic/line.js.map +1 -1
  674. package/es/graphic/path.js +3 -3
  675. package/es/graphic/path.js.map +1 -1
  676. package/es/graphic/polygon.js +3 -3
  677. package/es/graphic/polygon.js.map +1 -1
  678. package/es/graphic/pyramid3d.js +2 -2
  679. package/es/graphic/pyramid3d.js.map +1 -1
  680. package/es/graphic/rect.js +3 -3
  681. package/es/graphic/rect.js.map +1 -1
  682. package/es/graphic/richtext/utils.js +3 -3
  683. package/es/graphic/richtext/utils.js.map +1 -1
  684. package/es/graphic/richtext.js +4 -4
  685. package/es/graphic/richtext.js.map +1 -1
  686. package/es/graphic/star.js +3 -3
  687. package/es/graphic/star.js.map +1 -1
  688. package/es/graphic/state/attribute-update-classifier.d.ts +13 -0
  689. package/es/graphic/state/attribute-update-classifier.js +61 -0
  690. package/es/graphic/state/attribute-update-classifier.js.map +1 -0
  691. package/es/graphic/state/shared-state-refresh.d.ts +6 -0
  692. package/es/graphic/state/shared-state-refresh.js +46 -0
  693. package/es/graphic/state/shared-state-refresh.js.map +1 -0
  694. package/es/graphic/state/shared-state-scope.d.ts +25 -0
  695. package/es/graphic/state/shared-state-scope.js +90 -0
  696. package/es/graphic/state/shared-state-scope.js.map +1 -0
  697. package/es/graphic/state/state-batch-scheduler.d.ts +42 -0
  698. package/es/graphic/state/state-batch-scheduler.js +278 -0
  699. package/es/graphic/state/state-batch-scheduler.js.map +1 -0
  700. package/es/graphic/state/state-definition-compiler.d.ts +6 -0
  701. package/es/graphic/state/state-definition-compiler.js +83 -0
  702. package/es/graphic/state/state-definition-compiler.js.map +1 -0
  703. package/es/graphic/state/state-definition.d.ts +44 -0
  704. package/es/graphic/state/state-definition.js +2 -0
  705. package/es/graphic/state/state-definition.js.map +1 -0
  706. package/es/graphic/state/state-engine.d.ts +38 -0
  707. package/es/graphic/state/state-engine.js +212 -0
  708. package/es/graphic/state/state-engine.js.map +1 -0
  709. package/es/graphic/state/state-model.d.ts +43 -0
  710. package/es/graphic/state/state-model.js +135 -0
  711. package/es/graphic/state/state-model.js.map +1 -0
  712. package/es/graphic/state/state-perf-monitor.d.ts +119 -0
  713. package/es/graphic/state/state-perf-monitor.js +207 -0
  714. package/es/graphic/state/state-perf-monitor.js.map +1 -0
  715. package/es/graphic/state/state-style-resolver.d.ts +22 -0
  716. package/es/graphic/state/state-style-resolver.js +65 -0
  717. package/es/graphic/state/state-style-resolver.js.map +1 -0
  718. package/es/graphic/state/state-transition-orchestrator.d.ts +41 -0
  719. package/es/graphic/state/state-transition-orchestrator.js +68 -0
  720. package/es/graphic/state/state-transition-orchestrator.js.map +1 -0
  721. package/es/graphic/symbol.js +3 -3
  722. package/es/graphic/symbol.js.map +1 -1
  723. package/es/graphic/text.d.ts +3 -2
  724. package/es/graphic/text.js +28 -19
  725. package/es/graphic/text.js.map +1 -1
  726. package/es/graphic/theme.d.ts +5 -0
  727. package/es/graphic/theme.js +7 -0
  728. package/es/graphic/theme.js.map +1 -1
  729. package/es/graphic/tools.js +2 -2
  730. package/es/graphic/tools.js.map +1 -1
  731. package/es/graphic/wrap-text.d.ts +1 -1
  732. package/es/graphic/wrap-text.js +20 -15
  733. package/es/graphic/wrap-text.js.map +1 -1
  734. package/es/index.d.ts +26 -4
  735. package/es/index.js +49 -5
  736. package/es/index.js.map +1 -1
  737. package/es/interface/canvas.d.ts +1 -1
  738. package/es/interface/canvas.js.map +1 -1
  739. package/es/interface/global.d.ts +2 -0
  740. package/es/interface/global.js.map +1 -1
  741. package/es/interface/graphic/group.d.ts +6 -0
  742. package/es/interface/graphic/group.js.map +1 -1
  743. package/es/interface/graphic/image.d.ts +7 -1
  744. package/es/interface/graphic/image.js.map +1 -1
  745. package/es/interface/graphic/theme.d.ts +3 -0
  746. package/es/interface/graphic/theme.js.map +1 -1
  747. package/es/interface/graphic.d.ts +34 -5
  748. package/es/interface/graphic.js.map +1 -1
  749. package/es/interface/layer.d.ts +3 -2
  750. package/es/interface/layer.js.map +1 -1
  751. package/es/interface/plugin.d.ts +2 -0
  752. package/es/interface/plugin.js.map +1 -1
  753. package/es/interface/render.d.ts +1 -1
  754. package/es/interface/render.js.map +1 -1
  755. package/es/interface/stage.d.ts +9 -0
  756. package/es/interface/stage.js.map +1 -1
  757. package/es/interface/theme-service.js.map +1 -1
  758. package/es/legacy/binding-context.d.ts +24 -0
  759. package/es/legacy/binding-context.js +90 -0
  760. package/es/legacy/binding-context.js.map +1 -0
  761. package/es/legacy/bootstrap.d.ts +10 -0
  762. package/es/legacy/bootstrap.js +73 -0
  763. package/es/legacy/bootstrap.js.map +1 -0
  764. package/es/legacy/module-types.d.ts +2 -0
  765. package/es/legacy/module-types.js +2 -0
  766. package/es/legacy/module-types.js.map +1 -0
  767. package/es/modules.d.ts +5 -6
  768. package/es/modules.js +44 -14
  769. package/es/modules.js.map +1 -1
  770. package/es/picker/global-picker-service.js +2 -2
  771. package/es/picker/global-picker-service.js.map +1 -1
  772. package/es/picker/pick-modules.d.ts +5 -0
  773. package/es/picker/pick-modules.js +18 -0
  774. package/es/picker/pick-modules.js.map +1 -0
  775. package/es/picker/picker-service.d.ts +13 -4
  776. package/es/picker/picker-service.js +16 -11
  777. package/es/picker/picker-service.js.map +1 -1
  778. package/es/plugins/base-plugin.d.ts +8 -0
  779. package/es/plugins/base-plugin.js +7 -0
  780. package/es/plugins/base-plugin.js.map +1 -0
  781. package/es/plugins/browser-env-plugin.d.ts +8 -0
  782. package/es/plugins/browser-env-plugin.js +16 -0
  783. package/es/plugins/browser-env-plugin.js.map +1 -0
  784. package/es/plugins/builtin-plugin/auto-refresh-plugin.js +6 -6
  785. package/es/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
  786. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  787. package/es/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +4 -1
  788. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +26 -3
  789. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  790. package/es/plugins/builtin-plugin/edit-module.js +3 -3
  791. package/es/plugins/builtin-plugin/edit-module.js.map +1 -1
  792. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  793. package/es/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
  794. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  795. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
  796. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  797. package/es/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
  798. package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  799. package/es/plugins/builtin-plugin/richtext-edit-plugin.js +9 -7
  800. package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  801. package/es/plugins/index.d.ts +5 -0
  802. package/es/plugins/index.js +10 -0
  803. package/es/plugins/index.js.map +1 -0
  804. package/es/plugins/picker-plugin.d.ts +7 -0
  805. package/es/plugins/picker-plugin.js +11 -0
  806. package/es/plugins/picker-plugin.js.map +1 -0
  807. package/es/plugins/plugin-modules.d.ts +4 -0
  808. package/es/plugins/plugin-modules.js +14 -0
  809. package/es/plugins/plugin-modules.js.map +1 -0
  810. package/es/plugins/plugin-service.d.ts +16 -2
  811. package/es/plugins/plugin-service.js +24 -12
  812. package/es/plugins/plugin-service.js.map +1 -1
  813. package/es/plugins/renderer-plugin.d.ts +7 -0
  814. package/es/plugins/renderer-plugin.js +11 -0
  815. package/es/plugins/renderer-plugin.js.map +1 -0
  816. package/es/plugins/types.d.ts +28 -0
  817. package/es/plugins/types.js +2 -0
  818. package/es/plugins/types.js.map +1 -0
  819. package/es/register/register-arc.js +2 -2
  820. package/es/register/register-arc.js.map +1 -1
  821. package/es/register/register-arc3d.js +2 -2
  822. package/es/register/register-arc3d.js.map +1 -1
  823. package/es/register/register-area.js +2 -2
  824. package/es/register/register-area.js.map +1 -1
  825. package/es/register/register-circle.js +2 -2
  826. package/es/register/register-circle.js.map +1 -1
  827. package/es/register/register-glyph.js +2 -2
  828. package/es/register/register-glyph.js.map +1 -1
  829. package/es/register/register-group.js +2 -2
  830. package/es/register/register-group.js.map +1 -1
  831. package/es/register/register-image.js +2 -2
  832. package/es/register/register-image.js.map +1 -1
  833. package/es/register/register-line.js +2 -2
  834. package/es/register/register-line.js.map +1 -1
  835. package/es/register/register-path.js +2 -2
  836. package/es/register/register-path.js.map +1 -1
  837. package/es/register/register-polygon.js +2 -2
  838. package/es/register/register-polygon.js.map +1 -1
  839. package/es/register/register-pyramid3d.js +2 -2
  840. package/es/register/register-pyramid3d.js.map +1 -1
  841. package/es/register/register-rect.js +2 -2
  842. package/es/register/register-rect.js.map +1 -1
  843. package/es/register/register-rect3d.js +2 -2
  844. package/es/register/register-rect3d.js.map +1 -1
  845. package/es/register/register-richtext.js +2 -2
  846. package/es/register/register-richtext.js.map +1 -1
  847. package/es/register/register-shadowRoot.js +2 -2
  848. package/es/register/register-shadowRoot.js.map +1 -1
  849. package/es/register/register-star.js +2 -2
  850. package/es/register/register-star.js.map +1 -1
  851. package/es/register/register-symbol.js +2 -2
  852. package/es/register/register-symbol.js.map +1 -1
  853. package/es/register/register-text.js +2 -2
  854. package/es/register/register-text.js.map +1 -1
  855. package/es/register/register-wraptext.js +2 -2
  856. package/es/register/register-wraptext.js.map +1 -1
  857. package/es/registry/contribution-registry.d.ts +9 -0
  858. package/es/registry/contribution-registry.js +25 -0
  859. package/es/registry/contribution-registry.js.map +1 -0
  860. package/es/registry/index.d.ts +5 -0
  861. package/es/registry/index.js +10 -0
  862. package/es/registry/index.js.map +1 -0
  863. package/es/registry/picker-registry.d.ts +10 -0
  864. package/es/registry/picker-registry.js +21 -0
  865. package/es/registry/picker-registry.js.map +1 -0
  866. package/es/registry/plugin-registry.d.ts +10 -0
  867. package/es/registry/plugin-registry.js +21 -0
  868. package/es/registry/plugin-registry.js.map +1 -0
  869. package/es/registry/renderer-registry.d.ts +11 -0
  870. package/es/registry/renderer-registry.js +29 -0
  871. package/es/registry/renderer-registry.js.map +1 -0
  872. package/es/registry/types.d.ts +34 -0
  873. package/es/registry/types.js +2 -0
  874. package/es/registry/types.js.map +1 -0
  875. package/es/render/contributions/modules.d.ts +2 -0
  876. package/es/render/contributions/modules.js +8 -0
  877. package/es/render/contributions/modules.js.map +1 -0
  878. package/es/render/contributions/render/arc-module.d.ts +4 -0
  879. package/es/render/contributions/render/arc-module.js +21 -0
  880. package/es/render/contributions/render/arc-module.js.map +1 -0
  881. package/es/render/contributions/render/arc-render.d.ts +2 -2
  882. package/es/render/contributions/render/arc-render.js +3 -8
  883. package/es/render/contributions/render/arc-render.js.map +1 -1
  884. package/es/render/contributions/render/arc3d-module.d.ts +4 -0
  885. package/es/render/contributions/render/arc3d-module.js +13 -0
  886. package/es/render/contributions/render/arc3d-module.js.map +1 -0
  887. package/es/render/contributions/render/area-module.d.ts +4 -0
  888. package/es/render/contributions/render/area-module.js +23 -0
  889. package/es/render/contributions/render/area-module.js.map +1 -0
  890. package/es/render/contributions/render/area-render.d.ts +2 -2
  891. package/es/render/contributions/render/area-render.js +3 -8
  892. package/es/render/contributions/render/area-render.js.map +1 -1
  893. package/es/render/contributions/render/base-render.js +1 -1
  894. package/es/render/contributions/render/base-render.js.map +1 -1
  895. package/es/render/contributions/render/circle-module.d.ts +4 -0
  896. package/es/render/contributions/render/circle-module.js +21 -0
  897. package/es/render/contributions/render/circle-module.js.map +1 -0
  898. package/es/render/contributions/render/circle-render.d.ts +2 -2
  899. package/es/render/contributions/render/circle-render.js +3 -8
  900. package/es/render/contributions/render/circle-render.js.map +1 -1
  901. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +29 -11
  902. package/es/render/contributions/render/contributions/base-contribution-render.js +142 -41
  903. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  904. package/es/render/contributions/render/contributions/base-texture-contribution-render.d.ts +4 -2
  905. package/es/render/contributions/render/contributions/base-texture-contribution-render.js +85 -30
  906. package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
  907. package/es/render/contributions/render/contributions/group-contribution-render.js +9 -7
  908. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  909. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +2 -1
  910. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  911. package/es/render/contributions/render/contributions/text-contribution-render.js +20 -16
  912. package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  913. package/es/render/contributions/render/draw-contribution.d.ts +13 -4
  914. package/es/render/contributions/render/draw-contribution.js +40 -19
  915. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  916. package/es/render/contributions/render/draw-interceptor.js +2 -3
  917. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  918. package/es/render/contributions/render/glyph-module.d.ts +4 -0
  919. package/es/render/contributions/render/glyph-module.js +13 -0
  920. package/es/render/contributions/render/glyph-module.js.map +1 -0
  921. package/es/render/contributions/render/group-render.d.ts +2 -2
  922. package/es/render/contributions/render/group-render.js +3 -9
  923. package/es/render/contributions/render/group-render.js.map +1 -1
  924. package/es/render/contributions/render/image-module.d.ts +4 -0
  925. package/es/render/contributions/render/image-module.js +20 -0
  926. package/es/render/contributions/render/image-module.js.map +1 -0
  927. package/es/render/contributions/render/image-render.d.ts +16 -3
  928. package/es/render/contributions/render/image-render.js +95 -25
  929. package/es/render/contributions/render/image-render.js.map +1 -1
  930. package/es/render/contributions/render/incremental-draw-contribution.d.ts +5 -3
  931. package/es/render/contributions/render/incremental-draw-contribution.js +4 -12
  932. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  933. package/es/render/contributions/render/index.d.ts +4 -12
  934. package/es/render/contributions/render/index.js +8 -24
  935. package/es/render/contributions/render/index.js.map +1 -1
  936. package/es/render/contributions/render/line-module.d.ts +4 -0
  937. package/es/render/contributions/render/line-module.js +16 -0
  938. package/es/render/contributions/render/line-module.js.map +1 -0
  939. package/es/render/contributions/render/module.d.ts +4 -0
  940. package/es/render/contributions/render/module.js +28 -0
  941. package/es/render/contributions/render/module.js.map +1 -0
  942. package/es/render/contributions/render/path-module.d.ts +4 -0
  943. package/es/render/contributions/render/path-module.js +21 -0
  944. package/es/render/contributions/render/path-module.js.map +1 -0
  945. package/es/render/contributions/render/path-render.d.ts +2 -2
  946. package/es/render/contributions/render/path-render.js +3 -8
  947. package/es/render/contributions/render/path-render.js.map +1 -1
  948. package/es/render/contributions/render/polygon-module.d.ts +4 -0
  949. package/es/render/contributions/render/polygon-module.js +20 -0
  950. package/es/render/contributions/render/polygon-module.js.map +1 -0
  951. package/es/render/contributions/render/polygon-render.d.ts +2 -2
  952. package/es/render/contributions/render/polygon-render.js +3 -8
  953. package/es/render/contributions/render/polygon-render.js.map +1 -1
  954. package/es/render/contributions/render/pyramid3d-module.d.ts +4 -0
  955. package/es/render/contributions/render/pyramid3d-module.js +13 -0
  956. package/es/render/contributions/render/pyramid3d-module.js.map +1 -0
  957. package/es/render/contributions/render/rect-module.d.ts +4 -0
  958. package/es/render/contributions/render/rect-module.js +23 -0
  959. package/es/render/contributions/render/rect-module.js.map +1 -0
  960. package/es/render/contributions/render/rect-render.d.ts +2 -2
  961. package/es/render/contributions/render/rect-render.js +3 -8
  962. package/es/render/contributions/render/rect-render.js.map +1 -1
  963. package/es/render/contributions/render/rect3d-module.d.ts +4 -0
  964. package/es/render/contributions/render/rect3d-module.js +13 -0
  965. package/es/render/contributions/render/rect3d-module.js.map +1 -0
  966. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  967. package/es/render/contributions/render/render-slector.js.map +1 -1
  968. package/es/render/contributions/render/richtext-module.d.ts +4 -0
  969. package/es/render/contributions/render/richtext-module.js +13 -0
  970. package/es/render/contributions/render/richtext-module.js.map +1 -0
  971. package/es/render/contributions/render/star-module.d.ts +4 -0
  972. package/es/render/contributions/render/star-module.js +17 -0
  973. package/es/render/contributions/render/star-module.js.map +1 -0
  974. package/es/render/contributions/render/star-render.d.ts +2 -2
  975. package/es/render/contributions/render/star-render.js +3 -8
  976. package/es/render/contributions/render/star-render.js.map +1 -1
  977. package/es/render/contributions/render/symbol-module.d.ts +4 -0
  978. package/es/render/contributions/render/symbol-module.js +21 -0
  979. package/es/render/contributions/render/symbol-module.js.map +1 -0
  980. package/es/render/contributions/render/symbol-render.d.ts +2 -2
  981. package/es/render/contributions/render/symbol-render.js +3 -8
  982. package/es/render/contributions/render/symbol-render.js.map +1 -1
  983. package/es/render/contributions/render/symbol.d.ts +0 -2
  984. package/es/render/contributions/render/symbol.js +0 -4
  985. package/es/render/contributions/render/symbol.js.map +1 -1
  986. package/es/render/contributions/render/text-module.d.ts +4 -0
  987. package/es/render/contributions/render/text-module.js +20 -0
  988. package/es/render/contributions/render/text-module.js.map +1 -0
  989. package/es/render/contributions/render/text-render.d.ts +2 -2
  990. package/es/render/contributions/render/text-render.js +2 -7
  991. package/es/render/contributions/render/text-render.js.map +1 -1
  992. package/es/render/render-modules.d.ts +4 -0
  993. package/es/render/render-modules.js +10 -0
  994. package/es/render/render-modules.js.map +1 -0
  995. package/es/render/render-service.d.ts +1 -1
  996. package/es/render/render-service.js +3 -1
  997. package/es/render/render-service.js.map +1 -1
  998. package/es/resource-loader/loader.js +6 -6
  999. package/es/resource-loader/loader.js.map +1 -1
  1000. package/package.json +8 -7
  1001. package/cjs/common/registry/contribution-registry.d.ts +0 -24
  1002. package/cjs/common/registry/contribution-registry.js +0 -61
  1003. package/cjs/common/registry/contribution-registry.js.map +0 -1
  1004. package/cjs/common/registry/index.d.ts +0 -5
  1005. package/cjs/common/registry/index.js +0 -34
  1006. package/cjs/common/registry/index.js.map +0 -1
  1007. package/cjs/common/registry/service-registry.d.ts +0 -16
  1008. package/cjs/common/registry/service-registry.js +0 -57
  1009. package/cjs/common/registry/service-registry.js.map +0 -1
  1010. package/cjs/common/registry/types.d.ts +0 -1
  1011. package/cjs/common/registry/types.js.map +0 -1
  1012. package/cjs/register-modules.d.ts +0 -9
  1013. package/cjs/register-modules.js +0 -79
  1014. package/cjs/register-modules.js.map +0 -1
  1015. package/es/common/registry/contribution-registry.d.ts +0 -24
  1016. package/es/common/registry/contribution-registry.js +0 -55
  1017. package/es/common/registry/contribution-registry.js.map +0 -1
  1018. package/es/common/registry/index.d.ts +0 -5
  1019. package/es/common/registry/index.js +0 -4
  1020. package/es/common/registry/index.js.map +0 -1
  1021. package/es/common/registry/service-registry.d.ts +0 -16
  1022. package/es/common/registry/service-registry.js +0 -51
  1023. package/es/common/registry/service-registry.js.map +0 -1
  1024. package/es/common/registry/types.d.ts +0 -1
  1025. package/es/common/registry/types.js.map +0 -1
  1026. package/es/register-modules.d.ts +0 -9
  1027. package/es/register-modules.js +0 -117
  1028. package/es/register-modules.js.map +0 -1
  1029. /package/cjs/{common/registry → entries}/types.js +0 -0
  1030. /package/es/{common/registry → entries}/types.js +0 -0
@@ -4,26 +4,62 @@ function isIdentityMatrix(matrix) {
4
4
  return 1 === matrix.a && 0 === matrix.b && 0 === matrix.c && 1 === matrix.d && 0 === matrix.e && 0 === matrix.f;
5
5
  }
6
6
 
7
+ function cloneTouchList(touchList) {
8
+ return touchList && 0 !== touchList.length ? Array.from(touchList, (touch => Object.assign({}, touch))) : [];
9
+ }
10
+
11
+ function cloneTouchEvent(event) {
12
+ var _a;
13
+ const transformedEvent = Object.create(null !== (_a = Object.getPrototypeOf(event)) && void 0 !== _a ? _a : Object.prototype);
14
+ return Object.defineProperties(transformedEvent, {
15
+ type: {
16
+ value: event.type,
17
+ configurable: !0
18
+ },
19
+ touches: {
20
+ value: cloneTouchList(event.touches),
21
+ configurable: !0
22
+ },
23
+ changedTouches: {
24
+ value: cloneTouchList(event.changedTouches),
25
+ configurable: !0
26
+ }
27
+ }), transformedEvent;
28
+ }
29
+
30
+ function cloneNativeEvent(event) {
31
+ return event instanceof TouchEvent ? cloneTouchEvent(event) : new event.constructor(event.type, event);
32
+ }
33
+
34
+ function getSafeEventProperty(event, key) {
35
+ try {
36
+ return event[key];
37
+ } catch (error) {
38
+ return;
39
+ }
40
+ }
41
+
7
42
  export function createEventTransformer(containerElement, getMatrix, getRect, transformPoint) {
8
43
  return event => {
9
44
  if (!(event instanceof MouseEvent || event instanceof TouchEvent || event instanceof PointerEvent)) return event;
10
45
  const transformMatrix = getMatrix();
11
46
  if (isIdentityMatrix(transformMatrix)) return event;
12
- const containerRect = getRect(), transformedEvent = new event.constructor(event.type, event);
47
+ const containerRect = getRect(), transformedEvent = cloneNativeEvent(event), target = getSafeEventProperty(event, "target"), currentTarget = getSafeEventProperty(event, "currentTarget");
13
48
  if (Object.defineProperties(transformedEvent, {
14
49
  target: {
15
- value: event.target
50
+ value: target
16
51
  },
17
52
  currentTarget: {
18
- value: event.currentTarget
53
+ value: currentTarget
19
54
  }
20
55
  }), event instanceof MouseEvent || event instanceof PointerEvent) transformPoint(event.clientX, event.clientY, transformMatrix, containerRect, transformedEvent); else if (event instanceof TouchEvent) {
56
+ const transformedTouchEvent = transformedEvent;
21
57
  if (event.touches.length > 0) {
22
- const touch = transformedEvent.touches[0];
58
+ const touch = transformedTouchEvent.touches[0];
23
59
  transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch);
24
60
  }
25
61
  if (event.changedTouches.length > 0) {
26
- const touch = transformedEvent.changedTouches[0];
62
+ const touch = transformedTouchEvent.changedTouches[0];
27
63
  transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch);
28
64
  }
29
65
  }
@@ -77,5 +113,4 @@ export function mapToCanvasPointForCanvas(nativeEvent) {
77
113
  x: nativeEvent._canvasX || 0,
78
114
  y: nativeEvent._canvasY || 0
79
115
  };
80
- }
81
- //# sourceMappingURL=event-transformer.js.map
116
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/event-transformer.ts"],"names":[],"mappings":"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","file":"event-transformer.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { Matrix } from '@visactor/vutils';\nimport type { IGlobal, IWindow } from '../interface';\nimport { isNumber } from '../canvas/util';\n\nfunction isIdentityMatrix(matrix: Matrix): boolean {\n return matrix.a === 1 && matrix.b === 0 && matrix.c === 0 && matrix.d === 1 && matrix.e === 0 && matrix.f === 0;\n}\n\n/**\n * Create an event transformer that corrects event coordinates based on container transformations\n * @param containerElement The container element\n * @param matrix The transformation matrix to apply\n * @param rect Optional DOMRect of the container, if not provided will use getBoundingClientRect\n * @returns A function that transforms events to correct coordinates\n */\nexport function createEventTransformer(\n containerElement: HTMLElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): (event: Event) => Event {\n return (event: Event): Event => {\n // Only transform mouse and touch events that have coordinates\n if (!(event instanceof MouseEvent) && !(event instanceof TouchEvent) && !(event instanceof PointerEvent)) {\n return event;\n }\n\n // Use provided matrix\n const transformMatrix = getMatrix();\n\n // If there's no transformation, return the original event\n if (isIdentityMatrix(transformMatrix)) {\n return event;\n }\n\n // Get the container's bounding rect for coordinate conversion\n const containerRect = getRect();\n\n // Create a copy of the event to modify\n const transformedEvent = new (event.constructor as any)(event.type, event);\n Object.defineProperties(transformedEvent, {\n target: { value: event.target },\n currentTarget: { value: event.currentTarget }\n });\n\n if (event instanceof MouseEvent || event instanceof PointerEvent) {\n transformPoint(event.clientX, event.clientY, transformMatrix, containerRect, transformedEvent);\n } else if (event instanceof TouchEvent) {\n // For touch events, we need to transform each touch point\n // This is a simplified version that assumes we're only using the first touch\n if (event.touches.length > 0) {\n const touch = transformedEvent.touches[0];\n transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch);\n }\n if (event.changedTouches.length > 0) {\n const touch = transformedEvent.changedTouches[0];\n transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch);\n }\n }\n\n return transformedEvent;\n };\n}\n\n/**\n * Create an event transformer for the given canvas element\n * @param canvasElement The canvas element\n * @param getMatrix The transformation matrix to apply\n * @param getRect Optional DOMRect of the container\n * @returns A function that transforms events to correct coordinates\n */\nexport function createCanvasEventTransformer(\n canvasElement: HTMLCanvasElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): (event: Event) => Event {\n return createEventTransformer(canvasElement.parentElement || canvasElement, getMatrix, getRect, transformPoint);\n}\n\n/**\n * Register the event transformer with a DefaultWindow instance\n * @param window The window instance\n * @param container The container element\n * @param getMatrix The transformation matrix to apply\n * @param getRect Optional DOMRect of the container\n */\nexport function registerWindowEventTransformer(\n window: IWindow,\n container: HTMLElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): void {\n const transformer = createEventTransformer(container, getMatrix, getRect, transformPoint);\n window.setEventListenerTransformer(transformer);\n}\n\n/**\n * Register the event transformer with a DefaultGlobal instance\n * @param global The global instance\n * @param container The container element\n * @param getMatrix The transformation matrix to apply\n * @param getRect Optional DOMRect of the container\n */\nexport function registerGlobalEventTransformer(\n global: IGlobal,\n container: HTMLElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): void {\n const transformer = createEventTransformer(container, getMatrix, getRect, transformPoint);\n global.setEventListenerTransformer(transformer);\n}\n\nexport function transformPointForCanvas(\n clientX: number,\n clientY: number,\n matrix: Matrix,\n rect: IAABBBounds,\n transformedEvent: Event\n) {\n // Apply the inverse transformation\n const transformedPoint = { x: clientX, y: clientY };\n\n matrix.transformPoint(transformedPoint, transformedPoint);\n\n // Update the event properties\n Object.defineProperties(transformedEvent, {\n _canvasX: { value: transformedPoint.x },\n _canvasY: { value: transformedPoint.y }\n });\n return;\n}\n\nexport function mapToCanvasPointForCanvas(nativeEvent: any) {\n if (isNumber(nativeEvent._canvasX) && isNumber(nativeEvent._canvasY)) {\n return {\n x: nativeEvent._canvasX,\n y: nativeEvent._canvasY\n };\n } else if ((nativeEvent as TouchEvent).changedTouches) {\n const data = (nativeEvent as TouchEvent).changedTouches[0] ?? ({} as any);\n return {\n x: data._canvasX,\n y: data._canvasY\n };\n }\n const x = (nativeEvent as any)._canvasX || 0;\n const y = (nativeEvent as any)._canvasY || 0;\n return {\n x,\n y\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/common/event-transformer.ts"],"names":[],"mappings":"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","file":"event-transformer.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { Matrix } from '@visactor/vutils';\nimport type { IGlobal, IWindow } from '../interface';\nimport { isNumber } from '../canvas/util';\n\nfunction isIdentityMatrix(matrix: Matrix): boolean {\n return matrix.a === 1 && matrix.b === 0 && matrix.c === 0 && matrix.d === 1 && matrix.e === 0 && matrix.f === 0;\n}\n\nfunction cloneTouchList(touchList?: ArrayLike<any>): any[] {\n if (!touchList || touchList.length === 0) {\n return [];\n }\n\n return Array.from(touchList, touch => ({ ...touch }));\n}\n\nfunction cloneTouchEvent(event: TouchEvent): TouchEvent {\n const transformedEvent = Object.create(Object.getPrototypeOf(event) ?? Object.prototype);\n\n Object.defineProperties(transformedEvent, {\n type: { value: event.type, configurable: true },\n touches: { value: cloneTouchList(event.touches), configurable: true },\n changedTouches: { value: cloneTouchList(event.changedTouches), configurable: true }\n });\n\n return transformedEvent;\n}\n\nfunction cloneNativeEvent(event: Event): Event {\n if (event instanceof TouchEvent) {\n return cloneTouchEvent(event);\n }\n\n return new (event.constructor as any)(event.type, event);\n}\n\nfunction getSafeEventProperty(event: Event, key: 'target' | 'currentTarget') {\n try {\n return event[key];\n } catch (error) {\n return undefined;\n }\n}\n\n/**\n * Create an event transformer that corrects event coordinates based on container transformations\n * @param containerElement The container element\n * @param matrix The transformation matrix to apply\n * @param rect Optional DOMRect of the container, if not provided will use getBoundingClientRect\n * @returns A function that transforms events to correct coordinates\n */\nexport function createEventTransformer(\n containerElement: HTMLElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): (event: Event) => Event {\n return (event: Event): Event => {\n // Only transform mouse and touch events that have coordinates\n if (!(event instanceof MouseEvent) && !(event instanceof TouchEvent) && !(event instanceof PointerEvent)) {\n return event;\n }\n\n // Use provided matrix\n const transformMatrix = getMatrix();\n\n // If there's no transformation, return the original event\n if (isIdentityMatrix(transformMatrix)) {\n return event;\n }\n\n // Get the container's bounding rect for coordinate conversion\n const containerRect = getRect();\n\n // Create a copy of the event to modify\n const transformedEvent = cloneNativeEvent(event);\n const target = getSafeEventProperty(event, 'target');\n const currentTarget = getSafeEventProperty(event, 'currentTarget');\n\n Object.defineProperties(transformedEvent, {\n target: { value: target },\n currentTarget: { value: currentTarget }\n });\n\n if (event instanceof MouseEvent || event instanceof PointerEvent) {\n transformPoint(event.clientX, event.clientY, transformMatrix, containerRect, transformedEvent);\n } else if (event instanceof TouchEvent) {\n const transformedTouchEvent = transformedEvent as TouchEvent;\n\n // For touch events, we need to transform each touch point\n // This is a simplified version that assumes we're only using the first touch\n if (event.touches.length > 0) {\n const touch = transformedTouchEvent.touches[0];\n transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch as unknown as Event);\n }\n if (event.changedTouches.length > 0) {\n const touch = transformedTouchEvent.changedTouches[0];\n transformPoint(touch.clientX, touch.clientY, transformMatrix, containerRect, touch as unknown as Event);\n }\n }\n\n return transformedEvent;\n };\n}\n\n/**\n * Create an event transformer for the given canvas element\n * @param canvasElement The canvas element\n * @param getMatrix The transformation matrix to apply\n * @param getRect Optional DOMRect of the container\n * @returns A function that transforms events to correct coordinates\n */\nexport function createCanvasEventTransformer(\n canvasElement: HTMLCanvasElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): (event: Event) => Event {\n return createEventTransformer(canvasElement.parentElement || canvasElement, getMatrix, getRect, transformPoint);\n}\n\n/**\n * Register the event transformer with a DefaultWindow instance\n * @param window The window instance\n * @param container The container element\n * @param getMatrix The transformation matrix to apply\n * @param getRect Optional DOMRect of the container\n */\nexport function registerWindowEventTransformer(\n window: IWindow,\n container: HTMLElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): void {\n const transformer = createEventTransformer(container, getMatrix, getRect, transformPoint);\n window.setEventListenerTransformer(transformer);\n}\n\n/**\n * Register the event transformer with a DefaultGlobal instance\n * @param global The global instance\n * @param container The container element\n * @param getMatrix The transformation matrix to apply\n * @param getRect Optional DOMRect of the container\n */\nexport function registerGlobalEventTransformer(\n global: IGlobal,\n container: HTMLElement,\n getMatrix: () => Matrix,\n getRect: () => IAABBBounds,\n transformPoint: (clientX: number, clientY: number, matrix: Matrix, rect: IAABBBounds, transformedEvent: Event) => void\n): void {\n const transformer = createEventTransformer(container, getMatrix, getRect, transformPoint);\n global.setEventListenerTransformer(transformer);\n}\n\nexport function transformPointForCanvas(\n clientX: number,\n clientY: number,\n matrix: Matrix,\n rect: IAABBBounds,\n transformedEvent: Event\n) {\n // Apply the inverse transformation\n const transformedPoint = { x: clientX, y: clientY };\n\n matrix.transformPoint(transformedPoint, transformedPoint);\n\n // Update the event properties\n Object.defineProperties(transformedEvent, {\n _canvasX: { value: transformedPoint.x },\n _canvasY: { value: transformedPoint.y }\n });\n return;\n}\n\nexport function mapToCanvasPointForCanvas(nativeEvent: any) {\n if (isNumber(nativeEvent._canvasX) && isNumber(nativeEvent._canvasY)) {\n return {\n x: nativeEvent._canvasX,\n y: nativeEvent._canvasY\n };\n } else if ((nativeEvent as TouchEvent).changedTouches) {\n const data = (nativeEvent as TouchEvent).changedTouches[0] ?? ({} as any);\n return {\n x: data._canvasX,\n y: data._canvasY\n };\n }\n const x = (nativeEvent as any)._canvasX || 0;\n const y = (nativeEvent as any)._canvasY || 0;\n return {\n x,\n y\n };\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export type ServiceIdentifier<T = unknown> = string | symbol | (abstract new (...args: any[]) => T);
2
+ export interface IBindingResolver {
3
+ getAll: <T>(serviceIdentifier: ServiceIdentifier<T>) => T[];
4
+ }
5
+ export declare function resolveContainerBinding<T>(container: IBindingResolver, serviceIdentifier: ServiceIdentifier<T>): T;
@@ -0,0 +1,10 @@
1
+ function describeServiceIdentifier(serviceIdentifier) {
2
+ return "string" == typeof serviceIdentifier ? serviceIdentifier : "symbol" == typeof serviceIdentifier ? serviceIdentifier.toString() : "function" == typeof serviceIdentifier && serviceIdentifier.name ? serviceIdentifier.name : "unknown service identifier";
3
+ }
4
+
5
+ export function resolveContainerBinding(container, serviceIdentifier) {
6
+ const [instance] = container.getAll(serviceIdentifier);
7
+ if (null == instance) throw new Error(`No binding found for ${describeServiceIdentifier(serviceIdentifier)}.`);
8
+ return instance;
9
+ }
10
+ //# sourceMappingURL=explicit-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/explicit-binding.ts"],"names":[],"mappings":"AAMA,SAAS,yBAAyB,CAAC,iBAAoC;IACrE,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;QACzC,OAAO,iBAAiB,CAAC;KAC1B;IACD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;QACzC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAC;KACrC;IACD,IAAI,OAAO,iBAAiB,KAAK,UAAU,IAAI,iBAAiB,CAAC,IAAI,EAAE;QACrE,OAAO,iBAAiB,CAAC,IAAI,CAAC;KAC/B;IACD,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAI,SAA2B,EAAE,iBAAuC;IAC7G,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,MAAM,CAAI,iBAAiB,CAAC,CAAC;IAC1D,IAAI,QAAQ,IAAI,IAAI,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,yBAAyB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;KAC1F;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","file":"explicit-binding.js","sourcesContent":["export type ServiceIdentifier<T = unknown> = string | symbol | (abstract new (...args: any[]) => T);\n\nexport interface IBindingResolver {\n getAll: <T>(serviceIdentifier: ServiceIdentifier<T>) => T[];\n}\n\nfunction describeServiceIdentifier(serviceIdentifier: ServiceIdentifier): string {\n if (typeof serviceIdentifier === 'string') {\n return serviceIdentifier;\n }\n if (typeof serviceIdentifier === 'symbol') {\n return serviceIdentifier.toString();\n }\n if (typeof serviceIdentifier === 'function' && serviceIdentifier.name) {\n return serviceIdentifier.name;\n }\n return 'unknown service identifier';\n}\n\nexport function resolveContainerBinding<T>(container: IBindingResolver, serviceIdentifier: ServiceIdentifier<T>): T {\n const [instance] = container.getAll<T>(serviceIdentifier);\n if (instance == null) {\n throw new Error(`No binding found for ${describeServiceIdentifier(serviceIdentifier)}.`);\n }\n return instance;\n}\n"]}
@@ -3,6 +3,7 @@ export declare class PerformanceRAF {
3
3
  private _rafHandle;
4
4
  addAnimationFrameCb(callback: FrameRequestCallback): number;
5
5
  removeAnimationFrameCb(index: number): boolean;
6
+ wait(): Promise<void>;
6
7
  protected runAnimationFrame: (time: number) => void;
7
8
  protected tryRunAnimationFrameNextFrame: () => void;
8
9
  }
@@ -1,4 +1,4 @@
1
- import { vglobal } from "../modules";
1
+ import { application } from "../application";
2
2
 
3
3
  let idx = 0;
4
4
 
@@ -9,7 +9,7 @@ export class PerformanceRAF {
9
9
  const cbs = this.nextAnimationFrameCbs;
10
10
  this.nextAnimationFrameCbs = new Map, cbs.forEach((cb => cb(time)));
11
11
  }, this.tryRunAnimationFrameNextFrame = () => {
12
- null === this._rafHandle && 0 !== this.nextAnimationFrameCbs.size && (this._rafHandle = vglobal.getRequestAnimationFrame()(this.runAnimationFrame));
12
+ null === this._rafHandle && 0 !== this.nextAnimationFrameCbs.size && (this._rafHandle = application.global.getRequestAnimationFrame()(this.runAnimationFrame));
13
13
  };
14
14
  }
15
15
  addAnimationFrameCb(callback) {
@@ -20,5 +20,10 @@ export class PerformanceRAF {
20
20
  return !!this.nextAnimationFrameCbs.has(index) && (this.nextAnimationFrameCbs.delete(index),
21
21
  !0);
22
22
  }
23
+ wait() {
24
+ return new Promise((resolve => {
25
+ this.addAnimationFrameCb((() => resolve()));
26
+ }));
27
+ }
23
28
  }
24
29
  //# sourceMappingURL=performance-raf.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/performance-raf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,IAAI,GAAG,GAAG,CAAC,CAAC;AAKZ,MAAM,OAAO,cAAc;IAA3B;QACE,0BAAqB,GAAsC,IAAI,GAAG,EAAE,CAAC;QAC7D,eAAU,GAAkB,IAAI,CAAC;QAsB/B,sBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEQ,kCAA6B,GAAG,GAAG,EAAE;YAC7C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,EAAE;gBACrE,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC,CAAC;IACJ,CAAC;IAjCC,mBAAmB,CAAC,QAA8B;QAChD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;IAOD,sBAAsB,CAAC,KAAa;QAClC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAeF","file":"performance-raf.js","sourcesContent":["import { vglobal } from '../modules';\n\nlet idx = 0;\n\n/**\n * 性能优化,将requestAnimationFrame的回调函数存储起来,在下一帧执行\n */\nexport class PerformanceRAF {\n nextAnimationFrameCbs: Map<number, FrameRequestCallback> = new Map();\n private _rafHandle: number | null = null;\n\n addAnimationFrameCb(callback: FrameRequestCallback) {\n this.nextAnimationFrameCbs.set(++idx, callback);\n // 下一帧执行nextAnimationFrameCbs\n this.tryRunAnimationFrameNextFrame();\n return idx;\n }\n\n /**\n * 移除指定索引的回调函数\n * @param index raf索引,从1开始,相当于内部nextAnimationFrameCbs的idx + 1\n * @returns 是否移除成功\n */\n removeAnimationFrameCb(index: number): boolean {\n if (this.nextAnimationFrameCbs.has(index)) {\n this.nextAnimationFrameCbs.delete(index);\n return true;\n }\n return false;\n }\n\n protected runAnimationFrame = (time: number) => {\n this._rafHandle = null;\n const cbs = this.nextAnimationFrameCbs;\n this.nextAnimationFrameCbs = new Map();\n cbs.forEach(cb => cb(time));\n };\n\n protected tryRunAnimationFrameNextFrame = () => {\n if (this._rafHandle !== null || this.nextAnimationFrameCbs.size === 0) {\n return;\n }\n this._rafHandle = vglobal.getRequestAnimationFrame()(this.runAnimationFrame);\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/common/performance-raf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,IAAI,GAAG,GAAG,CAAC,CAAC;AAKZ,MAAM,OAAO,cAAc;IAA3B;QACE,0BAAqB,GAAsC,IAAI,GAAG,EAAE,CAAC;QAC7D,eAAU,GAAkB,IAAI,CAAC;QA4B/B,sBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEQ,kCAA6B,GAAG,GAAG,EAAE;YAC7C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,EAAE;gBACrE,OAAO;aACR;YACD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1F,CAAC,CAAC;IACJ,CAAC;IAvCC,mBAAmB,CAAC,QAA8B;QAChD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;IAOD,sBAAsB,CAAC,KAAa;QAClC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CAeF","file":"performance-raf.js","sourcesContent":["import { application } from '../application';\n\nlet idx = 0;\n\n/**\n * 性能优化,将requestAnimationFrame的回调函数存储起来,在下一帧执行\n */\nexport class PerformanceRAF {\n nextAnimationFrameCbs: Map<number, FrameRequestCallback> = new Map();\n private _rafHandle: number | null = null;\n\n addAnimationFrameCb(callback: FrameRequestCallback) {\n this.nextAnimationFrameCbs.set(++idx, callback);\n // 下一帧执行nextAnimationFrameCbs\n this.tryRunAnimationFrameNextFrame();\n return idx;\n }\n\n /**\n * 移除指定索引的回调函数\n * @param index raf索引,从1开始,相当于内部nextAnimationFrameCbs的idx + 1\n * @returns 是否移除成功\n */\n removeAnimationFrameCb(index: number): boolean {\n if (this.nextAnimationFrameCbs.has(index)) {\n this.nextAnimationFrameCbs.delete(index);\n return true;\n }\n return false;\n }\n\n wait(): Promise<void> {\n return new Promise(resolve => {\n this.addAnimationFrameCb(() => resolve());\n });\n }\n\n protected runAnimationFrame = (time: number) => {\n this._rafHandle = null;\n const cbs = this.nextAnimationFrameCbs;\n this.nextAnimationFrameCbs = new Map();\n cbs.forEach(cb => cb(time));\n };\n\n protected tryRunAnimationFrameNextFrame = () => {\n if (this._rafHandle !== null || this.nextAnimationFrameCbs.size === 0) {\n return;\n }\n this._rafHandle = application.global.getRequestAnimationFrame()(this.runAnimationFrame);\n };\n}\n"]}
@@ -17,4 +17,4 @@ export const normalizeRectAttributes = attribute => {
17
17
  height: height
18
18
  };
19
19
  };
20
- //# sourceMappingURL=rect-utils.js.map
20
+ //# sourceMappingURL=rect-utils.js.map
@@ -61,4 +61,4 @@ function drawAreaBlock(path, topList, bottomList, params) {
61
61
  }
62
62
  path.closePath();
63
63
  }
64
- //# sourceMappingURL=render-area.js.map
64
+ //# sourceMappingURL=render-area.js.map
@@ -6,4 +6,4 @@ export function renderCommandList(commandList, context, x = 0, y = 0, sx = 1, sy
6
6
  commandFuncs[command[0]](command, context, x, y, sx, sy, z);
7
7
  }
8
8
  }
9
- //# sourceMappingURL=render-command-list.js.map
9
+ //# sourceMappingURL=render-command-list.js.map
@@ -93,4 +93,4 @@ export function drawIncrementalAreaSegments(path, lastSeg, segments, params) {
93
93
  path.closePath();
94
94
  }));
95
95
  }
96
- //# sourceMappingURL=render-curve.js.map
96
+ //# sourceMappingURL=render-curve.js.map
@@ -11,4 +11,4 @@ export function drawSegItem(ctx, curve, endPercent, params) {
11
11
  ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
12
12
  }
13
13
  }
14
- //# sourceMappingURL=render-utils.js.map
14
+ //# sourceMappingURL=render-utils.js.map
@@ -91,4 +91,4 @@ export class ReflectSegContext extends SegContext {
91
91
  return super.clear();
92
92
  }
93
93
  }
94
- //# sourceMappingURL=seg-context.js.map
94
+ //# sourceMappingURL=seg-context.js.map
@@ -30,4 +30,4 @@ export function flatten_simplify(points, tolerance, highestQuality) {
30
30
  if (points.length <= 10) return points;
31
31
  return points = highestQuality ? points : simplifyRadialDist(points, void 0 !== tolerance ? tolerance * tolerance : 1);
32
32
  }
33
- //# sourceMappingURL=simplify.js.map
33
+ //# sourceMappingURL=simplify.js.map
package/es/common/sort.js CHANGED
@@ -93,4 +93,5 @@ export function findNextGraphic(graphic, id, defaultZIndex, reverse = !1) {
93
93
  } else graphic.forEachChildren((item => next ? (result = item, !0) : (item._uid === id && (next = !0),
94
94
  !1)), reverse);
95
95
  return result;
96
- }
96
+ }
97
+ //# sourceMappingURL=sort.js.map
@@ -248,4 +248,4 @@ export const splitPath = (path, count) => {
248
248
  }
249
249
  return res;
250
250
  };
251
- //# sourceMappingURL=split-path.js.map
251
+ //# sourceMappingURL=split-path.js.map
@@ -1,2 +1,2 @@
1
1
  class StageStore {}
2
- //# sourceMappingURL=store.js.map
2
+ //# sourceMappingURL=store.js.map
package/es/common/text.js CHANGED
@@ -24,4 +24,4 @@ export function textAttributesToStyle(attrs) {
24
24
  attrs.underline ? style["text-decoration"] = "underline" : attrs.lineThrough && (style["text-decoration"] = "line-through"),
25
25
  attrs.fill && isString(attrs.fill) && (style.color = attrs.fill), style;
26
26
  }
27
- //# sourceMappingURL=text.js.map
27
+ //# sourceMappingURL=text.js.map
@@ -148,4 +148,4 @@ export const calculateLineHeight = (lineHeight, fontSize) => {
148
148
  const _lh = _calculateLineHeight(lineHeight, fontSize);
149
149
  return isNaN(_lh) ? _lh : Math.max(fontSize, _lh);
150
150
  };
151
- //# sourceMappingURL=utils.js.map
151
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,4 @@
1
+ export declare function bindEnvContributionModules({ bind }: {
2
+ bind: any;
3
+ }): void;
4
+ export default bindEnvContributionModules;
@@ -0,0 +1,10 @@
1
+ import { bindContributionProvider } from "../../../common/contribution-provider";
2
+
3
+ import { EnvContribution } from "../../../constants";
4
+
5
+ export function bindEnvContributionModules({bind: bind}) {
6
+ bindContributionProvider(bind, EnvContribution);
7
+ }
8
+
9
+ export default bindEnvContributionModules;
10
+ //# sourceMappingURL=modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contributions/env/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,UAAU,0BAA0B,CAAC,EAAE,IAAI,EAAiB;IAChE,wBAAwB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAClD,CAAC;AAED,eAAe,0BAA0B,CAAC","file":"modules.js","sourcesContent":["import { bindContributionProvider } from '../../../common/contribution-provider';\nimport { EnvContribution } from '../../../constants';\n\nexport function bindEnvContributionModules({ bind }: { bind: any }) {\n bindContributionProvider(bind, EnvContribution);\n}\n\nexport default bindEnvContributionModules;\n"]}
@@ -1,10 +1,10 @@
1
1
  import { wrapCanvas } from "../../../canvas/util";
2
2
 
3
- import { vglobal } from "../../../modules";
3
+ import { application } from "../../../application";
4
4
 
5
5
  export class CanvasLayerHandlerContribution {
6
6
  constructor() {
7
- this.type = "static", this.offscreen = !1, this.global = vglobal;
7
+ this.type = "static", this.offscreen = !1, this.global = application.global;
8
8
  }
9
9
  setDpr(dpr) {
10
10
  this.canvas.dpr = dpr;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/layerHandler/canvas2d-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAgBlD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,8BAA8B;IAYzC;QALA,SAAI,GAAc,QAAQ,CAAC;QAMzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,YAAyB,CAAC;YAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAC5D;YACD,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBACtC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;aACJ;YAED,IAAI,YAAY,CAAC,KAAK,EAAE;gBACtB,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;aAC/C;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;YAC5D,MAAM,MAAM,GAAG,UAAU,CAAC;gBACxB,YAAY;gBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,EAAE,EAAE,MAAM,CAAC,QAAQ;gBACnB,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE;gBAChC,CAAC,EAAE,YAAY,CAAC,UAAU;gBAC1B,CAAC,EAAE,YAAY,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;SACpC;IACH,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;;QAEzF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;YAC5D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,EAAE;gBAC3G,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;aAC7B;SACF;QACD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,SAAS,IAClC,MAAM,GACN,UAAU,EACb,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF","file":"canvas2d-contribution.js","sourcesContent":["import { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { vglobal } from '../../../modules';\n\nexport class CanvasLayerHandlerContribution implements ILayerHandlerContribution {\n layer: ILayer;\n canvas: ICanvas;\n context: IContext2d;\n offscreen: boolean;\n main: boolean;\n window: IWindow;\n type: LayerMode = 'static';\n global: IGlobal;\n // 所绑定的副layer handler\n secondaryHandlers: ILayerHandlerContribution[];\n\n constructor() {\n this.offscreen = false;\n this.global = vglobal;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n // 默认图层,那么直接拿window上的上下文和canvas即可\n if (params.main) {\n this.main = true;\n this.context = window.getContext();\n this.canvas = this.context.getCanvas();\n } else {\n this.main = false;\n let nativeCanvas: HTMLElement;\n if (params.canvasId) {\n nativeCanvas = this.global.getElementById(params.canvasId);\n }\n if (!nativeCanvas) {\n nativeCanvas = this.global.createCanvas({\n width: window.width,\n height: window.height\n });\n }\n // 不是main的话,就穿透点击事件\n if (nativeCanvas.style) {\n nativeCanvas.style['pointer-events'] = 'none';\n }\n const windowContext = window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n const canvas = wrapCanvas({\n nativeCanvas,\n width: window.width,\n height: window.height,\n dpr: window.dpr,\n id: params.canvasId,\n canvasControled: true,\n container: window.getContainer(),\n x: windowCanvas.offsetLeft,\n y: windowCanvas.offsetTop\n });\n canvas.applyPosition();\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n // 调整位置\n if (!this.main) {\n const windowContext = this.window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n if (windowCanvas && (this.canvas.x !== windowCanvas.offsetLeft || this.canvas.y !== windowCanvas.offsetTop)) {\n this.canvas.x = windowCanvas.offsetLeft;\n this.canvas.y = windowCanvas.offsetTop;\n this.canvas.applyPosition();\n }\n }\n params.renderService.render(group, {\n context: this.context,\n clear: params.background ?? '#ffffff',\n ...params,\n ...userParams\n });\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n layerHandlers.forEach(l => {\n const ctx = l.getContext();\n const canvas = ctx.canvas.nativeCanvas;\n this.context.drawImage(canvas, 0, 0);\n });\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n release() {\n this.canvas.release();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/canvas2d-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAgBlD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,OAAO,8BAA8B;IAYzC;QALA,SAAI,GAAc,QAAQ,CAAC;QAMzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,YAAyB,CAAC;YAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAC5D;YACD,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBACtC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;aACJ;YAED,IAAI,YAAY,CAAC,KAAK,EAAE;gBACtB,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;aAC/C;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;YAC5D,MAAM,MAAM,GAAG,UAAU,CAAC;gBACxB,YAAY;gBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,EAAE,EAAE,MAAM,CAAC,QAAQ;gBACnB,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE;gBAChC,CAAC,EAAE,YAAY,CAAC,UAAU;gBAC1B,CAAC,EAAE,YAAY,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;SACpC;IACH,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;;QAEzF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;YAC5D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,EAAE;gBAC3G,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;aAC7B;SACF;QACD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,SAAS,IAClC,MAAM,GACN,UAAU,EACb,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF","file":"canvas2d-contribution.js","sourcesContent":["import { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { application } from '../../../application';\n\nexport class CanvasLayerHandlerContribution implements ILayerHandlerContribution {\n layer: ILayer;\n canvas: ICanvas;\n context: IContext2d;\n offscreen: boolean;\n main: boolean;\n window: IWindow;\n type: LayerMode = 'static';\n global: IGlobal;\n // 所绑定的副layer handler\n secondaryHandlers: ILayerHandlerContribution[];\n\n constructor() {\n this.offscreen = false;\n this.global = application.global;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n // 默认图层,那么直接拿window上的上下文和canvas即可\n if (params.main) {\n this.main = true;\n this.context = window.getContext();\n this.canvas = this.context.getCanvas();\n } else {\n this.main = false;\n let nativeCanvas: HTMLElement;\n if (params.canvasId) {\n nativeCanvas = this.global.getElementById(params.canvasId);\n }\n if (!nativeCanvas) {\n nativeCanvas = this.global.createCanvas({\n width: window.width,\n height: window.height\n });\n }\n // 不是main的话,就穿透点击事件\n if (nativeCanvas.style) {\n nativeCanvas.style['pointer-events'] = 'none';\n }\n const windowContext = window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n const canvas = wrapCanvas({\n nativeCanvas,\n width: window.width,\n height: window.height,\n dpr: window.dpr,\n id: params.canvasId,\n canvasControled: true,\n container: window.getContainer(),\n x: windowCanvas.offsetLeft,\n y: windowCanvas.offsetTop\n });\n canvas.applyPosition();\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n // 调整位置\n if (!this.main) {\n const windowContext = this.window.getContext();\n const windowCanvas = windowContext.getCanvas().nativeCanvas;\n if (windowCanvas && (this.canvas.x !== windowCanvas.offsetLeft || this.canvas.y !== windowCanvas.offsetTop)) {\n this.canvas.x = windowCanvas.offsetLeft;\n this.canvas.y = windowCanvas.offsetTop;\n this.canvas.applyPosition();\n }\n }\n params.renderService.render(group, {\n context: this.context,\n clear: params.background ?? '#ffffff',\n ...params,\n ...userParams\n });\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n layerHandlers.forEach(l => {\n const ctx = l.getContext();\n const canvas = ctx.canvas.nativeCanvas;\n this.context.drawImage(canvas, 0, 0);\n });\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n release() {\n this.canvas.release();\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { vglobal } from "../../../modules";
1
+ import { application } from "../../../application";
2
2
 
3
3
  export class EmptyLayerHandlerContribution {
4
4
  constructor() {
5
- this.offscreen = !1, this.type = "virtual", this.global = vglobal;
5
+ this.offscreen = !1, this.type = "virtual", this.global = application.global;
6
6
  }
7
7
  setDpr(dpr) {}
8
8
  init(layer, window, params) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/layerHandler/empty-contribution.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,6BAA6B;IAYxC;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;QACzF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,kCAAO,UAAU,KAAE,KAAK,EAAE,KAAK,IAAG,CAAC;QACxE,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO;IACT,CAAC;CACF","file":"empty-contribution.js","sourcesContent":["import type {\n IGlobal,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { vglobal } from '../../../modules';\n\nexport class EmptyLayerHandlerContribution implements ILayerHandlerContribution {\n declare layer: ILayer;\n declare canvas: null;\n declare context: null;\n declare offscreen: boolean;\n declare main: boolean;\n declare window: IWindow;\n declare type: LayerMode;\n // 所依赖的主layer handler\n declare mainHandler: ILayerHandlerContribution;\n declare global: IGlobal;\n\n constructor() {\n this.offscreen = false;\n this.type = 'virtual';\n this.global = vglobal;\n }\n\n setDpr(dpr: number) {\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n if (params.main) {\n throw new Error('virtual layer不能作为main layer');\n }\n this.main = false;\n this.canvas = null;\n this.context = null;\n }\n\n resize(w: number, h: number) {\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n this.mainHandler.render(group, params, { ...userParams, clear: false });\n return;\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): null {\n return null;\n }\n\n release() {\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/empty-contribution.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,OAAO,6BAA6B;IAYxC;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,MAAe,EAAE,MAA+B;QAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,OAAO;IACT,CAAC;IACD,UAAU,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAA+B,EAAE,UAAkC;QACzF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,kCAAO,UAAU,KAAE,KAAK,EAAE,KAAK,IAAG,CAAC;QACxE,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAA0C;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,WAAoB,EAAE,MAA+B;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAe,EAAE,KAAe,EAAE,MAA+C;;QACtF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,gCAC/B,OAAO,IACJ,MAAM,KACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,CAAC,CAAC,SAAS,IAC7D,CAAC;QACH,OAAO;IACT,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO;IACT,CAAC;CACF","file":"empty-contribution.js","sourcesContent":["import type {\n IGlobal,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n IWindow,\n ILayerHandlerInitParams,\n ILayerHandlerDrawParams,\n IDrawContext,\n LayerMode\n} from '../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { application } from '../../../application';\n\nexport class EmptyLayerHandlerContribution implements ILayerHandlerContribution {\n declare layer: ILayer;\n declare canvas: null;\n declare context: null;\n declare offscreen: boolean;\n declare main: boolean;\n declare window: IWindow;\n declare type: LayerMode;\n // 所依赖的主layer handler\n declare mainHandler: ILayerHandlerContribution;\n declare global: IGlobal;\n\n constructor() {\n this.offscreen = false;\n this.type = 'virtual';\n this.global = application.global;\n }\n\n setDpr(dpr: number) {\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n this.window = window;\n if (params.main) {\n throw new Error('virtual layer不能作为main layer');\n }\n this.main = false;\n this.canvas = null;\n this.context = null;\n }\n\n resize(w: number, h: number) {\n return;\n }\n resizeView(w: number, h: number) {\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams, userParams?: Partial<IDrawContext>): void {\n this.mainHandler.render(group, params, { ...userParams, clear: false });\n return;\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n\n prepare(dirtyBounds: IBounds, params: ILayerHandlerDrawParams) {\n return;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n params.renderService.render(group, {\n context,\n ...params,\n clear: params.clear ? params.background ?? '#fff' : undefined\n });\n return;\n }\n\n getContext(): null {\n return null;\n }\n\n release() {\n return;\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function bindLayerHandlerModules({ bind }: {
2
+ bind: any;
3
+ }): void;
4
+ export default bindLayerHandlerModules;
@@ -0,0 +1,10 @@
1
+ import { StaticLayerHandlerContribution } from "../../constants";
2
+
3
+ import { CanvasLayerHandlerContribution } from "./canvas2d-contribution";
4
+
5
+ export function bindLayerHandlerModules({bind: bind}) {
6
+ bind(CanvasLayerHandlerContribution).toSelf(), bind(StaticLayerHandlerContribution).toService(CanvasLayerHandlerContribution);
7
+ }
8
+
9
+ export default bindLayerHandlerModules;
10
+ //# sourceMappingURL=modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,8BAA8B,EAE/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAIzE,MAAM,UAAU,uBAAuB,CAAC,EAAE,IAAI,EAAiB;IAC7D,IAAI,CAAC,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC;IAG9C,IAAI,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;AAUjF,CAAC;AAED,eAAe,uBAAuB,CAAC","file":"modules.js","sourcesContent":["import {\n // DynamicLayerHandlerContribution,\n StaticLayerHandlerContribution\n // VirtualLayerHandlerContribution\n} from '../../constants';\nimport { CanvasLayerHandlerContribution } from './canvas2d-contribution';\n// import { EmptyLayerHandlerContribution } from './empty-contribution';\n// import { OffscreenLayerHandlerContribution } from './offscreen2d-contribution';\n\nexport function bindLayerHandlerModules({ bind }: { bind: any }) {\n bind(CanvasLayerHandlerContribution).toSelf();\n // bind(OffscreenLayerHandlerContribution).toSelf();\n // bind(EmptyLayerHandlerContribution).toSelf();\n bind(StaticLayerHandlerContribution).toService(CanvasLayerHandlerContribution);\n // bind(DynamicLayerHandlerContribution).toService(OffscreenLayerHandlerContribution);\n // bind(VirtualLayerHandlerContribution).toService(EmptyLayerHandlerContribution);\n // try {\n // if (typeof OffscreenCanvas === 'function') {\n // bind(LayerHandlerContribution).toService(OffscreenLayerHandlerContribution);\n // }\n // } catch (err) {\n // bind(LayerHandlerContribution).toService(CanvasLayerHandlerContribution);\n // }\n}\n\nexport default bindLayerHandlerModules;\n"]}
@@ -1,10 +1,10 @@
1
1
  import { wrapCanvas } from "../../../canvas/util";
2
2
 
3
- import { vglobal } from "../../../modules";
3
+ import { application } from "../../../application";
4
4
 
5
5
  export class OffscreenLayerHandlerContribution {
6
6
  constructor() {
7
- this.offscreen = !0, this.type = "dynamic", this.global = vglobal;
7
+ this.offscreen = !0, this.type = "dynamic", this.global = application.global;
8
8
  }
9
9
  setDpr(dpr) {
10
10
  this.canvas.dpr = dpr;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/layerHandler/offscreen2d-contribution.ts"],"names":[],"mappings":"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","file":"offscreen2d-contribution.js","sourcesContent":["import { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n ILayerHandlerInitParams,\n IWindow,\n ILayerHandlerDrawParams,\n LayerMode\n} from '../../../interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { vglobal } from '../../../modules';\n\nexport class OffscreenLayerHandlerContribution implements ILayerHandlerContribution {\n declare layer: ILayer;\n declare canvas: ICanvas;\n declare context: IContext2d;\n declare offscreen: boolean;\n declare type: LayerMode;\n // 所绑定的副layer handler\n declare secondaryHandlers: ILayerHandlerContribution[];\n declare global: IGlobal;\n\n constructor() {\n this.offscreen = true;\n this.type = 'dynamic';\n this.global = vglobal;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n const nativeCanvas = this.global.createOffscreenCanvas({\n width: params.width,\n height: params.height,\n dpr: window.dpr\n });\n const canvas = wrapCanvas({\n nativeCanvas,\n width: params.width,\n height: params.height,\n dpr: window.dpr,\n canvasControled: true\n });\n\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams): void {\n params.renderService.render(group, {\n context: this.context,\n viewBox: params.stage.window.getViewBox(),\n transMatrix: params.stage.window.getViewBoxTransform(),\n ...params,\n clear: params.background ?? '#ffffff'\n });\n }\n\n prepare(dirtyBounds: IBoundsLike, params: ILayerHandlerDrawParams) {\n return;\n }\n\n release() {\n this.canvas.release();\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n const targetDpr = target.dpr;\n\n const { viewBox } = params;\n const x = viewBox.x1;\n const y = viewBox.y1;\n const width = viewBox.width();\n const height = viewBox.height();\n // 这个context可能是外部的,不要使用内置的状态,直接用原生的context\n context.nativeContext.save();\n context.nativeContext.setTransform(targetDpr, 0, 0, targetDpr, 0, 0);\n if (params.clear) {\n context.clearRect(x, y, width, height);\n }\n context.drawImage(this.canvas.nativeCanvas, 0, 0, this.canvas.width, this.canvas.height, x, y, width, height);\n context.nativeContext.restore();\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/layerHandler/offscreen2d-contribution.ts"],"names":[],"mappings":"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","file":"offscreen2d-contribution.js","sourcesContent":["import { wrapCanvas } from '../../../canvas/util';\nimport type {\n IGlobal,\n ICanvas,\n IContext2d,\n IDrawToParams,\n IGroup,\n ILayer,\n ILayerHandlerContribution,\n ILayerHandlerInitParams,\n IWindow,\n ILayerHandlerDrawParams,\n LayerMode\n} from '../../../interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { application } from '../../../application';\n\nexport class OffscreenLayerHandlerContribution implements ILayerHandlerContribution {\n declare layer: ILayer;\n declare canvas: ICanvas;\n declare context: IContext2d;\n declare offscreen: boolean;\n declare type: LayerMode;\n // 所绑定的副layer handler\n declare secondaryHandlers: ILayerHandlerContribution[];\n declare global: IGlobal;\n\n constructor() {\n this.offscreen = true;\n this.type = 'dynamic';\n this.global = application.global;\n }\n\n setDpr(dpr: number) {\n this.canvas.dpr = dpr;\n return;\n }\n\n init(layer: ILayer, window: IWindow, params: ILayerHandlerInitParams): void {\n this.layer = layer;\n const nativeCanvas = this.global.createOffscreenCanvas({\n width: params.width,\n height: params.height,\n dpr: window.dpr\n });\n const canvas = wrapCanvas({\n nativeCanvas,\n width: params.width,\n height: params.height,\n dpr: window.dpr,\n canvasControled: true\n });\n\n this.canvas = canvas;\n this.context = canvas.getContext();\n }\n\n resize(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n resizeView(w: number, h: number) {\n this.canvas.resize(w, h);\n return;\n }\n\n render(group: IGroup[], params: ILayerHandlerDrawParams): void {\n params.renderService.render(group, {\n context: this.context,\n viewBox: params.stage.window.getViewBox(),\n transMatrix: params.stage.window.getViewBoxTransform(),\n ...params,\n clear: params.background ?? '#ffffff'\n });\n }\n\n prepare(dirtyBounds: IBoundsLike, params: ILayerHandlerDrawParams) {\n return;\n }\n\n release() {\n this.canvas.release();\n }\n\n getContext(): IContext2d {\n return this.context;\n }\n\n drawTo(target: IWindow, group: IGroup[], params: IDrawToParams & ILayerHandlerDrawParams) {\n const context = target.getContext();\n const targetDpr = target.dpr;\n\n const { viewBox } = params;\n const x = viewBox.x1;\n const y = viewBox.y1;\n const width = viewBox.width();\n const height = viewBox.height();\n // 这个context可能是外部的,不要使用内置的状态,直接用原生的context\n context.nativeContext.save();\n context.nativeContext.setTransform(targetDpr, 0, 0, targetDpr, 0, 0);\n if (params.clear) {\n context.clearRect(x, y, width, height);\n }\n context.drawImage(this.canvas.nativeCanvas, 0, 0, this.canvas.width, this.canvas.height, x, y, width, height);\n context.nativeContext.restore();\n }\n\n merge(layerHandlers: ILayerHandlerContribution[]) {\n return;\n }\n}\n"]}
@@ -1 +1,2 @@
1
- export default function load(): void;
1
+ import type { ILegacyContributionBindingContext } from '../../legacy/module-types';
2
+ export default function load(container: ILegacyContributionBindingContext): void;
@@ -1,2 +1,16 @@
1
- export default function load() {}
1
+ import envModules from "./env/modules";
2
+
3
+ import textMeasureModules from "./textMeasure/modules";
4
+
5
+ import layerHandlerModules from "./layerHandler/modules";
6
+
7
+ export default function load(container) {
8
+ envModules({
9
+ bind: container.bind
10
+ }), textMeasureModules({
11
+ bind: container.bind
12
+ }), layerHandlerModules({
13
+ bind: container.bind
14
+ });
15
+ }
2
16
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/contributions/modules.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,IAAI;IAC1B,OAAO;AACT,CAAC","file":"modules.js","sourcesContent":["// Registry-only stub; legacy container loader removed\n// Legacy loader removed; no-op imports removed\n\n// Legacy loader removed; no-op\nexport default function load() {\n return;\n}\n"]}
1
+ {"version":3,"sources":["../src/core/contributions/modules.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAGzD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,SAA4C;IACvE,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC","file":"modules.js","sourcesContent":["import envModules from './env/modules';\nimport textMeasureModules from './textMeasure/modules';\nimport layerHandlerModules from './layerHandler/modules';\nimport type { ILegacyContributionBindingContext } from '../../legacy/module-types';\n\nexport default function load(container: ILegacyContributionBindingContext) {\n envModules({ bind: container.bind });\n textMeasureModules({ bind: container.bind });\n layerHandlerModules({ bind: container.bind });\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function bindTextMeasureModules({ bind }: {
2
+ bind: any;
3
+ }): void;
4
+ export default bindTextMeasureModules;
@@ -0,0 +1,11 @@
1
+ import { bindContributionProvider } from "../../../common/contribution-provider";
2
+
3
+ import { DefaultTextMeasureContribution, TextMeasureContribution } from "./textMeasure-contribution";
4
+
5
+ export function bindTextMeasureModules({bind: bind}) {
6
+ bind(TextMeasureContribution).to(DefaultTextMeasureContribution).inSingletonScope(),
7
+ bindContributionProvider(bind, TextMeasureContribution);
8
+ }
9
+
10
+ export default bindTextMeasureModules;
11
+ //# sourceMappingURL=modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/contributions/textMeasure/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErG,MAAM,UAAU,sBAAsB,CAAC,EAAE,IAAI,EAAiB;IAC5D,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpF,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;AAC1D,CAAC;AAED,eAAe,sBAAsB,CAAC","file":"modules.js","sourcesContent":["import { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultTextMeasureContribution, TextMeasureContribution } from './textMeasure-contribution';\n\nexport function bindTextMeasureModules({ bind }: { bind: any }) {\n bind(TextMeasureContribution).to(DefaultTextMeasureContribution).inSingletonScope();\n bindContributionProvider(bind, TextMeasureContribution);\n}\n\nexport default bindTextMeasureModules;\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function bindCoreModules({ bind }: {
2
+ bind: any;
3
+ }): void;
4
+ export default bindCoreModules;
@@ -0,0 +1,24 @@
1
+ import { DefaultGlobal } from "./global";
2
+
3
+ import { DefaultGraphicUtil, DefaultTransformUtil } from "./graphic-utils";
4
+
5
+ import { DefaultLayerService } from "./layer-service";
6
+
7
+ import { DefaultWindow, VWindow } from "./window";
8
+
9
+ import { GraphicUtil, LayerService, TransformUtil } from "./constants";
10
+
11
+ import { EnvContribution, VGlobal } from "../constants";
12
+
13
+ import { createContributionProvider } from "../common/contribution-provider";
14
+
15
+ import { TextMeasureContribution } from "./contributions/textMeasure/textMeasure-contribution";
16
+
17
+ export function bindCoreModules({bind: bind}) {
18
+ bind(VGlobal).toDynamicValue((({container: container}) => new DefaultGlobal(createContributionProvider(EnvContribution, container)))).inSingletonScope(),
19
+ bind(VWindow).to(DefaultWindow), bind(GraphicUtil).toDynamicValue((({container: container}) => new DefaultGraphicUtil(createContributionProvider(TextMeasureContribution, container)))).inSingletonScope(),
20
+ bind(TransformUtil).to(DefaultTransformUtil).inSingletonScope(), bind(LayerService).to(DefaultLayerService).inSingletonScope();
21
+ }
22
+
23
+ export default bindCoreModules;
24
+ //# sourceMappingURL=core-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/core-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAE/F,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAiB;IAErD,IAAI,CAAC,OAAO,CAAC;SACV,cAAc,CACb,CAAC,EAAE,SAAS,EAAsB,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,0BAA0B,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CACjH;SACA,gBAAgB,EAAE,CAAC;IAEtB,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAChC,IAAI,CAAC,WAAW,CAAC;SACd,cAAc,CACb,CAAC,EAAE,SAAS,EAAsB,EAAE,EAAE,CACpC,IAAI,kBAAkB,CAAC,0BAA0B,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,CACzF;SACA,gBAAgB,EAAE,CAAC;IACtB,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAahE,CAAC;AAED,eAAe,eAAe,CAAC","file":"core-modules.js","sourcesContent":["import { DefaultGlobal } from './global';\nimport { DefaultGraphicUtil, DefaultTransformUtil } from './graphic-utils';\nimport { DefaultLayerService } from './layer-service';\nimport { DefaultWindow, VWindow } from './window';\nimport { GraphicUtil, LayerService, TransformUtil } from './constants';\nimport { EnvContribution, VGlobal } from '../constants';\nimport { createContributionProvider } from '../common/contribution-provider';\nimport { TextMeasureContribution } from './contributions/textMeasure/textMeasure-contribution';\n\nexport function bindCoreModules({ bind }: { bind: any }) {\n // global对象,全局单例模式\n bind(VGlobal)\n .toDynamicValue(\n ({ container }: { container: any }) => new DefaultGlobal(createContributionProvider(EnvContribution, container))\n )\n .inSingletonScope();\n\n bind(VWindow).to(DefaultWindow);\n bind(GraphicUtil)\n .toDynamicValue(\n ({ container }: { container: any }) =>\n new DefaultGraphicUtil(createContributionProvider(TextMeasureContribution, container))\n )\n .inSingletonScope();\n bind(TransformUtil).to(DefaultTransformUtil).inSingletonScope();\n bind(LayerService).to(DefaultLayerService).inSingletonScope();\n\n // bind(Stage).to(DefaultStage);\n // bind<(params: Partial<IStageParams>) => IStage>(StageFactory).toFactory<IStage>((context: interface.Context) => {\n // return (params: Partial<IStageParams>) => {\n // const g = context.container.get<IGlobal>(Global);\n // const ws = context.container.get<IWindow>(VWindow);\n // const rs = context.container.get<IRenderService>(RenderService);\n // const layer = context.container.get<ILayer>(Layer);\n // return new DefaultStage(params, g, ws, rs, layer);\n // };\n // });\n // bind(Layer).to(DefaultLayer);\n}\n\nexport default bindCoreModules;\n"]}
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=global-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/global-module.ts"],"names":[],"mappings":"","file":"global-module.js","sourcesContent":["// import type { IGlobal } from '../interface';\n// legacy container bootstrap has been removed in major cleanup.\n// import { DefaultGlobal } from './global';\n// import envModules from './contributions/env/modules';\n// import { Global } from '../constants';\n\n// const globalModule = new ContainerModule((bind, unbind, isBound) => {\n// // global对象,全局单例模式\n// if (!isBound(Global)) {\n// bind(DefaultGlobal).toSelf().inSingletonScope();\n// bind(Global).toService(DefaultGlobal);\n// }\n// });\n\n// container.load(globalModule);\n// container.load(envModules);\n\n// export const global = container.get<IGlobal>(Global);\n\n// export default globalModule;\n"]}
@@ -1,7 +1,9 @@
1
1
  import type { CreateDOMParamsType, EnvType, IContributionProvider, ICreateCanvasParams, IEnvContribution, IEnvParamsMap, IGlobal, ISyncHook } from '../interface';
2
2
  import type { IAABBBoundsLike } from '@visactor/vutils';
3
+ import { PerformanceRAF } from '../common/performance-raf';
3
4
  import { EventListenerManager } from '../common/event-listener-manager';
4
5
  export declare class DefaultGlobal extends EventListenerManager implements IGlobal {
6
+ protected readonly contributions: IContributionProvider<IEnvContribution>;
5
7
  readonly id: number;
6
8
  private _env;
7
9
  private _isSafari?;
@@ -30,8 +32,7 @@ export declare class DefaultGlobal extends EventListenerManager implements IGlob
30
32
  onSetEnv: ISyncHook<[EnvType | undefined, EnvType, IGlobal]>;
31
33
  };
32
34
  eventListenerTransformer: (event: Event) => Event;
33
- protected readonly contributions: IContributionProvider<IEnvContribution>;
34
- constructor(contributions?: IContributionProvider<IEnvContribution>);
35
+ constructor(contributions: IContributionProvider<IEnvContribution>);
35
36
  protected _nativeAddEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
36
37
  protected _nativeRemoveEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
37
38
  protected _nativeDispatchEvent(event: Event): boolean;
@@ -47,6 +48,7 @@ export declare class DefaultGlobal extends EventListenerManager implements IGlob
47
48
  releaseCanvas(canvas: HTMLCanvasElement | string | any): void;
48
49
  getRequestAnimationFrame(): (callback: FrameRequestCallback) => number;
49
50
  getSpecifiedRequestAnimationFrame(id: number): (callback: FrameRequestCallback) => number;
51
+ getSpecifiedPerformanceRAF(id: number): PerformanceRAF;
50
52
  getSpecifiedCancelAnimationFrame(id: number): (handle: number) => boolean;
51
53
  getCancelAnimationFrame(): (h: number) => void;
52
54
  getElementById(str: string): HTMLElement | null;