@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/contributions/base-texture-contribution-render.ts"],"names":[],"mappings":"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","file":"base-texture-contribution-render.js","sourcesContent":["import { canvasAllocate } from '../../../../allocator/canvas-allocate';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport { createSymbol } from '../../../../graphic';\nimport type {\n IBaseRenderContribution,\n ICanvas,\n IContext2d,\n IDrawContext,\n IGraphic,\n IGraphicAttribute,\n IStage,\n ISymbol,\n IThemeAttribute\n} from '../../../../interface';\nimport { pi2 } from '@visactor/vutils';\n\nfunction formatRatio(ratio: number) {\n if (ratio <= 0.5) {\n return ratio * 4 - 1;\n }\n return -4 * ratio + 3;\n}\n\nfunction drawWave(\n ctx: IContext2d,\n ratio: number,\n boundsWidth: number,\n boundsHeight: number,\n textureOptions: {\n fill: string;\n percent: number;\n frequency: number;\n amplitude: number;\n opacity?: number;\n phi?: number;\n },\n offsetX: number,\n offsetY: number\n) {\n const { fill = 'orange', percent = 0.6, frequency = 4, opacity, phi = 0 } = textureOptions;\n let { amplitude = 10 } = textureOptions;\n amplitude = amplitude * formatRatio(ratio);\n\n const height = boundsHeight * (1 - percent);\n const width = boundsWidth;\n\n const step = Math.max(Math.round(width / 70), 2);\n ctx.beginPath();\n ctx.moveTo(0 + offsetX, boundsHeight + offsetY);\n ctx.lineTo(0 + offsetX, height + offsetY);\n const delta = (width / frequency) * ratio;\n const c = width / Math.PI / (frequency * 2);\n\n for (let i = 0; i < width; i += step) {\n const y = amplitude * Math.sin((i + delta + phi) / c + phi);\n ctx.lineTo(i + offsetX, height + y + offsetY);\n }\n\n ctx.lineTo(width + offsetX, boundsHeight + offsetY);\n ctx.closePath();\n\n ctx.fillStyle = fill;\n if (isFinite(opacity)) {\n ctx.globalAlpha = opacity;\n }\n ctx.fill();\n}\n\nexport class DefaultBaseTextureRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n textureMap?: Map<string, CanvasPattern>;\n order: number = 10;\n _tempSymbolGraphic: ISymbol | null = null;\n\n createCommonPattern(\n size: number,\n padding: number,\n color: string,\n targetContext: IContext2d,\n cb: (r: number, targetContext: IContext2d) => void\n ) {\n const r = (size - padding * 2) / 2;\n const dpr = targetContext.dpr;\n const canvas = canvasAllocate.allocate({ width: size, height: size, dpr });\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n }\n ctx.inuse = true;\n ctx.clearMatrix();\n ctx.setTransformForCurrent(true);\n ctx.clearRect(0, 0, size, size);\n //setup up design for pattern\n cb(r, ctx);\n const pattern = targetContext.createPattern(canvas.nativeCanvas, 'repeat');\n pattern.setTransform && pattern.setTransform(new DOMMatrix([1 / dpr, 0, 0, 1 / dpr, 0, 0]));\n\n canvasAllocate.free(canvas);\n return pattern;\n }\n\n createCirclePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.fillStyle = color;\n ctx.arc(r, r, r, 0, pi2);\n ctx.fill();\n });\n }\n\n createDiamondPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = size / 2;\n const y = x;\n ctx.fillStyle = color;\n ctx.moveTo(x, y - r);\n ctx.lineTo(r + x, y);\n ctx.lineTo(x, y + r);\n ctx.lineTo(x - r, y);\n ctx.closePath();\n ctx.fill();\n });\n }\n\n createRectPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = x;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r * 2, r * 2);\n });\n }\n\n createVerticalLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = 0;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r * 2, size);\n });\n }\n\n createHorizontalLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = 0;\n const y = padding;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, size, r * 2);\n });\n }\n\n createBiasLRLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.strokeStyle = color;\n ctx.lineWidth = r;\n ctx.moveTo(0, 0);\n ctx.lineTo(size, size);\n const dx = size / 2;\n const dy = -dx;\n ctx.moveTo(dx, dy);\n ctx.lineTo(dx + size, dy + size);\n ctx.moveTo(-dx, -dy);\n ctx.lineTo(-dx + size, -dy + size);\n ctx.stroke();\n });\n }\n\n createBiasRLLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.strokeStyle = color;\n ctx.lineWidth = r;\n ctx.moveTo(size, 0);\n ctx.lineTo(0, size);\n const dx = size / 2;\n const dy = dx;\n ctx.moveTo(size + dx, dy);\n ctx.lineTo(dx, dy + size);\n ctx.moveTo(size - dx, -dy);\n ctx.lineTo(-dx, -dy + size);\n ctx.stroke();\n });\n }\n\n createGridPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = x;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r, r);\n ctx.fillRect(x + r, y + r, r, r);\n });\n }\n\n initTextureMap(ctx: IContext2d, stage: IStage) {\n this.textureMap = new Map();\n // ResourceLoader.GetImage(rect1, {\n // imageLoadFail: () => {\n // return;\n // },\n // imageLoadSuccess: (url, img) => {\n // const pattern = ctx.createPattern(img, 'repeat');\n // this.textureMap.set('rect1', pattern);\n // stage && stage.renderNextFrame();\n // }\n // });\n }\n\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n if (!this.textureMap) {\n this.initTextureMap(context, graphic.stage);\n }\n const {\n texture = graphicAttribute.texture,\n textureColor = graphicAttribute.textureColor,\n textureSize = graphicAttribute.textureSize,\n texturePadding = graphicAttribute.texturePadding\n } = graphic.attribute;\n if (!texture) {\n return;\n }\n this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);\n }\n\n protected drawTexture(\n texture: string,\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n graphicAttribute: Required<IGraphicAttribute>,\n textureColor: string,\n textureSize: number,\n texturePadding: number\n ) {\n const { textureRatio = graphicAttribute.textureRatio, textureOptions = null } = graphic.attribute;\n let pattern: CanvasPattern = this.textureMap.get(texture);\n\n if (!pattern) {\n switch (texture) {\n case 'circle':\n pattern = this.createCirclePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'diamond':\n pattern = this.createDiamondPattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'rect':\n pattern = this.createRectPattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'vertical-line':\n pattern = this.createVerticalLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'horizontal-line':\n pattern = this.createHorizontalLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'bias-lr':\n pattern = this.createBiasLRLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'bias-rl':\n pattern = this.createBiasRLLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'grid':\n pattern = this.createGridPattern(textureSize, texturePadding, textureColor, context);\n break;\n }\n }\n\n if (textureOptions && textureOptions.dynamicTexture) {\n // 动态纹理\n const { gridConfig = {}, useNewCanvas } = textureOptions;\n const b = graphic.AABBBounds;\n x = b.x1;\n y = b.y1;\n const originalContext = context;\n\n let newCanvas: ICanvas;\n if (useNewCanvas) {\n newCanvas = canvasAllocate.allocate({ width: b.width(), height: b.height(), dpr: context.dpr });\n const ctx = newCanvas.getContext('2d');\n ctx.clearRect(0, 0, b.width(), b.height());\n x = 0;\n y = 0;\n context = ctx;\n }\n originalContext.save();\n // 避免本级已经transform过了,再用Bounds就重复了\n if (graphic.parent && !graphic.transMatrix.onlyTranslate()) {\n const { scrollX = 0, scrollY = 0 } = graphic.parent.attribute;\n originalContext.setTransformFromMatrix(graphic.parent.globalTransMatrix);\n originalContext.translate(scrollX, scrollY, true);\n }\n originalContext.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n originalContext.clip();\n\n const width = b.width();\n const height = b.height();\n const padding = texturePadding;\n const cellSize = textureSize;\n const gridColumns = gridConfig.columns ? gridConfig.columns : Math.ceil(width / cellSize);\n const gridRows = gridConfig.rows ? gridConfig.rows : Math.ceil(height / cellSize);\n const gutterColumn = gridConfig.gutterColumn ? gridConfig.gutterColumn : padding * 2;\n const gutterRow = gridConfig.gutterRow ? gridConfig.gutterRow : padding * 2;\n if (!this._tempSymbolGraphic) {\n this._tempSymbolGraphic = createSymbol({});\n }\n const sizeW = gridConfig.columns ? width / gridConfig.columns : cellSize;\n const sizeH = gridConfig.rows ? height / gridConfig.rows : cellSize;\n this._tempSymbolGraphic.setAttributes({\n size: [sizeW - gutterColumn, sizeH - gutterRow],\n symbolType: texture\n });\n const parsedPath = this._tempSymbolGraphic.getParsedPath();\n for (let i = 0; i < gridRows; i++) {\n for (let j = 0; j < gridColumns; j++) {\n const _x = x + cellSize / 2 + j * cellSize;\n const _y = y + cellSize / 2 + i * cellSize;\n textureOptions.beforeDynamicTexture?.(\n context,\n i,\n j,\n gridRows,\n gridColumns,\n textureRatio,\n graphic,\n b.width(),\n b.height()\n );\n context.beginPath();\n if (parsedPath.draw(context, Math.min(sizeW - gutterColumn, sizeH - gutterRow), _x, _y, 0) === false) {\n context.closePath();\n }\n context.fillStyle = textureColor;\n textureOptions.dynamicTexture(\n context,\n i,\n j,\n gridRows,\n gridColumns,\n textureRatio,\n graphic,\n b.width(),\n b.height()\n );\n }\n }\n if (useNewCanvas) {\n // 不使用外部的opacity,动态纹理的opacity自己设置\n originalContext.globalAlpha = 1;\n originalContext.drawImage(\n newCanvas.nativeCanvas,\n 0,\n 0,\n newCanvas.nativeCanvas.width,\n newCanvas.nativeCanvas.height,\n b.x1,\n b.y1,\n b.width() * originalContext.dpr,\n b.height() * originalContext.dpr\n );\n }\n\n originalContext.restore();\n } else if (pattern) {\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.fillStyle = pattern;\n context.fill();\n context.highPerformanceRestore();\n } else if (texture === 'wave') {\n context.save();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.clip();\n const b = graphic.AABBBounds;\n drawWave(\n context,\n textureRatio,\n b.width(),\n b.height(),\n { ...(textureOptions || {}), fill: textureColor },\n x + b.x1 - x,\n y + b.y1 - y\n );\n context.restore();\n }\n }\n}\n\nexport const defaultBaseTextureRenderContribution = new DefaultBaseTextureRenderContribution();\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/contributions/base-texture-contribution-render.ts"],"names":[],"mappings":"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","file":"base-texture-contribution-render.js","sourcesContent":["import { canvasAllocate } from '../../../../allocator/canvas-allocate';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport { createSymbol } from '../../../../graphic';\nimport type {\n IBaseRenderContribution,\n ICanvas,\n IContext2d,\n IDrawContext,\n IGraphic,\n IGraphicAttribute,\n IStage,\n ISymbol,\n IThemeAttribute\n} from '../../../../interface';\nimport { pi2 } from '@visactor/vutils';\n\n// 仅这些内置纹理会通过程序绘制 tile,且会受 size/padding/color 影响\nconst builtinProceduralTextureTypes = new Set([\n 'circle',\n 'diamond',\n 'rect',\n 'vertical-line',\n 'horizontal-line',\n 'bias-lr',\n 'bias-rl',\n 'grid'\n]);\n\nfunction formatRatio(ratio: number) {\n if (ratio <= 0.5) {\n return ratio * 4 - 1;\n }\n return -4 * ratio + 3;\n}\n\nfunction drawWave(\n ctx: IContext2d,\n ratio: number,\n boundsWidth: number,\n boundsHeight: number,\n textureOptions: {\n fill?: string;\n percent?: number;\n frequency?: number;\n amplitude?: number;\n opacity?: number;\n phi?: number;\n },\n offsetX: number,\n offsetY: number\n) {\n const { fill = 'orange', percent = 0.6, frequency = 4, opacity, phi = 0 } = textureOptions;\n let { amplitude = 10 } = textureOptions;\n amplitude = amplitude * formatRatio(ratio);\n\n const height = boundsHeight * (1 - percent);\n const width = boundsWidth;\n\n const step = Math.max(Math.round(width / 70), 2);\n ctx.beginPath();\n ctx.moveTo(0 + offsetX, boundsHeight + offsetY);\n ctx.lineTo(0 + offsetX, height + offsetY);\n const delta = (width / frequency) * ratio;\n const c = width / Math.PI / (frequency * 2);\n\n for (let i = 0; i < width; i += step) {\n const y = amplitude * Math.sin((i + delta + phi) / c + phi);\n ctx.lineTo(i + offsetX, height + y + offsetY);\n }\n\n ctx.lineTo(width + offsetX, boundsHeight + offsetY);\n ctx.closePath();\n\n ctx.fillStyle = fill;\n if (isFinite(opacity)) {\n ctx.globalAlpha = opacity;\n }\n ctx.fill();\n}\n\nexport class DefaultBaseTextureRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n textureMap?: Map<string | HTMLImageElement | HTMLCanvasElement, CanvasPattern>;\n order: number = 10;\n _tempSymbolGraphic: ISymbol | null = null;\n\n createCommonPattern(\n size: number,\n padding: number,\n color: string,\n targetContext: IContext2d,\n cb: (r: number, targetContext: IContext2d) => void\n ) {\n const r = (size - padding * 2) / 2;\n const dpr = targetContext.dpr;\n const canvas = canvasAllocate.allocate({ width: size, height: size, dpr });\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n }\n ctx.inuse = true;\n ctx.clearMatrix();\n ctx.setTransformForCurrent(true);\n ctx.clearRect(0, 0, size, size);\n //setup up design for pattern\n cb(r, ctx);\n const pattern = targetContext.createPattern(canvas.nativeCanvas, 'repeat');\n pattern.setTransform && pattern.setTransform(new DOMMatrix([1 / dpr, 0, 0, 1 / dpr, 0, 0]));\n\n canvasAllocate.free(canvas);\n return pattern;\n }\n\n createCirclePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.fillStyle = color;\n ctx.arc(r, r, r, 0, pi2);\n ctx.fill();\n });\n }\n\n createDiamondPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = size / 2;\n const y = x;\n ctx.fillStyle = color;\n ctx.moveTo(x, y - r);\n ctx.lineTo(r + x, y);\n ctx.lineTo(x, y + r);\n ctx.lineTo(x - r, y);\n ctx.closePath();\n ctx.fill();\n });\n }\n\n createRectPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = x;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r * 2, r * 2);\n });\n }\n\n createVerticalLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = 0;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r * 2, size);\n });\n }\n\n createHorizontalLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = 0;\n const y = padding;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, size, r * 2);\n });\n }\n\n createBiasLRLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.strokeStyle = color;\n ctx.lineWidth = r;\n ctx.moveTo(0, 0);\n ctx.lineTo(size, size);\n const dx = size / 2;\n const dy = -dx;\n ctx.moveTo(dx, dy);\n ctx.lineTo(dx + size, dy + size);\n ctx.moveTo(-dx, -dy);\n ctx.lineTo(-dx + size, -dy + size);\n ctx.stroke();\n });\n }\n\n createBiasRLLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.strokeStyle = color;\n ctx.lineWidth = r;\n ctx.moveTo(size, 0);\n ctx.lineTo(0, size);\n const dx = size / 2;\n const dy = dx;\n ctx.moveTo(size + dx, dy);\n ctx.lineTo(dx, dy + size);\n ctx.moveTo(size - dx, -dy);\n ctx.lineTo(-dx, -dy + size);\n ctx.stroke();\n });\n }\n\n createGridPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = x;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r, r);\n ctx.fillRect(x + r, y + r, r, r);\n });\n }\n\n initTextureMap(ctx: IContext2d, stage: IStage) {\n this.textureMap = new Map();\n // ResourceLoader.GetImage(rect1, {\n // imageLoadFail: () => {\n // return;\n // },\n // imageLoadSuccess: (url, img) => {\n // const pattern = ctx.createPattern(img, 'repeat');\n // this.textureMap.set('rect1', pattern);\n // stage && stage.renderNextFrame();\n // }\n // });\n }\n\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n if (!this.textureMap) {\n this.initTextureMap(context, graphic.stage);\n }\n const {\n texture = graphicAttribute.texture,\n textureColor = graphicAttribute.textureColor,\n textureSize = graphicAttribute.textureSize,\n texturePadding = graphicAttribute.texturePadding\n } = graphic.attribute;\n if (!texture) {\n return;\n }\n this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);\n }\n\n protected drawTexture(\n texture: string | HTMLImageElement | HTMLCanvasElement,\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n graphicAttribute: Required<IGraphicAttribute>,\n textureColor: string,\n textureSize: number,\n texturePadding: number\n ) {\n const { textureRatio = graphicAttribute.textureRatio, textureOptions = null } = graphic.attribute;\n let pattern: CanvasPattern = null;\n const textureRadius = textureOptions?.radius ?? 0;\n const patternKey = this.getPatternCacheKey(\n texture,\n textureSize,\n texturePadding,\n textureColor,\n context.dpr,\n textureRadius\n );\n if (patternKey !== null) {\n pattern = this.textureMap.get(patternKey);\n }\n\n if (!pattern) {\n if (typeof texture === 'string') {\n switch (texture) {\n case 'circle':\n pattern = this.createCirclePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'diamond':\n pattern = this.createDiamondPattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'rect':\n pattern = this.createRectPattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'vertical-line':\n pattern = this.createVerticalLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'horizontal-line':\n pattern = this.createHorizontalLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'bias-lr':\n pattern = this.createBiasLRLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'bias-rl':\n pattern = this.createBiasRLLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'grid':\n pattern = this.createGridPattern(textureSize, texturePadding, textureColor, context);\n break;\n }\n }\n if (!pattern) {\n pattern = this.createResourcePattern(texture, graphic, context, texturePadding, textureRadius);\n }\n if (pattern && patternKey !== null) {\n this.textureMap.set(patternKey, pattern);\n }\n }\n\n if (typeof texture === 'string' && textureOptions && textureOptions.dynamicTexture) {\n // 动态纹理\n const { gridConfig = {}, useNewCanvas } = textureOptions;\n const b = graphic.AABBBounds;\n x = b.x1;\n y = b.y1;\n const originalContext = context;\n\n let newCanvas: ICanvas;\n if (useNewCanvas) {\n newCanvas = canvasAllocate.allocate({ width: b.width(), height: b.height(), dpr: context.dpr });\n const ctx = newCanvas.getContext('2d');\n ctx.clearRect(0, 0, b.width(), b.height());\n x = 0;\n y = 0;\n context = ctx;\n }\n originalContext.save();\n // 避免本级已经transform过了,再用Bounds就重复了\n if (graphic.parent && !graphic.transMatrix.onlyTranslate()) {\n const { scrollX = 0, scrollY = 0 } = graphic.parent.attribute;\n originalContext.setTransformFromMatrix(graphic.parent.globalTransMatrix);\n originalContext.translate(scrollX, scrollY, true);\n }\n originalContext.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n originalContext.clip();\n\n const width = b.width();\n const height = b.height();\n const padding = texturePadding;\n const cellSize = textureSize;\n const gridColumns = gridConfig.columns ? gridConfig.columns : Math.ceil(width / cellSize);\n const gridRows = gridConfig.rows ? gridConfig.rows : Math.ceil(height / cellSize);\n const gutterColumn = gridConfig.gutterColumn ? gridConfig.gutterColumn : padding * 2;\n const gutterRow = gridConfig.gutterRow ? gridConfig.gutterRow : padding * 2;\n if (!this._tempSymbolGraphic) {\n this._tempSymbolGraphic = createSymbol({});\n }\n const sizeW = gridConfig.columns ? width / gridConfig.columns : cellSize;\n const sizeH = gridConfig.rows ? height / gridConfig.rows : cellSize;\n this._tempSymbolGraphic.setAttributes({\n size: [sizeW - gutterColumn, sizeH - gutterRow],\n symbolType: texture\n });\n const parsedPath = this._tempSymbolGraphic.getParsedPath();\n for (let i = 0; i < gridRows; i++) {\n for (let j = 0; j < gridColumns; j++) {\n const _x = x + cellSize / 2 + j * cellSize;\n const _y = y + cellSize / 2 + i * cellSize;\n textureOptions.beforeDynamicTexture?.(\n context,\n i,\n j,\n gridRows,\n gridColumns,\n textureRatio,\n graphic,\n b.width(),\n b.height()\n );\n context.beginPath();\n if (parsedPath.draw(context, Math.min(sizeW - gutterColumn, sizeH - gutterRow), _x, _y, 0) === false) {\n context.closePath();\n }\n context.fillStyle = textureColor;\n textureOptions.dynamicTexture(\n context,\n i,\n j,\n gridRows,\n gridColumns,\n textureRatio,\n graphic,\n b.width(),\n b.height()\n );\n }\n }\n if (useNewCanvas) {\n // 不使用外部的opacity,动态纹理的opacity自己设置\n originalContext.globalAlpha = 1;\n originalContext.drawImage(\n newCanvas.nativeCanvas,\n 0,\n 0,\n newCanvas.nativeCanvas.width,\n newCanvas.nativeCanvas.height,\n b.x1,\n b.y1,\n b.width() * originalContext.dpr,\n b.height() * originalContext.dpr\n );\n }\n\n originalContext.restore();\n } else if (pattern) {\n if (pattern.setTransform) {\n const alignToGraphic = !!textureOptions?.alignToGraphic;\n const alignOffsetX = textureOptions?.alignOffsetX ?? 0;\n const alignOffsetY = textureOptions?.alignOffsetY ?? 0;\n let translateX = 0;\n let translateY = 0;\n if (alignToGraphic) {\n // 将 pattern 原点对齐到图形的绘制原点(当前 context 坐标系)\n const m = context.currentMatrix;\n const e = m?.e ?? 0;\n const f = m?.f ?? 0;\n // 直接在用户坐标系下对齐(包含 context 的平移)\n const ux = e + x + alignOffsetX;\n const uy = f + y + alignOffsetY;\n translateX = ux;\n translateY = uy;\n } else if (alignOffsetX || alignOffsetY) {\n translateX = alignOffsetX;\n translateY = alignOffsetY;\n }\n // pattern 的 transform 使用用户坐标系单位(不再额外乘 dpr)\n pattern.setTransform(new DOMMatrix([1 / context.dpr, 0, 0, 1 / context.dpr, translateX, translateY]));\n }\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.fillStyle = pattern;\n context.fill();\n context.highPerformanceRestore();\n } else if (texture === 'wave') {\n context.save();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.clip();\n const b = graphic.AABBBounds;\n drawWave(\n context,\n textureRatio,\n b.width(),\n b.height(),\n { ...(textureOptions || {}), fill: textureColor },\n x + b.x1 - x,\n y + b.y1 - y\n );\n context.restore();\n }\n }\n\n protected getPatternCacheKey(\n texture: string | HTMLImageElement | HTMLCanvasElement,\n textureSize: number,\n texturePadding: number,\n textureColor: string,\n dpr: number,\n textureRadius: number\n ) {\n if (typeof texture !== 'string') {\n // 图片纹理在有 padding / 圆角时会生成新的 tile,避免缓存冲突\n return texturePadding > 0 || textureRadius > 0 ? null : texture;\n }\n if (texture === 'wave') {\n return null;\n }\n if (builtinProceduralTextureTypes.has(texture)) {\n // 内置纹理:纹理参数变化会改变 pattern 内容,使用完整 key\n return `builtin:${texture}|size:${textureSize}|padding:${texturePadding}|color:${textureColor}|dpr:${dpr}`;\n }\n // 资源纹理(url/svg/base64):size/color 不参与 pattern 生成,避免冗余缓存;\n // 但 padding/radius 会改变最终 tile,需要保留在 key 中\n return `resource:${texture}|padding:${texturePadding}|radius:${textureRadius}|dpr:${dpr}`;\n }\n\n protected createResourcePattern(\n texture: string | HTMLImageElement | HTMLCanvasElement,\n graphic: IGraphic,\n context: IContext2d,\n texturePadding: number,\n textureRadius: number\n ) {\n const resource = graphic.resources?.get(texture as any);\n const data = resource?.state === 'success' ? resource.data : typeof texture === 'object' ? texture : null;\n if (!data) {\n return null;\n }\n if (texturePadding > 0 || textureRadius > 0) {\n const w = (data as HTMLImageElement).naturalWidth || (data as HTMLCanvasElement).width;\n const h = (data as HTMLImageElement).naturalHeight || (data as HTMLCanvasElement).height;\n if (w > 0 && h > 0) {\n const tileW = w + texturePadding * 2;\n const tileH = h + texturePadding * 2;\n const canvas = canvasAllocate.allocate({ width: tileW, height: tileH, dpr: context.dpr });\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.inuse = true;\n ctx.clearMatrix();\n ctx.setTransformForCurrent(true);\n ctx.clearRect(0, 0, tileW, tileH);\n if (textureRadius > 0) {\n // 先裁剪出图案本身的圆角矩形(不包含四周 padding)\n const r = Math.max(0, Math.min(textureRadius, Math.min(w, h) / 2));\n const x0 = texturePadding;\n const y0 = texturePadding;\n const x1 = x0 + w;\n const y1 = y0 + h;\n ctx.beginPath();\n ctx.moveTo(x0 + r, y0);\n ctx.lineTo(x1 - r, y0);\n ctx.quadraticCurveTo(x1, y0, x1, y0 + r);\n ctx.lineTo(x1, y1 - r);\n ctx.quadraticCurveTo(x1, y1, x1 - r, y1);\n ctx.lineTo(x0 + r, y1);\n ctx.quadraticCurveTo(x0, y1, x0, y1 - r);\n ctx.lineTo(x0, y0 + r);\n ctx.quadraticCurveTo(x0, y0, x0 + r, y0);\n ctx.closePath();\n ctx.clip();\n }\n // 在四周留出 padding 间隙\n ctx.drawImage(data as any, texturePadding, texturePadding, w, h);\n const pattern = context.createPattern(canvas.nativeCanvas as any, 'repeat');\n pattern?.setTransform && pattern.setTransform(new DOMMatrix([1 / context.dpr, 0, 0, 1 / context.dpr, 0, 0]));\n canvasAllocate.free(canvas);\n return pattern;\n }\n canvasAllocate.free(canvas);\n }\n }\n const pattern = context.createPattern(data as any, 'repeat');\n pattern?.setTransform && pattern.setTransform(new DOMMatrix([1 / context.dpr, 0, 0, 1 / context.dpr, 0, 0]));\n return pattern;\n }\n}\n\nexport const defaultBaseTextureRenderContribution = new DefaultBaseTextureRenderContribution();\n"]}
@@ -11,22 +11,24 @@ class DefaultGroupBackgroundRenderContribution extends base_contribution_render_
11
11
  super(...arguments), this.time = enums_1.BaseRenderContributionTime.beforeFillStroke;
