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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/cjs/allocator/matrix-allocate.d.ts +1 -1
  2. package/cjs/allocator/matrix-allocate.js +2 -4
  3. package/cjs/allocator/matrix-allocate.js.map +1 -1
  4. package/cjs/animate/Ticker/default-ticker.d.ts +2 -53
  5. package/cjs/animate/Ticker/default-ticker.js +17 -130
  6. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  7. package/cjs/animate/Ticker/index.d.ts +4 -0
  8. package/cjs/animate/Ticker/index.js +3 -1
  9. package/cjs/animate/Ticker/index.js.map +1 -1
  10. package/cjs/animate/Ticker/manual-ticker-handler.d.ts +15 -0
  11. package/cjs/animate/Ticker/manual-ticker-handler.js +36 -0
  12. package/cjs/animate/Ticker/manual-ticker-handler.js.map +1 -0
  13. package/cjs/animate/Ticker/manual-ticker.d.ts +19 -0
  14. package/cjs/animate/Ticker/manual-ticker.js +37 -0
  15. package/cjs/animate/Ticker/manual-ticker.js.map +1 -0
  16. package/cjs/animate/Ticker/raf-tick-handler.d.ts +9 -0
  17. package/cjs/animate/Ticker/raf-tick-handler.js +30 -0
  18. package/cjs/animate/Ticker/raf-tick-handler.js.map +1 -0
  19. package/cjs/animate/Ticker/timeout-tick-handler.d.ts +9 -0
  20. package/cjs/animate/Ticker/timeout-tick-handler.js +28 -0
  21. package/cjs/animate/Ticker/timeout-tick-handler.js.map +1 -0
  22. package/cjs/animate/Ticker/type.d.ts +6 -0
  23. package/cjs/animate/Ticker/type.js +11 -0
  24. package/cjs/animate/Ticker/type.js.map +1 -0
  25. package/cjs/animate/animate.js +4 -2
  26. package/cjs/animate/animate.js.map +1 -1
  27. package/cjs/animate/custom-animate.d.ts +5 -16
  28. package/cjs/animate/custom-animate.js +9 -62
  29. package/cjs/animate/custom-animate.js.map +1 -1
  30. package/cjs/animate/group-fade.d.ts +16 -0
  31. package/cjs/animate/group-fade.js +66 -0
  32. package/cjs/animate/group-fade.js.map +1 -0
  33. package/cjs/animate/index.d.ts +1 -0
  34. package/cjs/animate/index.js +2 -1
  35. package/cjs/animate/index.js.map +1 -1
  36. package/cjs/canvas/conical-gradient.js.map +1 -1
  37. package/cjs/canvas/contributions/base-canvas.js +4 -13
  38. package/cjs/canvas/contributions/base-canvas.js.map +1 -1
  39. package/cjs/canvas/util.d.ts +0 -1
  40. package/cjs/canvas/util.js +7 -17
  41. package/cjs/canvas/util.js.map +1 -1
  42. package/cjs/common/3d-interceptor.d.ts +3 -0
  43. package/cjs/common/3d-interceptor.js +50 -0
  44. package/cjs/common/3d-interceptor.js.map +1 -0
  45. package/cjs/common/bezier-utils.js +2 -1
  46. package/cjs/common/canvas-utils.d.ts +1 -1
  47. package/cjs/common/canvas-utils.js +15 -30
  48. package/cjs/common/canvas-utils.js.map +1 -1
  49. package/cjs/common/matrix.d.ts +11 -3
  50. package/cjs/common/matrix.js +97 -19
  51. package/cjs/common/matrix.js.map +1 -1
  52. package/cjs/common/render-command-list.js +1 -2
  53. package/cjs/common/render-curve.js +22 -32
  54. package/cjs/common/render-curve.js.map +1 -1
  55. package/cjs/common/render-utils.js +2 -1
  56. package/cjs/common/segment/catmull-rom-close.d.ts +41 -0
  57. package/cjs/common/segment/catmull-rom-close.js +81 -0
  58. package/cjs/common/segment/catmull-rom-close.js.map +1 -0
  59. package/cjs/common/segment/catmull-rom.d.ts +38 -0
  60. package/cjs/common/segment/catmull-rom.js +97 -0
  61. package/cjs/common/segment/catmull-rom.js.map +1 -0
  62. package/cjs/common/segment/index.d.ts +5 -2
  63. package/cjs/common/segment/index.js +8 -1
  64. package/cjs/common/segment/index.js.map +1 -1
  65. package/cjs/common/sort.js +15 -12
  66. package/cjs/common/sort.js.map +1 -1
  67. package/cjs/common/text.d.ts +0 -2
  68. package/cjs/common/text.js +8 -14
  69. package/cjs/common/text.js.map +1 -1
  70. package/cjs/common/utils.js +1 -1
  71. package/cjs/common/utils.js.map +1 -1
  72. package/cjs/core/camera.js +3 -3
  73. package/cjs/core/camera.js.map +1 -1
  74. package/cjs/core/contributions/layerHandler/modules.js +2 -5
  75. package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
  76. package/cjs/core/stage.d.ts +2 -2
  77. package/cjs/core/stage.js +23 -11
  78. package/cjs/core/stage.js.map +1 -1
  79. package/cjs/event/federated-event/base-event.js +12 -2
  80. package/cjs/event/federated-event/base-event.js.map +1 -1
  81. package/cjs/graphic/arc.d.ts +6 -4
  82. package/cjs/graphic/arc.js +46 -17
  83. package/cjs/graphic/arc.js.map +1 -1
  84. package/cjs/graphic/arc3d.d.ts +2 -2
  85. package/cjs/graphic/arc3d.js +8 -9
  86. package/cjs/graphic/arc3d.js.map +1 -1
  87. package/cjs/graphic/area.d.ts +5 -3
  88. package/cjs/graphic/area.js +27 -12
  89. package/cjs/graphic/area.js.map +1 -1
  90. package/cjs/graphic/builtin-symbol/index.d.ts +1 -1
  91. package/cjs/graphic/builtin-symbol/thin-triangle.d.ts +2 -2
  92. package/cjs/graphic/builtin-symbol/thin-triangle.js +2 -2
  93. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  94. package/cjs/graphic/builtin-symbol/triangle-down.d.ts +1 -2
  95. package/cjs/graphic/builtin-symbol/triangle-down.js +4 -9
  96. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  97. package/cjs/graphic/builtin-symbol/triangle-left.d.ts +0 -1
  98. package/cjs/graphic/builtin-symbol/triangle-left.js +3 -8
  99. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  100. package/cjs/graphic/builtin-symbol/triangle-right.d.ts +1 -2
  101. package/cjs/graphic/builtin-symbol/triangle-right.js +4 -9
  102. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  103. package/cjs/graphic/builtin-symbol/triangle-up.d.ts +1 -2
  104. package/cjs/graphic/builtin-symbol/triangle-up.js +4 -9
  105. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  106. package/cjs/graphic/builtin-symbol/triangle.d.ts +1 -2
  107. package/cjs/graphic/builtin-symbol/triangle.js +1 -3
  108. package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
  109. package/cjs/graphic/builtin-symbol/utils.js +1 -5
  110. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  111. package/cjs/graphic/circle.d.ts +5 -3
  112. package/cjs/graphic/circle.js +20 -12
  113. package/cjs/graphic/circle.js.map +1 -1
  114. package/cjs/graphic/config.js +7 -3
  115. package/cjs/graphic/config.js.map +1 -1
  116. package/cjs/graphic/glyph.d.ts +4 -2
  117. package/cjs/graphic/glyph.js +9 -2
  118. package/cjs/graphic/glyph.js.map +1 -1
  119. package/cjs/graphic/graphic-creator.js.map +1 -1
  120. package/cjs/graphic/graphic-service/common-outer-boder-bounds.d.ts +3 -0
  121. package/cjs/graphic/graphic-service/common-outer-boder-bounds.js +17 -0
  122. package/cjs/graphic/graphic-service/common-outer-boder-bounds.js.map +1 -0
  123. package/cjs/graphic/graphic-service/graphic-service.d.ts +7 -42
  124. package/cjs/graphic/graphic-service/graphic-service.js +21 -396
  125. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  126. package/cjs/graphic/graphic-service/symbol-outer-border-bounds.d.ts +3 -0
  127. package/cjs/graphic/graphic-service/symbol-outer-border-bounds.js +17 -0
  128. package/cjs/graphic/graphic-service/symbol-outer-border-bounds.js.map +1 -0
  129. package/cjs/graphic/graphic.d.ts +12 -9
  130. package/cjs/graphic/graphic.js +17 -2
  131. package/cjs/graphic/graphic.js.map +1 -1
  132. package/cjs/graphic/group.d.ts +7 -3
  133. package/cjs/graphic/group.js +34 -22
  134. package/cjs/graphic/group.js.map +1 -1
  135. package/cjs/graphic/image.d.ts +3 -2
  136. package/cjs/graphic/image.js +14 -9
  137. package/cjs/graphic/image.js.map +1 -1
  138. package/cjs/graphic/line.d.ts +5 -3
  139. package/cjs/graphic/line.js +24 -11
  140. package/cjs/graphic/line.js.map +1 -1
  141. package/cjs/graphic/node-tree.js.map +1 -1
  142. package/cjs/graphic/path.d.ts +3 -3
  143. package/cjs/graphic/path.js +17 -13
  144. package/cjs/graphic/path.js.map +1 -1
  145. package/cjs/graphic/polygon.d.ts +4 -3
  146. package/cjs/graphic/polygon.js +16 -11
  147. package/cjs/graphic/polygon.js.map +1 -1
  148. package/cjs/graphic/pyramid3d.d.ts +2 -2
  149. package/cjs/graphic/pyramid3d.js +10 -9
  150. package/cjs/graphic/pyramid3d.js.map +1 -1
  151. package/cjs/graphic/rect.d.ts +3 -3
  152. package/cjs/graphic/rect.js +16 -12
  153. package/cjs/graphic/rect.js.map +1 -1
  154. package/cjs/graphic/rect3d.js +2 -2
  155. package/cjs/graphic/rect3d.js.map +1 -1
  156. package/cjs/graphic/richtext/icon.d.ts +2 -2
  157. package/cjs/graphic/richtext/icon.js.map +1 -1
  158. package/cjs/graphic/richtext/utils.js +12 -21
  159. package/cjs/graphic/richtext/utils.js.map +1 -1
  160. package/cjs/graphic/richtext.d.ts +4 -4
  161. package/cjs/graphic/richtext.js +46 -14
  162. package/cjs/graphic/richtext.js.map +1 -1
  163. package/cjs/graphic/shadow-root.d.ts +2 -2
  164. package/cjs/graphic/shadow-root.js.map +1 -1
  165. package/cjs/graphic/symbol.d.ts +5 -3
  166. package/cjs/graphic/symbol.js +25 -12
  167. package/cjs/graphic/symbol.js.map +1 -1
  168. package/cjs/graphic/text.d.ts +10 -10
  169. package/cjs/graphic/text.js +27 -21
  170. package/cjs/graphic/text.js.map +1 -1
  171. package/cjs/graphic/theme.js.map +1 -1
  172. package/cjs/graphic/wrap-text.d.ts +1 -1
  173. package/cjs/graphic/wrap-text.js +2 -2
  174. package/cjs/graphic/wrap-text.js.map +1 -1
  175. package/cjs/index.d.ts +3 -0
  176. package/cjs/index.js +6 -4
  177. package/cjs/index.js.map +1 -1
  178. package/cjs/interface/graphic/arc.d.ts +2 -2
  179. package/cjs/interface/graphic/arc.js.map +1 -1
  180. package/cjs/interface/graphic/arc3d.d.ts +1 -1
  181. package/cjs/interface/graphic/arc3d.js.map +1 -1
  182. package/cjs/interface/graphic/area.d.ts +1 -0
  183. package/cjs/interface/graphic/area.js.map +1 -1
  184. package/cjs/interface/graphic/group.d.ts +1 -1
  185. package/cjs/interface/graphic/group.js.map +1 -1
  186. package/cjs/interface/graphic/line.d.ts +1 -0
  187. package/cjs/interface/graphic/line.js.map +1 -1
  188. package/cjs/interface/graphic/richText.d.ts +1 -0
  189. package/cjs/interface/graphic/richText.js.map +1 -1
  190. package/cjs/interface/graphic-service.d.ts +10 -17
  191. package/cjs/interface/graphic-service.js.map +1 -1
  192. package/cjs/interface/graphic.d.ts +2 -0
  193. package/cjs/interface/graphic.js.map +1 -1
  194. package/cjs/picker/pick-interceptor.d.ts +1 -1
  195. package/cjs/picker/pick-interceptor.js +6 -44
  196. package/cjs/picker/pick-interceptor.js.map +1 -1
  197. package/cjs/picker/picker-service.js +4 -5
  198. package/cjs/picker/picker-service.js.map +1 -1
  199. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.d.ts +1 -0
  200. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +8 -2
  201. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  202. package/cjs/plugins/builtin-plugin/edit-module.d.ts +22 -0
  203. package/cjs/plugins/builtin-plugin/edit-module.js +94 -0
  204. package/cjs/plugins/builtin-plugin/edit-module.js.map +1 -0
  205. package/cjs/plugins/builtin-plugin/flex-layout-plugin.d.ts +1 -0
  206. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +8 -2
  207. package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  208. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +2 -2
  209. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  210. package/cjs/plugins/builtin-plugin/react-attribute-plugin.d.ts +2 -1
  211. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +15 -7
  212. package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  213. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.d.ts +76 -0
  214. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +338 -0
  215. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -0
  216. package/cjs/render/contributions/render/arc-render.js +12 -28
  217. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  218. package/cjs/render/contributions/render/area-render.js +12 -7
  219. package/cjs/render/contributions/render/area-render.js.map +1 -1
  220. package/cjs/render/contributions/render/base-3d-render.d.ts +10 -0
  221. package/cjs/render/contributions/render/base-3d-render.js +63 -0
  222. package/cjs/render/contributions/render/base-3d-render.js.map +1 -0
  223. package/cjs/render/contributions/render/base-render.d.ts +1 -1
  224. package/cjs/render/contributions/render/base-render.js +5 -5
  225. package/cjs/render/contributions/render/base-render.js.map +1 -1
  226. package/cjs/render/contributions/render/draw-interceptor.js +7 -51
  227. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  228. package/cjs/render/contributions/render/group-render.js +4 -5
  229. package/cjs/render/contributions/render/group-render.js.map +1 -1
  230. package/cjs/render/contributions/render/index.d.ts +1 -0
  231. package/cjs/render/contributions/render/index.js +3 -3
  232. package/cjs/render/contributions/render/index.js.map +1 -1
  233. package/cjs/render/contributions/render/line-render.js +6 -3
  234. package/cjs/render/contributions/render/line-render.js.map +1 -1
  235. package/cjs/render/contributions/render/pyramid3d-render.d.ts +3 -5
  236. package/cjs/render/contributions/render/pyramid3d-render.js +4 -54
  237. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  238. package/cjs/render/contributions/render/rect3d-render.d.ts +3 -5
  239. package/cjs/render/contributions/render/rect3d-render.js +4 -53
  240. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  241. package/cjs/render/contributions/render/symbol-render.js +9 -18
  242. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  243. package/cjs/render/contributions/render/utils.d.ts +24 -0
  244. package/cjs/render/contributions/render/utils.js +51 -21
  245. package/cjs/render/contributions/render/utils.js.map +1 -1
  246. package/dist/index.es.js +9760 -9617
  247. package/es/allocator/matrix-allocate.d.ts +1 -1
  248. package/es/allocator/matrix-allocate.js +3 -3
  249. package/es/allocator/matrix-allocate.js.map +1 -1
  250. package/es/animate/Ticker/default-ticker.d.ts +2 -53
  251. package/es/animate/Ticker/default-ticker.js +3 -106
  252. package/es/animate/Ticker/default-ticker.js.map +1 -1
  253. package/es/animate/Ticker/index.d.ts +4 -0
  254. package/es/animate/Ticker/index.js +8 -0
  255. package/es/animate/Ticker/index.js.map +1 -1
  256. package/es/animate/Ticker/manual-ticker-handler.d.ts +15 -0
  257. package/es/animate/Ticker/manual-ticker-handler.js +28 -0
  258. package/es/animate/Ticker/manual-ticker-handler.js.map +1 -0
  259. package/es/animate/Ticker/manual-ticker.d.ts +19 -0
  260. package/es/animate/Ticker/manual-ticker.js +31 -0
  261. package/es/animate/Ticker/manual-ticker.js.map +1 -0
  262. package/es/animate/Ticker/raf-tick-handler.d.ts +9 -0
  263. package/es/animate/Ticker/raf-tick-handler.js +22 -0
  264. package/es/animate/Ticker/raf-tick-handler.js.map +1 -0
  265. package/es/animate/Ticker/timeout-tick-handler.d.ts +9 -0
  266. package/es/animate/Ticker/timeout-tick-handler.js +20 -0
  267. package/es/animate/Ticker/timeout-tick-handler.js.map +1 -0
  268. package/es/animate/Ticker/type.d.ts +6 -0
  269. package/es/animate/Ticker/type.js +7 -0
  270. package/es/animate/Ticker/type.js.map +1 -0
  271. package/es/animate/animate.js +4 -2
  272. package/es/animate/animate.js.map +1 -1
  273. package/es/animate/custom-animate.d.ts +5 -16
  274. package/es/animate/custom-animate.js +9 -58
  275. package/es/animate/custom-animate.js.map +1 -1
  276. package/es/animate/group-fade.d.ts +16 -0
  277. package/es/animate/group-fade.js +56 -0
  278. package/es/animate/group-fade.js.map +1 -0
  279. package/es/animate/index.d.ts +1 -0
  280. package/es/animate/index.js +2 -0
  281. package/es/animate/index.js.map +1 -1
  282. package/es/canvas/conical-gradient.js.map +1 -1
  283. package/es/canvas/contributions/base-canvas.js +3 -15
  284. package/es/canvas/contributions/base-canvas.js.map +1 -1
  285. package/es/canvas/util.d.ts +0 -1
  286. package/es/canvas/util.js +7 -17
  287. package/es/canvas/util.js.map +1 -1
  288. package/es/common/3d-interceptor.d.ts +3 -0
  289. package/es/common/3d-interceptor.js +46 -0
  290. package/es/common/3d-interceptor.js.map +1 -0
  291. package/es/common/bezier-utils.js +2 -1
  292. package/es/common/canvas-utils.d.ts +1 -1
  293. package/es/common/canvas-utils.js +15 -30
  294. package/es/common/canvas-utils.js.map +1 -1
  295. package/es/common/matrix.d.ts +11 -3
  296. package/es/common/matrix.js +90 -17
  297. package/es/common/matrix.js.map +1 -1
  298. package/es/common/render-command-list.js +1 -2
  299. package/es/common/render-curve.js +22 -32
  300. package/es/common/render-curve.js.map +1 -1
  301. package/es/common/render-utils.js +2 -1
  302. package/es/common/segment/catmull-rom-close.d.ts +41 -0
  303. package/es/common/segment/catmull-rom-close.js +74 -0
  304. package/es/common/segment/catmull-rom-close.js.map +1 -0
  305. package/es/common/segment/catmull-rom.d.ts +38 -0
  306. package/es/common/segment/catmull-rom.js +92 -0
  307. package/es/common/segment/catmull-rom.js.map +1 -0
  308. package/es/common/segment/index.d.ts +5 -2
  309. package/es/common/segment/index.js +11 -0
  310. package/es/common/segment/index.js.map +1 -1
  311. package/es/common/sort.js +15 -12
  312. package/es/common/sort.js.map +1 -1
  313. package/es/common/text.d.ts +0 -2
  314. package/es/common/text.js +6 -11
  315. package/es/common/text.js.map +1 -1
  316. package/es/common/utils.js +1 -1
  317. package/es/common/utils.js.map +1 -1
  318. package/es/core/camera.js +5 -3
  319. package/es/core/camera.js.map +1 -1
  320. package/es/core/contributions/layerHandler/modules.js +2 -9
  321. package/es/core/contributions/layerHandler/modules.js.map +1 -1
  322. package/es/core/stage.d.ts +2 -2
  323. package/es/core/stage.js +22 -14
  324. package/es/core/stage.js.map +1 -1
  325. package/es/event/federated-event/base-event.js +12 -2
  326. package/es/event/federated-event/base-event.js.map +1 -1
  327. package/es/graphic/arc.d.ts +6 -4
  328. package/es/graphic/arc.js +47 -16
  329. package/es/graphic/arc.js.map +1 -1
  330. package/es/graphic/arc3d.d.ts +2 -2
  331. package/es/graphic/arc3d.js +7 -10
  332. package/es/graphic/arc3d.js.map +1 -1
  333. package/es/graphic/area.d.ts +5 -3
  334. package/es/graphic/area.js +28 -11
  335. package/es/graphic/area.js.map +1 -1
  336. package/es/graphic/builtin-symbol/index.d.ts +1 -1
  337. package/es/graphic/builtin-symbol/thin-triangle.d.ts +2 -2
  338. package/es/graphic/builtin-symbol/thin-triangle.js +2 -2
  339. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  340. package/es/graphic/builtin-symbol/triangle-down.d.ts +1 -2
  341. package/es/graphic/builtin-symbol/triangle-down.js +2 -7
  342. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  343. package/es/graphic/builtin-symbol/triangle-left.d.ts +0 -1
  344. package/es/graphic/builtin-symbol/triangle-left.js +1 -6
  345. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  346. package/es/graphic/builtin-symbol/triangle-right.d.ts +1 -2
  347. package/es/graphic/builtin-symbol/triangle-right.js +2 -7
  348. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  349. package/es/graphic/builtin-symbol/triangle-up.d.ts +1 -2
  350. package/es/graphic/builtin-symbol/triangle-up.js +2 -7
  351. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  352. package/es/graphic/builtin-symbol/triangle.d.ts +1 -2
  353. package/es/graphic/builtin-symbol/triangle.js +1 -3
  354. package/es/graphic/builtin-symbol/triangle.js.map +1 -1
  355. package/es/graphic/builtin-symbol/utils.js +1 -4
  356. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  357. package/es/graphic/circle.d.ts +5 -3
  358. package/es/graphic/circle.js +23 -9
  359. package/es/graphic/circle.js.map +1 -1
  360. package/es/graphic/config.js +7 -3
  361. package/es/graphic/config.js.map +1 -1
  362. package/es/graphic/glyph.d.ts +4 -2
  363. package/es/graphic/glyph.js +9 -1
  364. package/es/graphic/glyph.js.map +1 -1
  365. package/es/graphic/graphic-creator.js.map +1 -1
  366. package/es/graphic/graphic-service/common-outer-boder-bounds.d.ts +3 -0
  367. package/es/graphic/graphic-service/common-outer-boder-bounds.js +9 -0
  368. package/es/graphic/graphic-service/common-outer-boder-bounds.js.map +1 -0
  369. package/es/graphic/graphic-service/graphic-service.d.ts +7 -42
  370. package/es/graphic/graphic-service/graphic-service.js +14 -388
  371. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  372. package/es/graphic/graphic-service/symbol-outer-border-bounds.d.ts +3 -0
  373. package/es/graphic/graphic-service/symbol-outer-border-bounds.js +11 -0
  374. package/es/graphic/graphic-service/symbol-outer-border-bounds.js.map +1 -0
  375. package/es/graphic/graphic.d.ts +12 -9
  376. package/es/graphic/graphic.js +20 -3
  377. package/es/graphic/graphic.js.map +1 -1
  378. package/es/graphic/group.d.ts +7 -3
  379. package/es/graphic/group.js +32 -22
  380. package/es/graphic/group.js.map +1 -1
  381. package/es/graphic/image.d.ts +3 -2
  382. package/es/graphic/image.js +15 -8
  383. package/es/graphic/image.js.map +1 -1
  384. package/es/graphic/line.d.ts +5 -3
  385. package/es/graphic/line.js +25 -10
  386. package/es/graphic/line.js.map +1 -1
  387. package/es/graphic/node-tree.js.map +1 -1
  388. package/es/graphic/path.d.ts +3 -3
  389. package/es/graphic/path.js +18 -12
  390. package/es/graphic/path.js.map +1 -1
  391. package/es/graphic/polygon.d.ts +4 -3
  392. package/es/graphic/polygon.js +17 -10
  393. package/es/graphic/polygon.js.map +1 -1
  394. package/es/graphic/pyramid3d.d.ts +2 -2
  395. package/es/graphic/pyramid3d.js +8 -10
  396. package/es/graphic/pyramid3d.js.map +1 -1
  397. package/es/graphic/rect.d.ts +3 -3
  398. package/es/graphic/rect.js +16 -10
  399. package/es/graphic/rect.js.map +1 -1
  400. package/es/graphic/rect3d.js +1 -3
  401. package/es/graphic/rect3d.js.map +1 -1
  402. package/es/graphic/richtext/icon.d.ts +2 -2
  403. package/es/graphic/richtext/icon.js.map +1 -1
  404. package/es/graphic/richtext/utils.js +9 -20
  405. package/es/graphic/richtext/utils.js.map +1 -1
  406. package/es/graphic/richtext.d.ts +4 -4
  407. package/es/graphic/richtext.js +45 -13
  408. package/es/graphic/richtext.js.map +1 -1
  409. package/es/graphic/shadow-root.d.ts +2 -2
  410. package/es/graphic/shadow-root.js.map +1 -1
  411. package/es/graphic/symbol.d.ts +5 -3
  412. package/es/graphic/symbol.js +26 -11
  413. package/es/graphic/symbol.js.map +1 -1
  414. package/es/graphic/text.d.ts +10 -10
  415. package/es/graphic/text.js +28 -23
  416. package/es/graphic/text.js.map +1 -1
  417. package/es/graphic/theme.js.map +1 -1
  418. package/es/graphic/wrap-text.d.ts +1 -1
  419. package/es/graphic/wrap-text.js +1 -3
  420. package/es/graphic/wrap-text.js.map +1 -1
  421. package/es/index.d.ts +3 -0
  422. package/es/index.js +6 -0
  423. package/es/index.js.map +1 -1
  424. package/es/interface/graphic/arc.d.ts +2 -2
  425. package/es/interface/graphic/arc.js.map +1 -1
  426. package/es/interface/graphic/arc3d.d.ts +1 -1
  427. package/es/interface/graphic/arc3d.js.map +1 -1
  428. package/es/interface/graphic/area.d.ts +1 -0
  429. package/es/interface/graphic/area.js.map +1 -1
  430. package/es/interface/graphic/group.d.ts +1 -1
  431. package/es/interface/graphic/group.js.map +1 -1
  432. package/es/interface/graphic/line.d.ts +1 -0
  433. package/es/interface/graphic/line.js.map +1 -1
  434. package/es/interface/graphic/richText.d.ts +1 -0
  435. package/es/interface/graphic/richText.js.map +1 -1
  436. package/es/interface/graphic-service.d.ts +10 -17
  437. package/es/interface/graphic-service.js.map +1 -1
  438. package/es/interface/graphic.d.ts +2 -0
  439. package/es/interface/graphic.js.map +1 -1
  440. package/es/picker/pick-interceptor.d.ts +1 -1
  441. package/es/picker/pick-interceptor.js +10 -46
  442. package/es/picker/pick-interceptor.js.map +1 -1
  443. package/es/picker/picker-service.js +1 -1
  444. package/es/picker/picker-service.js.map +1 -1
  445. package/es/plugins/builtin-plugin/3dview-transform-plugin.d.ts +1 -0
  446. package/es/plugins/builtin-plugin/3dview-transform-plugin.js +6 -0
  447. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  448. package/es/plugins/builtin-plugin/edit-module.d.ts +22 -0
  449. package/es/plugins/builtin-plugin/edit-module.js +86 -0
  450. package/es/plugins/builtin-plugin/edit-module.js.map +1 -0
  451. package/es/plugins/builtin-plugin/flex-layout-plugin.d.ts +1 -0
  452. package/es/plugins/builtin-plugin/flex-layout-plugin.js +6 -0
  453. package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
  454. package/es/plugins/builtin-plugin/html-attribute-plugin.js +2 -2
  455. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  456. package/es/plugins/builtin-plugin/react-attribute-plugin.d.ts +2 -1
  457. package/es/plugins/builtin-plugin/react-attribute-plugin.js +15 -7
  458. package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
  459. package/es/plugins/builtin-plugin/richtext-edit-plugin.d.ts +76 -0
  460. package/es/plugins/builtin-plugin/richtext-edit-plugin.js +334 -0
  461. package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -0
  462. package/es/render/contributions/render/arc-render.js +7 -16
  463. package/es/render/contributions/render/arc-render.js.map +1 -1
  464. package/es/render/contributions/render/area-render.js +12 -6
  465. package/es/render/contributions/render/area-render.js.map +1 -1
  466. package/es/render/contributions/render/base-3d-render.d.ts +10 -0
  467. package/es/render/contributions/render/base-3d-render.js +57 -0
  468. package/es/render/contributions/render/base-3d-render.js.map +1 -0
  469. package/es/render/contributions/render/base-render.d.ts +1 -1
  470. package/es/render/contributions/render/base-render.js +3 -1
  471. package/es/render/contributions/render/base-render.js.map +1 -1
  472. package/es/render/contributions/render/draw-interceptor.js +7 -51
  473. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  474. package/es/render/contributions/render/group-render.js +3 -1
  475. package/es/render/contributions/render/group-render.js.map +1 -1
  476. package/es/render/contributions/render/index.d.ts +1 -0
  477. package/es/render/contributions/render/index.js +2 -0
  478. package/es/render/contributions/render/index.js.map +1 -1
  479. package/es/render/contributions/render/line-render.js +6 -3
  480. package/es/render/contributions/render/line-render.js.map +1 -1
  481. package/es/render/contributions/render/pyramid3d-render.d.ts +3 -5
  482. package/es/render/contributions/render/pyramid3d-render.js +4 -56
  483. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  484. package/es/render/contributions/render/rect3d-render.d.ts +3 -5
  485. package/es/render/contributions/render/rect3d-render.js +4 -55
  486. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  487. package/es/render/contributions/render/symbol-render.js +9 -18
  488. package/es/render/contributions/render/symbol-render.js.map +1 -1
  489. package/es/render/contributions/render/utils.d.ts +24 -0
  490. package/es/render/contributions/render/utils.js +41 -13
  491. package/es/render/contributions/render/utils.js.map +1 -1
  492. package/package.json +4 -4
  493. package/cjs/graphic/graphic-service/common-contribution.d.ts +0 -5
  494. package/cjs/graphic/graphic-service/common-contribution.js +0 -19
  495. package/cjs/graphic/graphic-service/common-contribution.js.map +0 -1
  496. package/cjs/graphic/graphic-service/symbol-contribution.d.ts +0 -6
  497. package/cjs/graphic/graphic-service/symbol-contribution.js +0 -21
  498. package/cjs/graphic/graphic-service/symbol-contribution.js.map +0 -1
  499. package/es/graphic/graphic-service/common-contribution.d.ts +0 -5
  500. package/es/graphic/graphic-service/common-contribution.js +0 -11
  501. package/es/graphic/graphic-service/common-contribution.js.map +0 -1
  502. package/es/graphic/graphic-service/symbol-contribution.d.ts +0 -6
  503. package/es/graphic/graphic-service/symbol-contribution.js +0 -15
  504. package/es/graphic/graphic-service/symbol-contribution.js.map +0 -1
