@visactor/vrender-core 0.22.11 → 0.22.12

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 (437) hide show
  1. package/cjs/animate/config.d.ts +1 -2
  2. package/cjs/animate/config.js +1 -5
  3. package/cjs/animate/config.js.map +1 -1
  4. package/cjs/application.d.ts +2 -1
  5. package/cjs/application.js.map +1 -1
  6. package/cjs/canvas/constants.js +1 -2
  7. package/cjs/canvas/empty-context.d.ts +1 -0
  8. package/cjs/canvas/empty-context.js +4 -0
  9. package/cjs/canvas/empty-context.js.map +1 -1
  10. package/cjs/color-string/interpolate.d.ts +1 -0
  11. package/cjs/color-string/interpolate.js +12 -4
  12. package/cjs/color-string/interpolate.js.map +1 -1
  13. package/cjs/color-string/store.js +2 -1
  14. package/cjs/common/custom-path2d.js +2 -2
  15. package/cjs/common/custom-path2d.js.map +1 -1
  16. package/cjs/common/diff.d.ts +1 -0
  17. package/cjs/common/diff.js +19 -0
  18. package/cjs/common/diff.js.map +1 -0
  19. package/cjs/common/enums.d.ts +0 -16
  20. package/cjs/common/enums.js +2 -11
  21. package/cjs/common/enums.js.map +1 -1
  22. package/cjs/common/morphing-utils.js +32 -124
  23. package/cjs/common/morphing-utils.js.map +1 -1
  24. package/cjs/common/performance-raf.d.ts +8 -0
  25. package/cjs/common/performance-raf.js +32 -0
  26. package/cjs/common/performance-raf.js.map +1 -0
  27. package/cjs/common/polygon.js +5 -2
  28. package/cjs/common/polygon.js.map +1 -1
  29. package/cjs/common/segment/curve/cubic-bezier.d.ts +1 -2
  30. package/cjs/common/segment/curve/cubic-bezier.js +3 -8
  31. package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
  32. package/cjs/common/segment/curve/quadratic-bezier.d.ts +1 -0
  33. package/cjs/common/segment/curve/quadratic-bezier.js +10 -3
  34. package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
  35. package/cjs/common/segment/index.d.ts +1 -0
  36. package/cjs/common/segment/index.js +1 -1
  37. package/cjs/common/segment/index.js.map +1 -1
  38. package/cjs/common/shape/arc.d.ts +1 -1
  39. package/cjs/common/shape/arc.js +7 -3
  40. package/cjs/common/shape/arc.js.map +1 -1
  41. package/cjs/common/simplify.js +1 -2
  42. package/cjs/common/sort.js +1 -1
  43. package/cjs/common/split-path.js +2 -2
  44. package/cjs/common/split-path.js.map +1 -1
  45. package/cjs/common/store.js +1 -1
  46. package/cjs/common/text.js +1 -1
  47. package/cjs/common/utils.d.ts +0 -2
  48. package/cjs/common/utils.js +5 -9
  49. package/cjs/common/utils.js.map +1 -1
  50. package/cjs/core/application.js +1 -1
  51. package/cjs/core/camera.js +1 -1
  52. package/cjs/core/global.d.ts +3 -0
  53. package/cjs/core/global.js +14 -3
  54. package/cjs/core/global.js.map +1 -1
  55. package/cjs/core/stage.d.ts +8 -3
  56. package/cjs/core/stage.js +34 -20
  57. package/cjs/core/stage.js.map +1 -1
  58. package/cjs/graphic/arc.d.ts +1 -2
  59. package/cjs/graphic/arc.js +3 -2
  60. package/cjs/graphic/arc.js.map +1 -1
  61. package/cjs/graphic/area.d.ts +1 -2
  62. package/cjs/graphic/area.js +4 -1
  63. package/cjs/graphic/area.js.map +1 -1
  64. package/cjs/graphic/circle.d.ts +1 -2
  65. package/cjs/graphic/circle.js +5 -2
  66. package/cjs/graphic/circle.js.map +1 -1
  67. package/cjs/graphic/config.js +2 -1
  68. package/cjs/graphic/config.js.map +1 -1
  69. package/cjs/graphic/graphic-service/graphic-module.js +1 -2
  70. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  71. package/cjs/graphic/graphic-service/graphic-service.js +2 -3
  72. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  73. package/cjs/graphic/graphic.d.ts +9 -12
  74. package/cjs/graphic/graphic.js +48 -105
  75. package/cjs/graphic/graphic.js.map +1 -1
  76. package/cjs/graphic/group.js +8 -8
  77. package/cjs/graphic/group.js.map +1 -1
  78. package/cjs/graphic/line.d.ts +1 -2
  79. package/cjs/graphic/line.js +5 -1
  80. package/cjs/graphic/line.js.map +1 -1
  81. package/cjs/graphic/rect.js +5 -2
  82. package/cjs/graphic/rect.js.map +1 -1
  83. package/cjs/graphic/richtext/icon.d.ts +1 -1
  84. package/cjs/graphic/richtext/icon.js.map +1 -1
  85. package/cjs/graphic/richtext/paragraph.js +2 -2
  86. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  87. package/cjs/graphic/star.d.ts +1 -2
  88. package/cjs/graphic/star.js +4 -2
  89. package/cjs/graphic/star.js.map +1 -1
  90. package/cjs/index.d.ts +2 -3
  91. package/cjs/index.js +14 -16
  92. package/cjs/index.js.map +1 -1
  93. package/cjs/interface/animate.d.ts +1 -160
  94. package/cjs/interface/animate.js +1 -4
  95. package/cjs/interface/animate.js.map +1 -1
  96. package/cjs/interface/animation/animate.d.ts +117 -0
  97. package/cjs/interface/animation/animate.js +10 -0
  98. package/cjs/interface/animation/animate.js.map +1 -0
  99. package/cjs/interface/animation/easing.d.ts +3 -0
  100. package/cjs/interface/animation/easing.js +6 -0
  101. package/cjs/interface/animation/easing.js.map +1 -0
  102. package/cjs/interface/animation/index.d.ts +5 -0
  103. package/cjs/{animate/Ticker → interface/animation}/index.js +3 -3
  104. package/cjs/interface/animation/index.js.map +1 -0
  105. package/cjs/interface/animation/ticker.d.ts +39 -0
  106. package/cjs/{animate/Ticker/type.js → interface/animation/ticker.js} +1 -1
  107. package/cjs/interface/animation/ticker.js.map +1 -0
  108. package/cjs/interface/animation/timeline.d.ts +17 -0
  109. package/cjs/interface/animation/timeline.js +6 -0
  110. package/cjs/interface/animation/timeline.js.map +1 -0
  111. package/cjs/interface/animation/type.d.ts +13 -0
  112. package/cjs/interface/animation/type.js +15 -0
  113. package/cjs/interface/animation/type.js.map +1 -0
  114. package/cjs/interface/context.d.ts +1 -0
  115. package/cjs/interface/context.js.map +1 -1
  116. package/cjs/interface/global.d.ts +2 -0
  117. package/cjs/interface/global.js.map +1 -1
  118. package/cjs/interface/graphic.d.ts +11 -3
  119. package/cjs/interface/graphic.js.map +1 -1
  120. package/cjs/interface/index.d.ts +1 -1
  121. package/cjs/interface/index.js +9 -9
  122. package/cjs/interface/index.js.map +1 -1
  123. package/cjs/interface/render.d.ts +7 -0
  124. package/cjs/interface/render.js.map +1 -1
  125. package/cjs/interface/stage.d.ts +4 -1
  126. package/cjs/interface/stage.js.map +1 -1
  127. package/cjs/modules.d.ts +2 -1
  128. package/cjs/modules.js +4 -3
  129. package/cjs/modules.js.map +1 -1
  130. package/cjs/plugins/builtin-plugin/auto-render-plugin.js +9 -8
  131. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  132. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +14 -11
  133. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  134. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +13 -10
  135. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  136. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +0 -1
  137. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  138. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -5
  139. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  140. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.d.ts +2 -2
  141. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +6 -5
  142. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  143. package/cjs/render/contributions/render/arc-render.d.ts +4 -2
  144. package/cjs/render/contributions/render/arc-render.js +19 -17
  145. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  146. package/cjs/render/contributions/render/area-render.js +2 -2
  147. package/cjs/render/contributions/render/area-render.js.map +1 -1
  148. package/cjs/render/contributions/render/base-render.d.ts +2 -2
  149. package/cjs/render/contributions/render/base-render.js +2 -2
  150. package/cjs/render/contributions/render/base-render.js.map +1 -1
  151. package/cjs/render/contributions/render/draw-contribution.d.ts +1 -0
  152. package/cjs/render/contributions/render/draw-contribution.js +23 -19
  153. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  154. package/cjs/render/contributions/render/draw-interceptor.js +2 -1
  155. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  156. package/cjs/render/contributions/render/group-render.d.ts +2 -2
  157. package/cjs/render/contributions/render/group-render.js +15 -11
  158. package/cjs/render/contributions/render/group-render.js.map +1 -1
  159. package/cjs/render/contributions/render/line-render.js +1 -1
  160. package/cjs/render/contributions/render/line-render.js.map +1 -1
  161. package/cjs/render/contributions/render/rect-render.d.ts +3 -1
  162. package/cjs/render/contributions/render/rect-render.js +17 -15
  163. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  164. package/cjs/render/contributions/render/symbol-render.d.ts +4 -2
  165. package/cjs/render/contributions/render/symbol-render.js +16 -11
  166. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  167. package/cjs/render/render-service.d.ts +1 -1
  168. package/cjs/render/render-service.js.map +1 -1
  169. package/dist/index.es.js +5990 -8837
  170. package/es/animate/config.d.ts +1 -2
  171. package/es/animate/config.js +0 -5
  172. package/es/animate/config.js.map +1 -1
  173. package/es/application.d.ts +2 -1
  174. package/es/application.js.map +1 -1
  175. package/es/canvas/constants.js +1 -2
  176. package/es/canvas/empty-context.d.ts +1 -0
  177. package/es/canvas/empty-context.js +4 -0
  178. package/es/canvas/empty-context.js.map +1 -1
  179. package/es/color-string/interpolate.d.ts +1 -0
  180. package/es/color-string/interpolate.js +8 -1
  181. package/es/color-string/interpolate.js.map +1 -1
  182. package/es/color-string/store.js +2 -1
  183. package/es/common/custom-path2d.js +2 -2
  184. package/es/common/custom-path2d.js.map +1 -1
  185. package/es/common/diff.d.ts +1 -0
  186. package/es/common/diff.js +11 -0
  187. package/es/common/diff.js.map +1 -0
  188. package/es/common/enums.d.ts +0 -16
  189. package/es/common/enums.js +0 -20
  190. package/es/common/enums.js.map +1 -1
  191. package/es/common/morphing-utils.js +29 -124
  192. package/es/common/morphing-utils.js.map +1 -1
  193. package/es/common/performance-raf.d.ts +8 -0
  194. package/es/common/performance-raf.js +24 -0
  195. package/es/common/performance-raf.js.map +1 -0
  196. package/es/common/polygon.js +6 -3
  197. package/es/common/polygon.js.map +1 -1
  198. package/es/common/segment/curve/cubic-bezier.d.ts +1 -2
  199. package/es/common/segment/curve/cubic-bezier.js +1 -8
  200. package/es/common/segment/curve/cubic-bezier.js.map +1 -1
  201. package/es/common/segment/curve/quadratic-bezier.d.ts +1 -0
  202. package/es/common/segment/curve/quadratic-bezier.js +5 -2
  203. package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
  204. package/es/common/segment/index.d.ts +1 -0
  205. package/es/common/segment/index.js +2 -0
  206. package/es/common/segment/index.js.map +1 -1
  207. package/es/common/shape/arc.d.ts +1 -1
  208. package/es/common/shape/arc.js +7 -3
  209. package/es/common/shape/arc.js.map +1 -1
  210. package/es/common/simplify.js +1 -2
  211. package/es/common/sort.js +1 -1
  212. package/es/common/split-path.js +2 -2
  213. package/es/common/split-path.js.map +1 -1
  214. package/es/common/store.js +1 -1
  215. package/es/common/text.js +1 -1
  216. package/es/common/utils.d.ts +0 -2
  217. package/es/common/utils.js +1 -5
  218. package/es/common/utils.js.map +1 -1
  219. package/es/core/application.js +1 -1
  220. package/es/core/camera.js +1 -1
  221. package/es/core/global.d.ts +3 -0
  222. package/es/core/global.js +15 -2
  223. package/es/core/global.js.map +1 -1
  224. package/es/core/stage.d.ts +8 -3
  225. package/es/core/stage.js +35 -22
  226. package/es/core/stage.js.map +1 -1
  227. package/es/graphic/arc.d.ts +1 -2
  228. package/es/graphic/arc.js +3 -2
  229. package/es/graphic/arc.js.map +1 -1
  230. package/es/graphic/area.d.ts +1 -2
  231. package/es/graphic/area.js +4 -1
  232. package/es/graphic/area.js.map +1 -1
  233. package/es/graphic/circle.d.ts +1 -2
  234. package/es/graphic/circle.js +4 -2
  235. package/es/graphic/circle.js.map +1 -1
  236. package/es/graphic/config.js +2 -1
  237. package/es/graphic/config.js.map +1 -1
  238. package/es/graphic/graphic-service/graphic-module.js +1 -1
  239. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  240. package/es/graphic/graphic-service/graphic-service.js +1 -4
  241. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  242. package/es/graphic/graphic.d.ts +9 -12
  243. package/es/graphic/graphic.js +52 -109
  244. package/es/graphic/graphic.js.map +1 -1
  245. package/es/graphic/group.js +7 -7
  246. package/es/graphic/group.js.map +1 -1
  247. package/es/graphic/line.d.ts +1 -2
  248. package/es/graphic/line.js +5 -1
  249. package/es/graphic/line.js.map +1 -1
  250. package/es/graphic/rect.js +5 -2
  251. package/es/graphic/rect.js.map +1 -1
  252. package/es/graphic/richtext/icon.d.ts +1 -1
  253. package/es/graphic/richtext/icon.js.map +1 -1
  254. package/es/graphic/richtext/paragraph.js +2 -2
  255. package/es/graphic/richtext/paragraph.js.map +1 -1
  256. package/es/graphic/star.d.ts +1 -2
  257. package/es/graphic/star.js +4 -2
  258. package/es/graphic/star.js.map +1 -1
  259. package/es/index.d.ts +2 -3
  260. package/es/index.js +4 -6
  261. package/es/index.js.map +1 -1
  262. package/es/interface/animate.d.ts +1 -160
  263. package/es/interface/animate.js +2 -1
  264. package/es/interface/animate.js.map +1 -1
  265. package/es/interface/animation/animate.d.ts +117 -0
  266. package/es/interface/animation/animate.js +6 -0
  267. package/es/interface/animation/animate.js.map +1 -0
  268. package/es/interface/animation/easing.d.ts +3 -0
  269. package/es/interface/animation/easing.js +2 -0
  270. package/es/interface/animation/easing.js.map +1 -0
  271. package/es/interface/animation/index.d.ts +5 -0
  272. package/es/interface/animation/index.js +10 -0
  273. package/es/interface/animation/index.js.map +1 -0
  274. package/es/interface/animation/ticker.d.ts +39 -0
  275. package/es/{animate/Ticker/type.js → interface/animation/ticker.js} +1 -1
  276. package/es/interface/animation/ticker.js.map +1 -0
  277. package/es/interface/animation/timeline.d.ts +17 -0
  278. package/es/interface/animation/timeline.js +2 -0
  279. package/es/interface/animation/timeline.js.map +1 -0
  280. package/es/interface/animation/type.d.ts +13 -0
  281. package/es/interface/animation/type.js +14 -0
  282. package/es/interface/animation/type.js.map +1 -0
  283. package/es/interface/context.d.ts +1 -0
  284. package/es/interface/context.js.map +1 -1
  285. package/es/interface/global.d.ts +2 -0
  286. package/es/interface/global.js.map +1 -1
  287. package/es/interface/graphic.d.ts +11 -3
  288. package/es/interface/graphic.js.map +1 -1
  289. package/es/interface/index.d.ts +1 -1
  290. package/es/interface/index.js +2 -2
  291. package/es/interface/index.js.map +1 -1
  292. package/es/interface/render.d.ts +7 -0
  293. package/es/interface/render.js.map +1 -1
  294. package/es/interface/stage.d.ts +4 -1
  295. package/es/interface/stage.js.map +1 -1
  296. package/es/modules.d.ts +2 -1
  297. package/es/modules.js +6 -0
  298. package/es/modules.js.map +1 -1
  299. package/es/plugins/builtin-plugin/auto-render-plugin.js +8 -8
  300. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  301. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +13 -12
  302. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  303. package/es/plugins/builtin-plugin/flex-layout-plugin.js +12 -11
  304. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  305. package/es/plugins/builtin-plugin/html-attribute-plugin.js +0 -1
  306. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  307. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -5
  308. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  309. package/es/plugins/builtin-plugin/richtext-edit-plugin.d.ts +2 -2
  310. package/es/plugins/builtin-plugin/richtext-edit-plugin.js +4 -5
  311. package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  312. package/es/render/contributions/render/arc-render.d.ts +4 -2
  313. package/es/render/contributions/render/arc-render.js +19 -17
  314. package/es/render/contributions/render/arc-render.js.map +1 -1
  315. package/es/render/contributions/render/area-render.js +2 -2
  316. package/es/render/contributions/render/area-render.js.map +1 -1
  317. package/es/render/contributions/render/base-render.d.ts +2 -2
  318. package/es/render/contributions/render/base-render.js +2 -2
  319. package/es/render/contributions/render/base-render.js.map +1 -1
  320. package/es/render/contributions/render/draw-contribution.d.ts +1 -0
  321. package/es/render/contributions/render/draw-contribution.js +23 -19
  322. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  323. package/es/render/contributions/render/draw-interceptor.js +2 -1
  324. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  325. package/es/render/contributions/render/group-render.d.ts +2 -2
  326. package/es/render/contributions/render/group-render.js +15 -11
  327. package/es/render/contributions/render/group-render.js.map +1 -1
  328. package/es/render/contributions/render/line-render.js +1 -1
  329. package/es/render/contributions/render/line-render.js.map +1 -1
  330. package/es/render/contributions/render/rect-render.d.ts +3 -1
  331. package/es/render/contributions/render/rect-render.js +17 -14
  332. package/es/render/contributions/render/rect-render.js.map +1 -1
  333. package/es/render/contributions/render/symbol-render.d.ts +4 -2
  334. package/es/render/contributions/render/symbol-render.js +16 -11
  335. package/es/render/contributions/render/symbol-render.js.map +1 -1
  336. package/es/render/render-service.d.ts +1 -1
  337. package/es/render/render-service.js.map +1 -1
  338. package/package.json +4 -4
  339. package/cjs/animate/Ticker/default-ticker.d.ts +0 -40
  340. package/cjs/animate/Ticker/default-ticker.js +0 -140
  341. package/cjs/animate/Ticker/default-ticker.js.map +0 -1
  342. package/cjs/animate/Ticker/index.d.ts +0 -5
  343. package/cjs/animate/Ticker/index.js.map +0 -1
  344. package/cjs/animate/Ticker/manual-ticker-handler.d.ts +0 -15
  345. package/cjs/animate/Ticker/manual-ticker-handler.js +0 -36
  346. package/cjs/animate/Ticker/manual-ticker-handler.js.map +0 -1
  347. package/cjs/animate/Ticker/manual-ticker.d.ts +0 -19
  348. package/cjs/animate/Ticker/manual-ticker.js +0 -37
  349. package/cjs/animate/Ticker/manual-ticker.js.map +0 -1
  350. package/cjs/animate/Ticker/raf-tick-handler.d.ts +0 -9
  351. package/cjs/animate/Ticker/raf-tick-handler.js +0 -30
  352. package/cjs/animate/Ticker/raf-tick-handler.js.map +0 -1
  353. package/cjs/animate/Ticker/timeout-tick-handler.d.ts +0 -9
  354. package/cjs/animate/Ticker/timeout-tick-handler.js +0 -28
  355. package/cjs/animate/Ticker/timeout-tick-handler.js.map +0 -1
  356. package/cjs/animate/Ticker/type.d.ts +0 -6
  357. package/cjs/animate/Ticker/type.js.map +0 -1
  358. package/cjs/animate/animate.d.ts +0 -147
  359. package/cjs/animate/animate.js +0 -403
  360. package/cjs/animate/animate.js.map +0 -1
  361. package/cjs/animate/custom-animate.d.ts +0 -236
  362. package/cjs/animate/custom-animate.js +0 -726
  363. package/cjs/animate/custom-animate.js.map +0 -1
  364. package/cjs/animate/default-ticker.d.ts +0 -2
  365. package/cjs/animate/default-ticker.js +0 -14
  366. package/cjs/animate/default-ticker.js.map +0 -1
  367. package/cjs/animate/easing-func.d.ts +0 -1
  368. package/cjs/animate/easing-func.js +0 -16
  369. package/cjs/animate/easing-func.js.map +0 -1
  370. package/cjs/animate/easing.d.ts +0 -49
  371. package/cjs/animate/easing.js +0 -141
  372. package/cjs/animate/easing.js.map +0 -1
  373. package/cjs/animate/group-fade.d.ts +0 -16
  374. package/cjs/animate/group-fade.js +0 -66
  375. package/cjs/animate/group-fade.js.map +0 -1
  376. package/cjs/animate/index.d.ts +0 -8
  377. package/cjs/animate/index.js +0 -24
  378. package/cjs/animate/index.js.map +0 -1
  379. package/cjs/animate/morphing.d.ts +0 -52
  380. package/cjs/animate/morphing.js +0 -292
  381. package/cjs/animate/morphing.js.map +0 -1
  382. package/cjs/animate/timeline.d.ts +0 -17
  383. package/cjs/animate/timeline.js +0 -46
  384. package/cjs/animate/timeline.js.map +0 -1
  385. package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.d.ts +0 -1
  386. package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.js +0 -3
  387. package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.js.map +0 -1
  388. package/es/animate/Ticker/default-ticker.d.ts +0 -40
  389. package/es/animate/Ticker/default-ticker.js +0 -138
  390. package/es/animate/Ticker/default-ticker.js.map +0 -1
  391. package/es/animate/Ticker/index.d.ts +0 -5
  392. package/es/animate/Ticker/index.js +0 -10
  393. package/es/animate/Ticker/index.js.map +0 -1
  394. package/es/animate/Ticker/manual-ticker-handler.d.ts +0 -15
  395. package/es/animate/Ticker/manual-ticker-handler.js +0 -28
  396. package/es/animate/Ticker/manual-ticker-handler.js.map +0 -1
  397. package/es/animate/Ticker/manual-ticker.d.ts +0 -19
  398. package/es/animate/Ticker/manual-ticker.js +0 -31
  399. package/es/animate/Ticker/manual-ticker.js.map +0 -1
  400. package/es/animate/Ticker/raf-tick-handler.d.ts +0 -9
  401. package/es/animate/Ticker/raf-tick-handler.js +0 -22
  402. package/es/animate/Ticker/raf-tick-handler.js.map +0 -1
  403. package/es/animate/Ticker/timeout-tick-handler.d.ts +0 -9
  404. package/es/animate/Ticker/timeout-tick-handler.js +0 -20
  405. package/es/animate/Ticker/timeout-tick-handler.js.map +0 -1
  406. package/es/animate/Ticker/type.d.ts +0 -6
  407. package/es/animate/Ticker/type.js.map +0 -1
  408. package/es/animate/animate.d.ts +0 -147
  409. package/es/animate/animate.js +0 -398
  410. package/es/animate/animate.js.map +0 -1
  411. package/es/animate/custom-animate.d.ts +0 -236
  412. package/es/animate/custom-animate.js +0 -703
  413. package/es/animate/custom-animate.js.map +0 -1
  414. package/es/animate/default-ticker.d.ts +0 -2
  415. package/es/animate/default-ticker.js +0 -12
  416. package/es/animate/default-ticker.js.map +0 -1
  417. package/es/animate/easing-func.d.ts +0 -1
  418. package/es/animate/easing-func.js +0 -10
  419. package/es/animate/easing-func.js.map +0 -1
  420. package/es/animate/easing.d.ts +0 -49
  421. package/es/animate/easing.js +0 -134
  422. package/es/animate/easing.js.map +0 -1
  423. package/es/animate/group-fade.d.ts +0 -16
  424. package/es/animate/group-fade.js +0 -56
  425. package/es/animate/group-fade.js.map +0 -1
  426. package/es/animate/index.d.ts +0 -8
  427. package/es/animate/index.js +0 -16
  428. package/es/animate/index.js.map +0 -1
  429. package/es/animate/morphing.d.ts +0 -52
  430. package/es/animate/morphing.js +0 -295
  431. package/es/animate/morphing.js.map +0 -1
  432. package/es/animate/timeline.d.ts +0 -17
  433. package/es/animate/timeline.js +0 -42
  434. package/es/animate/timeline.js.map +0 -1
  435. package/es/plugins/builtin-plugin/richtext-edit-plugin-old.d.ts +0 -1
  436. package/es/plugins/builtin-plugin/richtext-edit-plugin-old.js +0 -3
  437. package/es/plugins/builtin-plugin/richtext-edit-plugin-old.js.map +0 -1