12
12
  }
13
13
  drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb) {
14
- const {background: background, backgroundMode: backgroundMode = graphicAttribute.backgroundMode, backgroundFit: backgroundFit = graphicAttribute.backgroundFit, backgroundKeepAspectRatio: backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio, backgroundScale: backgroundScale = graphicAttribute.backgroundScale, backgroundOffsetX: backgroundOffsetX = graphicAttribute.backgroundOffsetX, backgroundOffsetY: backgroundOffsetY = graphicAttribute.backgroundOffsetY} = graphic.attribute;
14
+ const {background: background, backgroundOpacity: backgroundOpacity = graphicAttribute.backgroundOpacity, opacity: opacity = graphicAttribute.opacity, backgroundMode: backgroundMode = graphicAttribute.backgroundMode, backgroundFit: backgroundFit = graphicAttribute.backgroundFit, backgroundKeepAspectRatio: backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio, backgroundScale: backgroundScale = graphicAttribute.backgroundScale, backgroundOffsetX: backgroundOffsetX = graphicAttribute.backgroundOffsetX, backgroundOffsetY: backgroundOffsetY = graphicAttribute.backgroundOffsetY, backgroundClip: backgroundClip = graphicAttribute.backgroundClip, backgroundPosition: backgroundPosition = graphicAttribute.backgroundPosition} = graphic.attribute;
15
15
  if (background) if (graphic.backgroundImg && graphic.resources) {
16
- const res = graphic.resources.get(background);
17
- if ("success" !== res.state || !res.data) return;
16
+ const res = graphic.resources.get((0, base_contribution_render_1.getBackgroundImage)(background));
17
+ if (!res || "success" !== res.state || !res.data) return;
18
18
  context.highPerformanceSave(), context.setTransformFromMatrix(graphic.parent.globalTransMatrix, !0);
19
19
  const b = graphic.AABBBounds;
20
+ context.globalAlpha = backgroundOpacity * opacity, backgroundClip && context.clip(),
20
21
  this.doDrawImage(context, res.data, b, {
21
22
  backgroundMode: backgroundMode,
22
23
  backgroundFit: backgroundFit,
23
24
  backgroundKeepAspectRatio: backgroundKeepAspectRatio,
24
25
  backgroundScale: backgroundScale,
25
26
  backgroundOffsetX: backgroundOffsetX,
26
- backgroundOffsetY: backgroundOffsetY
27
+ backgroundOffsetY: backgroundOffsetY,
28
+ backgroundPosition: backgroundPosition
27
29
  }), context.highPerformanceRestore(), context.setTransformForCurrent();
28
- } else context.highPerformanceSave(), context.fillStyle = background, context.fill(),
29
- context.highPerformanceRestore();
30
+ } else context.highPerformanceSave(), context.globalAlpha = backgroundOpacity * opacity,
31
+ context.fillStyle = background, context.fill(), context.highPerformanceRestore();
30
32
  }