@@ -14,7 +14,7 @@ export declare class DefaultMatrixAllocate implements IAllocate<IMatrix>, Releas
14
14
  }
15
15
  export declare class DefaultMat4Allocate implements IAllocate<mat4>, Releaseable {
16
16
  protected pools: mat4[];
17
- static identity(out: mat4): mat4;
17
+ static identity(out: mat4): import("@visactor/vutils").mat4;
18
18
  allocate(): mat4;
19
19
  allocateByObj(d: mat4): mat4;
20
20
  free(m: mat4): void;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.mat4Allocate = exports.matrixAllocate = exports.DefaultMat4Allocate = exports.DefaultMatrixAllocate = exports.createMat4 = exports.Mat4Allocate = exports.MatrixAllocate = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils");
7
+ const vutils_1 = require("@visactor/vutils"), matrix_1 = require("../common/matrix");
8
8
 
9
9
  function createMat4() {
10
10
  return [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ];
@@ -46,9 +46,7 @@ class DefaultMat4Allocate {
46
46
  this.pools = [];
47
47
  }
48
48
  static identity(out) {
49
- return out[0] = 1, out[1] = 0, out[2] = 0, out[3] = 0, out[4] = 0, out[5] = 1, out[6] = 0,
50
- out[7] = 0, out[8] = 0, out[9] = 0, out[10] = 1, out[11] = 0, out[12] = 0, out[13] = 0,
51
- out[14] = 0, out[15] = 1, out;
49
+ return (0, matrix_1.identityMat4)(out);
52
50
  }
53
51
  allocate() {
54
52
  if (!this.pools.length) return createMat4();
@@ -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":"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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';\nimport { identityMat4 } from '../common/matrix';\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 return identityMat4(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,40 +1,6 @@
1
1
  import type { ITickHandler, ITimeline, ITicker } from '../../interface';
2
- export declare class ManualTickHandler implements ITickHandler {
3
- protected timerId: number;
4
- protected time: number;
5
- static Avaliable(): boolean;
6
- avaliable(): boolean;
7
- tick(interval: number, cb: (handler: ITickHandler, params?: {
8
- once: boolean;
9
- }) => void): void;
10
- tickTo(t: number, cb: (handler: ITickHandler, params?: {
11
- once: boolean;
12
- }) => void): void;
13
- release(): void;
14
- getTime(): number;
15
- }
16
- export declare class TimeOutTickHandler implements ITickHandler {
17
- protected timerId: number;
18
- static Avaliable(): boolean;
19
- avaliable(): boolean;
20
- tick(interval: number, cb: (handler: ITickHandler) => void): void;
21
- release(): void;
22
- getTime(): number;
23
- }
24
- export declare class RAFTickHandler implements ITickHandler {
25
- protected released: boolean;
26
- static Avaliable(): boolean;
27
- avaliable(): boolean;
28
- tick(interval: number, cb: (handler: ITickHandler) => void): void;
29
- release(): void;
30
- getTime(): number;
31
- }
32
- type TickerMode = 'raf' | 'timeout' | 'manual';
33
- declare enum STATUS {
34
- INITIAL = 0,
35
- RUNNING = 1,
36
- PAUSE = 2
37
- }
2
+ import type { TickerMode } from './type';
3
+ import { STATUS } from './type';
38
4
  export declare class DefaultTicker implements ITicker {
39
5
  protected interval: number;
40
6
  protected tickerHandler: ITickHandler;
@@ -68,20 +34,3 @@ export declare class DefaultTicker implements ITicker {
68
34
  }) => void;
69
35
  protected _handlerTick: (handler: ITickHandler) => void;
70
36
  }
71
- export declare class ManualTicker extends DefaultTicker implements ITicker {
72
- protected interval: number;
73
- protected tickerHandler: ITickHandler;
74
- protected _mode: TickerMode;
75
- protected status: STATUS;
76
- protected lastFrameTime: number;
77
- protected tickCounts: number;
78
- protected timelines: ITimeline[];
79
- autoStop: boolean;
80
- set mode(m: TickerMode);
81
- get mode(): TickerMode;
82
- protected initHandler(): ITickHandler | null;
83
- protected setupTickHandler(): boolean;
84
- tickAt(time: number): void;
85
- ifCanStop(): boolean;
86
- }
87
- export {};
@@ -2,88 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.ManualTicker = exports.DefaultTicker = exports.RAFTickHandler = exports.TimeOutTickHandler = exports.ManualTickHandler = void 0;
5
+ }), exports.DefaultTicker = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), application_1 = require("../../application");
8
-
9
- class ManualTickHandler {
10
- constructor() {
11
- this.time = 0;
12
- }
13
- static Avaliable() {
14
- return !0;
15
- }
16
- avaliable() {
17
- return ManualTickHandler.Avaliable();
18
- }
19
- tick(interval, cb) {
20
- this.time = Math.max(0, interval + this.time), cb(this, {
21
- once: !0
22
- });
23
- }
24
- tickTo(t, cb) {
25
- this.time = Math.max(0, t), cb(this, {
26
- once: !0
27
- });
28
- }
29
- release() {
30
- this.timerId > 0 && (this.timerId = -1);
31
- }
32
- getTime() {
33
- return this.time;
34
- }
35
- }
36
-
37
- exports.ManualTickHandler = ManualTickHandler;
38
-
39
- class TimeOutTickHandler {
40
- static Avaliable() {
41
- return !0;
42
- }
43
- avaliable() {
44
- return TimeOutTickHandler.Avaliable();
45
- }
46
- tick(interval, cb) {
47
- this.timerId = setTimeout((() => {
48
- cb(this);
49
- }), interval);
50
- }
51
- release() {
52
- this.timerId > 0 && (clearTimeout(this.timerId), this.timerId = -1);
53
- }
54
- getTime() {
55
- return Date.now();
56
- }
57
- }
58
-
59
- exports.TimeOutTickHandler = TimeOutTickHandler;
60
-
61
- class RAFTickHandler {
62
- static Avaliable() {
63
- return !!application_1.application.global.getRequestAnimationFrame();
64
- }
65
- avaliable() {
66
- return RAFTickHandler.Avaliable();
67
- }
68
- tick(interval, cb) {
69
- application_1.application.global.getRequestAnimationFrame()((() => {
70
- this.released || cb(this);
71
- }));
72
- }
73
- release() {
74
- this.released = !0;
75
- }
76
- getTime() {
77
- return Date.now();
78
- }
79
- }
80
-
81
- var STATUS;
82
-
83
- exports.RAFTickHandler = RAFTickHandler, function(STATUS) {
84
- STATUS[STATUS.INITIAL = 0] = "INITIAL", STATUS[STATUS.RUNNING = 1] = "RUNNING",
85
- STATUS[STATUS.PAUSE = 2] = "PAUSE";
86
- }(STATUS || (STATUS = {}));
7
+ const vutils_1 = require("@visactor/vutils"), application_1 = require("../../application"), type_1 = require("./type"), raf_tick_handler_1 = require("./raf-tick-handler"), timeout_tick_handler_1 = require("./timeout-tick-handler");
87
8
 
