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

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 (758) hide show
  1. package/cjs/allocator/bounds-allocate.js +1 -1
  2. package/cjs/allocator/bounds-allocate.js.map +1 -1
  3. package/cjs/allocator/canvas-allocate.js +9 -11
  4. package/cjs/allocator/canvas-allocate.js.map +1 -1
  5. package/cjs/allocator/graphic-allocate.js +9 -5
  6. package/cjs/allocator/graphic-allocate.js.map +1 -1
  7. package/cjs/allocator/matrix-allocate.js +6 -2
  8. package/cjs/allocator/matrix-allocate.js.map +1 -1
  9. package/cjs/animate/Ticker/default-ticker.js +14 -25
  10. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  11. package/cjs/animate/animate.js +7 -8
  12. package/cjs/animate/animate.js.map +1 -1
  13. package/cjs/animate/custom-animate.js +51 -54
  14. package/cjs/animate/custom-animate.js.map +1 -1
  15. package/cjs/animate/easing.js +8 -19
  16. package/cjs/animate/easing.js.map +1 -1
  17. package/cjs/animate/morphing.js +23 -20
  18. package/cjs/animate/morphing.js.map +1 -1
  19. package/cjs/application.js +1 -7
  20. package/cjs/application.js.map +1 -1
  21. package/cjs/canvas/conical-gradient.js +5 -12
  22. package/cjs/canvas/conical-gradient.js.map +1 -1
  23. package/cjs/canvas/contributions/base-canvas.js +7 -19
  24. package/cjs/canvas/contributions/base-canvas.js.map +1 -1
  25. package/cjs/color-string/interpolate.js +3 -5
  26. package/cjs/color-string/interpolate.js.map +1 -1
  27. package/cjs/color-string/store.js +1 -3
  28. package/cjs/color-string/store.js.map +1 -1
  29. package/cjs/common/bounds-context.js +0 -1
  30. package/cjs/common/bounds-context.js.map +1 -1
  31. package/cjs/common/canvas-utils.js +6 -3
  32. package/cjs/common/canvas-utils.js.map +1 -1
  33. package/cjs/common/contribution-provider.js +0 -3
  34. package/cjs/common/contribution-provider.js.map +1 -1
  35. package/cjs/common/custom-path2d.js +1 -7
  36. package/cjs/common/custom-path2d.js.map +1 -1
  37. package/cjs/common/generator.js +1 -2
  38. package/cjs/common/generator.js.map +1 -1
  39. package/cjs/common/inversify/binding.js +0 -12
  40. package/cjs/common/inversify/binding.js.map +1 -1
  41. package/cjs/common/inversify/container.js +0 -4
  42. package/cjs/common/inversify/container.js.map +1 -1
  43. package/cjs/common/inversify/cotainer-module.js +0 -2
  44. package/cjs/common/inversify/cotainer-module.js.map +1 -1
  45. package/cjs/common/inversify/meta-data.js +0 -2
  46. package/cjs/common/inversify/meta-data.js.map +1 -1
  47. package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -1
  48. package/cjs/common/inversify/syntax/binding_in_syntax.js.map +1 -1
  49. package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -1
  50. package/cjs/common/inversify/syntax/binding_to_syntax.js.map +1 -1
  51. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js +0 -1
  52. package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js.map +1 -1
  53. package/cjs/common/inversify-lite/bindings/binding.js +0 -14
  54. package/cjs/common/inversify-lite/bindings/binding.js.map +1 -1
  55. package/cjs/common/inversify-lite/container/container.js +46 -22
  56. package/cjs/common/inversify-lite/container/container.js.map +1 -1
  57. package/cjs/common/inversify-lite/container/container_module.js +0 -4
  58. package/cjs/common/inversify-lite/container/container_module.js.map +1 -1
  59. package/cjs/common/inversify-lite/container/lookup.js +0 -1
  60. package/cjs/common/inversify-lite/container/lookup.js.map +1 -1
  61. package/cjs/common/inversify-lite/planning/context.js +0 -4
  62. package/cjs/common/inversify-lite/planning/context.js.map +1 -1
  63. package/cjs/common/inversify-lite/planning/metadata.js +0 -2
  64. package/cjs/common/inversify-lite/planning/metadata.js.map +1 -1
  65. package/cjs/common/inversify-lite/planning/plan.js +0 -2
  66. package/cjs/common/inversify-lite/planning/plan.js.map +1 -1
  67. package/cjs/common/inversify-lite/planning/queryable_string.js +0 -1
  68. package/cjs/common/inversify-lite/planning/queryable_string.js.map +1 -1
  69. package/cjs/common/inversify-lite/planning/request.js +0 -8
  70. package/cjs/common/inversify-lite/planning/request.js.map +1 -1
  71. package/cjs/common/inversify-lite/planning/target.js +0 -7
  72. package/cjs/common/inversify-lite/planning/target.js.map +1 -1
  73. package/cjs/common/inversify-lite/resolution/instantiation.js +42 -16
  74. package/cjs/common/inversify-lite/resolution/instantiation.js.map +1 -1
  75. package/cjs/common/inversify-lite/scope/scope.js +29 -3
  76. package/cjs/common/inversify-lite/scope/scope.js.map +1 -1
  77. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js +0 -1
  78. package/cjs/common/inversify-lite/syntax/binding_in_syntax.js.map +1 -1
  79. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -3
  80. package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +1 -1
  81. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js +0 -1
  82. package/cjs/common/inversify-lite/syntax/binding_on_syntax.js.map +1 -1
  83. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js +0 -1
  84. package/cjs/common/inversify-lite/syntax/binding_to_syntax.js.map +1 -1
  85. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -2
  86. package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js.map +1 -1
  87. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js +0 -1
  88. package/cjs/common/inversify-lite/syntax/binding_when_syntax.js.map +1 -1
  89. package/cjs/common/polygon.js +2 -1
  90. package/cjs/common/polygon.js.map +1 -1
  91. package/cjs/common/render-area.js +3 -2
  92. package/cjs/common/render-area.js.map +1 -1
  93. package/cjs/common/render-curve.js +8 -4
  94. package/cjs/common/render-curve.js.map +1 -1
  95. package/cjs/common/seg-context.js +3 -12
  96. package/cjs/common/seg-context.js.map +1 -1
  97. package/cjs/common/segment/basis.js +0 -13
  98. package/cjs/common/segment/basis.js.map +1 -1
  99. package/cjs/common/segment/common.js +2 -2
  100. package/cjs/common/segment/common.js.map +1 -1
  101. package/cjs/common/segment/curve/arc.js +2 -2
  102. package/cjs/common/segment/curve/arc.js.map +1 -1
  103. package/cjs/common/segment/curve/base.js +0 -4
  104. package/cjs/common/segment/curve/base.js.map +1 -1
  105. package/cjs/common/segment/curve/cubic-bezier.js +2 -2
  106. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
  107. package/cjs/common/segment/curve/curve-context.js +0 -4
  108. package/cjs/common/segment/curve/curve-context.js.map +1 -1
  109. package/cjs/common/segment/curve/ellipse.js +3 -3
  110. package/cjs/common/segment/curve/ellipse.js.map +1 -1
  111. package/cjs/common/segment/curve/line.js +1 -2
  112. package/cjs/common/segment/curve/line.js.map +1 -1
  113. package/cjs/common/segment/curve/move.js +1 -2
  114. package/cjs/common/segment/curve/move.js.map +1 -1
  115. package/cjs/common/segment/curve/path.js +0 -2
  116. package/cjs/common/segment/curve/path.js.map +1 -1
  117. package/cjs/common/segment/curve/quadratic-bezier.js +2 -2
  118. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
  119. package/cjs/common/segment/linear.js +0 -10
  120. package/cjs/common/segment/linear.js.map +1 -1
  121. package/cjs/common/segment/monotone.js +0 -13
  122. package/cjs/common/segment/monotone.js.map +1 -1
  123. package/cjs/common/segment/step.js +2 -13
  124. package/cjs/common/segment/step.js.map +1 -1
  125. package/cjs/common/sort.js +34 -3
  126. package/cjs/common/sort.js.map +1 -1
  127. package/cjs/common/split-path.js +11 -4
  128. package/cjs/common/split-path.js.map +1 -1
  129. package/cjs/common/utils.js +4 -8
  130. package/cjs/common/utils.js.map +1 -1
  131. package/cjs/common/xml/parser.js +2 -3
  132. package/cjs/common/xml/parser.js.map +1 -1
  133. package/cjs/core/camera.js +4 -11
  134. package/cjs/core/camera.js.map +1 -1
  135. package/cjs/core/contributions/env/base-contribution.js +0 -6
  136. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  137. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +11 -20
  138. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  139. package/cjs/core/contributions/layerHandler/empty-contribution.js +8 -8
  140. package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  141. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +6 -5
  142. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  143. package/cjs/core/contributions/textMeasure/AtextMeasure.js +8 -11
  144. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  145. package/cjs/core/contributions/textMeasure/layout.js +0 -3
  146. package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
  147. package/cjs/core/contributions/window/base-contribution.js +0 -2
  148. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  149. package/cjs/core/global.js +0 -8
  150. package/cjs/core/global.js.map +1 -1
  151. package/cjs/core/graphic-utils.js +5 -16
  152. package/cjs/core/graphic-utils.js.map +1 -1
  153. package/cjs/core/layer-service.js +7 -7
  154. package/cjs/core/layer-service.js.map +1 -1
  155. package/cjs/core/layer.js +9 -7
  156. package/cjs/core/layer.js.map +1 -1
  157. package/cjs/core/stage.js +34 -68
  158. package/cjs/core/stage.js.map +1 -1
  159. package/cjs/core/window.js +13 -16
  160. package/cjs/core/window.js.map +1 -1
  161. package/cjs/event/event-manager.js +145 -153
  162. package/cjs/event/event-manager.js.map +1 -1
  163. package/cjs/event/event-system.js +43 -60
  164. package/cjs/event/event-system.js.map +1 -1
  165. package/cjs/event/event-target.js +3 -1
  166. package/cjs/event/event-target.js.map +1 -1
  167. package/cjs/event/federated-event/base-event.js +15 -43
  168. package/cjs/event/federated-event/base-event.js.map +1 -1
  169. package/cjs/event/federated-event/mouse-event.js +18 -27
  170. package/cjs/event/federated-event/mouse-event.js.map +1 -1
  171. package/cjs/event/federated-event/pointer-event.js +8 -12
  172. package/cjs/event/federated-event/pointer-event.js.map +1 -1
  173. package/cjs/event/federated-event/wheel-event.js +10 -13
  174. package/cjs/event/federated-event/wheel-event.js.map +1 -1
  175. package/cjs/graphic/arc.js +5 -10
  176. package/cjs/graphic/arc.js.map +1 -1
  177. package/cjs/graphic/arc3d.js +4 -7
  178. package/cjs/graphic/arc3d.js.map +1 -1
  179. package/cjs/graphic/area.js +9 -14
  180. package/cjs/graphic/area.js.map +1 -1
  181. package/cjs/graphic/builtin-symbol/arrow.js +3 -2
  182. package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
  183. package/cjs/graphic/builtin-symbol/arrow2-down.js +3 -2
  184. package/cjs/graphic/builtin-symbol/arrow2-down.js.map +1 -1
  185. package/cjs/graphic/builtin-symbol/arrow2-left.js +3 -2
  186. package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  187. package/cjs/graphic/builtin-symbol/arrow2-right.js +3 -2
  188. package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  189. package/cjs/graphic/builtin-symbol/arrow2-up.js +3 -2
  190. package/cjs/graphic/builtin-symbol/arrow2-up.js.map +1 -1
  191. package/cjs/graphic/builtin-symbol/circle.js +3 -2
  192. package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
  193. package/cjs/graphic/builtin-symbol/close.js +3 -2
  194. package/cjs/graphic/builtin-symbol/close.js.map +1 -1
  195. package/cjs/graphic/builtin-symbol/cross.js +3 -2
  196. package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
  197. package/cjs/graphic/builtin-symbol/diamond.js +3 -2
  198. package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
  199. package/cjs/graphic/builtin-symbol/line-h.js +3 -2
  200. package/cjs/graphic/builtin-symbol/line-h.js.map +1 -1
  201. package/cjs/graphic/builtin-symbol/line-v.js +3 -2
  202. package/cjs/graphic/builtin-symbol/line-v.js.map +1 -1
  203. package/cjs/graphic/builtin-symbol/rect.js +3 -2
  204. package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
  205. package/cjs/graphic/builtin-symbol/square.js +3 -2
  206. package/cjs/graphic/builtin-symbol/square.js.map +1 -1
  207. package/cjs/graphic/builtin-symbol/star.js +3 -2
  208. package/cjs/graphic/builtin-symbol/star.js.map +1 -1
  209. package/cjs/graphic/builtin-symbol/stroke.js +3 -2
  210. package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
  211. package/cjs/graphic/builtin-symbol/thin-triangle.js +3 -2
  212. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  213. package/cjs/graphic/builtin-symbol/triangle-down.js +3 -2
  214. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  215. package/cjs/graphic/builtin-symbol/triangle-left.js +3 -2
  216. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  217. package/cjs/graphic/builtin-symbol/triangle-right.js +3 -2
  218. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  219. package/cjs/graphic/builtin-symbol/triangle-up.js +3 -2
  220. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  221. package/cjs/graphic/builtin-symbol/triangle.js +3 -1
  222. package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
  223. package/cjs/graphic/builtin-symbol/utils.js +1 -6
  224. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  225. package/cjs/graphic/builtin-symbol/wedge.js +3 -2
  226. package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
  227. package/cjs/graphic/builtin-symbol/wye.js +3 -2
  228. package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
  229. package/cjs/graphic/circle.js +6 -8
  230. package/cjs/graphic/circle.js.map +1 -1
  231. package/cjs/graphic/config.js +32 -58
  232. package/cjs/graphic/config.js.map +1 -1
  233. package/cjs/graphic/glyph.js +9 -10
  234. package/cjs/graphic/glyph.js.map +1 -1
  235. package/cjs/graphic/graphic-service/graphic-service.js +8 -12
  236. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  237. package/cjs/graphic/graphic.js +44 -27
  238. package/cjs/graphic/graphic.js.map +1 -1
  239. package/cjs/graphic/group.js +5 -9
  240. package/cjs/graphic/group.js.map +1 -1
  241. package/cjs/graphic/image.js +16 -18
  242. package/cjs/graphic/image.js.map +1 -1
  243. package/cjs/graphic/line.js +6 -11
  244. package/cjs/graphic/line.js.map +1 -1
  245. package/cjs/graphic/node-tree.js +44 -25
  246. package/cjs/graphic/node-tree.js.map +1 -1
  247. package/cjs/graphic/path.js +6 -12
  248. package/cjs/graphic/path.js.map +1 -1
  249. package/cjs/graphic/polygon.js +4 -7
  250. package/cjs/graphic/polygon.js.map +1 -1
  251. package/cjs/graphic/pyramid3d.js +3 -4
  252. package/cjs/graphic/pyramid3d.js.map +1 -1
  253. package/cjs/graphic/rect.js +3 -7
  254. package/cjs/graphic/rect.js.map +1 -1
  255. package/cjs/graphic/rect3d.js +4 -5
  256. package/cjs/graphic/rect3d.js.map +1 -1
  257. package/cjs/graphic/richtext/frame.js +0 -19
  258. package/cjs/graphic/richtext/frame.js.map +1 -1
  259. package/cjs/graphic/richtext/icon.js +6 -14
  260. package/cjs/graphic/richtext/icon.js.map +1 -1
  261. package/cjs/graphic/richtext/line.js +2 -14
  262. package/cjs/graphic/richtext/line.js.map +1 -1
  263. package/cjs/graphic/richtext/paragraph.js +0 -22
  264. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  265. package/cjs/graphic/richtext/utils.js +2 -1
  266. package/cjs/graphic/richtext/utils.js.map +1 -1
  267. package/cjs/graphic/richtext/wrapper.js +0 -12
  268. package/cjs/graphic/richtext/wrapper.js.map +1 -1
  269. package/cjs/graphic/richtext.js +45 -38
  270. package/cjs/graphic/richtext.js.map +1 -1
  271. package/cjs/graphic/shadow-root.js +1 -2
  272. package/cjs/graphic/shadow-root.js.map +1 -1
  273. package/cjs/graphic/symbol.js +5 -12
  274. package/cjs/graphic/symbol.js.map +1 -1
  275. package/cjs/graphic/text.js +45 -45
  276. package/cjs/graphic/text.js.map +1 -1
  277. package/cjs/graphic/theme.js +0 -4
  278. package/cjs/graphic/theme.js.map +1 -1
  279. package/cjs/graphic/tools.js +44 -16
  280. package/cjs/graphic/tools.js.map +1 -1
  281. package/cjs/graphic/wrap-text.js +7 -7
  282. package/cjs/graphic/wrap-text.js.map +1 -1
  283. package/cjs/picker/global-picker-service.js +0 -1
  284. package/cjs/picker/global-picker-service.js.map +1 -1
  285. package/cjs/picker/pick-interceptor.js +15 -5
  286. package/cjs/picker/pick-interceptor.js.map +1 -1
  287. package/cjs/picker/picker-service.js +5 -5
  288. package/cjs/picker/picker-service.js.map +1 -1
  289. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +20 -26
  290. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  291. package/cjs/plugins/builtin-plugin/auto-render-plugin.js +4 -5
  292. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  293. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +4 -5
  294. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  295. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +8 -11
  296. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  297. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +19 -28
  298. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  299. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -12
  300. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  301. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +7 -6
  302. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  303. package/cjs/plugins/plugin-service.js +0 -1
  304. package/cjs/plugins/plugin-service.js.map +1 -1
  305. package/cjs/render/contributions/render/arc-render.js +4 -6
  306. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  307. package/cjs/render/contributions/render/arc3d-render.js +7 -5
  308. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  309. package/cjs/render/contributions/render/area-render.js +23 -21
  310. package/cjs/render/contributions/render/area-render.js.map +1 -1
  311. package/cjs/render/contributions/render/base-render.js +0 -5
  312. package/cjs/render/contributions/render/base-render.js.map +1 -1
  313. package/cjs/render/contributions/render/circle-render.js +4 -6
  314. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  315. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +4 -3
  316. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  317. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js +9 -6
  318. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -1
  319. package/cjs/render/contributions/render/contributions/base-contribution-render.js +8 -10
  320. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  321. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +4 -4
  322. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
  323. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +4 -3
  324. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  325. package/cjs/render/contributions/render/contributions/group-contribution-render.js +3 -1
  326. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  327. package/cjs/render/contributions/render/contributions/image-contribution-render.js +3 -1
  328. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  329. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +14 -11
  330. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  331. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +4 -3
  332. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  333. package/cjs/render/contributions/render/contributions/text-contribution-render.js +8 -6
  334. package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  335. package/cjs/render/contributions/render/draw-contribution.js +14 -12
  336. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  337. package/cjs/render/contributions/render/draw-interceptor.js +21 -11
  338. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  339. package/cjs/render/contributions/render/glyph-render.js +3 -2
  340. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  341. package/cjs/render/contributions/render/graphic-render.js +1 -4
  342. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  343. package/cjs/render/contributions/render/group-render.js +3 -7
  344. package/cjs/render/contributions/render/group-render.js.map +1 -1
  345. package/cjs/render/contributions/render/image-render.js +2 -4
  346. package/cjs/render/contributions/render/image-render.js.map +1 -1
  347. package/cjs/render/contributions/render/incremental-area-render.js +3 -1
  348. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  349. package/cjs/render/contributions/render/incremental-draw-contribution.js +109 -80
  350. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  351. package/cjs/render/contributions/render/incremental-line-render.js +3 -1
  352. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  353. package/cjs/render/contributions/render/line-render.js +16 -12
  354. package/cjs/render/contributions/render/line-render.js.map +1 -1
  355. package/cjs/render/contributions/render/path-render.js +7 -8
  356. package/cjs/render/contributions/render/path-render.js.map +1 -1
  357. package/cjs/render/contributions/render/polygon-render.js +4 -6
  358. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  359. package/cjs/render/contributions/render/pyramid3d-render.js +5 -3
  360. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  361. package/cjs/render/contributions/render/rect-render.js +7 -8
  362. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  363. package/cjs/render/contributions/render/rect3d-render.js +7 -5
  364. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  365. package/cjs/render/contributions/render/richtext-render.js +3 -4
  366. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  367. package/cjs/render/contributions/render/symbol-render.js +14 -11
  368. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  369. package/cjs/render/contributions/render/text-render.js +8 -8
  370. package/cjs/render/contributions/render/text-render.js.map +1 -1
  371. package/cjs/render/contributions/render/utils.js +1 -1
  372. package/cjs/render/contributions/render/utils.js.map +1 -1
  373. package/cjs/render/render-service.js +2 -11
  374. package/cjs/render/render-service.js.map +1 -1
  375. package/cjs/resource-loader/loader.js +16 -13
  376. package/cjs/resource-loader/loader.js.map +1 -1
  377. package/cjs/tapable/Hook.js +0 -3
  378. package/cjs/tapable/Hook.js.map +1 -1
  379. package/dist/index.es.js +1709 -2151
  380. package/es/allocator/bounds-allocate.js +1 -1
  381. package/es/allocator/bounds-allocate.js.map +1 -1
  382. package/es/allocator/canvas-allocate.js +9 -11
  383. package/es/allocator/canvas-allocate.js.map +1 -1
  384. package/es/allocator/graphic-allocate.js +9 -5
  385. package/es/allocator/graphic-allocate.js.map +1 -1
  386. package/es/allocator/matrix-allocate.js +6 -2
  387. package/es/allocator/matrix-allocate.js.map +1 -1
  388. package/es/animate/Ticker/default-ticker.js +14 -25
  389. package/es/animate/Ticker/default-ticker.js.map +1 -1
  390. package/es/animate/animate.js +8 -7
  391. package/es/animate/animate.js.map +1 -1
  392. package/es/animate/custom-animate.js +50 -52
  393. package/es/animate/custom-animate.js.map +1 -1
  394. package/es/animate/easing.js +8 -18
  395. package/es/animate/easing.js.map +1 -1
  396. package/es/animate/morphing.js +23 -20
  397. package/es/animate/morphing.js.map +1 -1
  398. package/es/application.js +1 -7
  399. package/es/application.js.map +1 -1
  400. package/es/canvas/conical-gradient.js +6 -12
  401. package/es/canvas/conical-gradient.js.map +1 -1
  402. package/es/canvas/contributions/base-canvas.js +7 -19
  403. package/es/canvas/contributions/base-canvas.js.map +1 -1
  404. package/es/color-string/interpolate.js +3 -5
  405. package/es/color-string/interpolate.js.map +1 -1
  406. package/es/color-string/store.js +2 -2
  407. package/es/color-string/store.js.map +1 -1
  408. package/es/common/bounds-context.js +0 -1
  409. package/es/common/bounds-context.js.map +1 -1
  410. package/es/common/canvas-utils.js +6 -3
  411. package/es/common/canvas-utils.js.map +1 -1
  412. package/es/common/contribution-provider.js +0 -3
  413. package/es/common/contribution-provider.js.map +1 -1
  414. package/es/common/custom-path2d.js +1 -7
  415. package/es/common/custom-path2d.js.map +1 -1
  416. package/es/common/generator.js +2 -1
  417. package/es/common/generator.js.map +1 -1
  418. package/es/common/inversify/binding.js +0 -12
  419. package/es/common/inversify/binding.js.map +1 -1
  420. package/es/common/inversify/container.js +0 -4
  421. package/es/common/inversify/container.js.map +1 -1
  422. package/es/common/inversify/cotainer-module.js +0 -2
  423. package/es/common/inversify/cotainer-module.js.map +1 -1
  424. package/es/common/inversify/meta-data.js +0 -2
  425. package/es/common/inversify/meta-data.js.map +1 -1
  426. package/es/common/inversify/syntax/binding_in_syntax.js +0 -1
  427. package/es/common/inversify/syntax/binding_in_syntax.js.map +1 -1
  428. package/es/common/inversify/syntax/binding_to_syntax.js +0 -1
  429. package/es/common/inversify/syntax/binding_to_syntax.js.map +1 -1
  430. package/es/common/inversify-lite/annotation/lazy_service_identifier.js +0 -1
  431. package/es/common/inversify-lite/annotation/lazy_service_identifier.js.map +1 -1
  432. package/es/common/inversify-lite/bindings/binding.js +0 -14
  433. package/es/common/inversify-lite/bindings/binding.js.map +1 -1
  434. package/es/common/inversify-lite/container/container.js +48 -22
  435. package/es/common/inversify-lite/container/container.js.map +1 -1
  436. package/es/common/inversify-lite/container/container_module.js +0 -4
  437. package/es/common/inversify-lite/container/container_module.js.map +1 -1
  438. package/es/common/inversify-lite/container/lookup.js +0 -1
  439. package/es/common/inversify-lite/container/lookup.js.map +1 -1
  440. package/es/common/inversify-lite/planning/context.js +0 -4
  441. package/es/common/inversify-lite/planning/context.js.map +1 -1
  442. package/es/common/inversify-lite/planning/metadata.js +0 -2
  443. package/es/common/inversify-lite/planning/metadata.js.map +1 -1
  444. package/es/common/inversify-lite/planning/plan.js +0 -2
  445. package/es/common/inversify-lite/planning/plan.js.map +1 -1
  446. package/es/common/inversify-lite/planning/queryable_string.js +0 -1
  447. package/es/common/inversify-lite/planning/queryable_string.js.map +1 -1
  448. package/es/common/inversify-lite/planning/request.js +0 -8
  449. package/es/common/inversify-lite/planning/request.js.map +1 -1
  450. package/es/common/inversify-lite/planning/target.js +0 -7
  451. package/es/common/inversify-lite/planning/target.js.map +1 -1
  452. package/es/common/inversify-lite/resolution/instantiation.js +44 -16
  453. package/es/common/inversify-lite/resolution/instantiation.js.map +1 -1
  454. package/es/common/inversify-lite/scope/scope.js +29 -3
  455. package/es/common/inversify-lite/scope/scope.js.map +1 -1
  456. package/es/common/inversify-lite/syntax/binding_in_syntax.js +0 -1
  457. package/es/common/inversify-lite/syntax/binding_in_syntax.js.map +1 -1
  458. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -3
  459. package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +1 -1
  460. package/es/common/inversify-lite/syntax/binding_on_syntax.js +0 -1
  461. package/es/common/inversify-lite/syntax/binding_on_syntax.js.map +1 -1
  462. package/es/common/inversify-lite/syntax/binding_to_syntax.js +0 -1
  463. package/es/common/inversify-lite/syntax/binding_to_syntax.js.map +1 -1
  464. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -2
  465. package/es/common/inversify-lite/syntax/binding_when_on_syntax.js.map +1 -1
  466. package/es/common/inversify-lite/syntax/binding_when_syntax.js +0 -1
  467. package/es/common/inversify-lite/syntax/binding_when_syntax.js.map +1 -1
  468. package/es/common/polygon.js +2 -1
  469. package/es/common/polygon.js.map +1 -1
  470. package/es/common/render-area.js +3 -2
  471. package/es/common/render-area.js.map +1 -1
  472. package/es/common/render-curve.js +8 -4
  473. package/es/common/render-curve.js.map +1 -1
  474. package/es/common/seg-context.js +3 -12
  475. package/es/common/seg-context.js.map +1 -1
  476. package/es/common/segment/basis.js +0 -13
  477. package/es/common/segment/basis.js.map +1 -1
  478. package/es/common/segment/common.js +1 -1
  479. package/es/common/segment/common.js.map +1 -1
  480. package/es/common/segment/curve/arc.js +1 -2
  481. package/es/common/segment/curve/arc.js.map +1 -1
  482. package/es/common/segment/curve/base.js +0 -4
  483. package/es/common/segment/curve/base.js.map +1 -1
  484. package/es/common/segment/curve/cubic-bezier.js +2 -2
  485. package/es/common/segment/curve/cubic-bezier.js.map +1 -1
  486. package/es/common/segment/curve/curve-context.js +0 -4
  487. package/es/common/segment/curve/curve-context.js.map +1 -1
  488. package/es/common/segment/curve/ellipse.js +3 -3
  489. package/es/common/segment/curve/ellipse.js.map +1 -1
  490. package/es/common/segment/curve/line.js +1 -2
  491. package/es/common/segment/curve/line.js.map +1 -1
  492. package/es/common/segment/curve/move.js +1 -2
  493. package/es/common/segment/curve/move.js.map +1 -1
  494. package/es/common/segment/curve/path.js +0 -2
  495. package/es/common/segment/curve/path.js.map +1 -1
  496. package/es/common/segment/curve/quadratic-bezier.js +2 -2
  497. package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
  498. package/es/common/segment/linear.js +0 -10
  499. package/es/common/segment/linear.js.map +1 -1
  500. package/es/common/segment/monotone.js +0 -13
  501. package/es/common/segment/monotone.js.map +1 -1
  502. package/es/common/segment/step.js +1 -12
  503. package/es/common/segment/step.js.map +1 -1
  504. package/es/common/sort.js +34 -3
  505. package/es/common/sort.js.map +1 -1
  506. package/es/common/split-path.js +11 -4
  507. package/es/common/split-path.js.map +1 -1
  508. package/es/common/utils.js +5 -7
  509. package/es/common/utils.js.map +1 -1
  510. package/es/common/xml/parser.js +2 -2
  511. package/es/common/xml/parser.js.map +1 -1
  512. package/es/core/camera.js +4 -11
  513. package/es/core/camera.js.map +1 -1
  514. package/es/core/contributions/env/base-contribution.js +0 -6
  515. package/es/core/contributions/env/base-contribution.js.map +1 -1
  516. package/es/core/contributions/layerHandler/canvas2d-contribution.js +11 -20
  517. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  518. package/es/core/contributions/layerHandler/empty-contribution.js +8 -8
  519. package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
  520. package/es/core/contributions/layerHandler/offscreen2d-contribution.js +6 -5
  521. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  522. package/es/core/contributions/textMeasure/AtextMeasure.js +8 -11
  523. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  524. package/es/core/contributions/textMeasure/layout.js +0 -3
  525. package/es/core/contributions/textMeasure/layout.js.map +1 -1
  526. package/es/core/contributions/window/base-contribution.js +0 -2
  527. package/es/core/contributions/window/base-contribution.js.map +1 -1
  528. package/es/core/global.js +0 -8
  529. package/es/core/global.js.map +1 -1
  530. package/es/core/graphic-utils.js +5 -16
  531. package/es/core/graphic-utils.js.map +1 -1
  532. package/es/core/layer-service.js +7 -7
  533. package/es/core/layer-service.js.map +1 -1
  534. package/es/core/layer.js +9 -7
  535. package/es/core/layer.js.map +1 -1
  536. package/es/core/stage.js +34 -68
  537. package/es/core/stage.js.map +1 -1
  538. package/es/core/window.js +14 -16
  539. package/es/core/window.js.map +1 -1
  540. package/es/event/event-manager.js +145 -153
  541. package/es/event/event-manager.js.map +1 -1
  542. package/es/event/event-system.js +43 -60
  543. package/es/event/event-system.js.map +1 -1
  544. package/es/event/event-target.js +3 -1
  545. package/es/event/event-target.js.map +1 -1
  546. package/es/event/federated-event/base-event.js +15 -43
  547. package/es/event/federated-event/base-event.js.map +1 -1
  548. package/es/event/federated-event/mouse-event.js +18 -27
  549. package/es/event/federated-event/mouse-event.js.map +1 -1
  550. package/es/event/federated-event/pointer-event.js +8 -12
  551. package/es/event/federated-event/pointer-event.js.map +1 -1
  552. package/es/event/federated-event/wheel-event.js +11 -12
  553. package/es/event/federated-event/wheel-event.js.map +1 -1
  554. package/es/graphic/arc.js +6 -9
  555. package/es/graphic/arc.js.map +1 -1
  556. package/es/graphic/arc3d.js +5 -6
  557. package/es/graphic/arc3d.js.map +1 -1
  558. package/es/graphic/area.js +10 -13
  559. package/es/graphic/area.js.map +1 -1
  560. package/es/graphic/builtin-symbol/arrow.js +3 -2
  561. package/es/graphic/builtin-symbol/arrow.js.map +1 -1
  562. package/es/graphic/builtin-symbol/arrow2-down.js +3 -2
  563. package/es/graphic/builtin-symbol/arrow2-down.js.map +1 -1
  564. package/es/graphic/builtin-symbol/arrow2-left.js +3 -2
  565. package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  566. package/es/graphic/builtin-symbol/arrow2-right.js +3 -2
  567. package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  568. package/es/graphic/builtin-symbol/arrow2-up.js +3 -2
  569. package/es/graphic/builtin-symbol/arrow2-up.js.map +1 -1
  570. package/es/graphic/builtin-symbol/circle.js +3 -2
  571. package/es/graphic/builtin-symbol/circle.js.map +1 -1
  572. package/es/graphic/builtin-symbol/close.js +3 -2
  573. package/es/graphic/builtin-symbol/close.js.map +1 -1
  574. package/es/graphic/builtin-symbol/cross.js +3 -2
  575. package/es/graphic/builtin-symbol/cross.js.map +1 -1
  576. package/es/graphic/builtin-symbol/diamond.js +3 -2
  577. package/es/graphic/builtin-symbol/diamond.js.map +1 -1
  578. package/es/graphic/builtin-symbol/line-h.js +3 -2
  579. package/es/graphic/builtin-symbol/line-h.js.map +1 -1
  580. package/es/graphic/builtin-symbol/line-v.js +3 -2
  581. package/es/graphic/builtin-symbol/line-v.js.map +1 -1
  582. package/es/graphic/builtin-symbol/rect.js +3 -2
  583. package/es/graphic/builtin-symbol/rect.js.map +1 -1
  584. package/es/graphic/builtin-symbol/square.js +3 -2
  585. package/es/graphic/builtin-symbol/square.js.map +1 -1
  586. package/es/graphic/builtin-symbol/star.js +3 -2
  587. package/es/graphic/builtin-symbol/star.js.map +1 -1
  588. package/es/graphic/builtin-symbol/stroke.js +3 -2
  589. package/es/graphic/builtin-symbol/stroke.js.map +1 -1
  590. package/es/graphic/builtin-symbol/thin-triangle.js +3 -2
  591. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  592. package/es/graphic/builtin-symbol/triangle-down.js +3 -2
  593. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  594. package/es/graphic/builtin-symbol/triangle-left.js +3 -2
  595. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  596. package/es/graphic/builtin-symbol/triangle-right.js +3 -2
  597. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  598. package/es/graphic/builtin-symbol/triangle-up.js +3 -2
  599. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  600. package/es/graphic/builtin-symbol/triangle.js +3 -1
  601. package/es/graphic/builtin-symbol/triangle.js.map +1 -1
  602. package/es/graphic/builtin-symbol/utils.js +2 -6
  603. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  604. package/es/graphic/builtin-symbol/wedge.js +3 -2
  605. package/es/graphic/builtin-symbol/wedge.js.map +1 -1
  606. package/es/graphic/builtin-symbol/wye.js +3 -2
  607. package/es/graphic/builtin-symbol/wye.js.map +1 -1
  608. package/es/graphic/circle.js +6 -7
  609. package/es/graphic/circle.js.map +1 -1
  610. package/es/graphic/config.js +44 -72
  611. package/es/graphic/config.js.map +1 -1
  612. package/es/graphic/glyph.js +9 -9
  613. package/es/graphic/glyph.js.map +1 -1
  614. package/es/graphic/graphic-service/graphic-service.js +8 -12
  615. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  616. package/es/graphic/graphic.js +44 -27
  617. package/es/graphic/graphic.js.map +1 -1
  618. package/es/graphic/group.js +5 -8
  619. package/es/graphic/group.js.map +1 -1
  620. package/es/graphic/image.js +16 -17
  621. package/es/graphic/image.js.map +1 -1
  622. package/es/graphic/line.js +7 -10
  623. package/es/graphic/line.js.map +1 -1
  624. package/es/graphic/node-tree.js +44 -25
  625. package/es/graphic/node-tree.js.map +1 -1
  626. package/es/graphic/path.js +7 -11
  627. package/es/graphic/path.js.map +1 -1
  628. package/es/graphic/polygon.js +4 -6
  629. package/es/graphic/polygon.js.map +1 -1
  630. package/es/graphic/pyramid3d.js +3 -3
  631. package/es/graphic/pyramid3d.js.map +1 -1
  632. package/es/graphic/rect.js +4 -6
  633. package/es/graphic/rect.js.map +1 -1
  634. package/es/graphic/rect3d.js +4 -4
  635. package/es/graphic/rect3d.js.map +1 -1
  636. package/es/graphic/richtext/frame.js +0 -19
  637. package/es/graphic/richtext/frame.js.map +1 -1
  638. package/es/graphic/richtext/icon.js +6 -14
  639. package/es/graphic/richtext/icon.js.map +1 -1
  640. package/es/graphic/richtext/line.js +2 -14
  641. package/es/graphic/richtext/line.js.map +1 -1
  642. package/es/graphic/richtext/paragraph.js +0 -22
  643. package/es/graphic/richtext/paragraph.js.map +1 -1
  644. package/es/graphic/richtext/utils.js +2 -1
  645. package/es/graphic/richtext/utils.js.map +1 -1
  646. package/es/graphic/richtext/wrapper.js +0 -12
  647. package/es/graphic/richtext/wrapper.js.map +1 -1
  648. package/es/graphic/richtext.js +46 -37
  649. package/es/graphic/richtext.js.map +1 -1
  650. package/es/graphic/shadow-root.js +1 -2
  651. package/es/graphic/shadow-root.js.map +1 -1
  652. package/es/graphic/symbol.js +6 -11
  653. package/es/graphic/symbol.js.map +1 -1
  654. package/es/graphic/text.js +40 -39
  655. package/es/graphic/text.js.map +1 -1
  656. package/es/graphic/theme.js +0 -4
  657. package/es/graphic/theme.js.map +1 -1
  658. package/es/graphic/tools.js +44 -16
  659. package/es/graphic/tools.js.map +1 -1
  660. package/es/graphic/wrap-text.js +6 -6
  661. package/es/graphic/wrap-text.js.map +1 -1
  662. package/es/picker/global-picker-service.js +0 -1
  663. package/es/picker/global-picker-service.js.map +1 -1
  664. package/es/picker/pick-interceptor.js +15 -5
  665. package/es/picker/pick-interceptor.js.map +1 -1
  666. package/es/picker/picker-service.js +5 -5
  667. package/es/picker/picker-service.js.map +1 -1
  668. package/es/plugins/builtin-plugin/3dview-transform-plugin.js +20 -26
  669. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  670. package/es/plugins/builtin-plugin/auto-render-plugin.js +4 -5
  671. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  672. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +4 -5
  673. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  674. package/es/plugins/builtin-plugin/flex-layout-plugin.js +8 -11
  675. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  676. package/es/plugins/builtin-plugin/html-attribute-plugin.js +17 -28
  677. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  678. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -12
  679. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  680. package/es/plugins/builtin-plugin/react-attribute-plugin.js +6 -6
  681. package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  682. package/es/plugins/plugin-service.js +0 -1
  683. package/es/plugins/plugin-service.js.map +1 -1
  684. package/es/render/contributions/render/arc-render.js +4 -6
  685. package/es/render/contributions/render/arc-render.js.map +1 -1
  686. package/es/render/contributions/render/arc3d-render.js +7 -5
  687. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  688. package/es/render/contributions/render/area-render.js +23 -21
  689. package/es/render/contributions/render/area-render.js.map +1 -1
  690. package/es/render/contributions/render/base-render.js +0 -5
  691. package/es/render/contributions/render/base-render.js.map +1 -1
  692. package/es/render/contributions/render/circle-render.js +4 -6
  693. package/es/render/contributions/render/circle-render.js.map +1 -1
  694. package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -3
  695. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  696. package/es/render/contributions/render/contributions/area-texture-contribution-render.js +5 -2
  697. package/es/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -1
  698. package/es/render/contributions/render/contributions/base-contribution-render.js +7 -10
  699. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  700. package/es/render/contributions/render/contributions/base-texture-contribution-render.js +3 -4
  701. package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
  702. package/es/render/contributions/render/contributions/circle-contribution-render.js +3 -3
  703. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  704. package/es/render/contributions/render/contributions/group-contribution-render.js +3 -1
  705. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  706. package/es/render/contributions/render/contributions/image-contribution-render.js +3 -1
  707. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  708. package/es/render/contributions/render/contributions/rect-contribution-render.js +11 -11
  709. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  710. package/es/render/contributions/render/contributions/symbol-contribution-render.js +3 -3
  711. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  712. package/es/render/contributions/render/contributions/text-contribution-render.js +8 -6
  713. package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  714. package/es/render/contributions/render/draw-contribution.js +14 -12
  715. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  716. package/es/render/contributions/render/draw-interceptor.js +21 -11
  717. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  718. package/es/render/contributions/render/glyph-render.js +3 -2
  719. package/es/render/contributions/render/glyph-render.js.map +1 -1
  720. package/es/render/contributions/render/graphic-render.js +1 -4
  721. package/es/render/contributions/render/graphic-render.js.map +1 -1
  722. package/es/render/contributions/render/group-render.js +3 -7
  723. package/es/render/contributions/render/group-render.js.map +1 -1
  724. package/es/render/contributions/render/image-render.js +2 -5
  725. package/es/render/contributions/render/image-render.js.map +1 -1
  726. package/es/render/contributions/render/incremental-area-render.js +3 -1
  727. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  728. package/es/render/contributions/render/incremental-draw-contribution.js +109 -80
  729. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  730. package/es/render/contributions/render/incremental-line-render.js +3 -1
  731. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  732. package/es/render/contributions/render/line-render.js +16 -12
  733. package/es/render/contributions/render/line-render.js.map +1 -1
  734. package/es/render/contributions/render/path-render.js +6 -8
  735. package/es/render/contributions/render/path-render.js.map +1 -1
  736. package/es/render/contributions/render/polygon-render.js +4 -6
  737. package/es/render/contributions/render/polygon-render.js.map +1 -1
  738. package/es/render/contributions/render/pyramid3d-render.js +5 -3
  739. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  740. package/es/render/contributions/render/rect-render.js +6 -8
  741. package/es/render/contributions/render/rect-render.js.map +1 -1
  742. package/es/render/contributions/render/rect3d-render.js +7 -5
  743. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  744. package/es/render/contributions/render/richtext-render.js +3 -4
  745. package/es/render/contributions/render/richtext-render.js.map +1 -1
  746. package/es/render/contributions/render/symbol-render.js +14 -11
  747. package/es/render/contributions/render/symbol-render.js.map +1 -1
  748. package/es/render/contributions/render/text-render.js +8 -9
  749. package/es/render/contributions/render/text-render.js.map +1 -1
  750. package/es/render/contributions/render/utils.js +1 -1
  751. package/es/render/contributions/render/utils.js.map +1 -1
  752. package/es/render/render-service.js +2 -11
  753. package/es/render/render-service.js.map +1 -1
  754. package/es/resource-loader/loader.js +17 -12
  755. package/es/resource-loader/loader.js.map +1 -1
  756. package/es/tapable/Hook.js +0 -3
  757. package/es/tapable/Hook.js.map +1 -1
  758. package/package.json +6 -5