31
33
  }
32
34
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/contributions/group-contribution-render.ts"],"names":[],"mappings":";;;AAQA,yEAAqF;AACrF,oDAAsE;AAEtE,MAAa,wCACX,SAAQ,kEAAuC;IADjD;;QAIE,SAAI,GAA+B,kCAA0B,CAAC,gBAAgB,CAAC;IAwDjF,CAAC;IAtDC,SAAS,CACP,OAAe,EACf,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,MAAe,EACf,QAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,gBAA6C,EAC7C,WAAyB,EACzB,MAAiH,EACjH,QAAmH;QAEnH,MAAM,EACJ,UAAU,EACV,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAChD,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAC9C,yBAAyB,GAAG,gBAAgB,CAAC,yBAAyB,EACtE,eAAe,GAAG,gBAAgB,CAAC,eAAe,EAClD,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,EACtD,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,EACvD,GAAG,OAAO,CAAC,SAAS,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAiB,CAAC,CAAC;YACrD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxC,OAAO;aACR;YAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAE9B,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;gBACrC,cAAc;gBACd,aAAa;gBACb,yBAAyB;gBACzB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;aAClB,CAAC,CAAC;YACH,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;aAAM;YACL,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC9B,OAAO,CAAC,SAAS,GAAG,UAAoB,CAAC;YACzC,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;IACH,CAAC;CACF;AA5DD,4FA4DC;AAEY,QAAA,wCAAwC,GAAG,IAAI,wCAAwC,EAAE,CAAC","file":"group-contribution-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n IContext2d,\n IGroup,\n IThemeAttribute,\n IGroupRenderContribution,\n IDrawContext\n} from '../../../../interface';\nimport { DefaultBaseBackgroundRenderContribution } from './base-contribution-render';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\n\nexport class DefaultGroupBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements IGroupRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n\n drawShape(\n graphic: IGroup,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean\n ) {\n const {\n background,\n backgroundMode = graphicAttribute.backgroundMode,\n backgroundFit = graphicAttribute.backgroundFit,\n backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio,\n backgroundScale = graphicAttribute.backgroundScale,\n backgroundOffsetX = graphicAttribute.backgroundOffsetX,\n backgroundOffsetY = graphicAttribute.backgroundOffsetY\n } = graphic.attribute;\n if (!background) {\n return;\n }\n\n if (graphic.backgroundImg && graphic.resources) {\n const res = graphic.resources.get(background as any);\n if (res.state !== 'success' || !res.data) {\n return;\n }\n\n context.highPerformanceSave();\n\n context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n const b = graphic.AABBBounds;\n this.doDrawImage(context, res.data, b, {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale,\n backgroundOffsetX,\n backgroundOffsetY\n });\n context.highPerformanceRestore();\n context.setTransformForCurrent();\n } else {\n context.highPerformanceSave();\n context.fillStyle = background as string;\n context.fill();\n context.highPerformanceRestore();\n }\n }\n}\n\nexport const defaultGroupBackgroundRenderContribution = new DefaultGroupBackgroundRenderContribution();\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/contributions/group-contribution-render.ts"],"names":[],"mappings":";;;AAQA,yEAAyG;AACzG,oDAAsE;AAEtE,MAAa,wCACX,SAAQ,kEAAuC;IADjD;;QAIE,SAAI,GAA+B,kCAA0B,CAAC,gBAAgB,CAAC;IAgEjF,CAAC;IA9DC,SAAS,CACP,OAAe,EACf,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,MAAe,EACf,QAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,gBAA6C,EAC7C,WAAyB,EACzB,MAAiH,EACjH,QAAmH;QAEnH,MAAM,EACJ,UAAU,EACV,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,EACtD,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAClC,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAChD,aAAa,GAAG,gBAAgB,CAAC,aAAa,EAC9C,yBAAyB,GAAG,gBAAgB,CAAC,yBAAyB,EACtE,eAAe,GAAG,gBAAgB,CAAC,eAAe,EAClD,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,EACtD,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,EACtD,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAChD,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,EACzD,GAAG,OAAO,CAAC,SAAS,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAA,6CAAkB,EAAC,UAAU,CAAQ,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBAChD,OAAO;aACR;YAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAE9B,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;YAC7B,OAAO,CAAC,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC;YAClD,cAAc,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;gBACrC,cAAc;gBACd,aAAa;gBACb,yBAAyB;gBACzB,eAAe;gBACf,iBAAiB;gBACjB,iBAAiB;gBACjB,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;aAAM;YACL,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC9B,OAAO,CAAC,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC;YAClD,OAAO,CAAC,SAAS,GAAG,UAAoB,CAAC;YACzC,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;IACH,CAAC;CACF;AApED,4FAoEC;AAEY,QAAA,wCAAwC,GAAG,IAAI,wCAAwC,EAAE,CAAC","file":"group-contribution-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n IContext2d,\n IGroup,\n IThemeAttribute,\n IGroupRenderContribution,\n IDrawContext\n} from '../../../../interface';\nimport { DefaultBaseBackgroundRenderContribution, getBackgroundImage } from './base-contribution-render';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\n\nexport class DefaultGroupBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements IGroupRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n\n drawShape(\n graphic: IGroup,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean\n ) {\n const {\n background,\n backgroundOpacity = graphicAttribute.backgroundOpacity,\n opacity = graphicAttribute.opacity,\n backgroundMode = graphicAttribute.backgroundMode,\n backgroundFit = graphicAttribute.backgroundFit,\n backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio,\n backgroundScale = graphicAttribute.backgroundScale,\n backgroundOffsetX = graphicAttribute.backgroundOffsetX,\n backgroundOffsetY = graphicAttribute.backgroundOffsetY,\n backgroundClip = graphicAttribute.backgroundClip,\n backgroundPosition = graphicAttribute.backgroundPosition\n } = graphic.attribute;\n if (!background) {\n return;\n }\n\n if (graphic.backgroundImg && graphic.resources) {\n const res = graphic.resources.get(getBackgroundImage(background) as any);\n if (!res || res.state !== 'success' || !res.data) {\n return;\n }\n\n context.highPerformanceSave();\n\n context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n const b = graphic.AABBBounds;\n context.globalAlpha = backgroundOpacity * opacity;\n backgroundClip && context.clip();\n this.doDrawImage(context, res.data, b, {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale,\n backgroundOffsetX,\n backgroundOffsetY,\n backgroundPosition\n });\n context.highPerformanceRestore();\n context.setTransformForCurrent();\n } else {\n context.highPerformanceSave();\n context.globalAlpha = backgroundOpacity * opacity;\n context.fillStyle = background as string;\n context.fill();\n context.highPerformanceRestore();\n }\n }\n}\n\nexport const defaultGroupBackgroundRenderContribution = new DefaultGroupBackgroundRenderContribution();\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { IGraphicAttribute, IContext2d, IThemeAttribute, IImageRenderContribution, IDrawContext, IMarkAttribute } from '../../../../interface';
2
+ import { DefaultBaseBackgroundRenderContribution } from './base-contribution-render';
2
3
  import { BaseRenderContributionTime } from '../../../../common/enums';