88
9
  class DefaultTicker {
89
10
  set mode(m) {
@@ -100,14 +21,14 @@ class DefaultTicker {
100
21
  const time = this.tickerHandler.getTime();
101
22
  let delta = 0;
102
23
  this.lastFrameTime >= 0 && (delta = time - this.lastFrameTime), this.lastFrameTime = time,
103
- this.status === STATUS.RUNNING && (this.tickCounts++, this.timelines.forEach((t => {
24
+ this.status === type_1.STATUS.RUNNING && (this.tickCounts++, this.timelines.forEach((t => {
104
25
  t.tick(delta);
105
26
  })));
106
27
  }, this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.timelines = timelines,
107
28
  this.autoStop = !0;
108
29
  }
109
30
  init() {
110
- this.interval = NaN, this.status = STATUS.INITIAL, application_1.application.global.hooks.onSetEnv.tap("default-ticker", (() => {
31
+ this.interval = NaN, this.status = type_1.STATUS.INITIAL, application_1.application.global.hooks.onSetEnv.tap("default-ticker", (() => {
111
32
  this.initHandler();
112
33
  })), application_1.application.global.env && this.initHandler();
113
34
  }
@@ -121,13 +42,10 @@ class DefaultTicker {
121
42
  if (this._mode) return null;
122
43
  const ticks = [ {
123
44
  mode: "raf",
124
- cons: RAFTickHandler
45
+ cons: raf_tick_handler_1.RAFTickHandler
125
46
  }, {
126
47
  mode: "timeout",
127
- cons: TimeOutTickHandler
128
- }, {
129
- mode: "manual",
130
- cons: ManualTickHandler
48
+ cons: timeout_tick_handler_1.TimeOutTickHandler
131
49
  } ];
132
50
  for (let i = 0; i < ticks.length; i++) if (ticks[i].cons.Avaliable()) {
133
51
  this.mode = ticks[i].mode;
@@ -139,19 +57,15 @@ class DefaultTicker {
139
57
  let handler;
140
58
  switch (this._mode) {
141
59
  case "raf":
142
- handler = new RAFTickHandler;
60
+ handler = new raf_tick_handler_1.RAFTickHandler;
143
61
  break;
144
62
 
145
63
  case "timeout":
146
- handler = new TimeOutTickHandler;
147
- break;
148
-
149
- case "manual":
150
- handler = new ManualTickHandler;
64
+ handler = new timeout_tick_handler_1.TimeOutTickHandler;
151
65
  break;
152
66
 
153
67
  default:
154
- vutils_1.Logger.getInstance().warn("非法的计时器模式"), handler = new RAFTickHandler;
68
+ vutils_1.Logger.getInstance().warn("非法的计时器模式"), handler = new raf_tick_handler_1.RAFTickHandler;
155
69
  }
156
70
  return !!handler.avaliable() && (this.tickerHandler && this.tickerHandler.release(),
157
71
  this.tickerHandler = handler, !0);
@@ -183,10 +97,12 @@ class DefaultTicker {
183
97
  }));
184
98
  }
185
99
  pause() {
186
- return this.status !== STATUS.INITIAL && (this.status = STATUS.PAUSE, !0);
100
+ return this.status !== type_1.STATUS.INITIAL && (this.status = type_1.STATUS.PAUSE,
101
+ !0);
187
102
  }
188
103
  resume() {
189
- return this.status !== STATUS.INITIAL && (this.status = STATUS.RUNNING, !0);
104
+ return this.status !== type_1.STATUS.INITIAL && (this.status = type_1.STATUS.RUNNING,
105
+ !0);
190
106
  }
191
107
  ifCanStop() {
192
108
  if (this.autoStop) {
@@ -196,49 +112,20 @@ class DefaultTicker {
196
112
  return !1;
197
113
  }
198
114
  start(force = !1) {
199
- if (this.status === STATUS.RUNNING) return !1;
115
+ if (this.status === type_1.STATUS.RUNNING) return !1;
200
116
  if (!this.tickerHandler) return !1;
201
117
  if (!force) {
202
- if (this.status === STATUS.PAUSE) return !1;
118
+ if (this.status === type_1.STATUS.PAUSE) return !1;
203
119
  if (!this.timelines.length) return !1;
204
120
  if (0 === this.timelines.reduce(((a, b) => a + b.animateCount), 0)) return !1;
205
121
  }
206
- return this.status = STATUS.RUNNING, this.tickerHandler.tick(0, this.handleTick),
122
+ return this.status = type_1.STATUS.RUNNING, this.tickerHandler.tick(0, this.handleTick),
207
123
  !0;
208
124
  }
209
125
  stop() {
210
- this.status = STATUS.INITIAL, this.setupTickHandler(), this.lastFrameTime = -1;
126
+ this.status = type_1.STATUS.INITIAL, this.setupTickHandler(), this.lastFrameTime = -1;
211
127
  }
212
128
  }
213
129
 
214
130
  exports.DefaultTicker = DefaultTicker;
215
-
216
- class ManualTicker extends DefaultTicker {
217
- set mode(m) {
218
- this.setupTickHandler();
219
- }
220
- get mode() {
221
- return this._mode;
222
- }
223
- initHandler() {
224
- return this.mode = "manual", null;
225
- }
226
- setupTickHandler() {
227
- const handler = new ManualTickHandler;
228
- return this._mode = "manual", this.tickerHandler && this.tickerHandler.release(),
229
- this.tickerHandler = handler, !0;
230
- }
231
- tickAt(time) {
232
- this.tickerHandler.tick(time - this.lastFrameTime, (handler => {
233
- this.handleTick(handler, {
234
- once: !0
235
- });
236
- }));
237
- }
238
- ifCanStop() {
239
- return !1;
240
- }
241
- }
242
-
243
- exports.ManualTicker = ManualTicker;
244
131
  //# sourceMappingURL=default-ticker.js.map
@@ -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';\nimport type { TickerMode } from './type';\nimport { STATUS } from './type';\nimport { RAFTickHandler } from './raf-tick-handler';\nimport { TimeOutTickHandler } from './timeout-tick-handler';\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 ];\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"]}
@@ -1 +1,5 @@
1
1
  export * from './default-ticker';
2
+ export * from './manual-ticker';
3
+ export * from './manual-ticker-handler';
4
+ export * from './raf-tick-handler';
5
+ export * from './timeout-tick-handler';
@@ -17,5 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
17
17
 
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
- }), __exportStar(require("./default-ticker"), exports);
20
+ }), __exportStar(require("./default-ticker"), exports), __exportStar(require("./manual-ticker"), exports),
21
+ __exportStar(require("./manual-ticker-handler"), exports), __exportStar(require("./raf-tick-handler"), exports),
22
+ __exportStar(require("./timeout-tick-handler"), exports);
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/animate/Ticker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC","file":"index.js","sourcesContent":["export * from './default-ticker';\n"]}
1
+ {"version":3,"sources":["../src/animate/Ticker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,0DAAwC;AACxC,qDAAmC;AACnC,yDAAuC","file":"index.js","sourcesContent":["export * from './default-ticker';\nexport * from './manual-ticker';\nexport * from './manual-ticker-handler';\nexport * from './raf-tick-handler';\nexport * from './timeout-tick-handler';\n"]}
@@ -0,0 +1,15 @@
1
+ import type { ITickHandler } from '../../interface/animate';
2
+ export declare class ManualTickHandler implements ITickHandler {
3
+ protected timerId: number;
4
+ protected time: number;
5
+ static Avaliable(): boolean;
6
+ avaliable(): boolean;
7
+ tick(interval: number, cb: (handler: ITickHandler, params?: {
8
+ once: boolean;
9
+ }) => void): void;
10
+ tickTo(t: number, cb: (handler: ITickHandler, params?: {
11
+ once: boolean;
12
+ }) => void): void;
13
+ release(): void;
14
+ getTime(): number;
15
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.ManualTickHandler = void 0;
6
+
7
+ class ManualTickHandler {
8
+ constructor() {
9
+ this.time = 0;
10
+ }
11
+ static Avaliable() {
12
+ return !0;
13
+ }
14
+ avaliable() {
15
+ return ManualTickHandler.Avaliable();
16
+ }
17
+ tick(interval, cb) {
18
+ this.time = Math.max(0, interval + this.time), cb(this, {
19
+ once: !0
20
+ });
21
+ }
22
+ tickTo(t, cb) {
23
+ this.time = Math.max(0, t), cb(this, {
24
+ once: !0
25
+ });
26
+ }
27
+ release() {
28
+ this.timerId > 0 && (this.timerId = -1);
29
+ }
30
+ getTime() {
31
+ return this.time;
32
+ }
33
+ }
34
+
35
+ exports.ManualTickHandler = ManualTickHandler;
36
+ //# sourceMappingURL=manual-ticker-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/animate/Ticker/manual-ticker-handler.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAA9B;QAEY,SAAI,GAAW,CAAC,CAAC;IA8B7B,CAAC;IA5BC,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,iBAAiB,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,EAA+D;QACpF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,EAA+D;QAC/E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YAEpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;SACnB;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAhCD,8CAgCC","file":"manual-ticker-handler.js","sourcesContent":["import type { ITickHandler } from '../../interface/animate';\n\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"]}
@@ -0,0 +1,19 @@
1
+ import type { ITicker, ITickHandler, ITimeline } from '../../interface/animate';
2
+ import { DefaultTicker } from './default-ticker';
3
+ import type { STATUS, TickerMode } from './type';
4
+ export declare class ManualTicker extends DefaultTicker implements ITicker {
5
+ protected interval: number;
6
+ protected tickerHandler: ITickHandler;
7
+ protected _mode: TickerMode;
8
+ protected status: STATUS;
9
+ protected lastFrameTime: number;
10
+ protected tickCounts: number;
11
+ protected timelines: ITimeline[];
12
+ autoStop: boolean;
13
+ set mode(m: TickerMode);
14
+ get mode(): TickerMode;
15
+ protected initHandler(): ITickHandler | null;
16
+ protected setupTickHandler(): boolean;
17
+ tickAt(time: number): void;
18
+ ifCanStop(): boolean;
19
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.ManualTicker = void 0;
6
+
7
+ const default_ticker_1 = require("./default-ticker"), manual_ticker_handler_1 = require("./manual-ticker-handler");
8
+
9
+ class ManualTicker extends default_ticker_1.DefaultTicker {
10
+ set mode(m) {
11
+ this.setupTickHandler();
12
+ }
13
+ get mode() {
14
+ return this._mode;
15
+ }
16
+ initHandler() {
17
+ return this.mode = "manual", null;
18
+ }
19
+ setupTickHandler() {
20
+ const handler = new manual_ticker_handler_1.ManualTickHandler;
21
+ return this._mode = "manual", this.tickerHandler && this.tickerHandler.release(),
22
+ this.tickerHandler = handler, !0;
23
+ }
24
+ tickAt(time) {
25
+ this.tickerHandler.tick(time - this.lastFrameTime, (handler => {
26
+ this.handleTick(handler, {
27
+ once: !0
28
+ });
29
+ }));
30
+ }
31
+ ifCanStop() {
32
+ return !1;
33
+ }
34
+ }
35
+
36
+ exports.ManualTicker = ManualTicker;
37
+ //# sourceMappingURL=manual-ticker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/animate/Ticker/manual-ticker.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AACjD,mEAA4D;AAG5D,MAAa,YAAa,SAAQ,8BAAa;IAU7C,IAAI,IAAI,CAAC,CAAa;QACpB,CAAC,GAAG,QAAQ,CAAC;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAMS,gBAAgB;QACxB,MAAM,OAAO,GAAiB,IAAI,yCAAiB,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QAGtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAqB,EAAE,EAAE;YAC3E,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAhDD,oCAgDC","file":"manual-ticker.js","sourcesContent":["import type { ITicker, ITickHandler, ITimeline } from '../../interface/animate';\nimport { DefaultTicker } from './default-ticker';\nimport { ManualTickHandler } from './manual-ticker-handler';\nimport type { STATUS, TickerMode } from './type';\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"]}
@@ -0,0 +1,9 @@
1
+ import type { ITickHandler } from '../../interface/animate';
2
+ export declare class RAFTickHandler implements ITickHandler {
3
+ protected released: boolean;
4
+ static Avaliable(): boolean;
5
+ avaliable(): boolean;
6
+ tick(interval: number, cb: (handler: ITickHandler) => void): void;
7
+ release(): void;
8
+ getTime(): number;
9
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.RAFTickHandler = void 0;
6
+
7
+ const application_1 = require("../../application");
8
+
9
+ class RAFTickHandler {
10
+ static Avaliable() {
11
+ return !!application_1.application.global.getRequestAnimationFrame();
12
+ }
13
+ avaliable() {
14
+ return RAFTickHandler.Avaliable();
15
+ }
16
+ tick(interval, cb) {
17
+ application_1.application.global.getRequestAnimationFrame()((() => {
18
+ this.released || cb(this);
19
+ }));
20
+ }
21
+ release() {
22
+ this.released = !0;
23
+ }
24
+ getTime() {
25
+ return Date.now();
26
+ }
27
+ }
28
+
29
+ exports.RAFTickHandler = RAFTickHandler;
30
+ //# sourceMappingURL=raf-tick-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/animate/Ticker/raf-tick-handler.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAGhD,MAAa,cAAc;IAGzB,MAAM,CAAC,SAAS;QACd,OAAO,CAAC,CAAC,yBAAW,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;IACzD,CAAC;IACD,SAAS;QACP,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,EAAmC;QACxD,MAAM,GAAG,GAAG,yBAAW,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;QAC1D,GAAG,CAAC,GAAG,EAAE;YACP,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YACD,EAAE,CAAC,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AA1BD,wCA0BC","file":"raf-tick-handler.js","sourcesContent":["import { application } from '../../application';\nimport type { ITickHandler } from '../../interface/animate';\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"]}
@@ -0,0 +1,9 @@
1
+ import type { ITickHandler } from '../../interface/animate';
2
+ export declare class TimeOutTickHandler implements ITickHandler {
3
+ protected timerId: number;
4
+ static Avaliable(): boolean;
5
+ avaliable(): boolean;
6
+ tick(interval: number, cb: (handler: ITickHandler) => void): void;
7
+ release(): void;
8
+ getTime(): number;
9
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.TimeOutTickHandler = void 0;
6
+
7
+ class TimeOutTickHandler {
8
+ static Avaliable() {
9
+ return !0;
10
+ }
11
+ avaliable() {
12
+ return TimeOutTickHandler.Avaliable();
13
+ }
14
+ tick(interval, cb) {
15
+ this.timerId = setTimeout((() => {
16
+ cb(this);
17
+ }), interval);
18
+ }
19
+ release() {
20
+ this.timerId > 0 && (clearTimeout(this.timerId), this.timerId = -1);
21
+ }
22
+ getTime() {
23
+ return Date.now();
24
+ }
25
+ }
26
+
27
+ exports.TimeOutTickHandler = TimeOutTickHandler;
28
+ //# sourceMappingURL=timeout-tick-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/animate/Ticker/timeout-tick-handler.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAG7B,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,OAAO,kBAAkB,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,EAAmC;QACxD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,EAAE,CAAC,IAAI,CAAC,CAAC;QACX,CAAC,EAAE,QAAQ,CAAsB,CAAC;IACpC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;YACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;SACnB;IACH,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AA1BD,gDA0BC","file":"timeout-tick-handler.js","sourcesContent":["import type { ITickHandler } from '../../interface/animate';\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"]}