@visactor/vrender-core 1.0.0-alpha.2 → 1.0.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/cjs/animate/config.d.ts +1 -2
  2. package/cjs/animate/config.js +1 -5
  3. package/cjs/animate/config.js.map +1 -1
  4. package/cjs/application.d.ts +2 -1
  5. package/cjs/application.js.map +1 -1
  6. package/cjs/color-string/interpolate.js +5 -2
  7. package/cjs/color-string/interpolate.js.map +1 -1
  8. package/cjs/common/canvas-utils.js +6 -3
  9. package/cjs/common/canvas-utils.js.map +1 -1
  10. package/cjs/common/contribution-provider.d.ts +16 -0
  11. package/cjs/common/contribution-provider.js +21 -2
  12. package/cjs/common/contribution-provider.js.map +1 -1
  13. package/cjs/common/custom-path2d.js +2 -2
  14. package/cjs/common/custom-path2d.js.map +1 -1
  15. package/cjs/common/event-listener-manager.d.ts +14 -0
  16. package/cjs/common/event-listener-manager.js +52 -0
  17. package/cjs/common/event-listener-manager.js.map +1 -0
  18. package/cjs/common/event-transformer.d.ts +12 -0
  19. package/cjs/common/event-transformer.js +91 -0
  20. package/cjs/common/event-transformer.js.map +1 -0
  21. package/cjs/common/morphing-utils.js +32 -124
  22. package/cjs/common/morphing-utils.js.map +1 -1
  23. package/cjs/common/performance-raf.js +4 -4
  24. package/cjs/common/performance-raf.js.map +1 -1
  25. package/cjs/common/polygon.js +4 -2
  26. package/cjs/common/polygon.js.map +1 -1
  27. package/cjs/common/segment/curve/cubic-bezier.d.ts +1 -2
  28. package/cjs/common/segment/curve/cubic-bezier.js +3 -8
  29. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
  30. package/cjs/common/segment/curve/quadratic-bezier.d.ts +1 -0
  31. package/cjs/common/segment/curve/quadratic-bezier.js +10 -3
  32. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
  33. package/cjs/common/segment/index.d.ts +1 -0
  34. package/cjs/common/segment/index.js +4 -1
  35. package/cjs/common/segment/index.js.map +1 -1
  36. package/cjs/common/segment/step.d.ts +6 -0
  37. package/cjs/common/segment/step.js +19 -2
  38. package/cjs/common/segment/step.js.map +1 -1
  39. package/cjs/common/shape/arc.d.ts +1 -1
  40. package/cjs/common/shape/arc.js +7 -3
  41. package/cjs/common/shape/arc.js.map +1 -1
  42. package/cjs/common/simplify.js +1 -2
  43. package/cjs/common/split-path.js +3 -2
  44. package/cjs/common/split-path.js.map +1 -1
  45. package/cjs/common/utils.d.ts +0 -2
  46. package/cjs/common/utils.js +4 -8
  47. package/cjs/common/utils.js.map +1 -1
  48. package/cjs/core/constants.js +1 -1
  49. package/cjs/core/core-modules.js +1 -1
  50. package/cjs/core/global.d.ts +7 -5
  51. package/cjs/core/global.js +14 -13
  52. package/cjs/core/global.js.map +1 -1
  53. package/cjs/core/stage.d.ts +6 -2
  54. package/cjs/core/stage.js +22 -10
  55. package/cjs/core/stage.js.map +1 -1
  56. package/cjs/core/window.d.ts +5 -4
  57. package/cjs/core/window.js +14 -13
  58. package/cjs/core/window.js.map +1 -1
  59. package/cjs/event/event-system.js +11 -10
  60. package/cjs/event/event-system.js.map +1 -1
  61. package/cjs/graphic/arc.d.ts +1 -2
  62. package/cjs/graphic/arc.js +4 -3
  63. package/cjs/graphic/arc.js.map +1 -1
  64. package/cjs/graphic/area.d.ts +1 -2
  65. package/cjs/graphic/area.js +5 -2
  66. package/cjs/graphic/area.js.map +1 -1
  67. package/cjs/graphic/circle.d.ts +1 -2
  68. package/cjs/graphic/circle.js +7 -3
  69. package/cjs/graphic/circle.js.map +1 -1
  70. package/cjs/graphic/config.d.ts +2 -1
  71. package/cjs/graphic/config.js +10 -3
  72. package/cjs/graphic/config.js.map +1 -1
  73. package/cjs/graphic/constants.d.ts +1 -0
  74. package/cjs/graphic/constants.js +4 -3
  75. package/cjs/graphic/constants.js.map +1 -1
  76. package/cjs/graphic/graphic-service/graphic-module.js +1 -2
  77. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  78. package/cjs/graphic/graphic-service/graphic-service.js +2 -3
  79. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  80. package/cjs/graphic/graphic.d.ts +8 -1
  81. package/cjs/graphic/graphic.js +32 -20
  82. package/cjs/graphic/graphic.js.map +1 -1
  83. package/cjs/graphic/group.js +8 -8
  84. package/cjs/graphic/group.js.map +1 -1
  85. package/cjs/graphic/image.js +2 -1
  86. package/cjs/graphic/image.js.map +1 -1
  87. package/cjs/graphic/index.d.ts +1 -0
  88. package/cjs/graphic/index.js +8 -8
  89. package/cjs/graphic/index.js.map +1 -1
  90. package/cjs/graphic/line.d.ts +1 -2
  91. package/cjs/graphic/line.js +7 -2
  92. package/cjs/graphic/line.js.map +1 -1
  93. package/cjs/graphic/path.js +2 -1
  94. package/cjs/graphic/path.js.map +1 -1
  95. package/cjs/graphic/polygon.js +2 -1
  96. package/cjs/graphic/polygon.js.map +1 -1
  97. package/cjs/graphic/rect.js +7 -3
  98. package/cjs/graphic/rect.js.map +1 -1
  99. package/cjs/graphic/richtext/icon.d.ts +1 -1
  100. package/cjs/graphic/richtext/icon.js.map +1 -1
  101. package/cjs/graphic/richtext.js +3 -2
  102. package/cjs/graphic/richtext.js.map +1 -1
  103. package/cjs/graphic/star.d.ts +52 -0
  104. package/cjs/graphic/star.js +78 -0
  105. package/cjs/graphic/star.js.map +1 -0
  106. package/cjs/graphic/symbol.js +3 -1
  107. package/cjs/graphic/symbol.js.map +1 -1
  108. package/cjs/graphic/text.js +1 -0
  109. package/cjs/graphic/text.js.map +1 -1
  110. package/cjs/graphic/theme.js +2 -0
  111. package/cjs/graphic/theme.js.map +1 -1
  112. package/cjs/index.d.ts +4 -0
  113. package/cjs/index.js +10 -9
  114. package/cjs/index.js.map +1 -1
  115. package/cjs/interface/animation/animate.d.ts +17 -0
  116. package/cjs/interface/animation/animate.js.map +1 -1
  117. package/cjs/interface/animation/ticker.d.ts +2 -0
  118. package/cjs/interface/animation/ticker.js.map +1 -1
  119. package/cjs/interface/common.d.ts +1 -1
  120. package/cjs/interface/common.js.map +1 -1
  121. package/cjs/interface/contribution.d.ts +2 -0
  122. package/cjs/interface/contribution.js.map +1 -1
  123. package/cjs/interface/event-listener-manager.d.ts +7 -0
  124. package/cjs/interface/event-listener-manager.js +6 -0
  125. package/cjs/interface/event-listener-manager.js.map +1 -0
  126. package/cjs/interface/global.d.ts +2 -1
  127. package/cjs/interface/global.js.map +1 -1
  128. package/cjs/interface/graphic/index.d.ts +1 -0
  129. package/cjs/interface/graphic/index.js +3 -2
  130. package/cjs/interface/graphic/index.js.map +1 -1
  131. package/cjs/interface/graphic/star.d.ts +12 -0
  132. package/cjs/interface/graphic/star.js +6 -0
  133. package/cjs/interface/graphic/star.js.map +1 -0
  134. package/cjs/interface/graphic/theme.d.ts +3 -0
  135. package/cjs/interface/graphic/theme.js.map +1 -1
  136. package/cjs/interface/graphic.d.ts +12 -1
  137. package/cjs/interface/graphic.js.map +1 -1
  138. package/cjs/interface/picker.d.ts +1 -0
  139. package/cjs/interface/picker.js.map +1 -1
  140. package/cjs/interface/render.d.ts +4 -0
  141. package/cjs/interface/render.js.map +1 -1
  142. package/cjs/interface/stage.d.ts +2 -0
  143. package/cjs/interface/stage.js.map +1 -1
  144. package/cjs/interface/window.d.ts +1 -0
  145. package/cjs/interface/window.js.map +1 -1
  146. package/cjs/modules.d.ts +2 -1
  147. package/cjs/modules.js +4 -3
  148. package/cjs/modules.js.map +1 -1
  149. package/cjs/picker/global-picker-service.d.ts +1 -0
  150. package/cjs/picker/global-picker-service.js +1 -0
  151. package/cjs/picker/global-picker-service.js.map +1 -1
  152. package/cjs/picker/picker-service.d.ts +1 -0
  153. package/cjs/picker/picker-service.js +3 -0
  154. package/cjs/picker/picker-service.js.map +1 -1
  155. package/cjs/plugins/builtin-plugin/auto-render-plugin.js +9 -8
  156. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  157. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +14 -11
  158. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  159. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +13 -10
  160. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  161. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +0 -1
  162. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  163. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -5
  164. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  165. package/cjs/register/register-star.d.ts +1 -0
  166. package/cjs/register/register-star.js +14 -0
  167. package/cjs/register/register-star.js.map +1 -0
  168. package/cjs/render/contributions/render/arc-render.d.ts +2 -2
  169. package/cjs/render/contributions/render/arc-render.js +7 -7
  170. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  171. package/cjs/render/contributions/render/area-render.d.ts +2 -2
  172. package/cjs/render/contributions/render/area-render.js +5 -5
  173. package/cjs/render/contributions/render/area-render.js.map +1 -1
  174. package/cjs/render/contributions/render/base-render.d.ts +2 -0
  175. package/cjs/render/contributions/render/base-render.js +3 -0
  176. package/cjs/render/contributions/render/base-render.js.map +1 -1
  177. package/cjs/render/contributions/render/circle-render.d.ts +2 -2
  178. package/cjs/render/contributions/render/circle-render.js +3 -3
  179. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  180. package/cjs/render/contributions/render/contributions/constants.d.ts +1 -0
  181. package/cjs/render/contributions/render/contributions/constants.js +3 -2
  182. package/cjs/render/contributions/render/contributions/constants.js.map +1 -1
  183. package/cjs/render/contributions/render/contributions/index.d.ts +1 -0
  184. package/cjs/render/contributions/render/contributions/index.js +2 -2
  185. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  186. package/cjs/render/contributions/render/contributions/star-contribution-render.d.ts +2 -0
  187. package/cjs/render/contributions/render/contributions/star-contribution-render.js +11 -0
  188. package/cjs/render/contributions/render/contributions/star-contribution-render.js.map +1 -0
  189. package/cjs/render/contributions/render/draw-contribution.d.ts +1 -0
  190. package/cjs/render/contributions/render/draw-contribution.js +6 -1
  191. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  192. package/cjs/render/contributions/render/draw-interceptor.js +2 -2
  193. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  194. package/cjs/render/contributions/render/glyph-render.d.ts +1 -0
  195. package/cjs/render/contributions/render/glyph-render.js +1 -0
  196. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  197. package/cjs/render/contributions/render/graphic-render.d.ts +1 -0
  198. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  199. package/cjs/render/contributions/render/group-render.d.ts +1 -0
  200. package/cjs/render/contributions/render/group-render.js +8 -4
  201. package/cjs/render/contributions/render/group-render.js.map +1 -1
  202. package/cjs/render/contributions/render/image-render.d.ts +2 -2
  203. package/cjs/render/contributions/render/image-render.js +3 -3
  204. package/cjs/render/contributions/render/image-render.js.map +1 -1
  205. package/cjs/render/contributions/render/line-render.js +1 -1
  206. package/cjs/render/contributions/render/line-render.js.map +1 -1
  207. package/cjs/render/contributions/render/path-render.d.ts +2 -2
  208. package/cjs/render/contributions/render/path-render.js +3 -3
  209. package/cjs/render/contributions/render/path-render.js.map +1 -1
  210. package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
  211. package/cjs/render/contributions/render/polygon-render.js +3 -3
  212. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  213. package/cjs/render/contributions/render/rect-render.d.ts +2 -2
  214. package/cjs/render/contributions/render/rect-render.js +3 -3
  215. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  216. package/cjs/render/contributions/render/star-module.d.ts +2 -0
  217. package/cjs/render/contributions/render/star-module.js +15 -0
  218. package/cjs/render/contributions/render/star-module.js.map +1 -0
  219. package/cjs/render/contributions/render/star-render.d.ts +10 -0
  220. package/cjs/render/contributions/render/star-render.js +54 -0
  221. package/cjs/render/contributions/render/star-render.js.map +1 -0
  222. package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
  223. package/cjs/render/contributions/render/symbol-render.js +3 -3
  224. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  225. package/cjs/render/contributions/render/symbol.d.ts +1 -0
  226. package/cjs/render/contributions/render/symbol.js +2 -2
  227. package/cjs/render/contributions/render/symbol.js.map +1 -1
  228. package/cjs/render/contributions/render/text-render.d.ts +2 -2
  229. package/cjs/render/contributions/render/text-render.js +3 -3
  230. package/cjs/render/contributions/render/text-render.js.map +1 -1
  231. package/cjs/render/render-service.d.ts +2 -1
  232. package/cjs/render/render-service.js +3 -0
  233. package/cjs/render/render-service.js.map +1 -1
  234. package/dist/index.es.js +12652 -12222
  235. package/es/animate/config.d.ts +1 -2
  236. package/es/animate/config.js +0 -5
  237. package/es/animate/config.js.map +1 -1
  238. package/es/application.d.ts +2 -1
  239. package/es/application.js.map +1 -1
  240. package/es/color-string/interpolate.js +4 -1
  241. package/es/color-string/interpolate.js.map +1 -1
  242. package/es/common/canvas-utils.js +6 -3
  243. package/es/common/canvas-utils.js.map +1 -1
  244. package/es/common/contribution-provider.d.ts +16 -0
  245. package/es/common/contribution-provider.js +20 -1
  246. package/es/common/contribution-provider.js.map +1 -1
  247. package/es/common/custom-path2d.js +2 -2
  248. package/es/common/custom-path2d.js.map +1 -1
  249. package/es/common/event-listener-manager.d.ts +14 -0
  250. package/es/common/event-listener-manager.js +44 -0
  251. package/es/common/event-listener-manager.js.map +1 -0
  252. package/es/common/event-transformer.d.ts +12 -0
  253. package/es/common/event-transformer.js +81 -0
  254. package/es/common/event-transformer.js.map +1 -0
  255. package/es/common/morphing-utils.js +29 -124
  256. package/es/common/morphing-utils.js.map +1 -1
  257. package/es/common/performance-raf.js +4 -4
  258. package/es/common/performance-raf.js.map +1 -1
  259. package/es/common/polygon.js +4 -2
  260. package/es/common/polygon.js.map +1 -1
  261. package/es/common/segment/curve/cubic-bezier.d.ts +1 -2
  262. package/es/common/segment/curve/cubic-bezier.js +1 -8
  263. package/es/common/segment/curve/cubic-bezier.js.map +1 -1
  264. package/es/common/segment/curve/quadratic-bezier.d.ts +1 -0
  265. package/es/common/segment/curve/quadratic-bezier.js +5 -2
  266. package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
  267. package/es/common/segment/index.d.ts +1 -0
  268. package/es/common/segment/index.js +6 -1
  269. package/es/common/segment/index.js.map +1 -1
  270. package/es/common/segment/step.d.ts +6 -0
  271. package/es/common/segment/step.js +13 -0
  272. package/es/common/segment/step.js.map +1 -1
  273. package/es/common/shape/arc.d.ts +1 -1
  274. package/es/common/shape/arc.js +7 -3
  275. package/es/common/shape/arc.js.map +1 -1
  276. package/es/common/simplify.js +1 -2
  277. package/es/common/split-path.js +3 -2
  278. package/es/common/split-path.js.map +1 -1
  279. package/es/common/utils.d.ts +0 -2
  280. package/es/common/utils.js +0 -4
  281. package/es/common/utils.js.map +1 -1
  282. package/es/core/constants.js +1 -1
  283. package/es/core/core-modules.js +1 -1
  284. package/es/core/global.d.ts +7 -5
  285. package/es/core/global.js +15 -12
  286. package/es/core/global.js.map +1 -1
  287. package/es/core/stage.d.ts +6 -2
  288. package/es/core/stage.js +23 -9
  289. package/es/core/stage.js.map +1 -1
  290. package/es/core/window.d.ts +5 -4
  291. package/es/core/window.js +15 -12
  292. package/es/core/window.js.map +1 -1
  293. package/es/event/event-system.js +11 -10
  294. package/es/event/event-system.js.map +1 -1
  295. package/es/graphic/arc.d.ts +1 -2
  296. package/es/graphic/arc.js +4 -3
  297. package/es/graphic/arc.js.map +1 -1
  298. package/es/graphic/area.d.ts +1 -2
  299. package/es/graphic/area.js +5 -2
  300. package/es/graphic/area.js.map +1 -1
  301. package/es/graphic/circle.d.ts +1 -2
  302. package/es/graphic/circle.js +6 -3
  303. package/es/graphic/circle.js.map +1 -1
  304. package/es/graphic/config.d.ts +2 -1
  305. package/es/graphic/config.js +11 -2
  306. package/es/graphic/config.js.map +1 -1
  307. package/es/graphic/constants.d.ts +1 -0
  308. package/es/graphic/constants.js +2 -0
  309. package/es/graphic/constants.js.map +1 -1
  310. package/es/graphic/graphic-service/graphic-module.js +1 -1
  311. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  312. package/es/graphic/graphic-service/graphic-service.js +1 -4
  313. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  314. package/es/graphic/graphic.d.ts +8 -1
  315. package/es/graphic/graphic.js +33 -19
  316. package/es/graphic/graphic.js.map +1 -1
  317. package/es/graphic/group.js +7 -7
  318. package/es/graphic/group.js.map +1 -1
  319. package/es/graphic/image.js +2 -1
  320. package/es/graphic/image.js.map +1 -1
  321. package/es/graphic/index.d.ts +1 -0
  322. package/es/graphic/index.js +2 -0
  323. package/es/graphic/index.js.map +1 -1
  324. package/es/graphic/line.d.ts +1 -2
  325. package/es/graphic/line.js +7 -2
  326. package/es/graphic/line.js.map +1 -1
  327. package/es/graphic/path.js +2 -1
  328. package/es/graphic/path.js.map +1 -1
  329. package/es/graphic/polygon.js +2 -1
  330. package/es/graphic/polygon.js.map +1 -1
  331. package/es/graphic/rect.js +7 -3
  332. package/es/graphic/rect.js.map +1 -1
  333. package/es/graphic/richtext/icon.d.ts +1 -1
  334. package/es/graphic/richtext/icon.js.map +1 -1
  335. package/es/graphic/richtext.js +3 -2
  336. package/es/graphic/richtext.js.map +1 -1
  337. package/es/graphic/star.d.ts +52 -0
  338. package/es/graphic/star.js +82 -0
  339. package/es/graphic/star.js.map +1 -0
  340. package/es/graphic/symbol.js +3 -1
  341. package/es/graphic/symbol.js.map +1 -1
  342. package/es/graphic/text.js +1 -0
  343. package/es/graphic/text.js.map +1 -1
  344. package/es/graphic/theme.js +3 -1
  345. package/es/graphic/theme.js.map +1 -1
  346. package/es/index.d.ts +4 -0
  347. package/es/index.js +8 -0
  348. package/es/index.js.map +1 -1
  349. package/es/interface/animation/animate.d.ts +17 -0
  350. package/es/interface/animation/animate.js.map +1 -1
  351. package/es/interface/animation/ticker.d.ts +2 -0
  352. package/es/interface/animation/ticker.js.map +1 -1
  353. package/es/interface/common.d.ts +1 -1
  354. package/es/interface/common.js.map +1 -1
  355. package/es/interface/contribution.d.ts +2 -0
  356. package/es/interface/contribution.js.map +1 -1
  357. package/es/interface/event-listener-manager.d.ts +7 -0
  358. package/es/interface/event-listener-manager.js +2 -0
  359. package/es/interface/event-listener-manager.js.map +1 -0
  360. package/es/interface/global.d.ts +2 -1
  361. package/es/interface/global.js.map +1 -1
  362. package/es/interface/graphic/index.d.ts +1 -0
  363. package/es/interface/graphic/index.js +2 -0
  364. package/es/interface/graphic/index.js.map +1 -1
  365. package/es/interface/graphic/star.d.ts +12 -0
  366. package/es/interface/graphic/star.js +2 -0
  367. package/es/interface/graphic/star.js.map +1 -0
  368. package/es/interface/graphic/theme.d.ts +3 -0
  369. package/es/interface/graphic/theme.js.map +1 -1
  370. package/es/interface/graphic.d.ts +12 -1
  371. package/es/interface/graphic.js.map +1 -1
  372. package/es/interface/picker.d.ts +1 -0
  373. package/es/interface/picker.js.map +1 -1
  374. package/es/interface/render.d.ts +4 -0
  375. package/es/interface/render.js.map +1 -1
  376. package/es/interface/stage.d.ts +2 -0
  377. package/es/interface/stage.js.map +1 -1
  378. package/es/interface/window.d.ts +1 -0
  379. package/es/interface/window.js.map +1 -1
  380. package/es/modules.d.ts +2 -1
  381. package/es/modules.js +6 -0
  382. package/es/modules.js.map +1 -1
  383. package/es/picker/global-picker-service.d.ts +1 -0
  384. package/es/picker/global-picker-service.js +1 -0
  385. package/es/picker/global-picker-service.js.map +1 -1
  386. package/es/picker/picker-service.d.ts +1 -0
  387. package/es/picker/picker-service.js +3 -0
  388. package/es/picker/picker-service.js.map +1 -1
  389. package/es/plugins/builtin-plugin/auto-render-plugin.js +8 -8
  390. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  391. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +13 -12
  392. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  393. package/es/plugins/builtin-plugin/flex-layout-plugin.js +12 -11
  394. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  395. package/es/plugins/builtin-plugin/html-attribute-plugin.js +0 -1
  396. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  397. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -5
  398. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  399. package/es/register/register-star.d.ts +1 -0
  400. package/es/register/register-star.js +8 -0
  401. package/es/register/register-star.js.map +1 -0
  402. package/es/render/contributions/render/arc-render.d.ts +2 -2
  403. package/es/render/contributions/render/arc-render.js +7 -7
  404. package/es/render/contributions/render/arc-render.js.map +1 -1
  405. package/es/render/contributions/render/area-render.d.ts +2 -2
  406. package/es/render/contributions/render/area-render.js +5 -5
  407. package/es/render/contributions/render/area-render.js.map +1 -1
  408. package/es/render/contributions/render/base-render.d.ts +2 -0
  409. package/es/render/contributions/render/base-render.js +3 -0
  410. package/es/render/contributions/render/base-render.js.map +1 -1
  411. package/es/render/contributions/render/circle-render.d.ts +2 -2
  412. package/es/render/contributions/render/circle-render.js +3 -3
  413. package/es/render/contributions/render/circle-render.js.map +1 -1
  414. package/es/render/contributions/render/contributions/constants.d.ts +1 -0
  415. package/es/render/contributions/render/contributions/constants.js +2 -0
  416. package/es/render/contributions/render/contributions/constants.js.map +1 -1
  417. package/es/render/contributions/render/contributions/index.d.ts +1 -0
  418. package/es/render/contributions/render/contributions/index.js +2 -0
  419. package/es/render/contributions/render/contributions/index.js.map +1 -1
  420. package/es/render/contributions/render/contributions/star-contribution-render.d.ts +2 -0
  421. package/es/render/contributions/render/contributions/star-contribution-render.js +8 -0
  422. package/es/render/contributions/render/contributions/star-contribution-render.js.map +1 -0
  423. package/es/render/contributions/render/draw-contribution.d.ts +1 -0
  424. package/es/render/contributions/render/draw-contribution.js +6 -1
  425. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  426. package/es/render/contributions/render/draw-interceptor.js +2 -2
  427. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  428. package/es/render/contributions/render/glyph-render.d.ts +1 -0
  429. package/es/render/contributions/render/glyph-render.js +1 -0
  430. package/es/render/contributions/render/glyph-render.js.map +1 -1
  431. package/es/render/contributions/render/graphic-render.d.ts +1 -0
  432. package/es/render/contributions/render/graphic-render.js.map +1 -1
  433. package/es/render/contributions/render/group-render.d.ts +1 -0
  434. package/es/render/contributions/render/group-render.js +8 -4
  435. package/es/render/contributions/render/group-render.js.map +1 -1
  436. package/es/render/contributions/render/image-render.d.ts +2 -2
  437. package/es/render/contributions/render/image-render.js +3 -3
  438. package/es/render/contributions/render/image-render.js.map +1 -1
  439. package/es/render/contributions/render/line-render.js +1 -1
  440. package/es/render/contributions/render/line-render.js.map +1 -1
  441. package/es/render/contributions/render/path-render.d.ts +2 -2
  442. package/es/render/contributions/render/path-render.js +3 -3
  443. package/es/render/contributions/render/path-render.js.map +1 -1
  444. package/es/render/contributions/render/polygon-render.d.ts +2 -2
  445. package/es/render/contributions/render/polygon-render.js +3 -3
  446. package/es/render/contributions/render/polygon-render.js.map +1 -1
  447. package/es/render/contributions/render/rect-render.d.ts +2 -2
  448. package/es/render/contributions/render/rect-render.js +3 -3
  449. package/es/render/contributions/render/rect-render.js.map +1 -1
  450. package/es/render/contributions/render/star-module.d.ts +2 -0
  451. package/es/render/contributions/render/star-module.js +13 -0
  452. package/es/render/contributions/render/star-module.js.map +1 -0
  453. package/es/render/contributions/render/star-render.d.ts +10 -0
  454. package/es/render/contributions/render/star-render.js +59 -0
  455. package/es/render/contributions/render/star-render.js.map +1 -0
  456. package/es/render/contributions/render/symbol-render.d.ts +2 -2
  457. package/es/render/contributions/render/symbol-render.js +3 -3
  458. package/es/render/contributions/render/symbol-render.js.map +1 -1
  459. package/es/render/contributions/render/symbol.d.ts +1 -0
  460. package/es/render/contributions/render/symbol.js +2 -0
  461. package/es/render/contributions/render/symbol.js.map +1 -1
  462. package/es/render/contributions/render/text-render.d.ts +2 -2
  463. package/es/render/contributions/render/text-render.js +3 -3
  464. package/es/render/contributions/render/text-render.js.map +1 -1
  465. package/es/render/render-service.d.ts +2 -1
  466. package/es/render/render-service.js +3 -0
  467. package/es/render/render-service.js.map +1 -1
  468. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":"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","file":"path-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { renderCommandList } from '../../../common/render-command-list';\nimport type {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute,\n IPathRenderContribution,\n IGraphicRender,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IPathGraphicAttribute\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { PATH_NUMBER_TYPE } from '../../../graphic/constants';\nimport { PathRenderContribution } from './contributions/constants';\nimport { BaseRender } from './base-render';\nimport {\n defaultPathBackgroundRenderContribution,\n defaultPathTextureRenderContribution\n} from './contributions/path-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n tempTheme: Required<IPathGraphicAttribute>;\n\n constructor(\n @inject(ContributionProvider)\n @named(PathRenderContribution)\n protected readonly pathRenderContribitions: IContributionProvider<IPathRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution];\n this.init(pathRenderContribitions);\n }\n\n drawShape(\n path: IPath,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = this.tempTheme ?? getTheme(path, params?.theme).path;\n const {\n x: originX = pathAttribute.x,\n y: originY = pathAttribute.y,\n fillStrokeOrder = pathAttribute.fillStrokeOrder\n } = path.attribute;\n\n const z = this.z ?? 0;\n\n const data = this.valid(path, pathAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n if (path.pathShape) {\n renderCommandList((path.pathShape as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n } else {\n const path2D = path.attribute.path ?? pathAttribute.path;\n renderCommandList((path2D as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute);\n\n this.beforeRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.stroke();\n }\n }\n };\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.fill();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const pathAttribute = getTheme(path, params?.theme).path;\n this.tempTheme = pathAttribute;\n this._draw(path, pathAttribute, false, drawContext, params);\n this.tempTheme = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAgBxE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,0CAA0C,CAAC;AAG3C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAiB;IAK5D,YAGqB,0BAA0E;QAE7F,KAAK,EAAE,CAAC;QAFW,+BAA0B,GAA1B,0BAA0B,CAAgD;QAN/F,eAAU,GAAW,gBAAgB,CAAC;QASpC,IAAI,CAAC,oBAAoB,GAAG,CAAC,uCAAuC,EAAE,oCAAoC,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAGZ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,EACJ,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAC5B,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAC5B,eAAe,GAAG,aAAa,CAAC,eAAe,EAChD,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnB,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEtD,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,iBAAiB,CAAE,IAAI,CAAC,SAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1F;aAAM;YACL,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,mCAAI,aAAa,CAAC,IAAI,CAAC;YACzD,iBAAiB,CAAE,MAAwB,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAClF;QAGD,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEhG,IAAI,CAAC,gBAAgB,CACnB,IAAI,EACJ,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,IAAI,QAAQ,EAAE;gBACZ,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAClD;qBAAM,IAAI,QAAQ,EAAE;oBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtF,OAAO,CAAC,MAAM,EAAE,CAAC;iBAClB;aACF;QACH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAChD;qBAAM,IAAI,QAAQ,EAAE;oBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtF,OAAO,CAAC,IAAI,EAAE,CAAC;iBAChB;aACF;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE;YACpB,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;SACd;aAAM;YACL,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;SACZ;QAED,IAAI,CAAC,eAAe,CAClB,IAAI,EACJ,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;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF,CAAA;AA9HY,uBAAuB;IADnC,UAAU,EAAE;IAOR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,sBAAsB,CAAC,CAAA;;GAPrB,uBAAuB,CA8HnC;SA9HY,uBAAuB","file":"path-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { renderCommandList } from '../../../common/render-command-list';\nimport type {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute,\n IPathRenderContribution,\n IGraphicRender,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IPathGraphicAttribute\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { PATH_NUMBER_TYPE } from '../../../graphic/constants';\nimport { PathRenderContribution } from './contributions/constants';\nimport { BaseRender } from './base-render';\nimport {\n defaultPathBackgroundRenderContribution,\n defaultPathTextureRenderContribution\n} from './contributions/path-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n tempTheme: Required<IPathGraphicAttribute>;\n\n constructor(\n @inject(ContributionProvider)\n @named(PathRenderContribution)\n protected readonly graphicRenderContributions: IContributionProvider<IPathRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n path: IPath,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = this.tempTheme ?? getTheme(path, params?.theme).path;\n const {\n x: originX = pathAttribute.x,\n y: originY = pathAttribute.y,\n fillStrokeOrder = pathAttribute.fillStrokeOrder\n } = path.attribute;\n\n const z = this.z ?? 0;\n\n const data = this.valid(path, pathAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n if (path.pathShape) {\n renderCommandList((path.pathShape as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n } else {\n const path2D = path.attribute.path ?? pathAttribute.path;\n renderCommandList((path2D as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute);\n\n this.beforeRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.stroke();\n }\n }\n };\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.fill();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const pathAttribute = getTheme(path, params?.theme).path;\n this.tempTheme = pathAttribute;\n this._draw(path, pathAttribute, false, drawContext, params);\n this.tempTheme = null;\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { IGraphicAttribute, IContext2d, IMarkAttribute, IPolygon, IThemeAttribute, IGraphicRender, IPolygonRenderContribution, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService } from '../../../interface';
2
2
  import { BaseRender } from './base-render';
3
3
  export declare class DefaultCanvasPolygonRender extends BaseRender<IPolygon> implements IGraphicRender {
4
- protected readonly polygonRenderContribitions: IContributionProvider<IPolygonRenderContribution>;
4
+ protected readonly graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>;
5
5
  type: 'polygon';
6
6
  numberType: number;
7
- constructor(polygonRenderContribitions: IContributionProvider<IPolygonRenderContribution>);
7
+ constructor(graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>);
8
8
  drawShape(polygon: IPolygon, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
9
9
  draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
10
10
  }
@@ -29,10 +29,10 @@ import { BaseRender } from "./base-render";
29
29
  import { defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution } from "./contributions/polygon-contribution-render";
30
30
 
31
31
  let DefaultCanvasPolygonRender = class extends BaseRender {
32
- constructor(polygonRenderContribitions) {
33
- super(), this.polygonRenderContribitions = polygonRenderContribitions, this.numberType = POLYGON_NUMBER_TYPE,
32
+ constructor(graphicRenderContributions) {
33
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = POLYGON_NUMBER_TYPE,
34
34
  this.builtinContributions = [ defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution ],
35
- this.init(polygonRenderContribitions);
35
+ this.init(graphicRenderContributions);
36
36
  }
37
37
  drawShape(polygon, context, x, y, drawContext, params, fillCb, strokeCb) {
38
38
  const polygonAttribute = getTheme(polygon, null == params ? void 0 : params.theme).polygon, {points: points = polygonAttribute.points, cornerRadius: cornerRadius = polygonAttribute.cornerRadius, x: originX = polygonAttribute.x, y: originY = polygonAttribute.y, closePath: closePath = polygonAttribute.closePath, fillStrokeOrder: fillStrokeOrder = polygonAttribute.fillStrokeOrder} = polygon.attribute, data = this.valid(polygon, polygonAttribute, fillCb, strokeCb);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/polygon-render.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAcjE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,0CAA0C,EAC1C,uCAAuC,EACxC,MAAM,6CAA6C,CAAC;AAG9C,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,UAAoB;IAIlE,YAGqB,0BAA6E;QAEhG,KAAK,EAAE,CAAC;QAFW,+BAA0B,GAA1B,0BAA0B,CAAmD;QALlG,eAAU,GAAW,mBAAmB,CAAC;QAQvC,IAAI,CAAC,oBAAoB,GAAG,CAAC,0CAA0C,EAAE,uCAAuC,CAAC,CAAC;QAClH,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CACP,OAAiB,EACjB,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;QAGZ,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,OAAO,CAAC;QAClE,MAAM,EACJ,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAChC,YAAY,GAAG,gBAAgB,CAAC,YAAY,EAC5C,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,EAC/B,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,EAC/B,SAAS,GAAG,gBAAgB,CAAC,SAAS,EACtC,eAAe,GAAG,gBAAgB,CAAC,eAAe,EACnD,GAAG,OAAO,CAAC,SAAS,CAAC;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEtD,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,IAAK,YAAuB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAe,YAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;YAChH,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7E;aAAM;YAEL,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;SAC7G;QAED,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAGjC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEzG,IAAI,CAAC,gBAAgB,CACnB,OAAO,EACP,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;iBACtD;qBAAM,IAAI,QAAQ,EAAE;oBAEnB,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;oBAC/F,OAAO,CAAC,IAAI,EAAE,CAAC;iBAChB;aACF;QACH,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,IAAI,QAAQ,EAAE;gBACZ,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;iBACxD;qBAAM,IAAI,QAAQ,EAAE;oBAEnB,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;oBAC/F,OAAO,CAAC,MAAM,EAAE,CAAC;iBAClB;aACF;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE;YACpB,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;SACd;aAAM;YACL,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;SACZ;QAED,IAAI,CAAC,eAAe,CAClB,OAAO,EACP,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAiB,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QACjH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,OAAO,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AAjIY,0BAA0B;IADtC,UAAU,EAAE;IAMR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,yBAAyB,CAAC,CAAA;;GANxB,0BAA0B,CAiItC;SAjIY,0BAA0B","file":"polygon-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { POLYGON_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IPolygon,\n IThemeAttribute,\n IGraphicRender,\n IPolygonRenderContribution,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { drawPolygon, drawRoundedPolygon } from '../../../common/polygon';\nimport { PolygonRenderContribution } from './contributions/constants';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { BaseRender } from './base-render';\nimport {\n defaultPolygonBackgroundRenderContribution,\n defaultPolygonTextureRenderContribution\n} from './contributions/polygon-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPolygonRender extends BaseRender<IPolygon> implements IGraphicRender {\n type: 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(PolygonRenderContribution)\n protected readonly polygonRenderContribitions: IContributionProvider<IPolygonRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution];\n this.init(polygonRenderContribitions);\n }\n\n drawShape(\n polygon: IPolygon,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n const {\n points = polygonAttribute.points,\n cornerRadius = polygonAttribute.cornerRadius,\n x: originX = polygonAttribute.x,\n y: originY = polygonAttribute.y,\n closePath = polygonAttribute.closePath,\n fillStrokeOrder = polygonAttribute.fillStrokeOrder\n } = polygon.attribute;\n\n const data = this.valid(polygon, polygonAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n\n if ((cornerRadius as number) <= 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n drawPolygon(context.camera ? context : context.nativeContext, points, x, y);\n } else {\n // FIXME: type\n drawRoundedPolygon(context.camera ? context : context.nativeContext, points, x, y, cornerRadius, closePath);\n }\n // polygon 默认闭合\n closePath && context.closePath();\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(polygon, polygon.attribute, polygonAttribute);\n\n this.beforeRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, polygon.attribute, polygonAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, polygon.attribute, polygonAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n this._draw(polygon, polygonAttribute, false, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/polygon-render.ts"],"names":[],"mappings":"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","file":"polygon-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { POLYGON_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IPolygon,\n IThemeAttribute,\n IGraphicRender,\n IPolygonRenderContribution,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { drawPolygon, drawRoundedPolygon } from '../../../common/polygon';\nimport { PolygonRenderContribution } from './contributions/constants';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { BaseRender } from './base-render';\nimport {\n defaultPolygonBackgroundRenderContribution,\n defaultPolygonTextureRenderContribution\n} from './contributions/polygon-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPolygonRender extends BaseRender<IPolygon> implements IGraphicRender {\n type: 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(PolygonRenderContribution)\n protected readonly graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n polygon: IPolygon,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n const {\n points = polygonAttribute.points,\n cornerRadius = polygonAttribute.cornerRadius,\n x: originX = polygonAttribute.x,\n y: originY = polygonAttribute.y,\n closePath = polygonAttribute.closePath,\n fillStrokeOrder = polygonAttribute.fillStrokeOrder\n } = polygon.attribute;\n\n const data = this.valid(polygon, polygonAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n\n if ((cornerRadius as number) <= 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n drawPolygon(context.camera ? context : context.nativeContext, points, x, y);\n } else {\n // FIXME: type\n drawRoundedPolygon(context.camera ? context : context.nativeContext, points, x, y, cornerRadius, closePath);\n }\n // polygon 默认闭合\n closePath && context.closePath();\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(polygon, polygon.attribute, polygonAttribute);\n\n this.beforeRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, polygon.attribute, polygonAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, polygon.attribute, polygonAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n this._draw(polygon, polygonAttribute, false, drawContext, params);\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import type { IGraphicAttribute, IContext2d, IMarkAttribute, IRect, IThemeAttribute, IGraphicRender, IDrawContext, IGraphicRenderDrawParams, IRenderService, IRectRenderContribution, IContributionProvider, IRectGraphicAttribute } from '../../../interface';
2
2
  import { BaseRender } from './base-render';
3
3
  export declare class DefaultCanvasRectRender extends BaseRender<IRect> implements IGraphicRender {
4
- protected readonly rectRenderContribitions: IContributionProvider<IRectRenderContribution>;
4
+ protected readonly graphicRenderContributions: IContributionProvider<IRectRenderContribution>;
5
5
  type: string;
6
6
  numberType: number;
7
7
  tempTheme: Required<IRectGraphicAttribute>;
8
- constructor(rectRenderContribitions: IContributionProvider<IRectRenderContribution>);
8
+ constructor(graphicRenderContributions: IContributionProvider<IRectRenderContribution>);
9
9
  drawShape(rect: IRect, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, rectAttribute?: Required<IRectGraphicAttribute>): void;
10
10
  private _runFill;
11
11
  private _runStroke;
@@ -31,10 +31,10 @@ import { BaseRender } from "./base-render";
31
31
  import { defaultRectBackgroundRenderContribution, defaultRectRenderContribution, defaultRectTextureRenderContribution } from "./contributions";
32
32
 
33
33
  let DefaultCanvasRectRender = class extends BaseRender {
34
- constructor(rectRenderContribitions) {
35
- super(), this.rectRenderContribitions = rectRenderContribitions, this.type = "rect",
34
+ constructor(graphicRenderContributions) {
35
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.type = "rect",
36
36
  this.numberType = RECT_NUMBER_TYPE, this.builtinContributions = [ defaultRectRenderContribution, defaultRectBackgroundRenderContribution, defaultRectTextureRenderContribution ],
37
- this.init(rectRenderContribitions);
37
+ this.init(graphicRenderContributions);
38
38
  }
39
39
  drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb, rectAttribute) {
40
40
  rectAttribute = null != rectAttribute ? rectAttribute : getTheme(rect, null == params ? void 0 : params.theme).rect;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/rect-render.ts"],"names":[],"mappings":"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","file":"rect-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { RECT_NUMBER_TYPE } from '../../../graphic/constants';\nimport { createRectPath } from '../../../common/shape/rect';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicRender,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IRectRenderContribution,\n IContributionProvider,\n IRectGraphicAttribute\n} from '../../../interface';\nimport { RectRenderContribution } from './contributions/constants';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { BaseRender } from './base-render';\nimport {\n defaultRectBackgroundRenderContribution,\n defaultRectRenderContribution,\n defaultRectTextureRenderContribution\n} from './contributions';\n\n@injectable()\nexport class DefaultCanvasRectRender extends BaseRender<IRect> implements IGraphicRender {\n type = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n tempTheme: Required<IRectGraphicAttribute>;\n\n constructor(\n @inject(ContributionProvider)\n @named(RectRenderContribution)\n protected readonly rectRenderContribitions: IContributionProvider<IRectRenderContribution>\n ) {\n super();\n this.builtinContributions = [\n defaultRectRenderContribution,\n defaultRectBackgroundRenderContribution,\n defaultRectTextureRenderContribution\n ];\n this.init(rectRenderContribitions);\n }\n\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n rectAttribute?: Required<IRectGraphicAttribute>\n ) {\n rectAttribute = rectAttribute ?? getTheme(rect, params?.theme).rect;\n const {\n fill = rectAttribute.fill,\n background,\n stroke = rectAttribute.stroke,\n cornerRadius = rectAttribute.cornerRadius,\n cornerType = rectAttribute.cornerType,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible,\n x1,\n y1,\n x: originX = rectAttribute.x,\n y: originY = rectAttribute.y,\n fillStrokeOrder = rectAttribute.fillStrokeOrder\n } = rect.attribute;\n let { width, height } = rect.attribute;\n width = (width ?? x1 - originX) || 0;\n height = (height ?? y1 - originY) || 0;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, cornerRadius, cornerType !== 'bevel');\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute);\n\n this.beforeRenderStep(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n\n // 内联的函数性能差\n // const _runFill = () => {\n // if (doFillOrStroke.doFill) {\n // if (fillCb) {\n // fillCb(context, rect.attribute, rectAttribute);\n // } else if (fVisible) {\n // // 存在fill\n // context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n // context.fill();\n // }\n // }\n // };\n // const _runStroke = () => {\n // if (doFillOrStroke.doStroke) {\n // if (strokeCb) {\n // strokeCb(context, rect.attribute, rectAttribute);\n // } else if (sVisible) {\n // // 存在stroke\n // context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n // context.stroke();\n // }\n // }\n // };\n\n if (!fillStrokeOrder) {\n this._runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb);\n this._runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb);\n } else {\n this._runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb);\n this._runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb);\n }\n\n this.afterRenderStep(\n rect,\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 private _runFill(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n rectAttribute: Required<IRectGraphicAttribute>,\n doFillOrStroke: { doFill: boolean; doStroke: boolean },\n fVisible: boolean,\n originX: number,\n originY: number,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, rect.attribute, rectAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.fill();\n }\n }\n }\n\n private _runStroke(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n rectAttribute: Required<IRectGraphicAttribute>,\n doFillOrStroke: { doFill: boolean; doStroke: boolean },\n sVisible: boolean,\n originX: number,\n originY: number,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, rect.attribute, rectAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.stroke();\n }\n }\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const rectAttribute = getTheme(rect, params?.theme).rect;\n this._draw(rect, rectAttribute, false, drawContext, params, rectAttribute);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/rect-render.ts"],"names":[],"mappings":"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","file":"rect-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { RECT_NUMBER_TYPE } from '../../../graphic/constants';\nimport { createRectPath } from '../../../common/shape/rect';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicRender,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IRectRenderContribution,\n IContributionProvider,\n IRectGraphicAttribute\n} from '../../../interface';\nimport { RectRenderContribution } from './contributions/constants';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { BaseRender } from './base-render';\nimport {\n defaultRectBackgroundRenderContribution,\n defaultRectRenderContribution,\n defaultRectTextureRenderContribution\n} from './contributions';\n\n@injectable()\nexport class DefaultCanvasRectRender extends BaseRender<IRect> implements IGraphicRender {\n type = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n tempTheme: Required<IRectGraphicAttribute>;\n\n constructor(\n @inject(ContributionProvider)\n @named(RectRenderContribution)\n protected readonly graphicRenderContributions: IContributionProvider<IRectRenderContribution>\n ) {\n super();\n this.builtinContributions = [\n defaultRectRenderContribution,\n defaultRectBackgroundRenderContribution,\n defaultRectTextureRenderContribution\n ];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n rectAttribute?: Required<IRectGraphicAttribute>\n ) {\n rectAttribute = rectAttribute ?? getTheme(rect, params?.theme).rect;\n const {\n fill = rectAttribute.fill,\n background,\n stroke = rectAttribute.stroke,\n cornerRadius = rectAttribute.cornerRadius,\n cornerType = rectAttribute.cornerType,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible,\n x1,\n y1,\n x: originX = rectAttribute.x,\n y: originY = rectAttribute.y,\n fillStrokeOrder = rectAttribute.fillStrokeOrder\n } = rect.attribute;\n let { width, height } = rect.attribute;\n width = (width ?? x1 - originX) || 0;\n height = (height ?? y1 - originY) || 0;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, cornerRadius, cornerType !== 'bevel');\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute);\n\n this.beforeRenderStep(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n\n // 内联的函数性能差\n // const _runFill = () => {\n // if (doFillOrStroke.doFill) {\n // if (fillCb) {\n // fillCb(context, rect.attribute, rectAttribute);\n // } else if (fVisible) {\n // // 存在fill\n // context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n // context.fill();\n // }\n // }\n // };\n // const _runStroke = () => {\n // if (doFillOrStroke.doStroke) {\n // if (strokeCb) {\n // strokeCb(context, rect.attribute, rectAttribute);\n // } else if (sVisible) {\n // // 存在stroke\n // context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n // context.stroke();\n // }\n // }\n // };\n\n if (!fillStrokeOrder) {\n this._runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb);\n this._runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb);\n } else {\n this._runStroke(rect, context, x, y, rectAttribute, doFillOrStroke, sVisible, originX, originY, strokeCb);\n this._runFill(rect, context, x, y, rectAttribute, doFillOrStroke, fVisible, originX, originY, fillCb);\n }\n\n this.afterRenderStep(\n rect,\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 private _runFill(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n rectAttribute: Required<IRectGraphicAttribute>,\n doFillOrStroke: { doFill: boolean; doStroke: boolean },\n fVisible: boolean,\n originX: number,\n originY: number,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, rect.attribute, rectAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.fill();\n }\n }\n }\n\n private _runStroke(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n rectAttribute: Required<IRectGraphicAttribute>,\n doFillOrStroke: { doFill: boolean; doStroke: boolean },\n sVisible: boolean,\n originX: number,\n originY: number,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, rect.attribute, rectAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.stroke();\n }\n }\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const rectAttribute = getTheme(rect, params?.theme).rect;\n this._draw(rect, rectAttribute, false, drawContext, params, rectAttribute);\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ContainerModule } from '../../../common/inversify';
2
+ export declare const starModule: ContainerModule;
@@ -0,0 +1,13 @@
1
+ import { ContainerModule } from "../../../common/inversify";
2
+
3
+ import { DefaultCanvasStarRender } from "./star-render";
4
+
5
+ import { GraphicRender, StarRender } from "./symbol";
6
+
7
+ let loadStarModule = !1;
8
+
9
+ export const starModule = new ContainerModule((bind => {
10
+ loadStarModule || (loadStarModule = !0, bind(StarRender).to(DefaultCanvasStarRender).inSingletonScope(),
11
+ bind(GraphicRender).toService(StarRender));
12
+ }));
13
+ //# sourceMappingURL=star-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/render/contributions/render/star-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErD,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACnD,IAAI,cAAc,EAAE;QAClB,OAAO;KACR;IACD,cAAc,GAAG,IAAI,CAAC;IAEtB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC","file":"star-module.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify';\nimport { DefaultCanvasStarRender } from './star-render';\nimport { GraphicRender, StarRender } from './symbol';\n\nlet loadStarModule = false;\nexport const starModule = new ContainerModule(bind => {\n if (loadStarModule) {\n return;\n }\n loadStarModule = true;\n // Star renderer\n bind(StarRender).to(DefaultCanvasStarRender).inSingletonScope();\n bind(GraphicRender).toService(StarRender);\n});\n"]}
@@ -0,0 +1,10 @@
1
+ import type { IGraphicAttribute, IContext2d, IMarkAttribute, IStar, IThemeAttribute, IGraphicRender, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService, IStarRenderContribution } from '../../../interface';
2
+ import { BaseRender } from './base-render';
3
+ export declare class DefaultCanvasStarRender extends BaseRender<IStar> implements IGraphicRender {
4
+ protected readonly starRenderContribitions: IContributionProvider<IStarRenderContribution>;
5
+ type: 'star';
6
+ numberType: number;
7
+ constructor(starRenderContribitions: IContributionProvider<IStarRenderContribution>);
8
+ drawShape(star: IStar, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
9
+ draw(star: IStar, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
10
+ }
@@ -0,0 +1,59 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ }, __metadata = this && this.__metadata || function(k, v) {
6
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ }, __param = this && this.__param || function(paramIndex, decorator) {
8
+ return function(target, key) {
9
+ decorator(target, key, paramIndex);
10
+ };
11
+ };
12
+
13
+ import { inject, injectable, named } from "../../../common/inversify-lite";
14
+
15
+ import { getTheme } from "../../../graphic/theme";
16
+
17
+ import { STAR_NUMBER_TYPE } from "../../../graphic/constants";
18
+
19
+ import { StarRenderContribution } from "./contributions/constants";
20
+
21
+ import { ContributionProvider } from "../../../common/contribution-provider";
22
+
23
+ import { BaseRender } from "./base-render";
24
+
25
+ import { defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution } from "./contributions";
26
+
27
+ let DefaultCanvasStarRender = class extends BaseRender {
28
+ constructor(starRenderContribitions) {
29
+ super(), this.starRenderContribitions = starRenderContribitions, this.numberType = STAR_NUMBER_TYPE,
30
+ this.builtinContributions = [ defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution ],
31
+ this.init(starRenderContribitions);
32
+ }
33
+ drawShape(star, context, x, y, drawContext, params, fillCb, strokeCb) {
34
+ const starAttribute = getTheme(star, null == params ? void 0 : params.theme).star, {x: originX = starAttribute.x, y: originY = starAttribute.y, fillStrokeOrder: fillStrokeOrder = starAttribute.fillStrokeOrder} = star.attribute, data = this.valid(star, starAttribute, fillCb, strokeCb);
35
+ if (!data) return;
36
+ const {fVisible: fVisible, sVisible: sVisible, doFill: doFill, doStroke: doStroke} = data, points = star.getCachedPoints();
37
+ context.beginPath(), points && points.length && points.forEach(((point, index) => {
38
+ 0 === index ? context.moveTo(x + point.x, y + point.y) : context.lineTo(x + point.x, y + point.y);
39
+ })), context.closePath(), context.setShadowBlendStyle && context.setShadowBlendStyle(star, star.attribute, starAttribute),
40
+ this.beforeRenderStep(star, context, x, y, doFill, doStroke, fVisible, sVisible, starAttribute, drawContext, fillCb, strokeCb);
41
+ const _runFill = () => {
42
+ doFill && (fillCb ? fillCb(context, star.attribute, starAttribute) : fVisible && (context.setCommonStyle(star, star.attribute, originX - x, originY - y, starAttribute),
43
+ context.fill()));
44
+ }, _runStroke = () => {
45
+ doStroke && (strokeCb ? strokeCb(context, star.attribute, starAttribute) : sVisible && (context.setStrokeStyle(star, star.attribute, originX - x, originY - y, starAttribute),
46
+ context.stroke()));
47
+ };
48
+ fillStrokeOrder ? (_runStroke(), _runFill()) : (_runFill(), _runStroke()), this.afterRenderStep(star, context, x, y, doFill, doStroke, fVisible, sVisible, starAttribute, drawContext, fillCb, strokeCb);
49
+ }
50
+ draw(star, renderService, drawContext, params) {
51
+ const starAttribute = getTheme(star, null == params ? void 0 : params.theme).star;
52
+ this._draw(star, starAttribute, !1, drawContext, params);
53
+ }
54
+ };
55
+
56
+ DefaultCanvasStarRender = __decorate([ injectable(), __param(0, inject(ContributionProvider)), __param(0, named(StarRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasStarRender);
57
+
58
+ export { DefaultCanvasStarRender };
59
+ //# sourceMappingURL=star-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/render/contributions/render/star-render.ts"],"names":[],"mappings":"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","file":"star-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { STAR_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IStar,\n IThemeAttribute,\n IGraphicRender,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IStarRenderContribution\n} from '../../../interface';\nimport { StarRenderContribution } from './contributions/constants';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { BaseRender } from './base-render';\nimport { defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution } from './contributions';\n\n@injectable()\nexport class DefaultCanvasStarRender extends BaseRender<IStar> implements IGraphicRender {\n type: 'star';\n numberType: number = STAR_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(StarRenderContribution)\n protected readonly starRenderContribitions: IContributionProvider<IStarRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultStarBackgroundRenderContribution, defaultStarTextureRenderContribution];\n this.init(starRenderContribitions);\n }\n\n drawShape(\n star: IStar,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // Get theme attributes\n const starAttribute = getTheme(star, params?.theme).star;\n const {\n x: originX = starAttribute.x,\n y: originY = starAttribute.y,\n fillStrokeOrder = starAttribute.fillStrokeOrder\n } = star.attribute;\n\n const data = this.valid(star, starAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n // Get cached points for better performance\n const points = star.getCachedPoints();\n\n context.beginPath();\n\n // Draw the star using cached points\n if (points && points.length) {\n points.forEach((point, index) => {\n if (index === 0) {\n context.moveTo(x + point.x, y + point.y);\n } else {\n context.lineTo(x + point.x, y + point.y);\n }\n });\n }\n\n // Close the path\n context.closePath();\n\n // Shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(star, star.attribute, starAttribute);\n\n this.beforeRenderStep(\n star,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n starAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, star.attribute, starAttribute);\n } else if (fVisible) {\n // Apply fill\n context.setCommonStyle(star, star.attribute, originX - x, originY - y, starAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, star.attribute, starAttribute);\n } else if (sVisible) {\n // Apply stroke\n context.setStrokeStyle(star, star.attribute, originX - x, originY - y, starAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n star,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n starAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(star: IStar, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const starAttribute = getTheme(star, params?.theme).star;\n this._draw(star, starAttribute, false, drawContext, params);\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { IGraphicAttribute, IContext2d, IMarkAttribute, ISymbol, IThemeAttribute, ISymbolRenderContribution, IDrawContext, IRenderService, IGraphicRender, IGraphicRenderDrawParams, IContributionProvider, ISymbolGraphicAttribute } from '../../../interface';
2
2
  import { BaseRender } from './base-render';
3
3
  export declare class DefaultCanvasSymbolRender extends BaseRender<ISymbol> implements IGraphicRender {
4
- protected readonly symbolRenderContribitions: IContributionProvider<ISymbolRenderContribution>;
4
+ protected readonly graphicRenderContributions: IContributionProvider<ISymbolRenderContribution>;
5
5
  type: 'symbol';
6
6
  numberType: number;
7
- constructor(symbolRenderContribitions: IContributionProvider<ISymbolRenderContribution>);
7
+ constructor(graphicRenderContributions: IContributionProvider<ISymbolRenderContribution>);
8
8
  drawShape(symbol: ISymbol, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, symbolAttribute?: Required<ISymbolGraphicAttribute>): void;
9
9
  private _runFill;
10
10
  private _runStroke;
@@ -27,10 +27,10 @@ import { isArray } from "@visactor/vutils";
27
27
  import { defaultSymbolBackgroundRenderContribution, defaultSymbolClipRangeStrokeRenderContribution, defaultSymbolRenderContribution, defaultSymbolTextureRenderContribution } from "./contributions";
28
28
 
29
29
  let DefaultCanvasSymbolRender = class extends BaseRender {
30
- constructor(symbolRenderContribitions) {
31
- super(), this.symbolRenderContribitions = symbolRenderContribitions, this.numberType = SYMBOL_NUMBER_TYPE,
30
+ constructor(graphicRenderContributions) {
31
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = SYMBOL_NUMBER_TYPE,
32
32
  this.builtinContributions = [ defaultSymbolRenderContribution, defaultSymbolBackgroundRenderContribution, defaultSymbolTextureRenderContribution, defaultSymbolClipRangeStrokeRenderContribution ],
33
- this.init(symbolRenderContribitions);
33
+ this.init(graphicRenderContributions);
34
34
  }
35
35
  drawShape(symbol, context, x, y, drawContext, params, fillCb, strokeCb, symbolAttribute) {
36
36
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/symbol-render.ts"],"names":[],"mappings":"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","file":"symbol-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { getTheme } from '../../../graphic/theme';\nimport { SYMBOL_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n ISymbol,\n IThemeAttribute,\n ISymbolRenderContribution,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IContributionProvider,\n ICustomPath2D,\n ISymbolGraphicAttribute\n} from '../../../interface';\nimport type {} from '../../render-service';\nimport { BaseRender } from './base-render';\nimport { SymbolRenderContribution } from './contributions/constants';\nimport { isArray } from '@visactor/vutils';\nimport {\n defaultSymbolBackgroundRenderContribution,\n defaultSymbolClipRangeStrokeRenderContribution,\n defaultSymbolRenderContribution,\n defaultSymbolTextureRenderContribution\n} from './contributions';\n\n@injectable()\nexport class DefaultCanvasSymbolRender extends BaseRender<ISymbol> implements IGraphicRender {\n type: 'symbol';\n numberType: number = SYMBOL_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(SymbolRenderContribution)\n protected readonly symbolRenderContribitions: IContributionProvider<ISymbolRenderContribution>\n ) {\n super();\n this.builtinContributions = [\n defaultSymbolRenderContribution,\n defaultSymbolBackgroundRenderContribution,\n defaultSymbolTextureRenderContribution,\n defaultSymbolClipRangeStrokeRenderContribution\n ];\n this.init(symbolRenderContribitions);\n }\n\n drawShape(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n symbolAttribute?: Required<ISymbolGraphicAttribute>\n ) {\n // const symbolAttribute = graphicService.themeService.getCurrentTheme().symbolAttribute;\n symbolAttribute = symbolAttribute ?? getTheme(symbol, params?.theme).symbol;\n\n const {\n size = symbolAttribute.size,\n x: originX = symbolAttribute.x,\n y: originY = symbolAttribute.y,\n scaleX = symbolAttribute.scaleX,\n scaleY = symbolAttribute.scaleY,\n fillStrokeOrder = symbolAttribute.fillStrokeOrder,\n clipRange = symbolAttribute.clipRange\n } = symbol.attribute;\n\n const data = this.valid(symbol, symbolAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n const parsedPath = symbol.getParsedPath();\n // todo: 考虑使用path\n if (!parsedPath) {\n return;\n }\n\n const { keepDirIn3d = symbolAttribute.keepDirIn3d } = symbol.attribute;\n const z = this.z ?? 0;\n context.beginPath();\n\n const callback = (p: ICustomPath2D, a: any) => {\n // 如果是svg的话,合并一下fill和stroke\n if (symbol._parsedPath.svgCache) {\n const obj = Object.assign({}, a);\n obj.fill = a.fill ?? symbol.attribute.fill;\n obj.opacity = a.opacity ?? symbol.attribute.opacity;\n obj.fillOpacity = symbol.attribute.fillOpacity;\n obj.stroke = a.stroke ?? symbol.attribute.stroke;\n obj.lineWidth = a.lineWidth ?? symbol.attribute.lineWidth;\n a = obj;\n }\n const _runFill = () => {\n if (a.fill) {\n if (fillCb) {\n fillCb(context, symbol.attribute, symbolAttribute);\n } else {\n context.setCommonStyle(symbol, a, originX - x, originY - y, symbolAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (a.stroke) {\n if (strokeCb) {\n strokeCb(context, symbol.attribute, symbolAttribute);\n } else if (sVisible && clipRange >= 1) {\n context.setStrokeStyle(symbol, a, (originX - x) / scaleX, (originY - y) / scaleY, symbolAttribute);\n context.stroke();\n }\n }\n };\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n };\n let _size = size;\n let _x = x;\n let _y = y;\n let _z = z;\n const camera = context.camera;\n if (keepDirIn3d && camera && context.project) {\n const p = context.project(x, y, z);\n context.camera = null;\n _size = isArray(size) ? [size[0] * scaleX, size[1] * scaleY] : size * scaleX;\n _x = p.x;\n _y = p.y;\n _z = undefined;\n }\n if (parsedPath.draw(context, size, _x, _y, _z, callback) === false) {\n context.closePath();\n }\n context.camera = camera;\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(symbol, symbol.attribute, symbolAttribute);\n\n this.beforeRenderStep(\n symbol,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n symbolAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n // if (fill !== false) {\n // context.setCommonStyle(symbol.attribute, symbolAttribute);\n // context.fill();\n // }\n // if (stroke !== false) {\n // context.setStrokeStyle(symbol.attribute, symbolAttribute);\n // context.stroke();\n // }\n\n // svg就不用fill和stroke了\n // 内联的函数性能差\n // const _runFill = () => {\n // if (doFill && !parsedPath.isSvg) {\n // if (fillCb) {\n // fillCb(context, symbol.attribute, symbolAttribute);\n // } else if (fVisible) {\n // context.setCommonStyle(symbol, symbol.attribute, originX - x, originY - y, symbolAttribute);\n // context.fill();\n // }\n // }\n // };\n // const _runStroke = () => {\n // if (doStroke && !parsedPath.isSvg) {\n // if (strokeCb) {\n // strokeCb(context, symbol.attribute, symbolAttribute);\n // } else if (sVisible && clipRange >= 1) {\n // // 如果clipRange < 1,就需要靠afterRender进行绘制了\n // context.setStrokeStyle(\n // symbol,\n // symbol.attribute,\n // (originX - x) / scaleX,\n // (originY - y) / scaleY,\n // symbolAttribute\n // );\n // context.stroke();\n // }\n // }\n // };\n\n if (!fillStrokeOrder) {\n this._runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb);\n this._runStroke(\n symbol,\n context,\n x,\n y,\n symbolAttribute,\n doStroke,\n sVisible,\n originX,\n originY,\n parsedPath,\n clipRange,\n scaleX,\n scaleY,\n strokeCb\n );\n } else {\n this._runStroke(\n symbol,\n context,\n x,\n y,\n symbolAttribute,\n doStroke,\n sVisible,\n originX,\n originY,\n parsedPath,\n clipRange,\n scaleX,\n scaleY,\n strokeCb\n );\n this._runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb);\n }\n\n this.afterRenderStep(\n symbol,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n symbolAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n private _runFill(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n symbolAttribute: Required<ISymbolGraphicAttribute>,\n doFill: boolean,\n fVisible: boolean,\n originX: number,\n originY: number,\n parsedPath: any,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doFill && !parsedPath.isSvg) {\n if (fillCb) {\n fillCb(context, symbol.attribute, symbolAttribute);\n } else if (fVisible) {\n context.setCommonStyle(symbol, symbol.attribute, originX - x, originY - y, symbolAttribute);\n context.fill();\n }\n }\n }\n\n private _runStroke(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n symbolAttribute: Required<ISymbolGraphicAttribute>,\n doStroke: boolean,\n sVisible: boolean,\n originX: number,\n originY: number,\n parsedPath: any,\n clipRange: number,\n scaleX: number,\n scaleY: number,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doStroke && !parsedPath.isSvg) {\n if (strokeCb) {\n strokeCb(context, symbol.attribute, symbolAttribute);\n } else if (sVisible && clipRange >= 1) {\n // 如果clipRange < 1,就需要靠afterRender进行绘制了\n context.setStrokeStyle(\n symbol,\n symbol.attribute,\n (originX - x) / scaleX,\n (originY - y) / scaleY,\n symbolAttribute\n );\n context.stroke();\n }\n }\n }\n\n draw(symbol: ISymbol, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const symbolAttribute = getTheme(symbol, params?.theme).symbol;\n this._draw(symbol, symbolAttribute, false, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/symbol-render.ts"],"names":[],"mappings":"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","file":"symbol-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { getTheme } from '../../../graphic/theme';\nimport { SYMBOL_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n ISymbol,\n IThemeAttribute,\n ISymbolRenderContribution,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IContributionProvider,\n ICustomPath2D,\n ISymbolGraphicAttribute\n} from '../../../interface';\nimport type {} from '../../render-service';\nimport { BaseRender } from './base-render';\nimport { SymbolRenderContribution } from './contributions/constants';\nimport { isArray } from '@visactor/vutils';\nimport {\n defaultSymbolBackgroundRenderContribution,\n defaultSymbolClipRangeStrokeRenderContribution,\n defaultSymbolRenderContribution,\n defaultSymbolTextureRenderContribution\n} from './contributions';\n\n@injectable()\nexport class DefaultCanvasSymbolRender extends BaseRender<ISymbol> implements IGraphicRender {\n type: 'symbol';\n numberType: number = SYMBOL_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(SymbolRenderContribution)\n protected readonly graphicRenderContributions: IContributionProvider<ISymbolRenderContribution>\n ) {\n super();\n this.builtinContributions = [\n defaultSymbolRenderContribution,\n defaultSymbolBackgroundRenderContribution,\n defaultSymbolTextureRenderContribution,\n defaultSymbolClipRangeStrokeRenderContribution\n ];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n symbolAttribute?: Required<ISymbolGraphicAttribute>\n ) {\n // const symbolAttribute = graphicService.themeService.getCurrentTheme().symbolAttribute;\n symbolAttribute = symbolAttribute ?? getTheme(symbol, params?.theme).symbol;\n\n const {\n size = symbolAttribute.size,\n x: originX = symbolAttribute.x,\n y: originY = symbolAttribute.y,\n scaleX = symbolAttribute.scaleX,\n scaleY = symbolAttribute.scaleY,\n fillStrokeOrder = symbolAttribute.fillStrokeOrder,\n clipRange = symbolAttribute.clipRange\n } = symbol.attribute;\n\n const data = this.valid(symbol, symbolAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n const parsedPath = symbol.getParsedPath();\n // todo: 考虑使用path\n if (!parsedPath) {\n return;\n }\n\n const { keepDirIn3d = symbolAttribute.keepDirIn3d } = symbol.attribute;\n const z = this.z ?? 0;\n context.beginPath();\n\n const callback = (p: ICustomPath2D, a: any) => {\n // 如果是svg的话,合并一下fill和stroke\n if (symbol._parsedPath.svgCache) {\n const obj = Object.assign({}, a);\n obj.fill = a.fill ?? symbol.attribute.fill;\n obj.opacity = a.opacity ?? symbol.attribute.opacity;\n obj.fillOpacity = symbol.attribute.fillOpacity;\n obj.stroke = a.stroke ?? symbol.attribute.stroke;\n obj.lineWidth = a.lineWidth ?? symbol.attribute.lineWidth;\n a = obj;\n }\n const _runFill = () => {\n if (a.fill) {\n if (fillCb) {\n fillCb(context, symbol.attribute, symbolAttribute);\n } else {\n context.setCommonStyle(symbol, a, originX - x, originY - y, symbolAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (a.stroke) {\n if (strokeCb) {\n strokeCb(context, symbol.attribute, symbolAttribute);\n } else if (sVisible && clipRange >= 1) {\n context.setStrokeStyle(symbol, a, (originX - x) / scaleX, (originY - y) / scaleY, symbolAttribute);\n context.stroke();\n }\n }\n };\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n };\n let _size = size;\n let _x = x;\n let _y = y;\n let _z = z;\n const camera = context.camera;\n if (keepDirIn3d && camera && context.project) {\n const p = context.project(x, y, z);\n context.camera = null;\n _size = isArray(size) ? [size[0] * scaleX, size[1] * scaleY] : size * scaleX;\n _x = p.x;\n _y = p.y;\n _z = undefined;\n }\n if (parsedPath.draw(context, size, _x, _y, _z, callback) === false) {\n context.closePath();\n }\n context.camera = camera;\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(symbol, symbol.attribute, symbolAttribute);\n\n this.beforeRenderStep(\n symbol,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n symbolAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n // if (fill !== false) {\n // context.setCommonStyle(symbol.attribute, symbolAttribute);\n // context.fill();\n // }\n // if (stroke !== false) {\n // context.setStrokeStyle(symbol.attribute, symbolAttribute);\n // context.stroke();\n // }\n\n // svg就不用fill和stroke了\n // 内联的函数性能差\n // const _runFill = () => {\n // if (doFill && !parsedPath.isSvg) {\n // if (fillCb) {\n // fillCb(context, symbol.attribute, symbolAttribute);\n // } else if (fVisible) {\n // context.setCommonStyle(symbol, symbol.attribute, originX - x, originY - y, symbolAttribute);\n // context.fill();\n // }\n // }\n // };\n // const _runStroke = () => {\n // if (doStroke && !parsedPath.isSvg) {\n // if (strokeCb) {\n // strokeCb(context, symbol.attribute, symbolAttribute);\n // } else if (sVisible && clipRange >= 1) {\n // // 如果clipRange < 1,就需要靠afterRender进行绘制了\n // context.setStrokeStyle(\n // symbol,\n // symbol.attribute,\n // (originX - x) / scaleX,\n // (originY - y) / scaleY,\n // symbolAttribute\n // );\n // context.stroke();\n // }\n // }\n // };\n\n if (!fillStrokeOrder) {\n this._runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb);\n this._runStroke(\n symbol,\n context,\n x,\n y,\n symbolAttribute,\n doStroke,\n sVisible,\n originX,\n originY,\n parsedPath,\n clipRange,\n scaleX,\n scaleY,\n strokeCb\n );\n } else {\n this._runStroke(\n symbol,\n context,\n x,\n y,\n symbolAttribute,\n doStroke,\n sVisible,\n originX,\n originY,\n parsedPath,\n clipRange,\n scaleX,\n scaleY,\n strokeCb\n );\n this._runFill(symbol, context, x, y, symbolAttribute, doFill, fVisible, originX, originY, parsedPath, fillCb);\n }\n\n this.afterRenderStep(\n symbol,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n symbolAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n private _runFill(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n symbolAttribute: Required<ISymbolGraphicAttribute>,\n doFill: boolean,\n fVisible: boolean,\n originX: number,\n originY: number,\n parsedPath: any,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doFill && !parsedPath.isSvg) {\n if (fillCb) {\n fillCb(context, symbol.attribute, symbolAttribute);\n } else if (fVisible) {\n context.setCommonStyle(symbol, symbol.attribute, originX - x, originY - y, symbolAttribute);\n context.fill();\n }\n }\n }\n\n private _runStroke(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n symbolAttribute: Required<ISymbolGraphicAttribute>,\n doStroke: boolean,\n sVisible: boolean,\n originX: number,\n originY: number,\n parsedPath: any,\n clipRange: number,\n scaleX: number,\n scaleY: number,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (doStroke && !parsedPath.isSvg) {\n if (strokeCb) {\n strokeCb(context, symbol.attribute, symbolAttribute);\n } else if (sVisible && clipRange >= 1) {\n // 如果clipRange < 1,就需要靠afterRender进行绘制了\n context.setStrokeStyle(\n symbol,\n symbol.attribute,\n (originX - x) / scaleX,\n (originY - y) / scaleY,\n symbolAttribute\n );\n context.stroke();\n }\n }\n }\n\n draw(symbol: ISymbol, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const symbolAttribute = getTheme(symbol, params?.theme).symbol;\n this._draw(symbol, symbolAttribute, false, drawContext, params);\n }\n}\n"]}
@@ -18,3 +18,4 @@ export declare const GlyphRender: unique symbol;
18
18
  export declare const ImageRender: unique symbol;
19
19
  export declare const RenderSelector: unique symbol;
20
20
  export declare const DrawContribution: unique symbol;
21
+ export declare const StarRender: unique symbol;
@@ -37,4 +37,6 @@ export const ImageRender = Symbol.for("ImageRender");
37
37
  export const RenderSelector = Symbol.for("RenderSelector");
38
38
 
39
39
  export const DrawContribution = Symbol.for("DrawContribution");
40
+
41
+ export const StarRender = Symbol.for("StarRender");
40
42
  //# sourceMappingURL=symbol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/symbol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC","file":"symbol.js","sourcesContent":["export const IncrementalDrawContribution = Symbol.for('IncrementalDrawContribution');\nexport const ArcRender = Symbol.for('ArcRender');\nexport const Arc3dRender = Symbol.for('Arc3dRender');\nexport const AreaRender = Symbol.for('AreaRender');\nexport const CircleRender = Symbol.for('CircleRender');\nexport const GraphicRender = Symbol.for('GraphicRender');\nexport const GroupRender = Symbol.for('GroupRender');\nexport const LineRender = Symbol.for('LineRender');\nexport const PathRender = Symbol.for('PathRender');\nexport const PolygonRender = Symbol.for('PolygonRender');\nexport const RectRender = Symbol.for('RectRender');\nexport const Rect3DRender = Symbol.for('Rect3DRender');\nexport const SymbolRender = Symbol.for('SymbolRender');\nexport const TextRender = Symbol.for('TextRender');\nexport const RichTextRender = Symbol.for('RichTextRender');\nexport const Pyramid3dRender = Symbol.for('Pyramid3dRender');\nexport const GlyphRender = Symbol.for('GlyphRender');\nexport const ImageRender = Symbol.for('ImageRender');\nexport const RenderSelector = Symbol.for('RenderSelector');\nexport const DrawContribution = Symbol.for('DrawContribution');\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/symbol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC","file":"symbol.js","sourcesContent":["export const IncrementalDrawContribution = Symbol.for('IncrementalDrawContribution');\nexport const ArcRender = Symbol.for('ArcRender');\nexport const Arc3dRender = Symbol.for('Arc3dRender');\nexport const AreaRender = Symbol.for('AreaRender');\nexport const CircleRender = Symbol.for('CircleRender');\nexport const GraphicRender = Symbol.for('GraphicRender');\nexport const GroupRender = Symbol.for('GroupRender');\nexport const LineRender = Symbol.for('LineRender');\nexport const PathRender = Symbol.for('PathRender');\nexport const PolygonRender = Symbol.for('PolygonRender');\nexport const RectRender = Symbol.for('RectRender');\nexport const Rect3DRender = Symbol.for('Rect3DRender');\nexport const SymbolRender = Symbol.for('SymbolRender');\nexport const TextRender = Symbol.for('TextRender');\nexport const RichTextRender = Symbol.for('RichTextRender');\nexport const Pyramid3dRender = Symbol.for('Pyramid3dRender');\nexport const GlyphRender = Symbol.for('GlyphRender');\nexport const ImageRender = Symbol.for('ImageRender');\nexport const RenderSelector = Symbol.for('RenderSelector');\nexport const DrawContribution = Symbol.for('DrawContribution');\nexport const StarRender = Symbol.for('StarRender');\n"]}
@@ -2,10 +2,10 @@ import type { IGraphicAttribute, IContext2d, IMarkAttribute, IThemeAttribute, ID
2
2
  import type { IText, ITextGraphicAttribute } from '../../../interface/graphic/text';
3
3
  import { BaseRender } from './base-render';
4
4
  export declare class DefaultCanvasTextRender extends BaseRender<IText> implements IGraphicRender {
5
- protected readonly textRenderContribitions: IContributionProvider<ITextRenderContribution>;
5
+ protected readonly graphicRenderContributions: IContributionProvider<ITextRenderContribution>;
6
6
  type: 'text';
7
7
  numberType: number;
8
- constructor(textRenderContribitions: IContributionProvider<ITextRenderContribution>);
8
+ constructor(graphicRenderContributions: IContributionProvider<ITextRenderContribution>);
9
9
  drawShape(text: IText, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
10
10
  draw(text: IText, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
11
11
  drawUnderLine(underline: number, lineThrough: number, text: IText, anchorX: number, anchorY: number, offsetUnderLineY: number, offsetThroughLineY: number, z: number, textAttribute: Required<ITextGraphicAttribute>, context: IContext2d, multiOption?: {
@@ -33,9 +33,9 @@ import { calculateLineHeight } from "../../../common/utils";
33
33
  import { defaultTextBackgroundRenderContribution } from "./contributions/text-contribution-render";
34
34
 
35
35
  let DefaultCanvasTextRender = class extends BaseRender {
36
- constructor(textRenderContribitions) {
37
- super(), this.textRenderContribitions = textRenderContribitions, this.numberType = TEXT_NUMBER_TYPE,
38
- this.builtinContributions = [ defaultTextBackgroundRenderContribution ], this.init(textRenderContribitions);
36
+ constructor(graphicRenderContributions) {
37
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = TEXT_NUMBER_TYPE,
38
+ this.builtinContributions = [ defaultTextBackgroundRenderContribution ], this.init(graphicRenderContributions);
39
39
  }
40
40
  drawShape(text, context, x, y, drawContext, params, fillCb, strokeCb) {
41
41
  var _a, _b, _c;