3
4
  import { DefaultRectRenderContribution } from './rect-contribution-render';
4
5
  export declare class DefaultImageRenderContribution extends DefaultRectRenderContribution implements IImageRenderContribution {
@@ -8,4 +9,4 @@ export declare class DefaultImageRenderContribution extends DefaultRectRenderCon
8
9
  drawShape(image: any, context: IContext2d, x: number, y: number, doFill: boolean, doStroke: boolean, fVisible: boolean, sVisible: boolean, rectAttribute: any, drawContext: IDrawContext, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
9
10
  }
10
11
  export declare const defaultImageRenderContribution: DefaultImageRenderContribution;
11
- export declare const defaultImageBackgroundRenderContribution: import("./base-contribution-render").DefaultBaseBackgroundRenderContribution;
12
+ export declare const defaultImageBackgroundRenderContribution: DefaultBaseBackgroundRenderContribution;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/contributions/image-contribution-render.ts"],"names":[],"mappings":";;;AAQA,yEAAqF;AACrF,oDAAsE;AACtE,yEAA2E;AAE3E,MAAa,8BAA+B,SAAQ,wDAA6B;IAAjF;;QACE,SAAI,GAA+B,kCAA0B,CAAC,eAAe,CAAC;QAC9E,aAAQ,GAAY,IAAI,CAAC;QACzB,UAAK,GAAW,CAAC,CAAC;IAsCpB,CAAC;IArCC,SAAS,CACP,KAAU,EACV,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,MAAe,EACf,QAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,aAAkB,EAClB,WAAyB,EACzB,MAIY,EACZ,QAIY;QAEZ,OAAO,KAAK,CAAC,SAAS,CACpB,KAAK,EACL,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AAzCD,wEAyCC;AAEY,QAAA,8BAA8B,GAAG,IAAI,8BAA8B,EAAE,CAAC;AACtE,QAAA,wCAAwC,GAAG,kEAAuC,CAAC","file":"image-contribution-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n IContext2d,\n IThemeAttribute,\n IImageRenderContribution,\n IDrawContext,\n IMarkAttribute\n} from '../../../../interface';\nimport { defaultBaseBackgroundRenderContribution } from './base-contribution-render';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport { DefaultRectRenderContribution } from './rect-contribution-render';\n\nexport class DefaultImageRenderContribution extends DefaultRectRenderContribution implements IImageRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n image: any,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: any,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n return super.drawShape(\n image,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n}\n\nexport const defaultImageRenderContribution = new DefaultImageRenderContribution();\nexport const defaultImageBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/contributions/image-contribution-render.ts"],"names":[],"mappings":";;;AAYA,yEAGoC;AACpC,oDAAsE;AAItE,yEAA2E;AA+H3E,MAAa,8BAA+B,SAAQ,wDAA6B;IAAjF;;QACE,SAAI,GAA+B,kCAA0B,CAAC,eAAe,CAAC;QAC9E,aAAQ,GAAY,IAAI,CAAC;QACzB,UAAK,GAAW,CAAC,CAAC;IAsCpB,CAAC;IArCC,SAAS,CACP,KAAU,EACV,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,MAAe,EACf,QAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,aAAkB,EAClB,WAAyB,EACzB,MAIY,EACZ,QAIY;QAEZ,OAAO,KAAK,CAAC,SAAS,CACpB,KAAK,EACL,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;CACF;AAzCD,wEAyCC;AAEY,QAAA,8BAA8B,GAAG,IAAI,8BAA8B,EAAE,CAAC;AACtE,QAAA,wCAAwC,GAAG,kEAAuC,CAAC","file":"image-contribution-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n IContext2d,\n IImage,\n IThemeAttribute,\n IImageRenderContribution,\n IDrawContext,\n IBackgroundConfig,\n IGraphic,\n IMarkAttribute\n} from '../../../../interface';\nimport { getTheme } from '../../../../graphic/theme';\nimport {\n defaultBaseBackgroundRenderContribution,\n DefaultBaseBackgroundRenderContribution\n} from './base-contribution-render';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport { isNumber, isObject } from '@visactor/vutils';\nimport { parsePadding } from '../../../../common/utils';\nimport { createRectPath } from '../../../../common/shape/rect';\nimport { DefaultRectRenderContribution } from './rect-contribution-render';\n\n// export class DefaultImageBackgroundRenderContribution\n// extends DefaultBaseBackgroundRenderContribution\n// implements IImageRenderContribution\n// {\n// time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n\n// drawShape(\n// graphic: IImage,\n// context: IContext2d,\n// x: number,\n// y: number,\n// doFill: boolean,\n// doStroke: boolean,\n// fVisible: boolean,\n// sVisible: boolean,\n// graphicAttribute: Required<IGraphicAttribute>,\n// drawContext: IDrawContext,\n// fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n// strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean\n// ) {\n// const {\n// background,\n// backgroundMode = graphicAttribute.backgroundMode,\n// backgroundFit = graphicAttribute.backgroundFit,\n// width,\n// height\n// } = graphic.attribute;\n// if (!background) {\n// return;\n// }\n\n// if (!graphic.backgroundImg) {\n// if (isObject(background)) {\n// const {\n// stroke,\n// fill,\n// lineWidth = 1,\n// cornerRadius = 0,\n// expandX = 0,\n// expandY = 0\n// } = background as IBackgroundConfig;\n\n// if (!stroke && !fill) {\n// return;\n// }\n\n// context.beginPath();\n// const { x, y, width, height } = getActualPosition(graphic);\n// if (cornerRadius) {\n// createRectPath(context, x - expandX, y - expandY, width + expandX * 2, height + expandY * 2, cornerRadius);\n// } else {\n// context.rect(x - expandX, y - expandY, width + expandX * 2, height + expandY * 2);\n// }\n\n// context.globalAlpha = 1;\n// if (fill) {\n// context.fillStyle = fill as string;\n// context.fill();\n// }\n\n// if (stroke && lineWidth > 0) {\n// context.lineWidth = lineWidth;\n// context.strokeStyle = stroke as string;\n// context.stroke();\n// }\n// } else {\n// context.beginPath();\n// // const b = graphic.AABBBounds;\n// // image的背景不包括Bounds了\n// context.rect(x, y, width || 0, height || 0);\n// context.fillStyle = background as string;\n// context.globalAlpha = 1;\n// context.fill();\n// }\n// } else {\n// const res = graphic.resources.get(background as any);\n// if (res.state !== 'success' || !res.data) {\n// return;\n// }\n// context.save();\n// if (graphic.parent && !graphic.transMatrix.onlyTranslate()) {\n// const groupAttribute = getTheme(graphic.parent).group;\n// const { scrollX = groupAttribute.scrollX, scrollY = groupAttribute.scrollY } = graphic.parent.attribute;\n// context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n// context.translate(scrollX, scrollY);\n// }\n// // context.clip();\n// const b = graphic.AABBBounds;\n// this.doDrawImage(context, res.data, b, backgroundMode, backgroundFit);\n// context.restore();\n// if (!graphic.transMatrix.onlyTranslate()) {\n// context.setTransformForCurrent();\n// }\n// }\n// }\n// }\n\n// function getActualPosition(graphic: IGraphic) {\n// const boundsPadding = parsePadding(graphic.attribute.boundsPadding);\n// const bounds = graphic.AABBBounds;\n// let x = bounds.x1;\n// let y = bounds.y1;\n// let width = bounds.width();\n// let height = bounds.height();\n\n// if (isNumber(boundsPadding)) {\n// x += boundsPadding;\n// y += boundsPadding;\n// width -= boundsPadding * 2;\n// height -= boundsPadding * 2;\n// } else {\n// x += boundsPadding[3];\n// y += boundsPadding[0];\n// width -= boundsPadding[1] + boundsPadding[3];\n// height -= boundsPadding[0] + boundsPadding[2];\n// }\n\n// return {\n// x,\n// y,\n// width,\n// height\n// };\n// }\n\nexport class DefaultImageRenderContribution extends DefaultRectRenderContribution implements IImageRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n image: any,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: any,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n return super.drawShape(\n image,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n}\n\nexport const defaultImageRenderContribution = new DefaultImageRenderContribution();\nexport const defaultImageBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;\n"]}
@@ -12,7 +12,7 @@ class DefaultTextBackgroundRenderContribution extends base_contribution_render_1
12
12
  }