@@ -8,6 +8,7 @@ export declare class DefaultGlobal extends EventListenerManager implements IGlob
8
8
  private _isSafari?;
9
9
  private _isChrome?;
10
10
  private _isImageAnonymous?;
11
+ private _performanceRAFList;
11
12
  get env(): EnvType;
12
13
  private envContribution;
13
14
  get isImageAnonymous(): boolean;
@@ -45,6 +46,8 @@ export declare class DefaultGlobal extends EventListenerManager implements IGlob
45
46
  createOffscreenCanvas(params: ICreateCanvasParams): any;
46
47
  releaseCanvas(canvas: HTMLCanvasElement | string | any): void;
47
48
  getRequestAnimationFrame(): (callback: FrameRequestCallback) => number;
49
+ getSpecifiedRequestAnimationFrame(id: number): (callback: FrameRequestCallback) => number;
50
+ getSpecifiedCancelAnimationFrame(id: number): (handle: number) => boolean;
48
51
  getCancelAnimationFrame(): (h: number) => void;
49
52
  getElementById(str: string): HTMLElement | null;
50
53
  getRootElement(): HTMLElement | null;
@@ -40,7 +40,7 @@ Object.defineProperty(exports, "__esModule", {
40
40
  value: !0
41
41
  }), exports.DefaultGlobal = void 0;