@@ -9,8 +9,8 @@ const vutils_1 = require("@visactor/vutils");
9
9
  exports.BoundsAllocate = Symbol.for("BoundsAllocate");
10
10
 
11
11
  class DefaultBoundsAllocate {
12
- pools=[];
13
12
  constructor() {
13
+ this.pools = [];
14
14
  for (let i = 0; i < 10; i++) this.pools.push(new vutils_1.AABBBounds);
15
15
  }
16
16
  allocate(x1, y1, x2, y2) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/allocator/bounds-allocate.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAGjC,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3D,MAAa,qBAAqB;IACtB,KAAK,GAAkB,EAAE,CAAC;IACpC;QAEE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAU,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,mBAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClD;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,CAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,mBAAU,CAAC,CAAQ,CAAC,CAAC;SACjC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;QACnC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,CAAc;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AAvCD,sDAuCC;AAEY,QAAA,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC","file":"bounds-allocate.js","sourcesContent":["import type { IAABBBounds, IAABBBoundsLike } from '@visactor/vutils';\nimport { AABBBounds } from '@visactor/vutils';\nimport type { Releaseable, IAllocate } from '../interface';\n\nexport const BoundsAllocate = Symbol.for('BoundsAllocate');\n\nexport class DefaultBoundsAllocate implements IAllocate<IAABBBounds>, Releaseable {\n protected pools: IAABBBounds[] = [];\n constructor() {\n // 默认添加10个\n for (let i = 0; i < 10; i++) {\n this.pools.push(new AABBBounds());\n }\n }\n allocate(x1: number, y1: number, x2: number, y2: number): IAABBBounds {\n if (!this.pools.length) {\n return new AABBBounds().setValue(x1, y1, x2, y2);\n }\n const b = this.pools.pop();\n b.x1 = x1;\n b.y1 = y1;\n b.x2 = x2;\n b.y2 = y2;\n return b;\n }\n allocateByObj(b: IAABBBounds): IAABBBounds {\n if (!this.pools.length) {\n return new AABBBounds(b as any);\n }\n const _b = this.pools.pop() as any;\n _b.x1 = b.x1;\n _b.y1 = b.y1;\n _b.x2 = b.x2;\n _b.y2 = b.y2;\n return _b;\n }\n free(b: IAABBBounds) {\n this.pools.push(b);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const boundsAllocate = new DefaultBoundsAllocate();\n"]}
1
+ {"version":3,"sources":["../src/allocator/bounds-allocate.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAGjC,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE3D,MAAa,qBAAqB;IAEhC;QADU,UAAK,GAAkB,EAAE,CAAC;QAGlC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAU,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,mBAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClD;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,CAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,mBAAU,CAAC,CAAQ,CAAC,CAAC;SACjC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;QACnC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,CAAc;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AAvCD,sDAuCC;AAEY,QAAA,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC","file":"bounds-allocate.js","sourcesContent":["import type { IAABBBounds, IAABBBoundsLike } from '@visactor/vutils';\nimport { AABBBounds } from '@visactor/vutils';\nimport type { Releaseable, IAllocate } from '../interface';\n\nexport const BoundsAllocate = Symbol.for('BoundsAllocate');\n\nexport class DefaultBoundsAllocate implements IAllocate<IAABBBounds>, Releaseable {\n protected pools: IAABBBounds[] = [];\n constructor() {\n // 默认添加10个\n for (let i = 0; i < 10; i++) {\n this.pools.push(new AABBBounds());\n }\n }\n allocate(x1: number, y1: number, x2: number, y2: number): IAABBBounds {\n if (!this.pools.length) {\n return new AABBBounds().setValue(x1, y1, x2, y2);\n }\n const b = this.pools.pop();\n b.x1 = x1;\n b.y1 = y1;\n b.x2 = x2;\n b.y2 = y2;\n return b;\n }\n allocateByObj(b: IAABBBounds): IAABBBounds {\n if (!this.pools.length) {\n return new AABBBounds(b as any);\n }\n const _b = this.pools.pop() as any;\n _b.x1 = b.x1;\n _b.y1 = b.y1;\n _b.x2 = b.x2;\n _b.y2 = b.y2;\n return _b;\n }\n free(b: IAABBBounds) {\n this.pools.push(b);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const boundsAllocate = new DefaultBoundsAllocate();\n"]}
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const application_1 = require("../application"), util_1 = require("../canvas/util");
8
8
 
9
9
  class DefaultCanvasAllocate {
10
- pools=[];
11
- _commonCanvas;
12
- allocatedCanvas=[];
10
+ constructor() {
11
+ this.pools = [], this.allocatedCanvas = [];
12
+ }
13
13
  shareCanvas() {
14
14
  return this.allocatedCanvas.length ? this.allocatedCanvas[0] : this.getCommonCanvas();
15
15
  }
@@ -22,10 +22,9 @@ class DefaultCanvasAllocate {
22
22
  }
23
23
  allocate(data) {
24
24
  if (!this.pools.length) {
25
- const c = (0, util_1.wrapCanvas)({
26
- nativeCanvas: application_1.application.global.createCanvas(data),
27
- ...data
28
- });
25
+ const c = (0, util_1.wrapCanvas)(Object.assign({
26
+ nativeCanvas: application_1.application.global.createCanvas(data)
27
+ }, data));
29
28
  return this.allocatedCanvas.push(c), c;
30
29
  }
31
30
  const m = this.pools.pop();
@@ -37,10 +36,9 @@ class DefaultCanvasAllocate {
37
36
  width: canvas.width / canvas.dpr,
38
37
  height: canvas.height / canvas.dpr,
39
38
  dpr: canvas.dpr
40
- }, c = (0, util_1.wrapCanvas)({
41
- nativeCanvas: application_1.application.global.createCanvas(data),
42
- ...data
43
- });
39
+ }, c = (0, util_1.wrapCanvas)(Object.assign({
40
+ nativeCanvas: application_1.application.global.createCanvas(data)
41
+ }, data));
44
42
  return this.allocatedCanvas.push(c), c;
45
43
  }
46
44
  const m = this.pools.pop();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/allocator/canvas-allocate.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,yCAA4C;AAE5C,MAAa,qBAAqB;IACtB,KAAK,GAAc,EAAE,CAAC;IACtB,aAAa,CAAM;IAEnB,eAAe,GAAc,EAAE,CAAC;IAC1C,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IACD,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,IAAoD;QAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC;gBACnB,YAAY,EAAE,yBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnD,GAAG,IAAI;aACR,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;SACV;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,MAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG;gBAChC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG;gBAClC,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;YACF,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC;gBACnB,YAAY,EAAE,yBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;gBACnD,GAAG,IAAI;aACR,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;SACV;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAU;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AA3DD,sDA2DC;AAEY,QAAA,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC","file":"canvas-allocate.js","sourcesContent":["import { application } from '../application';\nimport type { ICanvas, Releaseable, IAllocate } from '../interface';\nimport { wrapCanvas } from '../canvas/util';\n\nexport class DefaultCanvasAllocate implements IAllocate<ICanvas>, Releaseable {\n protected pools: ICanvas[] = [];\n protected _commonCanvas: any;\n // 已经被分配出去的canvas\n protected allocatedCanvas: ICanvas[] = [];\n shareCanvas(): ICanvas {\n if (this.allocatedCanvas.length) {\n return this.allocatedCanvas[0];\n }\n return this.getCommonCanvas();\n }\n getCommonCanvas(): ICanvas {\n if (!this._commonCanvas) {\n this._commonCanvas = this.allocate({ width: 100, height: 100, dpr: 2 });\n }\n return this._commonCanvas;\n }\n allocate(data: { width: number; height: number; dpr: number }): ICanvas {\n if (!this.pools.length) {\n const c = wrapCanvas({\n nativeCanvas: application.global.createCanvas(data),\n ...data\n });\n this.allocatedCanvas.push(c);\n return c;\n }\n const m = this.pools.pop();\n m.resize(data.width, data.height);\n m.dpr = data.dpr;\n return m;\n }\n allocateByObj(canvas: ICanvas): ICanvas {\n if (!this.pools.length) {\n const data = {\n width: canvas.width / canvas.dpr,\n height: canvas.height / canvas.dpr,\n dpr: canvas.dpr\n };\n const c = wrapCanvas({\n nativeCanvas: application.global.createCanvas(data),\n ...data\n });\n this.allocatedCanvas.push(c);\n return c;\n }\n const m = this.pools.pop();\n m.width = canvas.width;\n m.height = canvas.height;\n return m;\n }\n free(d: ICanvas) {\n this.pools.push(d);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const canvasAllocate = new DefaultCanvasAllocate();\n"]}
1
+ {"version":3,"sources":["../src/allocator/canvas-allocate.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,yCAA4C;AAE5C,MAAa,qBAAqB;IAAlC;QACY,UAAK,GAAc,EAAE,CAAC;QAGtB,oBAAe,GAAc,EAAE,CAAC;IAuD5C,CAAC;IAtDC,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IACD,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,IAAoD;QAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,MAAM,CAAC,GAAG,IAAA,iBAAU,kBAClB,YAAY,EAAE,yBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAChD,IAAI,EACP,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;SACV;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,MAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG;gBAChC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG;gBAClC,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;YACF,MAAM,CAAC,GAAG,IAAA,iBAAU,kBAClB,YAAY,EAAE,yBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAChD,IAAI,EACP,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;SACV;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACzB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAU;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AA3DD,sDA2DC;AAEY,QAAA,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC","file":"canvas-allocate.js","sourcesContent":["import { application } from '../application';\nimport type { ICanvas, Releaseable, IAllocate } from '../interface';\nimport { wrapCanvas } from '../canvas/util';\n\nexport class DefaultCanvasAllocate implements IAllocate<ICanvas>, Releaseable {\n protected pools: ICanvas[] = [];\n protected _commonCanvas: any;\n // 已经被分配出去的canvas\n protected allocatedCanvas: ICanvas[] = [];\n shareCanvas(): ICanvas {\n if (this.allocatedCanvas.length) {\n return this.allocatedCanvas[0];\n }\n return this.getCommonCanvas();\n }\n getCommonCanvas(): ICanvas {\n if (!this._commonCanvas) {\n this._commonCanvas = this.allocate({ width: 100, height: 100, dpr: 2 });\n }\n return this._commonCanvas;\n }\n allocate(data: { width: number; height: number; dpr: number }): ICanvas {\n if (!this.pools.length) {\n const c = wrapCanvas({\n nativeCanvas: application.global.createCanvas(data),\n ...data\n });\n this.allocatedCanvas.push(c);\n return c;\n }\n const m = this.pools.pop();\n m.resize(data.width, data.height);\n m.dpr = data.dpr;\n return m;\n }\n allocateByObj(canvas: ICanvas): ICanvas {\n if (!this.pools.length) {\n const data = {\n width: canvas.width / canvas.dpr,\n height: canvas.height / canvas.dpr,\n dpr: canvas.dpr\n };\n const c = wrapCanvas({\n nativeCanvas: application.global.createCanvas(data),\n ...data\n });\n this.allocatedCanvas.push(c);\n return c;\n }\n const m = this.pools.pop();\n m.width = canvas.width;\n m.height = canvas.height;\n return m;\n }\n free(d: ICanvas) {\n this.pools.push(d);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const canvasAllocate = new DefaultCanvasAllocate();\n"]}
@@ -7,7 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const application_1 = require("../application");
8
8
 
9
9
  class DefaultGraphicAllocate {
10
- pools=[];
10
+ constructor() {
11
+ this.pools = [];
12
+ }
11
13
  free(d) {
12
14
  this.pools.push(d);
13
15
  }
@@ -142,10 +144,12 @@ class DefaultTextAllocate extends DefaultGraphicAllocate {
142
144
  exports.DefaultTextAllocate = DefaultTextAllocate, exports.defaultTextAllocate = new DefaultTextAllocate;
143
145
 
144
146
  class DefaultGraphicMemoryManager {
145
- map={
146
- text: exports.defaultTextAllocate,
147
- symbol: exports.defaultSymbolAllocate
148
- };
147
+ constructor() {
148
+ this.map = {
149
+ text: exports.defaultTextAllocate,
150
+ symbol: exports.defaultSymbolAllocate
151
+ };
152
+ }
149
153
  gc(g) {
150
154
  g.isContainer ? g.forEachChildren((i => this.gc(i))) : this.gcItem(g);
151
155
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/allocator/graphic-allocate.ts"],"names":[],"mappings":"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","file":"graphic-allocate.js","sourcesContent":["// import { IMatrix, IMatrixLike, Matrix } from '@visactor/vutils';\nimport type { IAllocate } from '../interface';\nimport type {\n IArc,\n IArcGraphicAttribute,\n IArea,\n IAreaGraphicAttribute,\n ICircle,\n ICircleGraphicAttribute,\n IGraphic,\n ILine,\n ILineGraphicAttribute,\n IPath,\n IPathGraphicAttribute,\n IRect,\n IRectGraphicAttribute,\n ISymbol,\n ISymbolGraphicAttribute,\n IText,\n ITextGraphicAttribute,\n Releaseable\n} from '../interface';\nimport { application } from '../application';\n\nexport abstract class DefaultGraphicAllocate<T extends IGraphic, IGraphicAttribute>\n implements IAllocate<T>, Releaseable\n{\n protected pools: T[] = [];\n abstract allocate(attribute: IGraphicAttribute): T;\n abstract allocateByObj(g: T): T;\n free(d: T) {\n this.pools.push(d);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport class DefaultRectAllocate extends DefaultGraphicAllocate<IRect, IRectGraphicAttribute> {\n allocate(attribute: IRectGraphicAttribute): IRect {\n if (!this.pools.length) {\n return application.graphicService.creator.rect(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(rect: IRect): IRect {\n if (!this.pools.length) {\n return application.graphicService.creator.rect(rect.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(rect.attribute);\n return g;\n }\n}\nexport const defaultRectAllocate = new DefaultRectAllocate();\n\nexport class DefaultArcAllocate extends DefaultGraphicAllocate<IArc, IArcGraphicAttribute> {\n allocate(attribute: IArcGraphicAttribute): IArc {\n if (!this.pools.length) {\n return application.graphicService.creator.arc(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(arc: IArc): IArc {\n if (!this.pools.length) {\n return application.graphicService.creator.arc(arc.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(arc.attribute);\n return g;\n }\n}\n\nexport const defaultArcAllocate = new DefaultArcAllocate();\n\nexport class DefaultAreaAllocate extends DefaultGraphicAllocate<IArea, IAreaGraphicAttribute> {\n allocate(attribute: IAreaGraphicAttribute): IArea {\n if (!this.pools.length) {\n return application.graphicService.creator.area(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(area: IArea): IArea {\n if (!this.pools.length) {\n return application.graphicService.creator.area(area.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(area.attribute);\n return g;\n }\n}\n\nexport const defaultAreaAllocate = new DefaultAreaAllocate();\n\nexport class DefaultCircleAllocate extends DefaultGraphicAllocate<ICircle, ICircleGraphicAttribute> {\n allocate(attribute: ICircleGraphicAttribute): ICircle {\n if (!this.pools.length) {\n return application.graphicService.creator.circle(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(area: ICircle): ICircle {\n if (!this.pools.length) {\n return application.graphicService.creator.circle(area.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(area.attribute);\n return g;\n }\n}\n\nexport const defaultCircleAllocate = new DefaultCircleAllocate();\n\nexport class DefaultLineAllocate extends DefaultGraphicAllocate<ILine, ILineGraphicAttribute> {\n allocate(attribute: ILineGraphicAttribute): ILine {\n if (!this.pools.length) {\n return application.graphicService.creator.line(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(line: ILine): ILine {\n if (!this.pools.length) {\n return application.graphicService.creator.line(line.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(line.attribute);\n return g;\n }\n}\n\nexport const defaultLineAllocate = new DefaultLineAllocate();\n\nexport class DefaultPathAllocate extends DefaultGraphicAllocate<IPath, IPathGraphicAttribute> {\n allocate(attribute: IPathGraphicAttribute): IPath {\n if (!this.pools.length) {\n return application.graphicService.creator.path(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(path: IPath): IPath {\n if (!this.pools.length) {\n return application.graphicService.creator.path(path.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(path.attribute);\n return g;\n }\n}\n\nexport const defaultPathAllocate = new DefaultPathAllocate();\n\nexport class DefaultSymbolAllocate extends DefaultGraphicAllocate<ISymbol, ISymbolGraphicAttribute> {\n allocate(attribute: ISymbolGraphicAttribute): ISymbol {\n if (!this.pools.length) {\n return application.graphicService.creator.symbol(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(symbol: ISymbol): ISymbol {\n if (!this.pools.length) {\n return application.graphicService.creator.symbol(symbol.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(symbol.attribute);\n return g;\n }\n}\n\nexport const defaultSymbolAllocate = new DefaultSymbolAllocate();\n\nexport class DefaultTextAllocate extends DefaultGraphicAllocate<IText, ITextGraphicAttribute> {\n allocate(attribute: ITextGraphicAttribute): IText {\n if (!this.pools.length) {\n return application.graphicService.creator.text(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(text: IText): IText {\n if (!this.pools.length) {\n return application.graphicService.creator.text(text.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(text.attribute);\n return g;\n }\n}\n\nexport const defaultTextAllocate = new DefaultTextAllocate();\n\nexport class DefaultGraphicMemoryManager {\n map: Record<string, DefaultGraphicAllocate<any, any>> = {\n text: defaultTextAllocate,\n symbol: defaultSymbolAllocate\n };\n gc(g: IGraphic) {\n if (g.isContainer) {\n g.forEachChildren(i => this.gc(i as any));\n } else {\n this.gcItem(g);\n }\n }\n\n gcItem(g: IGraphic) {\n const allocate = this.map[g.type];\n if (allocate) {\n allocate.free(g);\n }\n }\n}\n\nexport const defaultGraphicMemoryManager = new DefaultGraphicMemoryManager();\n"]}
1
+ {"version":3,"sources":["../src/allocator/graphic-allocate.ts"],"names":[],"mappings":"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","file":"graphic-allocate.js","sourcesContent":["// import { IMatrix, IMatrixLike, Matrix } from '@visactor/vutils';\nimport type { IAllocate } from '../interface';\nimport type {\n IArc,\n IArcGraphicAttribute,\n IArea,\n IAreaGraphicAttribute,\n ICircle,\n ICircleGraphicAttribute,\n IGraphic,\n ILine,\n ILineGraphicAttribute,\n IPath,\n IPathGraphicAttribute,\n IRect,\n IRectGraphicAttribute,\n ISymbol,\n ISymbolGraphicAttribute,\n IText,\n ITextGraphicAttribute,\n Releaseable\n} from '../interface';\nimport { application } from '../application';\n\nexport abstract class DefaultGraphicAllocate<T extends IGraphic, IGraphicAttribute>\n implements IAllocate<T>, Releaseable\n{\n protected pools: T[] = [];\n abstract allocate(attribute: IGraphicAttribute): T;\n abstract allocateByObj(g: T): T;\n free(d: T) {\n this.pools.push(d);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport class DefaultRectAllocate extends DefaultGraphicAllocate<IRect, IRectGraphicAttribute> {\n allocate(attribute: IRectGraphicAttribute): IRect {\n if (!this.pools.length) {\n return application.graphicService.creator.rect(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(rect: IRect): IRect {\n if (!this.pools.length) {\n return application.graphicService.creator.rect(rect.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(rect.attribute);\n return g;\n }\n}\nexport const defaultRectAllocate = new DefaultRectAllocate();\n\nexport class DefaultArcAllocate extends DefaultGraphicAllocate<IArc, IArcGraphicAttribute> {\n allocate(attribute: IArcGraphicAttribute): IArc {\n if (!this.pools.length) {\n return application.graphicService.creator.arc(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(arc: IArc): IArc {\n if (!this.pools.length) {\n return application.graphicService.creator.arc(arc.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(arc.attribute);\n return g;\n }\n}\n\nexport const defaultArcAllocate = new DefaultArcAllocate();\n\nexport class DefaultAreaAllocate extends DefaultGraphicAllocate<IArea, IAreaGraphicAttribute> {\n allocate(attribute: IAreaGraphicAttribute): IArea {\n if (!this.pools.length) {\n return application.graphicService.creator.area(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(area: IArea): IArea {\n if (!this.pools.length) {\n return application.graphicService.creator.area(area.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(area.attribute);\n return g;\n }\n}\n\nexport const defaultAreaAllocate = new DefaultAreaAllocate();\n\nexport class DefaultCircleAllocate extends DefaultGraphicAllocate<ICircle, ICircleGraphicAttribute> {\n allocate(attribute: ICircleGraphicAttribute): ICircle {\n if (!this.pools.length) {\n return application.graphicService.creator.circle(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(area: ICircle): ICircle {\n if (!this.pools.length) {\n return application.graphicService.creator.circle(area.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(area.attribute);\n return g;\n }\n}\n\nexport const defaultCircleAllocate = new DefaultCircleAllocate();\n\nexport class DefaultLineAllocate extends DefaultGraphicAllocate<ILine, ILineGraphicAttribute> {\n allocate(attribute: ILineGraphicAttribute): ILine {\n if (!this.pools.length) {\n return application.graphicService.creator.line(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(line: ILine): ILine {\n if (!this.pools.length) {\n return application.graphicService.creator.line(line.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(line.attribute);\n return g;\n }\n}\n\nexport const defaultLineAllocate = new DefaultLineAllocate();\n\nexport class DefaultPathAllocate extends DefaultGraphicAllocate<IPath, IPathGraphicAttribute> {\n allocate(attribute: IPathGraphicAttribute): IPath {\n if (!this.pools.length) {\n return application.graphicService.creator.path(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(path: IPath): IPath {\n if (!this.pools.length) {\n return application.graphicService.creator.path(path.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(path.attribute);\n return g;\n }\n}\n\nexport const defaultPathAllocate = new DefaultPathAllocate();\n\nexport class DefaultSymbolAllocate extends DefaultGraphicAllocate<ISymbol, ISymbolGraphicAttribute> {\n allocate(attribute: ISymbolGraphicAttribute): ISymbol {\n if (!this.pools.length) {\n return application.graphicService.creator.symbol(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(symbol: ISymbol): ISymbol {\n if (!this.pools.length) {\n return application.graphicService.creator.symbol(symbol.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(symbol.attribute);\n return g;\n }\n}\n\nexport const defaultSymbolAllocate = new DefaultSymbolAllocate();\n\nexport class DefaultTextAllocate extends DefaultGraphicAllocate<IText, ITextGraphicAttribute> {\n allocate(attribute: ITextGraphicAttribute): IText {\n if (!this.pools.length) {\n return application.graphicService.creator.text(attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(attribute);\n return g;\n }\n\n allocateByObj(text: IText): IText {\n if (!this.pools.length) {\n return application.graphicService.creator.text(text.attribute);\n }\n const g = this.pools.pop();\n g.initAttributes(text.attribute);\n return g;\n }\n}\n\nexport const defaultTextAllocate = new DefaultTextAllocate();\n\nexport class DefaultGraphicMemoryManager {\n map: Record<string, DefaultGraphicAllocate<any, any>> = {\n text: defaultTextAllocate,\n symbol: defaultSymbolAllocate\n };\n gc(g: IGraphic) {\n if (g.isContainer) {\n g.forEachChildren(i => this.gc(i as any));\n } else {\n this.gcItem(g);\n }\n }\n\n gcItem(g: IGraphic) {\n const allocate = this.map[g.type];\n if (allocate) {\n allocate.free(g);\n }\n }\n}\n\nexport const defaultGraphicMemoryManager = new DefaultGraphicMemoryManager();\n"]}
@@ -14,7 +14,9 @@ exports.MatrixAllocate = Symbol.for("MatrixAllocate"), exports.Mat4Allocate = Sy
14
14
  exports.createMat4 = createMat4;
15
15
 
16
16
  class DefaultMatrixAllocate {
17
- pools=[];
17
+ constructor() {
18
+ this.pools = [];
19
+ }
18
20
  allocate(a, b, c, d, e, f) {
19
21
  if (!this.pools.length) return new vutils_1.Matrix(a, b, c, d, e, f);
20
22
  const m = this.pools.pop();
@@ -40,7 +42,9 @@ class DefaultMatrixAllocate {
40
42
  exports.DefaultMatrixAllocate = DefaultMatrixAllocate;
41
43
 
42
44
  class DefaultMat4Allocate {
43
- pools=[];
45
+ constructor() {
46
+ this.pools = [];
47
+ }
44
48
  static identity(out) {
45
49
  return out[0] = 1, out[1] = 0, out[2] = 0, out[3] = 0, out[4] = 0, out[5] = 1, out[6] = 0,
46
50
  out[7] = 0, out[8] = 0, out[9] = 0, out[10] = 1, out[11] = 0, out[12] = 0, out[13] = 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/allocator/matrix-allocate.ts"],"names":[],"mappings":"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","file":"matrix-allocate.js","sourcesContent":["import type { IMatrix, IMatrixLike } from '@visactor/vutils';\nimport { Matrix } from '@visactor/vutils';\nimport type { mat4, Releaseable, IAllocate } from '../interface';\n\nexport const MatrixAllocate = Symbol.for('MatrixAllocate');\nexport const Mat4Allocate = Symbol.for('Mat4Allocate');\n\nexport function createMat4(): mat4 {\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n}\n\nexport class DefaultMatrixAllocate implements IAllocate<IMatrix>, Releaseable {\n protected pools: IMatrix[] = [];\n allocate(a: number, b: number, c: number, d: number, e: number, f: number): IMatrix {\n if (!this.pools.length) {\n return new Matrix(a, b, c, d, e, f);\n }\n const m = this.pools.pop() as any;\n m.a = a;\n m.b = b;\n m.c = c;\n m.d = d;\n m.e = e;\n m.f = f;\n return m;\n }\n allocateByObj(matrix: IMatrixLike): IMatrix {\n if (!this.pools.length) {\n return new Matrix(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n }\n const m = this.pools.pop() as any;\n m.a = matrix.a;\n m.b = matrix.b;\n m.c = matrix.c;\n m.d = matrix.d;\n m.e = matrix.e;\n m.f = matrix.f;\n return m;\n }\n free(d: Matrix) {\n this.pools.push(d);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport class DefaultMat4Allocate implements IAllocate<mat4>, Releaseable {\n protected pools: mat4[] = [];\n\n static identity(out: mat4) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n }\n\n allocate(): mat4 {\n if (!this.pools.length) {\n return createMat4();\n }\n const m = this.pools.pop() as mat4;\n DefaultMat4Allocate.identity(m);\n return m;\n }\n allocateByObj(d: mat4): mat4 {\n let m: mat4;\n if (!this.pools.length) {\n m = createMat4();\n } else {\n m = this.pools.pop() as mat4;\n }\n for (let i = 0; i < m.length; i++) {\n m[i] = d[i];\n }\n return m;\n }\n free(m: mat4) {\n m && this.pools.push(m);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const matrixAllocate = new DefaultMatrixAllocate();\nexport const mat4Allocate = new DefaultMat4Allocate();\n"]}
1
+ {"version":3,"sources":["../src/allocator/matrix-allocate.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAG7B,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC9C,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAEvD,SAAgB,UAAU;IACxB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,gCAEC;AAED,MAAa,qBAAqB;IAAlC;QACY,UAAK,GAAc,EAAE,CAAC;IAoClC,CAAC;IAnCC,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QACvE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACrC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;QAClC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACR,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,MAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/E;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;QAClC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAS;QACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AArCD,sDAqCC;AAED,MAAa,mBAAmB;IAAhC;QACY,UAAK,GAAW,EAAE,CAAC;IAmD/B,CAAC;IAjDC,MAAM,CAAC,QAAQ,CAAC,GAAS;QACvB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,OAAO,UAAU,EAAE,CAAC;SACrB;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAU,CAAC;QACnC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,aAAa,CAAC,CAAO;QACnB,IAAI,CAAO,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,CAAC,GAAG,UAAU,EAAE,CAAC;SAClB;aAAM;YACL,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAU,CAAC;SAC9B;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACb;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAO;QACV,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,MAAW;QACpB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;CACF;AApDD,kDAoDC;AAEY,QAAA,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC7C,QAAA,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC","file":"matrix-allocate.js","sourcesContent":["import type { IMatrix, IMatrixLike } from '@visactor/vutils';\nimport { Matrix } from '@visactor/vutils';\nimport type { mat4, Releaseable, IAllocate } from '../interface';\n\nexport const MatrixAllocate = Symbol.for('MatrixAllocate');\nexport const Mat4Allocate = Symbol.for('Mat4Allocate');\n\nexport function createMat4(): mat4 {\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n}\n\nexport class DefaultMatrixAllocate implements IAllocate<IMatrix>, Releaseable {\n protected pools: IMatrix[] = [];\n allocate(a: number, b: number, c: number, d: number, e: number, f: number): IMatrix {\n if (!this.pools.length) {\n return new Matrix(a, b, c, d, e, f);\n }\n const m = this.pools.pop() as any;\n m.a = a;\n m.b = b;\n m.c = c;\n m.d = d;\n m.e = e;\n m.f = f;\n return m;\n }\n allocateByObj(matrix: IMatrixLike): IMatrix {\n if (!this.pools.length) {\n return new Matrix(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n }\n const m = this.pools.pop() as any;\n m.a = matrix.a;\n m.b = matrix.b;\n m.c = matrix.c;\n m.d = matrix.d;\n m.e = matrix.e;\n m.f = matrix.f;\n return m;\n }\n free(d: Matrix) {\n this.pools.push(d);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport class DefaultMat4Allocate implements IAllocate<mat4>, Releaseable {\n protected pools: mat4[] = [];\n\n static identity(out: mat4) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n }\n\n allocate(): mat4 {\n if (!this.pools.length) {\n return createMat4();\n }\n const m = this.pools.pop() as mat4;\n DefaultMat4Allocate.identity(m);\n return m;\n }\n allocateByObj(d: mat4): mat4 {\n let m: mat4;\n if (!this.pools.length) {\n m = createMat4();\n } else {\n m = this.pools.pop() as mat4;\n }\n for (let i = 0; i < m.length; i++) {\n m[i] = d[i];\n }\n return m;\n }\n free(m: mat4) {\n m && this.pools.push(m);\n }\n get length(): number {\n return this.pools.length;\n }\n release(...params: any): void {\n this.pools = [];\n }\n}\n\nexport const matrixAllocate = new DefaultMatrixAllocate();\nexport const mat4Allocate = new DefaultMat4Allocate();\n"]}
@@ -7,8 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vutils_1 = require("@visactor/vutils"), application_1 = require("../../application");
8
8
 
9
9
  class ManualTickHandler {
10
- timerId;
11
- time=0;
10
+ constructor() {
11
+ this.time = 0;
12
+ }
12
13
  static Avaliable() {
13
14
  return !0;
14
15
  }
@@ -36,7 +37,6 @@ class ManualTickHandler {
36
37
  exports.ManualTickHandler = ManualTickHandler;
37
38
 
38
39
  class TimeOutTickHandler {
39
- timerId;
40
40
  static Avaliable() {
41
41
  return !0;
42
42
  }
@@ -59,7 +59,6 @@ class TimeOutTickHandler {
59
59
  exports.TimeOutTickHandler = TimeOutTickHandler;
60
60
 
61
61
  class RAFTickHandler {
62
- released;
63
62
  static Avaliable() {
64
63
  return !!application_1.application.global.getRequestAnimationFrame();
65
64
  }
@@ -87,14 +86,6 @@ exports.RAFTickHandler = RAFTickHandler, function(STATUS) {
87
86
  }(STATUS || (STATUS = {}));
88
87
 
89
88
  class DefaultTicker {
90
- interval;
91
- tickerHandler;
92
- _mode;
93
- status;
94
- lastFrameTime;
95
- tickCounts;
96
- timelines;
97
- autoStop;
98
89
  set mode(m) {
99
90
  this._mode !== m && (this._mode = m, this.setupTickHandler());
100
91
  }
@@ -102,7 +93,17 @@ class DefaultTicker {
102
93
  return this._mode;
103
94
  }
104
95
  constructor(timelines = []) {
105
- this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.timelines = timelines,
96
+ this.handleTick = (handler, params) => {
97
+ const {once: once = !1} = null != params ? params : {};
98
+ this.ifCanStop() ? this.stop() : (this._handlerTick(handler), once || handler.tick(this.interval, this.handleTick));
99
+ }, this._handlerTick = handler => {
100
+ const time = this.tickerHandler.getTime();
101
+ let delta = 0;
102
+ this.lastFrameTime >= 0 && (delta = time - this.lastFrameTime), this.lastFrameTime = time,
103
+ this.status === STATUS.RUNNING && (this.tickCounts++, this.timelines.forEach((t => {
104
+ t.tick(delta);
105
+ })));
106
+ }, this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.timelines = timelines,
106
107
  this.autoStop = !0;
107
108
  }
108
109
  init() {
@@ -208,18 +209,6 @@ class DefaultTicker {
208
209
  stop() {
209
210
  this.status = STATUS.INITIAL, this.setupTickHandler(), this.lastFrameTime = -1;
210
211
  }
211
- handleTick=(handler, params) => {
212
- const {once: once = !1} = params ?? {};
213
- this.ifCanStop() ? this.stop() : (this._handlerTick(handler), once || handler.tick(this.interval, this.handleTick));
214
- };
215
- _handlerTick=handler => {
216
- const time = this.tickerHandler.getTime();
217
- let delta = 0;
218
- this.lastFrameTime >= 0 && (delta = time - this.lastFrameTime), this.lastFrameTime = time,
219
- this.status === STATUS.RUNNING && (this.tickCounts++, this.timelines.forEach((t => {
220
- t.tick(delta);
221
- })));
222
- };
223
212
  }
224
213
 
225
214
  exports.DefaultTicker = DefaultTicker;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animate/Ticker/default-ticker.ts"],"names":[],"mappings":"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","file":"default-ticker.js","sourcesContent":["import { Logger } from '@visactor/vutils';\nimport type { ITickHandler, ITickerHandlerStatic, ITimeline, ITicker } from '../../interface';\nimport { application } from '../../application';\nexport class ManualTickHandler implements ITickHandler {\n protected timerId: number;\n protected time: number = 0;\n\n static Avaliable(): boolean {\n return true;\n }\n\n avaliable(): boolean {\n return ManualTickHandler.Avaliable();\n }\n\n tick(interval: number, cb: (handler: ITickHandler, params?: { once: boolean }) => void): void {\n this.time = Math.max(0, interval + this.time);\n cb(this, { once: true });\n }\n\n tickTo(t: number, cb: (handler: ITickHandler, params?: { once: boolean }) => void): void {\n this.time = Math.max(0, t);\n cb(this, { once: true });\n }\n\n release() {\n if (this.timerId > 0) {\n // clearTimeout(this.timerId);\n this.timerId = -1;\n }\n }\n\n getTime() {\n return this.time;\n }\n}\n\nexport class TimeOutTickHandler implements ITickHandler {\n protected timerId: number;\n\n static Avaliable(): boolean {\n return true;\n }\n\n avaliable(): boolean {\n return TimeOutTickHandler.Avaliable();\n }\n\n tick(interval: number, cb: (handler: ITickHandler) => void): void {\n this.timerId = setTimeout(() => {\n cb(this);\n }, interval) as unknown as number;\n }\n\n release() {\n if (this.timerId > 0) {\n clearTimeout(this.timerId);\n this.timerId = -1;\n }\n }\n getTime() {\n return Date.now();\n }\n}\n\nexport class RAFTickHandler implements ITickHandler {\n protected released: boolean;\n\n static Avaliable(): boolean {\n return !!application.global.getRequestAnimationFrame();\n }\n avaliable(): boolean {\n return RAFTickHandler.Avaliable();\n }\n\n tick(interval: number, cb: (handler: ITickHandler) => void): void {\n const raf = application.global.getRequestAnimationFrame();\n raf(() => {\n if (this.released) {\n return;\n }\n cb(this);\n });\n }\n\n release() {\n this.released = true;\n }\n getTime() {\n return Date.now();\n }\n}\n\ntype TickerMode = 'raf' | 'timeout' | 'manual';\n\nenum STATUS {\n INITIAL = 0, // initial表示初始状态\n RUNNING = 1, // running表示正在执行\n PAUSE = 2 // PULSE表示tick还是继续,只是不执行函数了\n}\n\nexport class DefaultTicker implements ITicker {\n protected interval: number;\n protected tickerHandler: ITickHandler;\n protected _mode: TickerMode;\n protected status: STATUS;\n protected lastFrameTime: number;\n protected tickCounts: number;\n protected timelines: ITimeline[];\n autoStop: boolean;\n\n set mode(m: TickerMode) {\n if (this._mode === m) {\n return;\n }\n this._mode = m;\n this.setupTickHandler();\n }\n get mode(): TickerMode {\n return this._mode;\n }\n\n constructor(timelines: ITimeline[] = []) {\n this.init();\n this.lastFrameTime = -1;\n this.tickCounts = 0;\n this.timelines = timelines;\n this.autoStop = true;\n }\n\n init() {\n this.interval = NaN;\n this.status = STATUS.INITIAL;\n application.global.hooks.onSetEnv.tap('default-ticker', () => {\n this.initHandler();\n });\n if (application.global.env) {\n this.initHandler();\n }\n }\n\n addTimeline(timeline: ITimeline) {\n this.timelines.push(timeline);\n }\n remTimeline(timeline: ITimeline) {\n this.timelines = this.timelines.filter(t => t !== timeline);\n }\n\n protected initHandler(): ITickHandler | null {\n if (this._mode) {\n return null;\n }\n const ticks: { mode: TickerMode; cons: ITickerHandlerStatic }[] = [\n { mode: 'raf', cons: RAFTickHandler },\n { mode: 'timeout', cons: TimeOutTickHandler },\n { mode: 'manual', cons: ManualTickHandler }\n ];\n for (let i = 0; i < ticks.length; i++) {\n if (ticks[i].cons.Avaliable()) {\n this.mode = ticks[i].mode;\n break;\n }\n }\n return null;\n }\n\n /**\n * 设置tickHandler\n * @returns 返回true表示设置成功,false表示设置失败\n */\n protected setupTickHandler(): boolean {\n let handler: ITickHandler;\n // 创建下一个tickHandler\n switch (this._mode) {\n case 'raf':\n handler = new RAFTickHandler();\n break;\n case 'timeout':\n handler = new TimeOutTickHandler();\n break;\n case 'manual':\n handler = new ManualTickHandler();\n break;\n default:\n Logger.getInstance().warn('非法的计时器模式');\n handler = new RAFTickHandler();\n break;\n }\n if (!handler.avaliable()) {\n return false;\n }\n\n // 销毁上一个tickerHandler\n if (this.tickerHandler) {\n this.tickerHandler.release();\n }\n this.tickerHandler = handler;\n return true;\n }\n\n setInterval(interval: number) {\n this.interval = interval;\n }\n getInterval(): number {\n return this.interval;\n }\n\n setFPS(fps: number): void {\n this.setInterval(1000 / fps);\n }\n getFPS(): number {\n return 1000 / this.interval;\n }\n tick(interval: number): void {\n this.tickerHandler.tick(interval, (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n tickTo(t: number): void {\n if (!this.tickerHandler.tickTo) {\n return;\n }\n this.tickerHandler.tickTo(t, (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n pause(): boolean {\n if (this.status === STATUS.INITIAL) {\n return false;\n }\n this.status = STATUS.PAUSE;\n return true;\n }\n resume(): boolean {\n if (this.status === STATUS.INITIAL) {\n return false;\n }\n this.status = STATUS.RUNNING;\n return true;\n }\n\n ifCanStop(): boolean {\n if (this.autoStop) {\n if (!this.timelines.length) {\n return true;\n }\n if (this.timelines.reduce((a, b) => a + b.animateCount, 0) === 0) {\n return true;\n }\n }\n return false;\n }\n\n start(force: boolean = false): boolean {\n if (this.status === STATUS.RUNNING) {\n return false;\n }\n if (!this.tickerHandler) {\n return false;\n }\n // 如果不需要start,那就不start\n if (!force) {\n // 暂停状态不执行\n if (this.status === STATUS.PAUSE) {\n return false;\n }\n if (!this.timelines.length) {\n return false;\n }\n if (this.timelines.reduce((a, b) => a + b.animateCount, 0) === 0) {\n return false;\n }\n }\n this.status = STATUS.RUNNING;\n this.tickerHandler.tick(0, this.handleTick);\n return true;\n }\n stop(): void {\n // 重新设置tickHandler\n this.status = STATUS.INITIAL;\n this.setupTickHandler();\n this.lastFrameTime = -1;\n }\n\n protected handleTick = (handler: ITickHandler, params?: { once?: boolean }) => {\n const { once = false } = params ?? {};\n // 尝试停止\n if (this.ifCanStop()) {\n this.stop();\n return;\n }\n this._handlerTick(handler);\n if (!once) {\n handler.tick(this.interval, this.handleTick);\n }\n };\n\n protected _handlerTick = (handler: ITickHandler) => {\n // 具体执行函数\n const tickerHandler = this.tickerHandler;\n const time = tickerHandler.getTime();\n // 上一帧经过的时间\n let delta = 0;\n if (this.lastFrameTime >= 0) {\n delta = time - this.lastFrameTime;\n }\n this.lastFrameTime = time;\n\n if (this.status !== STATUS.RUNNING) {\n return;\n }\n this.tickCounts++;\n\n this.timelines.forEach(t => {\n t.tick(delta);\n });\n };\n}\n\nexport class ManualTicker extends DefaultTicker implements ITicker {\n protected declare interval: number;\n protected declare tickerHandler: ITickHandler;\n protected declare _mode: TickerMode;\n protected declare status: STATUS;\n protected declare lastFrameTime: number;\n protected declare tickCounts: number;\n protected declare timelines: ITimeline[];\n declare autoStop: boolean;\n\n set mode(m: TickerMode) {\n m = 'manual';\n this.setupTickHandler();\n }\n get mode(): TickerMode {\n return this._mode;\n }\n\n protected initHandler(): ITickHandler | null {\n this.mode = 'manual';\n return null;\n }\n\n /**\n * 设置tickHandler\n * @returns 返回true表示设置成功,false表示设置失败\n */\n protected setupTickHandler(): boolean {\n const handler: ITickHandler = new ManualTickHandler();\n this._mode = 'manual';\n\n // 销毁上一个tickerHandler\n if (this.tickerHandler) {\n this.tickerHandler.release();\n }\n this.tickerHandler = handler;\n return true;\n }\n\n tickAt(time: number) {\n this.tickerHandler.tick(time - this.lastFrameTime, (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n\n ifCanStop(): boolean {\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/animate/Ticker/default-ticker.ts"],"names":[],"mappings":"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","file":"default-ticker.js","sourcesContent":["import { Logger } from '@visactor/vutils';\nimport type { ITickHandler, ITickerHandlerStatic, ITimeline, ITicker } from '../../interface';\nimport { application } from '../../application';\nexport class ManualTickHandler implements ITickHandler {\n protected timerId: number;\n protected time: number = 0;\n\n static Avaliable(): boolean {\n return true;\n }\n\n avaliable(): boolean {\n return ManualTickHandler.Avaliable();\n }\n\n tick(interval: number, cb: (handler: ITickHandler, params?: { once: boolean }) => void): void {\n this.time = Math.max(0, interval + this.time);\n cb(this, { once: true });\n }\n\n tickTo(t: number, cb: (handler: ITickHandler, params?: { once: boolean }) => void): void {\n this.time = Math.max(0, t);\n cb(this, { once: true });\n }\n\n release() {\n if (this.timerId > 0) {\n // clearTimeout(this.timerId);\n this.timerId = -1;\n }\n }\n\n getTime() {\n return this.time;\n }\n}\n\nexport class TimeOutTickHandler implements ITickHandler {\n protected timerId: number;\n\n static Avaliable(): boolean {\n return true;\n }\n\n avaliable(): boolean {\n return TimeOutTickHandler.Avaliable();\n }\n\n tick(interval: number, cb: (handler: ITickHandler) => void): void {\n this.timerId = setTimeout(() => {\n cb(this);\n }, interval) as unknown as number;\n }\n\n release() {\n if (this.timerId > 0) {\n clearTimeout(this.timerId);\n this.timerId = -1;\n }\n }\n getTime() {\n return Date.now();\n }\n}\n\nexport class RAFTickHandler implements ITickHandler {\n protected released: boolean;\n\n static Avaliable(): boolean {\n return !!application.global.getRequestAnimationFrame();\n }\n avaliable(): boolean {\n return RAFTickHandler.Avaliable();\n }\n\n tick(interval: number, cb: (handler: ITickHandler) => void): void {\n const raf = application.global.getRequestAnimationFrame();\n raf(() => {\n if (this.released) {\n return;\n }\n cb(this);\n });\n }\n\n release() {\n this.released = true;\n }\n getTime() {\n return Date.now();\n }\n}\n\ntype TickerMode = 'raf' | 'timeout' | 'manual';\n\nenum STATUS {\n INITIAL = 0, // initial表示初始状态\n RUNNING = 1, // running表示正在执行\n PAUSE = 2 // PULSE表示tick还是继续,只是不执行函数了\n}\n\nexport class DefaultTicker implements ITicker {\n protected interval: number;\n protected tickerHandler: ITickHandler;\n protected _mode: TickerMode;\n protected status: STATUS;\n protected lastFrameTime: number;\n protected tickCounts: number;\n protected timelines: ITimeline[];\n autoStop: boolean;\n\n set mode(m: TickerMode) {\n if (this._mode === m) {\n return;\n }\n this._mode = m;\n this.setupTickHandler();\n }\n get mode(): TickerMode {\n return this._mode;\n }\n\n constructor(timelines: ITimeline[] = []) {\n this.init();\n this.lastFrameTime = -1;\n this.tickCounts = 0;\n this.timelines = timelines;\n this.autoStop = true;\n }\n\n init() {\n this.interval = NaN;\n this.status = STATUS.INITIAL;\n application.global.hooks.onSetEnv.tap('default-ticker', () => {\n this.initHandler();\n });\n if (application.global.env) {\n this.initHandler();\n }\n }\n\n addTimeline(timeline: ITimeline) {\n this.timelines.push(timeline);\n }\n remTimeline(timeline: ITimeline) {\n this.timelines = this.timelines.filter(t => t !== timeline);\n }\n\n protected initHandler(): ITickHandler | null {\n if (this._mode) {\n return null;\n }\n const ticks: { mode: TickerMode; cons: ITickerHandlerStatic }[] = [\n { mode: 'raf', cons: RAFTickHandler },\n { mode: 'timeout', cons: TimeOutTickHandler },\n { mode: 'manual', cons: ManualTickHandler }\n ];\n for (let i = 0; i < ticks.length; i++) {\n if (ticks[i].cons.Avaliable()) {\n this.mode = ticks[i].mode;\n break;\n }\n }\n return null;\n }\n\n /**\n * 设置tickHandler\n * @returns 返回true表示设置成功,false表示设置失败\n */\n protected setupTickHandler(): boolean {\n let handler: ITickHandler;\n // 创建下一个tickHandler\n switch (this._mode) {\n case 'raf':\n handler = new RAFTickHandler();\n break;\n case 'timeout':\n handler = new TimeOutTickHandler();\n break;\n case 'manual':\n handler = new ManualTickHandler();\n break;\n default:\n Logger.getInstance().warn('非法的计时器模式');\n handler = new RAFTickHandler();\n break;\n }\n if (!handler.avaliable()) {\n return false;\n }\n\n // 销毁上一个tickerHandler\n if (this.tickerHandler) {\n this.tickerHandler.release();\n }\n this.tickerHandler = handler;\n return true;\n }\n\n setInterval(interval: number) {\n this.interval = interval;\n }\n getInterval(): number {\n return this.interval;\n }\n\n setFPS(fps: number): void {\n this.setInterval(1000 / fps);\n }\n getFPS(): number {\n return 1000 / this.interval;\n }\n tick(interval: number): void {\n this.tickerHandler.tick(interval, (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n tickTo(t: number): void {\n if (!this.tickerHandler.tickTo) {\n return;\n }\n this.tickerHandler.tickTo(t, (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n pause(): boolean {\n if (this.status === STATUS.INITIAL) {\n return false;\n }\n this.status = STATUS.PAUSE;\n return true;\n }\n resume(): boolean {\n if (this.status === STATUS.INITIAL) {\n return false;\n }\n this.status = STATUS.RUNNING;\n return true;\n }\n\n ifCanStop(): boolean {\n if (this.autoStop) {\n if (!this.timelines.length) {\n return true;\n }\n if (this.timelines.reduce((a, b) => a + b.animateCount, 0) === 0) {\n return true;\n }\n }\n return false;\n }\n\n start(force: boolean = false): boolean {\n if (this.status === STATUS.RUNNING) {\n return false;\n }\n if (!this.tickerHandler) {\n return false;\n }\n // 如果不需要start,那就不start\n if (!force) {\n // 暂停状态不执行\n if (this.status === STATUS.PAUSE) {\n return false;\n }\n if (!this.timelines.length) {\n return false;\n }\n if (this.timelines.reduce((a, b) => a + b.animateCount, 0) === 0) {\n return false;\n }\n }\n this.status = STATUS.RUNNING;\n this.tickerHandler.tick(0, this.handleTick);\n return true;\n }\n stop(): void {\n // 重新设置tickHandler\n this.status = STATUS.INITIAL;\n this.setupTickHandler();\n this.lastFrameTime = -1;\n }\n\n protected handleTick = (handler: ITickHandler, params?: { once?: boolean }) => {\n const { once = false } = params ?? {};\n // 尝试停止\n if (this.ifCanStop()) {\n this.stop();\n return;\n }\n this._handlerTick(handler);\n if (!once) {\n handler.tick(this.interval, this.handleTick);\n }\n };\n\n protected _handlerTick = (handler: ITickHandler) => {\n // 具体执行函数\n const tickerHandler = this.tickerHandler;\n const time = tickerHandler.getTime();\n // 上一帧经过的时间\n let delta = 0;\n if (this.lastFrameTime >= 0) {\n delta = time - this.lastFrameTime;\n }\n this.lastFrameTime = time;\n\n if (this.status !== STATUS.RUNNING) {\n return;\n }\n this.tickCounts++;\n\n this.timelines.forEach(t => {\n t.tick(delta);\n });\n };\n}\n\nexport class ManualTicker extends DefaultTicker implements ITicker {\n protected declare interval: number;\n protected declare tickerHandler: ITickHandler;\n protected declare _mode: TickerMode;\n protected declare status: STATUS;\n protected declare lastFrameTime: number;\n protected declare tickCounts: number;\n protected declare timelines: ITimeline[];\n declare autoStop: boolean;\n\n set mode(m: TickerMode) {\n m = 'manual';\n this.setupTickHandler();\n }\n get mode(): TickerMode {\n return this._mode;\n }\n\n protected initHandler(): ITickHandler | null {\n this.mode = 'manual';\n return null;\n }\n\n /**\n * 设置tickHandler\n * @returns 返回true表示设置成功,false表示设置失败\n */\n protected setupTickHandler(): boolean {\n const handler: ITickHandler = new ManualTickHandler();\n this._mode = 'manual';\n\n // 销毁上一个tickerHandler\n if (this.tickerHandler) {\n this.tickerHandler.release();\n }\n this.tickerHandler = handler;\n return true;\n }\n\n tickAt(time: number) {\n this.tickerHandler.tick(time - this.lastFrameTime, (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n\n ifCanStop(): boolean {\n return false;\n }\n}\n"]}
@@ -23,9 +23,10 @@ class ACustomAnimate {
23
23
  return this.from;
24
24
  }
25
25
  getMergedEndProps() {
26
+ var _a;
26
27
  const thisEndProps = this.getEndProps();
27
28
  return thisEndProps ? this._endProps === thisEndProps ? this._mergedEndProps : (this._endProps = thisEndProps,
28
- void (this._mergedEndProps = Object.assign({}, this.step.prev.getLastProps() ?? {}, thisEndProps))) : this.step.prev ? this.step.prev.getLastProps() : thisEndProps;
29
+ void (this._mergedEndProps = Object.assign({}, null !== (_a = this.step.prev.getLastProps()) && void 0 !== _a ? _a : {}, thisEndProps))) : this.step.prev ? this.step.prev.getLastProps() : thisEndProps;
29
30
  }
30
31
  update(end, ratio, out) {
31
32
  if (0 === this.updateCount) {
@@ -42,7 +43,6 @@ class ACustomAnimate {
42
43
  exports.ACustomAnimate = ACustomAnimate;
43
44
 
44
45
  class CbAnimate extends ACustomAnimate {
45
- cb;
46
46
  constructor(cb) {
47
47
  super(null, null, 0, "linear"), this.cb = cb;
48
48
  }
@@ -55,8 +55,6 @@ class CbAnimate extends ACustomAnimate {
55
55
  exports.CbAnimate = CbAnimate;
56
56
 
57
57
  class Animate {
58
- static mode=enums_1.AnimateMode.NORMAL;
59
- static interpolateMap=new Map;
60
58
  constructor(id = generator_1.Generator.GenAutoIncrementId(), timeline = timeline_1.defaultTimeline) {
61
59
  this.id = id, this.timeline = timeline, this.status = enums_1.AnimateStatus.INITIAL,
62
60
  this.tailAnimate = new SubAnimate(this), this.subAnimates = [ this.tailAnimate ],
@@ -235,7 +233,7 @@ class Animate {
235
233
  }
236
234
  }
237
235
 
238
- exports.Animate = Animate;
236
+ exports.Animate = Animate, Animate.mode = enums_1.AnimateMode.NORMAL, Animate.interpolateMap = new Map;
239
237
 
240
238
  class SubAnimate {
241
239
  get totalDuration() {
@@ -279,7 +277,8 @@ class SubAnimate {
279
277
  return t < 0 && (t = 0), this._startAt = t, this;
280
278
  }
281
279
  getStartProps() {
282
- return this.stepHead?.props;
280
+ var _a;
281
+ return null === (_a = this.stepHead) || void 0 === _a ? void 0 : _a.props;
283
282
  }
284
283
  getEndProps() {
285
284
  return this.stepTail.props;
@@ -322,9 +321,10 @@ class SubAnimate {
322
321
  step.customAnimate = customAnimate, customAnimate.step = step, customAnimate.bind(this.target, this);
323
322
  }
324
323
  setPosition(rawPosition) {
324
+ var _a;
325
325
  const d = this.duration, loopCount = this.loop, prevRawPos = this.rawPosition;
326
326
  let loop, position, end = !1;
327
- const startAt = this._startAt ?? 0;
327
+ const startAt = null !== (_a = this._startAt) && void 0 !== _a ? _a : 0;
328
328
  if (rawPosition < 0 && (rawPosition = 0), rawPosition < startAt) return this.rawPosition = rawPosition,
329
329
  !1;
330
330
  if (rawPosition -= startAt, d <= 0) return end = !0, end;
@@ -382,7 +382,6 @@ class SubAnimate {
382
382
  exports.SubAnimate = SubAnimate;
383
383
 
384
384
  class Step {
385
- type;
386
385
  constructor(position, duration, props, easing) {
387
386
  this.duration = duration, this.position = position, this.props = props, this.easing = easing;
388
387
  }