13
13
  drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb) {
14
14
  var _a, _c, _d, _e, _f, _g, _h, _j, _k, _l;
15
- const {backgroundMode: backgroundMode = graphicAttribute.backgroundMode, backgroundFit: backgroundFit = graphicAttribute.backgroundFit, backgroundKeepAspectRatio: backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio} = graphic.attribute;
15
+ const {backgroundOpacity: backgroundOpacity = graphicAttribute.backgroundOpacity, opacity: opacity = graphicAttribute.opacity, backgroundMode: backgroundMode = graphicAttribute.backgroundMode, backgroundFit: backgroundFit = graphicAttribute.backgroundFit, backgroundKeepAspectRatio: backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio, backgroundScale: backgroundScale = graphicAttribute.backgroundScale, backgroundOffsetX: backgroundOffsetX = graphicAttribute.backgroundOffsetX, backgroundOffsetY: backgroundOffsetY = graphicAttribute.backgroundOffsetY, backgroundPosition: backgroundPosition = graphicAttribute.backgroundPosition, backgroundClip: backgroundClip = graphicAttribute.backgroundClip, backgroundCornerRadius: backgroundCornerRadius = graphicAttribute.backgroundCornerRadius} = graphic.attribute;
16
16
  let matrix, {background: background} = graphic.attribute;
17
17
  if (!background) return;
18
18
  const restore = () => {
@@ -21,13 +21,13 @@ class DefaultTextBackgroundRenderContribution extends base_contribution_render_1
21
21
  let b;
22
22
  "richtext" === graphic.type && (matrix = context.currentMatrix.clone(), context.restore(),
23
23
  context.save(), context.setTransformForCurrent());
24
- const shouldReCalBounds = (0, vutils_1.isObject)(background) && background.background, onlyTranslate = graphic.transMatrix.onlyTranslate();
25
- if (shouldReCalBounds) {
26
- const _b = graphic.AABBBounds, x = (null !== (_a = background.x) && void 0 !== _a ? _a : _b.x1) + (null !== (_c = background.dx) && void 0 !== _c ? _c : 0), y = (null !== (_d = background.y) && void 0 !== _d ? _d : _b.y1) + (null !== (_e = background.dy) && void 0 !== _e ? _e : 0), w = null !== (_f = background.width) && void 0 !== _f ? _f : _b.width(), h = null !== (_g = background.height) && void 0 !== _g ? _g : _b.height();
27
- if (b = bounds_allocate_1.boundsAllocate.allocate(x, y, x + w, y + h), background = background.background,
24
+ const backgroundConfig = (0, vutils_1.isObject)(background) && background.background ? background : null, onlyTranslate = graphic.transMatrix.onlyTranslate();
25
+ if (backgroundConfig) {
26
+ const _b = graphic.AABBBounds, x = (null !== (_a = backgroundConfig.x) && void 0 !== _a ? _a : _b.x1) + (null !== (_c = backgroundConfig.dx) && void 0 !== _c ? _c : 0), y = (null !== (_d = backgroundConfig.y) && void 0 !== _d ? _d : _b.y1) + (null !== (_e = backgroundConfig.dy) && void 0 !== _e ? _e : 0), w = null !== (_f = backgroundConfig.width) && void 0 !== _f ? _f : _b.width(), h = null !== (_g = backgroundConfig.height) && void 0 !== _g ? _g : _b.height();
27
+ if (b = bounds_allocate_1.boundsAllocate.allocate(x, y, x + w, y + h), background = backgroundConfig.background,
28
28
  !onlyTranslate) {
29
29
  const w = b.width(), h = b.height();
30
- b.set((null !== (_h = background.x) && void 0 !== _h ? _h : 0) + (null !== (_j = background.dx) && void 0 !== _j ? _j : 0), (null !== (_k = background.y) && void 0 !== _k ? _k : 0) + (null !== (_l = background.dy) && void 0 !== _l ? _l : 0), w, h);
30
+ b.set((null !== (_h = backgroundConfig.x) && void 0 !== _h ? _h : 0) + (null !== (_j = backgroundConfig.dx) && void 0 !== _j ? _j : 0), (null !== (_k = backgroundConfig.y) && void 0 !== _k ? _k : 0) + (null !== (_l = backgroundConfig.dy) && void 0 !== _l ? _l : 0), w, h);
31
31
  }
32
32
  } else b = graphic.AABBBounds, onlyTranslate || (b = (0, bounds_1.getTextBounds)(Object.assign(Object.assign({}, graphic.attribute), {
33
33
  angle: 0,
@@ -40,20 +40,24 @@ class DefaultTextBackgroundRenderContribution extends base_contribution_render_1
40
40
  })).clone());
41
41
  if (graphic.backgroundImg && graphic.resources) {
42
42
  const res = graphic.resources.get(background);
43
- if ("success" !== res.state || !res.data) return void restore();
43
+ if (!res || "success" !== res.state || !res.data) return void restore();
44
44
  context.highPerformanceSave(), onlyTranslate && context.setTransformFromMatrix(graphic.parent.globalTransMatrix, !0),
45
- context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute), this.doDrawImage(context, res.data, b, {
45
+ context.globalAlpha = backgroundOpacity * opacity, backgroundClip && (context.beginPath(),
46
+ backgroundCornerRadius ? (0, rect_1.createRectPath)(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius, !0) : context.rect(b.x1, b.y1, b.width(), b.height()),
47
+ context.clip()), this.doDrawImage(context, res.data, b, {
46
48
  backgroundMode: backgroundMode,
47
49
  backgroundFit: backgroundFit,
48
- backgroundKeepAspectRatio: backgroundKeepAspectRatio
50
+ backgroundKeepAspectRatio: backgroundKeepAspectRatio,
51
+ backgroundScale: backgroundScale,
52
+ backgroundOffsetX: backgroundOffsetX,
53
+ backgroundOffsetY: backgroundOffsetY,
54
+ backgroundPosition: backgroundPosition
49
55
  }), context.highPerformanceRestore(), context.setTransformForCurrent();
50
- } else {
51
- const {backgroundCornerRadius: backgroundCornerRadius} = graphic.attribute;
52
- context.highPerformanceSave(), context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute),
53
- context.fillStyle = background, backgroundCornerRadius ? ((0, rect_1.createRectPath)(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius, !0),
54
- context.fill()) : context.fillRect(b.x1, b.y1, b.width(), b.height()), context.highPerformanceRestore();
55
- }
56
- shouldReCalBounds && bounds_allocate_1.boundsAllocate.free(b), restore();
56
+ } else context.highPerformanceSave(), context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute),
57
+ context.globalAlpha = backgroundOpacity * opacity, context.fillStyle = background,
58
+ backgroundCornerRadius ? ((0, rect_1.createRectPath)(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius, !0),
59
+ context.fill()) : context.fillRect(b.x1, b.y1, b.width(), b.height()), context.highPerformanceRestore();
60
+ backgroundConfig && bounds_allocate_1.boundsAllocate.free(b), restore();
57
61
  }
58
62
  }