42
42
 
43
- const inversify_lite_1 = require("../common/inversify-lite"), contribution_provider_1 = require("../common/contribution-provider"), tapable_1 = require("../tapable"), constants_1 = require("../constants"), generator_1 = require("../common/generator"), event_listener_manager_1 = require("../common/event-listener-manager"), defaultEnv = "browser";
43
+ const inversify_lite_1 = require("../common/inversify-lite"), contribution_provider_1 = require("../common/contribution-provider"), tapable_1 = require("../tapable"), constants_1 = require("../constants"), generator_1 = require("../common/generator"), performance_raf_1 = require("../common/performance-raf"), event_listener_manager_1 = require("../common/event-listener-manager"), defaultEnv = "browser";
44
44
 
45
45
  let DefaultGlobal = class extends event_listener_manager_1.EventListenerManager {
46
46
  get env() {
@@ -86,8 +86,9 @@ let DefaultGlobal = class extends event_listener_manager_1.EventListenerManager
86
86
  this._env || this.setEnv("browser"), this.envContribution.applyStyles = support;
87
87
  }
88
88
  constructor(contributions) {
89
- super(), this.contributions = contributions, this._isImageAnonymous = !0, this.eventListenerTransformer = event => event,
90
- this.id = generator_1.Generator.GenAutoIncrementId(), this.hooks = {
89
+ super(), this.contributions = contributions, this._isImageAnonymous = !0, this._performanceRAFList = [],
90
+ this.eventListenerTransformer = event => event, this.id = generator_1.Generator.GenAutoIncrementId(),
91
+ this.hooks = {
91
92
  onSetEnv: new tapable_1.SyncHook([ "lastEnv", "env", "global" ])
92
93
  }, this.measureTextMethod = "native", this.optimizeVisible = !1;
93
94
  }
@@ -144,6 +145,16 @@ let DefaultGlobal = class extends event_listener_manager_1.EventListenerManager
144
145
  getRequestAnimationFrame() {
145
146
  return this._env || this.setEnv("browser"), this.envContribution.getRequestAnimationFrame();
146
147
  }
148
+ getSpecifiedRequestAnimationFrame(id) {
149
+ this._env || this.setEnv("browser"), this._performanceRAFList[id] || (this._performanceRAFList[id] = new performance_raf_1.PerformanceRAF);
150
+ const performanceRAF = this._performanceRAFList[id];
151
+ return callback => performanceRAF.addAnimationFrameCb(callback);
152
+ }
153
+ getSpecifiedCancelAnimationFrame(id) {
154
+ if (this._env || this.setEnv("browser"), !this._performanceRAFList[id]) return () => !1;
155
+ const performanceRAF = this._performanceRAFList[id];
156
+ return handle => performanceRAF.removeAnimationFrameCb(handle);
157
+ }
147
158
  getCancelAnimationFrame() {
148
159
  return this._env || this.setEnv("browser"), this.envContribution.getCancelAnimationFrame();
149
160
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/global.ts"],"names":[],"mappings":"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","file":"global.js","sourcesContent":["import { inject, injectable, named } from '../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../common/contribution-provider';\nimport type {\n CreateDOMParamsType,\n EnvType,\n IContributionProvider,\n ICreateCanvasParams,\n IEnvContribution,\n IEnvParamsMap,\n IGlobal,\n ISyncHook\n} from '../interface';\nimport { SyncHook } from '../tapable';\nimport { EnvContribution } from '../constants';\nimport type { IAABBBoundsLike } from '@visactor/vutils';\nimport { container } from '../container';\nimport { Generator } from '../common/generator';\nimport { EventListenerManager } from '../common/event-listener-manager';\n\nconst defaultEnv: EnvType = 'browser';\n@injectable()\nexport class DefaultGlobal extends EventListenerManager implements IGlobal {\n readonly id: number;\n private _env: EnvType;\n private _isSafari?: boolean;\n private _isChrome?: boolean;\n private _isImageAnonymous?: boolean = true;\n get env(): EnvType {\n return this._env;\n }\n private envContribution: IEnvContribution;\n\n get isImageAnonymous(): boolean {\n return this._isImageAnonymous;\n }\n\n set isImageAnonymous(isImageAnonymous: boolean) {\n this._isImageAnonymous = isImageAnonymous;\n }\n\n get devicePixelRatio(): number {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getDevicePixelRatio();\n }\n\n get supportEvent(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportEvent;\n }\n\n set supportEvent(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportEvent = support;\n }\n\n get supportsTouchEvents(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportsTouchEvents;\n }\n\n set supportsTouchEvents(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportsTouchEvents = support;\n }\n\n get supportsPointerEvents(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportsPointerEvents;\n }\n\n set supportsPointerEvents(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportsPointerEvents = support;\n }\n\n get supportsMouseEvents(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportsMouseEvents;\n }\n\n set supportsMouseEvents(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportsMouseEvents = support;\n }\n\n get applyStyles(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.applyStyles;\n }\n\n set applyStyles(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.applyStyles = support;\n }\n\n // 是否在不显示canvas的时候停止绘图操作,默认false\n optimizeVisible: boolean;\n\n envParams?: any;\n declare measureTextMethod: 'native' | 'simple' | 'quick';\n declare hooks: {\n onSetEnv: ISyncHook<[EnvType | undefined, EnvType, IGlobal]>;\n };\n\n // 事件监听器转换器,用于进行Event属性的转换,接收一个原生的Event,返回一个修改后的Event(默认不进行转换直接返回原始Event)\n // 注意返回的Event和原始的Event不是同一个对象,但也不能拷贝,返回的Event和原始Event是同一个Event类的实例(比如MouseEvent、FederatedPointerEvent等,不能直接拷贝或者用CustomEvent)\n eventListenerTransformer: (event: Event) => Event = event => event;\n\n constructor(\n // todo: 不需要创建,动态获取就行?\n @inject(ContributionProvider)\n @named(EnvContribution)\n protected readonly contributions: IContributionProvider<IEnvContribution>\n ) {\n super();\n this.id = Generator.GenAutoIncrementId();\n this.hooks = {\n onSetEnv: new SyncHook<[EnvType | undefined, EnvType, IGlobal]>(['lastEnv', 'env', 'global'])\n };\n this.measureTextMethod = 'native';\n this.optimizeVisible = false;\n }\n\n // Override from EventListenerManager\n protected _nativeAddEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.addEventListener(type, listener, options);\n }\n\n // Override from EventListenerManager\n protected _nativeRemoveEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.removeEventListener(type, listener, options);\n }\n\n // Override from EventListenerManager\n protected _nativeDispatchEvent(event: Event): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.dispatchEvent(event);\n }\n\n protected bindContribution(params?: any): void | Promise<any> {\n const promiseArr: any[] = [];\n this.contributions.getContributions().forEach(contribution => {\n const data = contribution.configure(this, params);\n if ((data as any) && (data as any).then) {\n promiseArr.push(data);\n }\n });\n if (promiseArr.length) {\n return Promise.all(promiseArr);\n }\n }\n\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount(): number {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getDynamicCanvasCount();\n }\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount(): number {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getStaticCanvasCount();\n }\n\n /**\n * 设置当前环境\n * @param env\n * @param params 环境参数\n * 默认重复设置不生效,但如果params.force为true那么每次设置env都会重复执行初始化逻辑\n * @returns\n */\n setEnv(env: EnvType, params?: IEnvParamsMap[EnvType]): void | Promise<any> {\n // 如果环境设置过了,但是没有设置force为true,就直接跳过\n if (!(params && params.force === true) && this._env === env) {\n return;\n }\n this.deactiveCurrentEnv();\n return this.activeEnv(env, params);\n }\n\n protected deactiveCurrentEnv() {\n this.envContribution && this.envContribution.release();\n }\n\n protected activeEnv(env: EnvType, params?: IEnvParamsMap[EnvType]): void | Promise<any> {\n const lastEnv = this._env;\n this._env = env;\n const data = this.bindContribution(params);\n if (data && data.then) {\n return data.then(() => {\n this.envParams = params;\n this.hooks.onSetEnv.call(lastEnv, env, this);\n });\n }\n this.envParams = params;\n this.hooks.onSetEnv.call(lastEnv, env, this);\n }\n\n setActiveEnvContribution(contribution: IEnvContribution) {\n this.envContribution = contribution;\n }\n\n createCanvas(params: ICreateCanvasParams) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.createCanvas(params);\n }\n\n createOffscreenCanvas(params: ICreateCanvasParams) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.createOffscreenCanvas(params);\n }\n\n releaseCanvas(canvas: HTMLCanvasElement | string | any) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.releaseCanvas(canvas);\n }\n\n getRequestAnimationFrame() {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getRequestAnimationFrame();\n }\n\n getCancelAnimationFrame() {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getCancelAnimationFrame();\n }\n\n getElementById(str: string): HTMLElement | null {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.getElementById) {\n return null;\n }\n return this.envContribution.getElementById(str);\n }\n\n getRootElement(): HTMLElement | null {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.getRootElement) {\n return null;\n }\n return this.envContribution.getRootElement();\n }\n\n getDocument(): Document | null {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.getDocument) {\n return null;\n }\n return this.envContribution.getDocument();\n }\n\n mapToCanvasPoint(event: any, domElement?: any) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.mapToCanvasPoint) {\n return null;\n }\n return this.envContribution.mapToCanvasPoint(event, domElement);\n }\n\n loadImage(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadImage(url);\n }\n\n loadSvg(str: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadSvg(str);\n }\n\n loadJson(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadJson(url);\n }\n\n loadArrayBuffer(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadArrayBuffer(url);\n }\n\n loadBlob(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadBlob(url);\n }\n\n async loadFont(name: string, source: string | ArrayBuffer, descriptors?: FontFaceDescriptors) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadFont(name, source, descriptors);\n }\n\n isChrome(): boolean {\n if (this._isChrome != null) {\n return this._isChrome;\n }\n if (!this._env) {\n this.setEnv('browser');\n }\n this._isChrome = this._env === 'browser' && navigator.userAgent.indexOf('Chrome') > -1;\n return this._isChrome;\n }\n\n isSafari(): boolean {\n if (this._isSafari != null) {\n return this._isSafari;\n }\n if (!this._env) {\n this.setEnv('browser');\n }\n this._isSafari =\n this._env === 'browser' && /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent);\n return this._isSafari;\n }\n\n getNativeAABBBounds(dom: string | HTMLElement | any): IAABBBoundsLike {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getNativeAABBBounds(dom);\n }\n\n removeDom(dom: HTMLElement): boolean {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.removeDom(dom);\n }\n\n createDom(params: CreateDOMParamsType): HTMLElement | null {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.createDom(params);\n }\n\n updateDom(dom: HTMLElement, params: CreateDOMParamsType): boolean {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.updateDom(dom, params);\n }\n\n getElementTop(dom: any, baseWindow: boolean = false): number {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getElementTop(dom, baseWindow);\n }\n getElementLeft(dom: any, baseWindow: boolean = false): number {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getElementLeft(dom, baseWindow);\n }\n getElementTopLeft(dom: any, baseWindow: boolean = false): { top: number; left: number } {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getElementTopLeft(dom, baseWindow);\n }\n\n isMacOS(): boolean {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.isMacOS();\n }\n\n copyToClipBoard(text: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.copyToClipBoard(text);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/core/global.ts"],"names":[],"mappings":"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","file":"global.js","sourcesContent":["import { inject, injectable, named } from '../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../common/contribution-provider';\nimport type {\n CreateDOMParamsType,\n EnvType,\n IContributionProvider,\n ICreateCanvasParams,\n IEnvContribution,\n IEnvParamsMap,\n IGlobal,\n ISyncHook\n} from '../interface';\nimport { SyncHook } from '../tapable';\nimport { EnvContribution } from '../constants';\nimport type { IAABBBoundsLike } from '@visactor/vutils';\nimport { container } from '../container';\nimport { Generator } from '../common/generator';\nimport { PerformanceRAF } from '../common/performance-raf';\nimport { EventListenerManager } from '../common/event-listener-manager';\n\nconst defaultEnv: EnvType = 'browser';\n@injectable()\nexport class DefaultGlobal extends EventListenerManager implements IGlobal {\n readonly id: number;\n private _env: EnvType;\n private _isSafari?: boolean;\n private _isChrome?: boolean;\n private _isImageAnonymous?: boolean = true;\n private _performanceRAFList: PerformanceRAF[] = [];\n\n get env(): EnvType {\n return this._env;\n }\n private envContribution: IEnvContribution;\n\n get isImageAnonymous(): boolean {\n return this._isImageAnonymous;\n }\n\n set isImageAnonymous(isImageAnonymous: boolean) {\n this._isImageAnonymous = isImageAnonymous;\n }\n\n get devicePixelRatio(): number {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getDevicePixelRatio();\n }\n\n get supportEvent(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportEvent;\n }\n\n set supportEvent(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportEvent = support;\n }\n\n get supportsTouchEvents(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportsTouchEvents;\n }\n\n set supportsTouchEvents(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportsTouchEvents = support;\n }\n\n get supportsPointerEvents(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportsPointerEvents;\n }\n\n set supportsPointerEvents(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportsPointerEvents = support;\n }\n\n get supportsMouseEvents(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.supportsMouseEvents;\n }\n\n set supportsMouseEvents(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.supportsMouseEvents = support;\n }\n\n get applyStyles(): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.applyStyles;\n }\n\n set applyStyles(support: boolean) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n this.envContribution.applyStyles = support;\n }\n\n // 是否在不显示canvas的时候停止绘图操作,默认false\n optimizeVisible: boolean;\n\n envParams?: any;\n declare measureTextMethod: 'native' | 'simple' | 'quick';\n declare hooks: {\n onSetEnv: ISyncHook<[EnvType | undefined, EnvType, IGlobal]>;\n };\n\n // 事件监听器转换器,用于进行Event属性的转换,接收一个原生的Event,返回一个修改后的Event(默认不进行转换直接返回原始Event)\n // 注意返回的Event和原始的Event不是同一个对象,但也不能拷贝,返回的Event和原始Event是同一个Event类的实例(比如MouseEvent、FederatedPointerEvent等,不能直接拷贝或者用CustomEvent)\n eventListenerTransformer: (event: Event) => Event = event => event;\n\n constructor(\n // todo: 不需要创建,动态获取就行?\n @inject(ContributionProvider)\n @named(EnvContribution)\n protected readonly contributions: IContributionProvider<IEnvContribution>\n ) {\n super();\n this.id = Generator.GenAutoIncrementId();\n this.hooks = {\n onSetEnv: new SyncHook<[EnvType | undefined, EnvType, IGlobal]>(['lastEnv', 'env', 'global'])\n };\n this.measureTextMethod = 'native';\n this.optimizeVisible = false;\n }\n\n // Override from EventListenerManager\n protected _nativeAddEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.addEventListener(type, listener, options);\n }\n\n // Override from EventListenerManager\n protected _nativeRemoveEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.removeEventListener(type, listener, options);\n }\n\n // Override from EventListenerManager\n protected _nativeDispatchEvent(event: Event): boolean {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.dispatchEvent(event);\n }\n\n protected bindContribution(params?: any): void | Promise<any> {\n const promiseArr: any[] = [];\n this.contributions.getContributions().forEach(contribution => {\n const data = contribution.configure(this, params);\n if ((data as any) && (data as any).then) {\n promiseArr.push(data);\n }\n });\n if (promiseArr.length) {\n return Promise.all(promiseArr);\n }\n }\n\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount(): number {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getDynamicCanvasCount();\n }\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount(): number {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getStaticCanvasCount();\n }\n\n /**\n * 设置当前环境\n * @param env\n * @param params 环境参数\n * 默认重复设置不生效,但如果params.force为true那么每次设置env都会重复执行初始化逻辑\n * @returns\n */\n setEnv(env: EnvType, params?: IEnvParamsMap[EnvType]): void | Promise<any> {\n // 如果环境设置过了,但是没有设置force为true,就直接跳过\n if (!(params && params.force === true) && this._env === env) {\n return;\n }\n this.deactiveCurrentEnv();\n return this.activeEnv(env, params);\n }\n\n protected deactiveCurrentEnv() {\n this.envContribution && this.envContribution.release();\n }\n\n protected activeEnv(env: EnvType, params?: IEnvParamsMap[EnvType]): void | Promise<any> {\n const lastEnv = this._env;\n this._env = env;\n const data = this.bindContribution(params);\n if (data && data.then) {\n return data.then(() => {\n this.envParams = params;\n this.hooks.onSetEnv.call(lastEnv, env, this);\n });\n }\n this.envParams = params;\n this.hooks.onSetEnv.call(lastEnv, env, this);\n }\n\n setActiveEnvContribution(contribution: IEnvContribution) {\n this.envContribution = contribution;\n }\n\n createCanvas(params: ICreateCanvasParams) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.createCanvas(params);\n }\n\n createOffscreenCanvas(params: ICreateCanvasParams) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.createOffscreenCanvas(params);\n }\n\n releaseCanvas(canvas: HTMLCanvasElement | string | any) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.releaseCanvas(canvas);\n }\n\n getRequestAnimationFrame() {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getRequestAnimationFrame();\n }\n\n /**\n * 获取特定的requestAnimationFrame,同一个id底层共用一个原生的requestAnimationFrame\n * @param id 唯一标识,用于区分不同的requestAnimationFrame,请使用数字,不要太大,因为底层使用的是数组索引\n */\n getSpecifiedRequestAnimationFrame(id: number) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n\n // Check if PerformanceRAF instance exists for this id\n if (!this._performanceRAFList[id]) {\n this._performanceRAFList[id] = new PerformanceRAF();\n }\n\n const performanceRAF = this._performanceRAFList[id];\n\n // Return a function that adds the callback to the specific PerformanceRAF instance\n return (callback: FrameRequestCallback): number => {\n return performanceRAF.addAnimationFrameCb(callback);\n };\n }\n\n /**\n * 获取特定的cancelAnimationFrame,用于取消特定id的requestAnimationFrame\n * @param id\n */\n getSpecifiedCancelAnimationFrame(id: number) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n\n // Return no-op if no PerformanceRAF instance exists for this id\n if (!this._performanceRAFList[id]) {\n return () => false;\n }\n\n const performanceRAF = this._performanceRAFList[id];\n\n // Return a function that removes the callback from the specific PerformanceRAF instance\n return (handle: number): boolean => {\n return performanceRAF.removeAnimationFrameCb(handle);\n };\n }\n\n getCancelAnimationFrame() {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n return this.envContribution.getCancelAnimationFrame();\n }\n\n getElementById(str: string): HTMLElement | null {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.getElementById) {\n return null;\n }\n return this.envContribution.getElementById(str);\n }\n\n getRootElement(): HTMLElement | null {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.getRootElement) {\n return null;\n }\n return this.envContribution.getRootElement();\n }\n\n getDocument(): Document | null {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.getDocument) {\n return null;\n }\n return this.envContribution.getDocument();\n }\n\n mapToCanvasPoint(event: any, domElement?: any) {\n if (!this._env) {\n this.setEnv(defaultEnv);\n }\n if (!this.envContribution.mapToCanvasPoint) {\n return null;\n }\n return this.envContribution.mapToCanvasPoint(event, domElement);\n }\n\n loadImage(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadImage(url);\n }\n\n loadSvg(str: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadSvg(str);\n }\n\n loadJson(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadJson(url);\n }\n\n loadArrayBuffer(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadArrayBuffer(url);\n }\n\n loadBlob(url: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadBlob(url);\n }\n\n async loadFont(name: string, source: string | ArrayBuffer, descriptors?: FontFaceDescriptors) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.loadFont(name, source, descriptors);\n }\n\n isChrome(): boolean {\n if (this._isChrome != null) {\n return this._isChrome;\n }\n if (!this._env) {\n this.setEnv('browser');\n }\n this._isChrome = this._env === 'browser' && navigator.userAgent.indexOf('Chrome') > -1;\n return this._isChrome;\n }\n\n isSafari(): boolean {\n if (this._isSafari != null) {\n return this._isSafari;\n }\n if (!this._env) {\n this.setEnv('browser');\n }\n this._isSafari =\n this._env === 'browser' && /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent);\n return this._isSafari;\n }\n\n getNativeAABBBounds(dom: string | HTMLElement | any): IAABBBoundsLike {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getNativeAABBBounds(dom);\n }\n\n removeDom(dom: HTMLElement): boolean {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.removeDom(dom);\n }\n\n createDom(params: CreateDOMParamsType): HTMLElement | null {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.createDom(params);\n }\n\n updateDom(dom: HTMLElement, params: CreateDOMParamsType): boolean {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.updateDom(dom, params);\n }\n\n getElementTop(dom: any, baseWindow: boolean = false): number {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getElementTop(dom, baseWindow);\n }\n getElementLeft(dom: any, baseWindow: boolean = false): number {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getElementLeft(dom, baseWindow);\n }\n getElementTopLeft(dom: any, baseWindow: boolean = false): { top: number; left: number } {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.getElementTopLeft(dom, baseWindow);\n }\n\n isMacOS(): boolean {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.isMacOS();\n }\n\n copyToClipBoard(text: string) {\n if (!this._env) {\n this.setEnv('browser');\n }\n return this.envContribution.copyToClipBoard(text);\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { IAABBBounds, IBounds, IBoundsLike, IMatrix } from '@visactor/vutils';
2
- import type { IExportType, IStage, IStageParams, ILayer, IColor, IOption3D, ICamera, vec3, IDirectionLight, ITicker, IRenderService, IPickerService, IPluginService, ISyncHook, IDrawContext, IWindow, ILayerService, ITimeline, IOptimizeType, LayerMode, PickResult, IPlugin } from '../interface';
2
+ import type { IExportType, IStage, IStageParams, ILayer, IColor, IOption3D, ICamera, vec3, IDirectionLight, ITicker, IRenderService, IPickerService, IPluginService, ISyncHook, IDrawContext, IWindow, ILayerService, ITimeline, IOptimizeType, LayerMode, PickResult, IPlugin, IGraphicService } from '../interface';
3
3
  import type { Layer } from './layer';
4
4
  import { Group } from '../graphic/group';
5
5
  type IStageState = 'rendering' | 'normal';
@@ -39,7 +39,7 @@ export declare class Stage extends Group implements IStage {
39
39
  get background(): string | IColor;
40
40
  set background(b: string | IColor);
41
41
  get defaultLayer(): ILayer;
42
- ticker: ITicker;
42
+ protected _ticker: ITicker;
43
43
  autoRender: boolean;
44
44
  autoRefresh: boolean;
45
45
  _enableLayout: boolean;
@@ -53,6 +53,7 @@ export declare class Stage extends Group implements IStage {
53
53
  protected pickerService?: IPickerService;
54
54
  readonly pluginService: IPluginService;
55
55
  readonly layerService: ILayerService;
56
+ readonly graphicService: IGraphicService;
56
57
  private _eventSystem?;
57
58
  private get eventSystem();
58
59
  protected _beforeRender?: (stage: IStage) => void;
@@ -65,7 +66,12 @@ export declare class Stage extends Group implements IStage {
65
66
  protected timeline: ITimeline;
66
67
  params: Partial<IStageParams>;
67
68
  protected tickedBeforeRender: boolean;
69
+ readonly rafId: number;
70
+ get ticker(): ITicker;
71
+ set ticker(ticker: ITicker);
68
72
  constructor(params?: Partial<IStageParams>);
73
+ initAnimate(params: Partial<IStageParams>): void;
74
+ startAnimate(): void;
69
75
  pauseRender(sr?: number): void;
70
76
  resumeRender(): void;
71
77
  protected tryInitEventSystem(): void;
@@ -141,7 +147,6 @@ export declare class Stage extends Group implements IStage {
141
147
  setOrigin(x: number, y: number): void;
142
148
  export(type: IExportType): HTMLCanvasElement | ImageData;
143
149
  pick(x: number, y: number): PickResult | false;
144
- startAnimate(t: number): void;
145
150
  setToFrame(t: number): void;
146
151
  release(): void;
147
152
  setStage(stage?: IStage): void;
package/cjs/core/stage.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.Stage = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), window_1 = require("./window"), event_1 = require("../event"), container_1 = require("../container"), render_1 = require("../render"), group_1 = require("../graphic/group"), theme_1 = require("../graphic/theme"), constants_1 = require("../picker/constants"), constants_2 = require("../plugins/constants"), auto_render_plugin_1 = require("../plugins/builtin-plugin/auto-render-plugin"), auto_refresh_plugin_1 = require("../plugins/builtin-plugin/auto-refresh-plugin"), incremental_auto_render_plugin_1 = require("../plugins/builtin-plugin/incremental-auto-render-plugin"), dirty_bounds_plugin_1 = require("../plugins/builtin-plugin/dirty-bounds-plugin"), default_ticker_1 = require("../animate/default-ticker"), tapable_1 = require("../tapable"), constants_3 = require("./constants"), animate_1 = require("../animate"), application_1 = require("../application"), env_check_1 = require("../env-check"), factory_1 = require("../factory"), DefaultConfig = {
7
+ const vutils_1 = require("@visactor/vutils"), window_1 = require("./window"), event_1 = require("../event"), container_1 = require("../container"), render_1 = require("../render"), group_1 = require("../graphic/group"), theme_1 = require("../graphic/theme"), constants_1 = require("../picker/constants"), constants_2 = require("../plugins/constants"), auto_render_plugin_1 = require("../plugins/builtin-plugin/auto-render-plugin"), auto_refresh_plugin_1 = require("../plugins/builtin-plugin/auto-refresh-plugin"), incremental_auto_render_plugin_1 = require("../plugins/builtin-plugin/incremental-auto-render-plugin"), dirty_bounds_plugin_1 = require("../plugins/builtin-plugin/dirty-bounds-plugin"), tapable_1 = require("../tapable"), constants_3 = require("./constants"), application_1 = require("../application"), env_check_1 = require("../env-check"), factory_1 = require("../factory"), graphic_1 = require("../graphic"), DefaultConfig = {
8
8
  WIDTH: 500,
9
9
  HEIGHT: 500,
10
10
  X: 0,
@@ -76,8 +76,15 @@ class Stage extends group_1.Group {
76
76
  get eventSystem() {
77
77
  return this._eventSystem;
78
78
  }
79
+ get ticker() {
80
+ return this._ticker;
81
+ }
82
+ set ticker(ticker) {
83
+ ticker.bindStage(this), this._ticker && this._ticker.removeListener("tick", this.afterTickCb),
84
+ ticker.addTimeline(this.timeline), this._ticker = ticker, this._ticker.on("tick", this.afterTickCb);
85
+ }
79
86
  constructor(params = {}) {
80
- var _a;
87
+ var _a, _b;
81
88
  super({}), this.tickedBeforeRender = !0, this._onVisibleChange = visible => {
82
89
  if (!(this._skipRender < 0)) if (visible) {
83
90
  if (this.dirtyBounds) {
@@ -92,15 +99,15 @@ class Stage extends group_1.Group {
92
99
  this.renderCount++, this._afterRender && this._afterRender(stage), this._afterNextRenderCbs && this._afterNextRenderCbs.forEach((cb => cb(stage))),
93
100
  this._afterNextRenderCbs = null, this.tickedBeforeRender = !1;
94
101
  }, this.afterTickCb = () => {
95
- var _a;
96
- this.tickedBeforeRender = !0, "performance" === (null === (_a = this.params.optimize) || void 0 === _a ? void 0 : _a.tickRenderMode) || "rendering" !== this.state && this.render();
102
+ this.tickedBeforeRender = !0, "rendering" !== this.state && this.renderNextFrame();
97
103
  }, this.params = params, this.theme = new theme_1.Theme, this.hooks = {
98
104
  beforeRender: new tapable_1.SyncHook([ "stage" ]),
99
105
  afterRender: new tapable_1.SyncHook([ "stage" ])
100
106
  }, this.global = application_1.application.global, !this.global.env && (0, env_check_1.isBrowserEnv)() && this.global.setEnv("browser"),
101
107
  this.window = container_1.container.get(window_1.VWindow), this.renderService = container_1.container.get(render_1.RenderService),
102
108
  this.pluginService = container_1.container.get(constants_2.PluginService), this.layerService = container_1.container.get(constants_3.LayerService),
103
- this.pluginService.active(this, params), this.window.create({
109
+ this.graphicService = container_1.container.get(graphic_1.GraphicService), this.pluginService.active(this, params),
110
+ this.window.create({
104
111
  width: params.width,
105
112
  height: params.height,
106
113
  viewBox: params.viewBox,
@@ -119,12 +126,21 @@ class Stage extends group_1.Group {
119
126
  params.ReactDOM && this.enableReactAttribute(params.ReactDOM), params.enableLayout && this.enableLayout(),
120
127
  this.hooks.beforeRender.tap("constructor", this.beforeRender), this.hooks.afterRender.tap("constructor", this.afterRender),
121
128
  this._beforeRender = params.beforeRender, this._afterRender = params.afterRender,
122
- this.ticker = params.ticker || default_ticker_1.defaultTicker, this.supportInteractiveLayer = !1 !== params.interactiveLayer,
123
- this.timeline = new animate_1.DefaultTimeline, this.ticker.addTimeline(this.timeline),
124
- this.timeline.pause(), params.optimize || (params.optimize = {}), this.optmize(params.optimize),
125
- params.background && (0, vutils_1.isString)(this._background) && this._background.includes("/") && this.setAttributes({
129
+ this.supportInteractiveLayer = !1 !== params.interactiveLayer, params.optimize || (params.optimize = {
130
+ tickRenderMode: "effect"
131
+ }), this.optmize(params.optimize), params.background && (0, vutils_1.isString)(this._background) && this._background.includes("/") && this.setAttributes({
126
132
  background: this._background
127
- }), this.ticker.on("afterTick", this.afterTickCb);
133
+ }), this.initAnimate(params), this.rafId = null !== (_b = params.rafId) && void 0 !== _b ? _b : Math.floor(6 * Math.random());
134
+ }
135
+ initAnimate(params) {
136
+ var _a;
137
+ this.createTicker && this.createTimeline && (this._ticker = params.ticker || this.createTicker(this),
138
+ this._ticker.bindStage(this), "performance" === (null === (_a = this.params.optimize) || void 0 === _a ? void 0 : _a.tickRenderMode) && this._ticker.setFPS(30),
139
+ this.timeline = this.createTimeline(), this._ticker.addTimeline(this.timeline),
140
+ this._ticker.on("tick", this.afterTickCb));
141
+ }
142
+ startAnimate() {
143
+ this._ticker && this.timeline && (this._ticker.start(), this.timeline.resume());
128
144
  }
129
145
  pauseRender(sr = -1) {
130
146
  this._skipRender = sr;
@@ -328,10 +344,9 @@ class Stage extends group_1.Group {
328
344
  }
329
345
  render(layers, params) {
330
346
  if ("released" === this.releaseStatus) return;
331
- this.ticker.start(), this.timeline.resume();
347
+ this.startAnimate();
332
348
  const state = this.state;
333
- this.state = "rendering", this.tickedBeforeRender || this.ticker.trySyncTickStatus(),
334
- this.layerService.prepareStageLayer(this), this._skipRender || (this.lastRenderparams = params,
349
+ this.state = "rendering", this.layerService.prepareStageLayer(this), this._skipRender || (this.lastRenderparams = params,
335
350
  this.hooks.beforeRender.call(this), this._skipRender || (this.renderLayerList(this.children),
336
351
  this.combineLayersToWindow(), this.nextFrameRenderLayerSet.clear()), this.hooks.afterRender.call(this)),
337
352
  this.state = state, this._skipRender && this._skipRender++;
@@ -350,13 +365,13 @@ class Stage extends group_1.Group {
350
365
  renderNextFrame(layers, force) {
351
366
  this.nextFrameRenderLayerSet.size !== this.childrenCount && (layers || this).forEach((layer => {
352
367
  this.nextFrameRenderLayerSet.add(layer);
353
- })), this.willNextFrameRender || (this.willNextFrameRender = !0, this.global.getRequestAnimationFrame()((() => {
368
+ })), this.willNextFrameRender || (this.willNextFrameRender = !0, this.global.getSpecifiedRequestAnimationFrame(this.rafId)((() => {
354
369
  this._doRenderInThisFrame(), this.willNextFrameRender = !1;
355
370
  })));
356
371
  }
357
372
  _doRenderInThisFrame() {
358
373
  if ("released" === this.releaseStatus) return;
359
- this.timeline.resume(), this.ticker.start();
374
+ this.startAnimate();
360
375
  const state = this.state;
361
376
  this.state = "rendering", this.layerService.prepareStageLayer(this), this.nextFrameRenderLayerSet.size && !this._skipRender && (this.hooks.beforeRender.call(this),
362
377
  this._skipRender || (this.renderLayerList(Array.from(this.nextFrameRenderLayerSet.values()), this.lastRenderparams || {}),
@@ -434,21 +449,20 @@ class Stage extends group_1.Group {
434
449
  });
435
450
  return !(!(null == result ? void 0 : result.graphic) && !(null == result ? void 0 : result.group)) && result;
436
451
  }
437
- startAnimate(t) {
438
- throw new Error("暂不支持");
439
- }
440
452
  setToFrame(t) {
441
453
  throw new Error("暂不支持");
442
454
  }
443
455
  release() {
456
+ var _a, _b;
444
457
  super.release(), this.hooks.beforeRender.unTap("constructor", this.beforeRender),
445
458
  this.hooks.afterRender.unTap("constructor", this.afterRender), this.eventSystem && this.eventSystem.release(),
446
459
  this.layerService.releaseStage(this), this.pluginService.release(), this.forEach((layer => {
447
460
  layer.release();
448
461
  })), this.interactiveLayer && (this.interactiveLayer.forEachChildren((item => {
449
462
  item.setStage && item.setStage(null, null), this.interactiveLayer.removeChild(item);
450
- })), this.interactiveLayer.release()), this.window.release(), this.ticker.remTimeline(this.timeline),
451
- this.ticker.removeListener("afterTick", this.afterTickCb), this.renderService.renderTreeRoots = [];
463
+ })), this.interactiveLayer.release()), this.window.release(), null === (_a = this._ticker) || void 0 === _a || _a.remTimeline(null == this ? void 0 : this.timeline),
464
+ null === (_b = this._ticker) || void 0 === _b || _b.removeListener("tick", this.afterTickCb),
465
+ this.renderService.renderTreeRoots = [];
452
466
  }
453
467
  setStage(stage) {}
454
468
  dirty(b, matrix) {