59
63
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/contributions/text-contribution-render.ts"],"names":[],"mappings":"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","file":"text-contribution-render.js","sourcesContent":["import type { IAABBBounds, IMatrix } from '@visactor/vutils';\nimport { isObject } from '@visactor/vutils';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport type {\n IContext2d,\n IDrawContext,\n IGraphicAttribute,\n IText,\n ITextRenderContribution,\n IThemeAttribute\n} from '../../../../interface';\nimport { DefaultBaseBackgroundRenderContribution } from './base-contribution-render';\nimport { boundsAllocate } from '../../../../allocator/bounds-allocate';\nimport { getTextBounds } from '../../../../graphic/bounds';\nimport { createRectPath } from '../../../../common/shape/rect';\n\nexport class DefaultTextBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements ITextRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n\n drawShape(\n graphic: IText,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean\n ) {\n const {\n backgroundMode = graphicAttribute.backgroundMode,\n backgroundFit = graphicAttribute.backgroundFit,\n backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio\n } = graphic.attribute;\n let { background } = graphic.attribute;\n if (!background) {\n return;\n }\n let matrix: IMatrix;\n const save = () => {\n if (graphic.type === 'richtext') {\n matrix = context.currentMatrix.clone();\n context.restore();\n context.save();\n context.setTransformForCurrent();\n }\n };\n const restore = () => {\n if (graphic.type === 'richtext') {\n context.restore();\n context.save();\n matrix && context.setTransformFromMatrix(matrix, true, 1);\n }\n };\n save();\n let b: IAABBBounds;\n const shouldReCalBounds = isObject(background) && (background as any).background;\n const onlyTranslate = graphic.transMatrix.onlyTranslate();\n if (shouldReCalBounds) {\n const _b = graphic.AABBBounds;\n const x = ((background as any).x ?? _b.x1) + ((background as any).dx ?? 0);\n const y = ((background as any).y ?? _b.y1) + ((background as any).dy ?? 0);\n const w = (background as any).width ?? _b.width();\n const h = (background as any).height ?? _b.height();\n b = boundsAllocate.allocate(x, y, x + w, y + h);\n background = (background as any).background;\n if (!onlyTranslate) {\n const w = b.width();\n const h = b.height();\n b.set(\n ((background as any).x ?? 0) + ((background as any).dx ?? 0),\n ((background as any).y ?? 0) + ((background as any).dy ?? 0),\n w,\n h\n );\n }\n } else {\n b = graphic.AABBBounds;\n if (!onlyTranslate) {\n b = getTextBounds({ ...graphic.attribute, angle: 0, scaleX: 1, scaleY: 1, x: 0, y: 0, dx: 0, dy: 0 }).clone();\n }\n }\n\n if (graphic.backgroundImg && graphic.resources) {\n const res = graphic.resources.get(background as any);\n if (res.state !== 'success' || !res.data) {\n restore();\n return;\n }\n\n context.highPerformanceSave();\n // 默认应用旋转\n if (!onlyTranslate) {\n // TODO 性能优化\n // const _b = getTextBounds({ ...graphic.attribute, angle: 0, scaleX: 1, scaleY: 1, x: 0, y: 0, dx: 0, dy: 0 });\n // b.copy(_b);\n } else {\n context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n }\n\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n this.doDrawImage(context, res.data, b, { backgroundMode, backgroundFit, backgroundKeepAspectRatio });\n context.highPerformanceRestore();\n context.setTransformForCurrent();\n } else {\n const { backgroundCornerRadius } = graphic.attribute;\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.fillStyle = background as string;\n if (backgroundCornerRadius) {\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius, true);\n context.fill();\n } else {\n context.fillRect(b.x1, b.y1, b.width(), b.height());\n }\n context.highPerformanceRestore();\n }\n\n if (shouldReCalBounds) {\n boundsAllocate.free(b);\n }\n restore();\n }\n}\n\nexport const defaultTextBackgroundRenderContribution = new DefaultTextBackgroundRenderContribution();\n\n// @injectable()\n// export class DefaultTextPopTipRenderContribution\n// extends DefaultBasePopTipRenderContribution\n// implements ITextRenderContribution\n// {\n// time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n// }\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/contributions/text-contribution-render.ts"],"names":[],"mappings":"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","file":"text-contribution-render.js","sourcesContent":["import { isObject, type IAABBBounds, type IMatrix } from '@visactor/vutils';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport type {\n IContext2d,\n IDrawContext,\n IGraphicAttribute,\n IText,\n ITextRenderContribution,\n IThemeAttribute\n} from '../../../../interface';\nimport { DefaultBaseBackgroundRenderContribution } from './base-contribution-render';\nimport { boundsAllocate } from '../../../../allocator/bounds-allocate';\nimport { getTextBounds } from '../../../../graphic/bounds';\nimport { createRectPath } from '../../../../common/shape/rect';\n\nexport class DefaultTextBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements ITextRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n\n drawShape(\n graphic: IText,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean\n ) {\n const {\n backgroundOpacity = graphicAttribute.backgroundOpacity,\n opacity = graphicAttribute.opacity,\n backgroundMode = graphicAttribute.backgroundMode,\n backgroundFit = graphicAttribute.backgroundFit,\n backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio,\n backgroundScale = graphicAttribute.backgroundScale,\n backgroundOffsetX = graphicAttribute.backgroundOffsetX,\n backgroundOffsetY = graphicAttribute.backgroundOffsetY,\n backgroundPosition = graphicAttribute.backgroundPosition,\n backgroundClip = graphicAttribute.backgroundClip,\n backgroundCornerRadius = graphicAttribute.backgroundCornerRadius\n } = graphic.attribute;\n let { background } = graphic.attribute;\n if (!background) {\n return;\n }\n let matrix: IMatrix;\n const save = () => {\n if (graphic.type === 'richtext') {\n matrix = context.currentMatrix.clone();\n context.restore();\n context.save();\n context.setTransformForCurrent();\n }\n };\n const restore = () => {\n if (graphic.type === 'richtext') {\n context.restore();\n context.save();\n matrix && context.setTransformFromMatrix(matrix, true, 1);\n }\n };\n save();\n let b: IAABBBounds;\n const backgroundConfig = isObject(background) && (background as any).background ? (background as any) : null;\n const onlyTranslate = graphic.transMatrix.onlyTranslate();\n if (backgroundConfig) {\n const _b = graphic.AABBBounds;\n const x = (backgroundConfig.x ?? _b.x1) + (backgroundConfig.dx ?? 0);\n const y = (backgroundConfig.y ?? _b.y1) + (backgroundConfig.dy ?? 0);\n const w = backgroundConfig.width ?? _b.width();\n const h = backgroundConfig.height ?? _b.height();\n b = boundsAllocate.allocate(x, y, x + w, y + h);\n background = backgroundConfig.background;\n if (!onlyTranslate) {\n const w = b.width();\n const h = b.height();\n b.set(\n (backgroundConfig.x ?? 0) + (backgroundConfig.dx ?? 0),\n (backgroundConfig.y ?? 0) + (backgroundConfig.dy ?? 0),\n w,\n h\n );\n }\n } else {\n b = graphic.AABBBounds;\n if (!onlyTranslate) {\n b = getTextBounds({ ...graphic.attribute, angle: 0, scaleX: 1, scaleY: 1, x: 0, y: 0, dx: 0, dy: 0 }).clone();\n }\n }\n\n if (graphic.backgroundImg && graphic.resources) {\n const res = graphic.resources.get(background as any);\n if (!res || res.state !== 'success' || !res.data) {\n restore();\n return;\n }\n\n context.highPerformanceSave();\n // 默认应用旋转\n if (!onlyTranslate) {\n // TODO 性能优化\n // const _b = getTextBounds({ ...graphic.attribute, angle: 0, scaleX: 1, scaleY: 1, x: 0, y: 0, dx: 0, dy: 0 });\n // b.copy(_b);\n } else {\n context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n }\n\n context.globalAlpha = backgroundOpacity * opacity;\n if (backgroundClip) {\n context.beginPath();\n if (backgroundCornerRadius) {\n createRectPath(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius, true);\n } else {\n context.rect(b.x1, b.y1, b.width(), b.height());\n }\n context.clip();\n }\n this.doDrawImage(context, res.data, b, {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale,\n backgroundOffsetX,\n backgroundOffsetY,\n backgroundPosition\n });\n context.highPerformanceRestore();\n context.setTransformForCurrent();\n } else {\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.globalAlpha = backgroundOpacity * opacity;\n context.fillStyle = background as string;\n if (backgroundCornerRadius) {\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, b.x1, b.y1, b.width(), b.height(), backgroundCornerRadius, true);\n context.fill();\n } else {\n context.fillRect(b.x1, b.y1, b.width(), b.height());\n }\n context.highPerformanceRestore();\n }\n\n if (backgroundConfig) {\n boundsAllocate.free(b);\n }\n restore();\n }\n}\n\nexport const defaultTextBackgroundRenderContribution = new DefaultTextBackgroundRenderContribution();\n\n// export class DefaultTextPopTipRenderContribution\n// extends DefaultBasePopTipRenderContribution\n// implements ITextRenderContribution\n// {\n// time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n// }\n"]}
@@ -1,7 +1,16 @@
1
1
  import type { IContext2d, MaybePromise, IGraphic, IGroup, IDrawContext, IRenderService, IGraphicRender, IGraphicRenderDrawParams, IContributionProvider, IDrawItemInterceptorContribution, IDrawContribution, IGlobal } from '../../../interface';
2
- import type { IBounds, IMatrix } from '@visactor/vutils';
2
+ import { type IBounds, type IMatrix } from '@visactor/vutils';
3
3
  import type { ILayerService } from '../../../interface/core';
4
+ import type { IRendererRegistry } from '../../../registry';
5
+ interface IDrawContributionDeps {
6
+ rendererRegistry?: IRendererRegistry;
7
+ drawItemInterceptorContributions?: IContributionProvider<IDrawItemInterceptorContribution>;
8
+ global?: IGlobal;
9
+ layerService?: ILayerService;
10
+ }
4
11
  export declare class DefaultDrawContribution implements IDrawContribution {
12
+ protected contributions: IGraphicRender[];
13
+ protected drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>;
5
14
  currentRenderMap: Map<number, IGraphicRender>;
6
15
  defaultRenderMap: Map<number, IGraphicRender>;
7
16
  styleRenderMap: Map<string, Map<number, IGraphicRender>>;
@@ -13,9 +22,8 @@ export declare class DefaultDrawContribution implements IDrawContribution {
13
22
  global: IGlobal;
14
23
  layerService: ILayerService;
15
24
  scrollMatrix?: IMatrix;
16
- protected readonly contributions: IGraphicRender[];
17
- protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>;
18
- constructor(contributions?: IGraphicRender[], drawItemInterceptorContributions?: IContributionProvider<IDrawItemInterceptorContribution>);
25
+ protected readonly rendererRegistry?: IRendererRegistry;
26
+ constructor(contributions?: IGraphicRender[], drawItemInterceptorContributions?: IContributionProvider<IDrawItemInterceptorContribution>, deps?: IDrawContributionDeps);
19
27
  reInit(): void;
20
28
  init(): void;
21
29
  prepareForDraw(renderService: IRenderService, drawContext: IDrawContext): void;
@@ -32,3 +40,4 @@ export declare class DefaultDrawContribution implements IDrawContribution {
32
40
  protected clearScreen(renderService: IRenderService, context: IContext2d, drawContext: IDrawContext): void;
33
41
  afterDraw(renderService: IRenderService, drawParams: IDrawContext): void;
34
42
  }
43
+ export {};
@@ -4,10 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.DefaultDrawContribution = void 0;
6
6
 
7
- const sort_1 = require("../../../common/sort"), config_1 = require("../../../graphic/config"), vutils_1 = require("@visactor/vutils"), symbol_1 = require("./symbol"), draw_interceptor_1 = require("./draw-interceptor"), canvas_utils_1 = require("../../../common/canvas-utils"), bounds_allocate_1 = require("../../../allocator/bounds-allocate"), matrix_allocate_1 = require("../../../allocator/matrix-allocate"), modules_1 = require("../../../modules"), registry_1 = require("../../../common/registry");
7
+ const sort_1 = require("../../../common/sort"), config_1 = require("../../../graphic/config"), vutils_1 = require("@visactor/vutils"), canvas_utils_1 = require("../../../common/canvas-utils"), bounds_allocate_1 = require("../../../allocator/bounds-allocate"), matrix_allocate_1 = require("../../../allocator/matrix-allocate"), application_1 = require("../../../application"), base_contribution_render_1 = require("./contributions/base-contribution-render"), EMPTY_DRAW_ITEM_INTERCEPTOR_PROVIDER = {
8
+ getContributions: () => []
9
+ };
10
+
11
+ function getIncrementalDrawContribution() {
12
+ const factory = application_1.application.incrementalDrawContributionFactory;
13
+ if (!factory) throw new Error("Incremental draw contribution factory is not configured.");
14
+ return factory();
15
+ }
8
16
 
9
17
  class DefaultDrawContribution {
10
- constructor(contributions, drawItemInterceptorContributions) {
18
+ constructor(contributions = [], drawItemInterceptorContributions = EMPTY_DRAW_ITEM_INTERCEPTOR_PROVIDER, deps = {}) {
19
+ var _a, _b, _c, _d, _e, _f;
20
+ this.contributions = contributions, this.drawItemInterceptorContributions = drawItemInterceptorContributions,
11
21
  this._renderInGroup = (skipSort, group, drawContext, nextM) => {
12
22
  var _a;
13
23
  skipSort ? group.forEachChildren((item => {
@@ -15,22 +25,25 @@ class DefaultDrawContribution {
15
25
  })) : (0, sort_1.foreach)(group, config_1.DefaultAttribute.zIndex, (item => {
16
26
  drawContext.break || (item.isContainer ? this.renderGroup(item, drawContext, nextM) : this.renderItem(item, drawContext));
17
27
  }), !1, !!(null === (_a = drawContext.context) || void 0 === _a ? void 0 : _a.camera));
18
- }, this.contributions = contributions || registry_1.contributionRegistry.get(symbol_1.GraphicRender),
19
- this.drawItemInterceptorContributions = drawItemInterceptorContributions || {
20
- getContributions: () => registry_1.contributionRegistry.get(draw_interceptor_1.DrawItemInterceptor)
21
28
  }, this.currentRenderMap = new Map, this.defaultRenderMap = new Map, this.styleRenderMap = new Map,
22
29
  this.dirtyBounds = new vutils_1.Bounds, this.backupDirtyBounds = new vutils_1.Bounds,
23
- this.global = modules_1.vglobal, this.layerService = modules_1.layerService, (0,
24
- vutils_1.isArray)(this.contributions) || (this.contributions = [ this.contributions ]),
30
+ this.global = null !== (_a = deps.global) && void 0 !== _a ? _a : application_1.application.global,
31
+ this.layerService = null !== (_b = deps.layerService) && void 0 !== _b ? _b : application_1.application.layerService,
32
+ this.rendererRegistry = deps.rendererRegistry, this.contributions = null !== (_d = null === (_c = this.rendererRegistry) || void 0 === _c ? void 0 : _c.getAll()) && void 0 !== _d ? _d : this.contributions,
33
+ this.drawItemInterceptorContributions = null !== (_f = null !== (_e = deps.drawItemInterceptorContributions) && void 0 !== _e ? _e : this.drawItemInterceptorContributions) && void 0 !== _f ? _f : EMPTY_DRAW_ITEM_INTERCEPTOR_PROVIDER,
34
+ (0, vutils_1.isArray)(this.contributions) || (this.contributions = [ this.contributions ]),
25
35
  this.init();
26
36
  }
27
37
  reInit() {
38
+ this.defaultRenderMap.clear(), this.styleRenderMap.clear(), this.currentRenderMap.clear(),
28
39
  this.init(), this.contributions.forEach((item => {
29
40
  item.reInit();
30
41
  }));
31
42
  }
32
43
  init() {
33
- this.contributions.forEach((item => {
44
+ var _a, _b;
45
+ const contributions = null !== (_b = null === (_a = this.rendererRegistry) || void 0 === _a ? void 0 : _a.getAll()) && void 0 !== _b ? _b : this.contributions;
46
+ this.contributions = contributions, contributions.forEach((item => {
34
47
  if (item.style) {
35
48
  const map = this.styleRenderMap.get(item.style) || new Map;
36
49
  map.set(item.numberType, item), this.styleRenderMap.set(item.style, map);
@@ -112,7 +125,7 @@ class DefaultDrawContribution {
112
125
  zIndex: subLayers.size,
113
126
  group: group
114
127
  }, subLayers.set(group._uid, incrementalLayer));
115
- const incrementalContext = incrementalLayer.layer.getNativeHandler().getContext(), idc = incrementalLayer.drawContribution || registry_1.serviceRegistry.get(symbol_1.IncrementalDrawContribution);
128
+ const incrementalContext = incrementalLayer.layer.getNativeHandler().getContext(), idc = incrementalLayer.drawContribution || getIncrementalDrawContribution();
116
129
  idc.dirtyBounds.setValue(-1 / 0, -1 / 0, 1 / 0, 1 / 0), idc.backupDirtyBounds.setValue(-1 / 0, -1 / 0, 1 / 0, 1 / 0),
117
130
  idc.draw(this.currentRenderService, Object.assign(Object.assign({}, drawContext), {
118
131
  drawContribution: idc,
@@ -191,15 +204,26 @@ class DefaultDrawContribution {
191
204
  return data || this.currentRenderMap.get(type) || this.defaultRenderMap.get(type);
192
205
  }
193
206
  clearScreen(renderService, context, drawContext) {
194
- var _a, _b, _c;
207
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
195
208
  const {clear: clear, viewBox: viewBox} = drawContext, width = viewBox.width(), height = viewBox.height();
196
209
  if (clear) {
197
210
  context.clearRect(0, 0, width, height), (null === (_a = renderService.drawParams) || void 0 === _a ? void 0 : _a.stage) && renderService.drawParams.stage.hooks.afterClearRect.call(renderService.drawParams);
198
211
  const stage = null === (_b = renderService.drawParams) || void 0 === _b ? void 0 : _b.stage;
199
- if (stage && (context.globalAlpha = null !== (_c = stage.attribute.opacity) && void 0 !== _c ? _c : 1),
212
+ if (stage && (context.globalAlpha = (null !== (_c = stage.attribute.opacity) && void 0 !== _c ? _c : 1) * (null !== (_d = stage.attribute.backgroundOpacity) && void 0 !== _d ? _d : 1)),
200
213
  stage && stage.backgroundImg && stage.resources) {
201
- const res = stage.resources.get(clear);
202
- res && "success" === res.state && res.data && context.drawImage(res.data, 0, 0, width, height);
214
+ const res = stage.resources.get((0, base_contribution_render_1.getBackgroundImage)(clear));
215
+ if (res && "success" === res.state && res.data) {
216
+ const backgroundBounds = bounds_allocate_1.boundsAllocate.allocate(0, 0, 0 + width, 0 + height);
217
+ (0, base_contribution_render_1.drawBackgroundImage)(context, res.data, backgroundBounds, {
218
+ backgroundMode: null !== (_e = stage.attribute.backgroundMode) && void 0 !== _e ? _e : config_1.DefaultAttribute.backgroundMode,
219
+ backgroundFit: null !== (_f = stage.attribute.backgroundFit) && void 0 !== _f ? _f : config_1.DefaultAttribute.backgroundFit,
220
+ backgroundKeepAspectRatio: null !== (_g = stage.attribute.backgroundKeepAspectRatio) && void 0 !== _g ? _g : config_1.DefaultAttribute.backgroundKeepAspectRatio,
221
+ backgroundScale: null !== (_h = stage.attribute.backgroundScale) && void 0 !== _h ? _h : config_1.DefaultAttribute.backgroundScale,
222
+ backgroundOffsetX: null !== (_j = stage.attribute.backgroundOffsetX) && void 0 !== _j ? _j : config_1.DefaultAttribute.backgroundOffsetX,
223
+ backgroundOffsetY: null !== (_k = stage.attribute.backgroundOffsetY) && void 0 !== _k ? _k : config_1.DefaultAttribute.backgroundOffsetY,
224
+ backgroundPosition: null !== (_l = stage.attribute.backgroundPosition) && void 0 !== _l ? _l : config_1.DefaultAttribute.backgroundPosition
225
+ }), bounds_allocate_1.boundsAllocate.free(backgroundBounds);
226
+ }
203
227
  } else context.fillStyle = (0, canvas_utils_1.createColor)(context, clear, {
204
228
  AABBBounds: {
205
229
  x1: 0,