@visactor/vrender-core 0.22.7-alpha.3 → 0.23.0-alpha.3

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 (250) hide show
  1. package/cjs/canvas/constants.js +1 -2
  2. package/cjs/canvas/empty-context.d.ts +1 -0
  3. package/cjs/canvas/empty-context.js +4 -0
  4. package/cjs/canvas/empty-context.js.map +1 -1
  5. package/cjs/color-string/interpolate.d.ts +1 -0
  6. package/cjs/color-string/interpolate.js +7 -2
  7. package/cjs/color-string/interpolate.js.map +1 -1
  8. package/cjs/color-string/store.js +2 -1
  9. package/cjs/common/enums.js +1 -2
  10. package/cjs/common/performance-raf.d.ts +8 -0
  11. package/cjs/common/performance-raf.js +31 -0
  12. package/cjs/common/performance-raf.js.map +1 -0
  13. package/cjs/common/render-area.js +1 -0
  14. package/cjs/common/store.js +1 -2
  15. package/cjs/common/text.js +1 -1
  16. package/cjs/common/utils.js +1 -1
  17. package/cjs/core/application.js +1 -1
  18. package/cjs/core/camera.js +1 -1
  19. package/cjs/core/constants.js +1 -1
  20. package/cjs/core/core-modules.js +1 -1
  21. package/cjs/core/global-module.js +0 -2
  22. package/cjs/core/global.d.ts +3 -0
  23. package/cjs/core/global.js +13 -3
  24. package/cjs/core/global.js.map +1 -1
  25. package/cjs/core/stage.d.ts +3 -1
  26. package/cjs/core/stage.js +24 -19
  27. package/cjs/core/stage.js.map +1 -1
  28. package/cjs/event/event-system.js +7 -6
  29. package/cjs/event/event-system.js.map +1 -1
  30. package/cjs/graphic/graphic.d.ts +4 -3
  31. package/cjs/graphic/graphic.js +16 -22
  32. package/cjs/graphic/graphic.js.map +1 -1
  33. package/cjs/index.d.ts +1 -3
  34. package/cjs/index.js +16 -17
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/interface/animate.d.ts +5 -0
  37. package/cjs/interface/animate.js.map +1 -1
  38. package/cjs/interface/context.d.ts +1 -0
  39. package/cjs/interface/context.js.map +1 -1
  40. package/cjs/interface/global.d.ts +2 -0
  41. package/cjs/interface/global.js.map +1 -1
  42. package/cjs/interface/graphic.d.ts +3 -1
  43. package/cjs/interface/graphic.js.map +1 -1
  44. package/cjs/interface/index.d.ts +1 -1
  45. package/cjs/interface/index.js +9 -9
  46. package/cjs/interface/index.js.map +1 -1
  47. package/cjs/interface/render.d.ts +6 -0
  48. package/cjs/interface/render.js.map +1 -1
  49. package/cjs/interface/stage.d.ts +1 -0
  50. package/cjs/interface/stage.js.map +1 -1
  51. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.d.ts +2 -2
  52. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +6 -5
  53. package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  54. package/cjs/render/contributions/render/arc-render.d.ts +4 -2
  55. package/cjs/render/contributions/render/arc-render.js +19 -17
  56. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  57. package/cjs/render/contributions/render/base-render.d.ts +2 -2
  58. package/cjs/render/contributions/render/base-render.js +2 -2
  59. package/cjs/render/contributions/render/base-render.js.map +1 -1
  60. package/cjs/render/contributions/render/draw-contribution.d.ts +1 -0
  61. package/cjs/render/contributions/render/draw-contribution.js +23 -19
  62. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  63. package/cjs/render/contributions/render/draw-interceptor.js +1 -0
  64. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  65. package/cjs/render/contributions/render/group-render.d.ts +2 -2
  66. package/cjs/render/contributions/render/group-render.js +14 -10
  67. package/cjs/render/contributions/render/group-render.js.map +1 -1
  68. package/cjs/render/contributions/render/rect-render.d.ts +3 -1
  69. package/cjs/render/contributions/render/rect-render.js +17 -15
  70. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  71. package/cjs/render/contributions/render/symbol-render.d.ts +4 -2
  72. package/cjs/render/contributions/render/symbol-render.js +16 -11
  73. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  74. package/dist/index.es.js +2507 -5202
  75. package/es/canvas/constants.js +1 -2
  76. package/es/canvas/empty-context.d.ts +1 -0
  77. package/es/canvas/empty-context.js +4 -0
  78. package/es/canvas/empty-context.js.map +1 -1
  79. package/es/color-string/interpolate.d.ts +1 -0
  80. package/es/color-string/interpolate.js +4 -0
  81. package/es/color-string/interpolate.js.map +1 -1
  82. package/es/color-string/store.js +2 -1
  83. package/es/common/enums.js +1 -2
  84. package/es/common/performance-raf.d.ts +8 -0
  85. package/es/common/performance-raf.js +23 -0
  86. package/es/common/performance-raf.js.map +1 -0
  87. package/es/common/render-area.js +2 -1
  88. package/es/common/store.js +1 -2
  89. package/es/common/text.js +1 -1
  90. package/es/common/utils.js +1 -1
  91. package/es/core/application.js +1 -1
  92. package/es/core/camera.js +1 -1
  93. package/es/core/constants.js +1 -1
  94. package/es/core/core-modules.js +1 -1
  95. package/es/core/global-module.js +0 -2
  96. package/es/core/global.d.ts +3 -0
  97. package/es/core/global.js +14 -2
  98. package/es/core/global.js.map +1 -1
  99. package/es/core/stage.d.ts +3 -1
  100. package/es/core/stage.js +23 -21
  101. package/es/core/stage.js.map +1 -1
  102. package/es/event/event-system.js +7 -6
  103. package/es/event/event-system.js.map +1 -1
  104. package/es/graphic/graphic.d.ts +4 -3
  105. package/es/graphic/graphic.js +17 -23
  106. package/es/graphic/graphic.js.map +1 -1
  107. package/es/index.d.ts +1 -3
  108. package/es/index.js +2 -6
  109. package/es/index.js.map +1 -1
  110. package/es/interface/animate.d.ts +5 -0
  111. package/es/interface/animate.js.map +1 -1
  112. package/es/interface/context.d.ts +1 -0
  113. package/es/interface/context.js.map +1 -1
  114. package/es/interface/global.d.ts +2 -0
  115. package/es/interface/global.js.map +1 -1
  116. package/es/interface/graphic.d.ts +3 -1
  117. package/es/interface/graphic.js.map +1 -1
  118. package/es/interface/index.d.ts +1 -1
  119. package/es/interface/index.js +2 -2
  120. package/es/interface/index.js.map +1 -1
  121. package/es/interface/render.d.ts +6 -0
  122. package/es/interface/render.js.map +1 -1
  123. package/es/interface/stage.d.ts +1 -0
  124. package/es/interface/stage.js.map +1 -1
  125. package/es/plugins/builtin-plugin/richtext-edit-plugin.d.ts +2 -2
  126. package/es/plugins/builtin-plugin/richtext-edit-plugin.js +4 -5
  127. package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
  128. package/es/render/contributions/render/arc-render.d.ts +4 -2
  129. package/es/render/contributions/render/arc-render.js +19 -17
  130. package/es/render/contributions/render/arc-render.js.map +1 -1
  131. package/es/render/contributions/render/base-render.d.ts +2 -2
  132. package/es/render/contributions/render/base-render.js +2 -2
  133. package/es/render/contributions/render/base-render.js.map +1 -1
  134. package/es/render/contributions/render/draw-contribution.d.ts +1 -0
  135. package/es/render/contributions/render/draw-contribution.js +23 -19
  136. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  137. package/es/render/contributions/render/draw-interceptor.js +1 -0
  138. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  139. package/es/render/contributions/render/group-render.d.ts +2 -2
  140. package/es/render/contributions/render/group-render.js +14 -10
  141. package/es/render/contributions/render/group-render.js.map +1 -1
  142. package/es/render/contributions/render/rect-render.d.ts +3 -1
  143. package/es/render/contributions/render/rect-render.js +17 -14
  144. package/es/render/contributions/render/rect-render.js.map +1 -1
  145. package/es/render/contributions/render/symbol-render.d.ts +4 -2
  146. package/es/render/contributions/render/symbol-render.js +16 -11
  147. package/es/render/contributions/render/symbol-render.js.map +1 -1
  148. package/package.json +3 -3
  149. package/cjs/animate/Ticker/default-ticker.d.ts +0 -40
  150. package/cjs/animate/Ticker/default-ticker.js +0 -140
  151. package/cjs/animate/Ticker/default-ticker.js.map +0 -1
  152. package/cjs/animate/Ticker/index.d.ts +0 -5
  153. package/cjs/animate/Ticker/index.js +0 -23
  154. package/cjs/animate/Ticker/index.js.map +0 -1
  155. package/cjs/animate/Ticker/manual-ticker-handler.d.ts +0 -15
  156. package/cjs/animate/Ticker/manual-ticker-handler.js +0 -36
  157. package/cjs/animate/Ticker/manual-ticker-handler.js.map +0 -1
  158. package/cjs/animate/Ticker/manual-ticker.d.ts +0 -19
  159. package/cjs/animate/Ticker/manual-ticker.js +0 -37
  160. package/cjs/animate/Ticker/manual-ticker.js.map +0 -1
  161. package/cjs/animate/Ticker/raf-tick-handler.d.ts +0 -9
  162. package/cjs/animate/Ticker/raf-tick-handler.js +0 -30
  163. package/cjs/animate/Ticker/raf-tick-handler.js.map +0 -1
  164. package/cjs/animate/Ticker/timeout-tick-handler.d.ts +0 -9
  165. package/cjs/animate/Ticker/timeout-tick-handler.js +0 -28
  166. package/cjs/animate/Ticker/timeout-tick-handler.js.map +0 -1
  167. package/cjs/animate/Ticker/type.d.ts +0 -6
  168. package/cjs/animate/Ticker/type.js +0 -11
  169. package/cjs/animate/Ticker/type.js.map +0 -1
  170. package/cjs/animate/animate.d.ts +0 -147
  171. package/cjs/animate/animate.js +0 -403
  172. package/cjs/animate/animate.js.map +0 -1
  173. package/cjs/animate/custom-animate.d.ts +0 -236
  174. package/cjs/animate/custom-animate.js +0 -722
  175. package/cjs/animate/custom-animate.js.map +0 -1
  176. package/cjs/animate/default-ticker.d.ts +0 -2
  177. package/cjs/animate/default-ticker.js +0 -14
  178. package/cjs/animate/default-ticker.js.map +0 -1
  179. package/cjs/animate/easing-func.d.ts +0 -1
  180. package/cjs/animate/easing-func.js +0 -16
  181. package/cjs/animate/easing-func.js.map +0 -1
  182. package/cjs/animate/easing.d.ts +0 -49
  183. package/cjs/animate/easing.js +0 -141
  184. package/cjs/animate/easing.js.map +0 -1
  185. package/cjs/animate/group-fade.d.ts +0 -16
  186. package/cjs/animate/group-fade.js +0 -66
  187. package/cjs/animate/group-fade.js.map +0 -1
  188. package/cjs/animate/index.d.ts +0 -8
  189. package/cjs/animate/index.js +0 -24
  190. package/cjs/animate/index.js.map +0 -1
  191. package/cjs/animate/morphing.d.ts +0 -52
  192. package/cjs/animate/morphing.js +0 -292
  193. package/cjs/animate/morphing.js.map +0 -1
  194. package/cjs/animate/timeline.d.ts +0 -17
  195. package/cjs/animate/timeline.js +0 -46
  196. package/cjs/animate/timeline.js.map +0 -1
  197. package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.d.ts +0 -1
  198. package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.js +0 -3
  199. package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.js.map +0 -1
  200. package/es/animate/Ticker/default-ticker.d.ts +0 -40
  201. package/es/animate/Ticker/default-ticker.js +0 -138
  202. package/es/animate/Ticker/default-ticker.js.map +0 -1
  203. package/es/animate/Ticker/index.d.ts +0 -5
  204. package/es/animate/Ticker/index.js +0 -10
  205. package/es/animate/Ticker/index.js.map +0 -1
  206. package/es/animate/Ticker/manual-ticker-handler.d.ts +0 -15
  207. package/es/animate/Ticker/manual-ticker-handler.js +0 -28
  208. package/es/animate/Ticker/manual-ticker-handler.js.map +0 -1
  209. package/es/animate/Ticker/manual-ticker.d.ts +0 -19
  210. package/es/animate/Ticker/manual-ticker.js +0 -31
  211. package/es/animate/Ticker/manual-ticker.js.map +0 -1
  212. package/es/animate/Ticker/raf-tick-handler.d.ts +0 -9
  213. package/es/animate/Ticker/raf-tick-handler.js +0 -22
  214. package/es/animate/Ticker/raf-tick-handler.js.map +0 -1
  215. package/es/animate/Ticker/timeout-tick-handler.d.ts +0 -9
  216. package/es/animate/Ticker/timeout-tick-handler.js +0 -20
  217. package/es/animate/Ticker/timeout-tick-handler.js.map +0 -1
  218. package/es/animate/Ticker/type.d.ts +0 -6
  219. package/es/animate/Ticker/type.js +0 -7
  220. package/es/animate/Ticker/type.js.map +0 -1
  221. package/es/animate/animate.d.ts +0 -147
  222. package/es/animate/animate.js +0 -398
  223. package/es/animate/animate.js.map +0 -1
  224. package/es/animate/custom-animate.d.ts +0 -236
  225. package/es/animate/custom-animate.js +0 -699
  226. package/es/animate/custom-animate.js.map +0 -1
  227. package/es/animate/default-ticker.d.ts +0 -2
  228. package/es/animate/default-ticker.js +0 -12
  229. package/es/animate/default-ticker.js.map +0 -1
  230. package/es/animate/easing-func.d.ts +0 -1
  231. package/es/animate/easing-func.js +0 -10
  232. package/es/animate/easing-func.js.map +0 -1
  233. package/es/animate/easing.d.ts +0 -49
  234. package/es/animate/easing.js +0 -134
  235. package/es/animate/easing.js.map +0 -1
  236. package/es/animate/group-fade.d.ts +0 -16
  237. package/es/animate/group-fade.js +0 -56
  238. package/es/animate/group-fade.js.map +0 -1
  239. package/es/animate/index.d.ts +0 -8
  240. package/es/animate/index.js +0 -16
  241. package/es/animate/index.js.map +0 -1
  242. package/es/animate/morphing.d.ts +0 -52
  243. package/es/animate/morphing.js +0 -295
  244. package/es/animate/morphing.js.map +0 -1
  245. package/es/animate/timeline.d.ts +0 -17
  246. package/es/animate/timeline.js +0 -42
  247. package/es/animate/timeline.js.map +0 -1
  248. package/es/plugins/builtin-plugin/richtext-edit-plugin-old.d.ts +0 -1
  249. package/es/plugins/builtin-plugin/richtext-edit-plugin-old.js +0 -3
  250. package/es/plugins/builtin-plugin/richtext-edit-plugin-old.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender-core",
3
- "version": "0.22.7-alpha.3",
3
+ "version": "0.23.0-alpha.3",
4
4
  "description": "",
5
5
  "sideEffects": [
6
6
  "./src/modules.ts",
@@ -36,8 +36,8 @@
36
36
  "typescript": "4.9.5",
37
37
  "cross-env": "^7.0.3",
38
38
  "@internal/bundler": "0.0.1",
39
- "@internal/eslint-config": "0.0.1",
40
- "@internal/ts-config": "0.0.1"
39
+ "@internal/ts-config": "0.0.1",
40
+ "@internal/eslint-config": "0.0.1"
41
41
  },
42
42
  "keywords": [
43
43
  "VisActor",
@@ -1,40 +0,0 @@
1
- import { EventEmitter } from '@visactor/vutils';
2
- import type { ITickHandler, ITimeline, ITicker } from '../../interface';
3
- import type { TickerMode } from './type';
4
- import { STATUS } from './type';
5
- export declare class DefaultTicker extends EventEmitter implements ITicker {
6
- protected interval: number;
7
- protected tickerHandler: ITickHandler;
8
- protected _mode: TickerMode;
9
- protected status: STATUS;
10
- protected lastFrameTime: number;
11
- protected tickCounts: number;
12
- protected timelines: ITimeline[];
13
- autoStop: boolean;
14
- set mode(m: TickerMode);
15
- get mode(): TickerMode;
16
- constructor(timelines?: ITimeline[]);
17
- init(): void;
18
- addTimeline(timeline: ITimeline): void;
19
- remTimeline(timeline: ITimeline): void;
20
- getTimelines(): ITimeline[];
21
- protected initHandler(): ITickHandler | null;
22
- protected setupTickHandler(): boolean;
23
- setInterval(interval: number): void;
24
- getInterval(): number;
25
- setFPS(fps: number): void;
26
- getFPS(): number;
27
- tick(interval: number): void;
28
- tickTo(t: number): void;
29
- pause(): boolean;
30
- resume(): boolean;
31
- ifCanStop(): boolean;
32
- start(force?: boolean): boolean;
33
- stop(): void;
34
- protected handleTick: (handler: ITickHandler, params?: {
35
- once?: boolean;
36
- }) => void;
37
- protected _handlerTick: () => void;
38
- release(): void;
39
- trySyncTickStatus(): void;
40
- }
@@ -1,140 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.DefaultTicker = void 0;
6
-
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");
8
-
9
- class DefaultTicker extends vutils_1.EventEmitter {
10
- set mode(m) {
11
- this._mode !== m && (this._mode = m, this.setupTickHandler());
12
- }
13
- get mode() {
14
- return this._mode;
15
- }
16
- constructor(timelines = []) {
17
- super(), this.handleTick = (handler, params) => {
18
- const {once: once = !1} = null != params ? params : {};
19
- this.ifCanStop() ? this.stop() : (this._handlerTick(), once || handler.tick(this.interval, this.handleTick));
20
- }, this._handlerTick = () => {
21
- const time = this.tickerHandler.getTime();
22
- let delta = 0;
23
- this.lastFrameTime >= 0 && (delta = time - this.lastFrameTime), this.lastFrameTime = time,
24
- this.status === type_1.STATUS.RUNNING && (this.tickCounts++, this.timelines.forEach((t => {
25
- t.tick(delta);
26
- })), this.emit("tick"));
27
- }, this.init(), this.lastFrameTime = -1, this.tickCounts = 0, this.timelines = timelines,
28
- this.autoStop = !0;
29
- }
30
- init() {
31
- this.interval = NaN, this.status = type_1.STATUS.INITIAL, application_1.application.global.hooks.onSetEnv.tap("default-ticker", (() => {
32
- this.initHandler();
33
- })), application_1.application.global.env && this.initHandler();
34
- }
35
- addTimeline(timeline) {
36
- this.timelines.push(timeline);
37
- }
38
- remTimeline(timeline) {
39
- this.timelines = this.timelines.filter((t => t !== timeline));
40
- }
41
- getTimelines() {
42
- return this.timelines;
43
- }
44
- initHandler() {
45
- if (this._mode) return null;
46
- const ticks = [ {
47
- mode: "raf",
48
- cons: raf_tick_handler_1.RAFTickHandler
49
- }, {
50
- mode: "timeout",
51
- cons: timeout_tick_handler_1.TimeOutTickHandler
52
- } ];
53
- for (let i = 0; i < ticks.length; i++) if (ticks[i].cons.Avaliable()) {
54
- this.mode = ticks[i].mode;
55
- break;
56
- }
57
- return null;
58
- }
59
- setupTickHandler() {
60
- let handler;
61
- switch (this._mode) {
62
- case "raf":
63
- handler = new raf_tick_handler_1.RAFTickHandler;
64
- break;
65
-
66
- case "timeout":
67
- handler = new timeout_tick_handler_1.TimeOutTickHandler;
68
- break;
69
-
70
- default:
71
- vutils_1.Logger.getInstance().warn("非法的计时器模式"), handler = new raf_tick_handler_1.RAFTickHandler;
72
- }
73
- return !!handler.avaliable() && (this.tickerHandler && this.tickerHandler.release(),
74
- this.tickerHandler = handler, !0);
75
- }
76
- setInterval(interval) {
77
- this.interval = interval;
78
- }
79
- getInterval() {
80
- return this.interval;
81
- }
82
- setFPS(fps) {
83
- this.setInterval(1e3 / fps);
84
- }
85
- getFPS() {
86
- return 1e3 / this.interval;
87
- }
88
- tick(interval) {
89
- this.tickerHandler.tick(interval, (handler => {
90
- this.handleTick(handler, {
91
- once: !0
92
- });
93
- }));
94
- }
95
- tickTo(t) {
96
- this.tickerHandler.tickTo && this.tickerHandler.tickTo(t, (handler => {
97
- this.handleTick(handler, {
98
- once: !0
99
- });
100
- }));
101
- }
102
- pause() {
103
- return this.status !== type_1.STATUS.INITIAL && (this.status = type_1.STATUS.PAUSE,
104
- !0);
105
- }
106
- resume() {
107
- return this.status !== type_1.STATUS.INITIAL && (this.status = type_1.STATUS.RUNNING,
108
- !0);
109
- }
110
- ifCanStop() {
111
- if (this.autoStop) {
112
- if (!this.timelines.length) return !0;
113
- if (0 === this.timelines.reduce(((a, b) => a + b.animateCount), 0)) return !0;
114
- }
115
- return !1;
116
- }
117
- start(force = !1) {
118
- if (this.status === type_1.STATUS.RUNNING) return !1;
119
- if (!this.tickerHandler) return !1;
120
- if (!force) {
121
- if (this.status === type_1.STATUS.PAUSE) return !1;
122
- if (!this.timelines.length) return !1;
123
- if (0 === this.timelines.reduce(((a, b) => a + b.animateCount), 0)) return !1;
124
- }
125
- return this.status = type_1.STATUS.RUNNING, this.tickerHandler.tick(0, this.handleTick),
126
- !0;
127
- }
128
- stop() {
129
- this.status = type_1.STATUS.INITIAL, this.setupTickHandler(), this.lastFrameTime = -1;
130
- }
131
- release() {
132
- this.stop(), this.timelines = [], this.tickerHandler.release(), this.emit("afterTick");
133
- }
134
- trySyncTickStatus() {
135
- this.status === type_1.STATUS.RUNNING && this._handlerTick();
136
- }
137
- }
138
-
139
- exports.DefaultTicker = DefaultTicker;
140
- //# sourceMappingURL=default-ticker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/animate/Ticker/default-ticker.ts"],"names":[],"mappings":"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","file":"default-ticker.js","sourcesContent":["import { EventEmitter, 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 extends EventEmitter 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 super();\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 getTimelines(): ITimeline[] {\n return this.timelines;\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();\n if (!once) {\n handler.tick(this.interval, this.handleTick);\n }\n };\n\n protected _handlerTick = () => {\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 this.emit('tick');\n };\n\n release(): void {\n this.stop();\n this.timelines = [];\n this.tickerHandler.release();\n this.emit('afterTick');\n }\n\n /**\n * 同步tick状态,需要手动触发tick执行,保证属性为走完动画的属性\n * 【注】grammar会设置属性到最终值,然后调用render,这时候需要VRender手动触发tick,保证属性为走完动画的属性,而不是Grammar设置上的属性\n */\n trySyncTickStatus() {\n if (this.status === STATUS.RUNNING) {\n this._handlerTick();\n }\n }\n}\n"]}
@@ -1,5 +0,0 @@
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';
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
- void 0 === k2 && (k2 = k);
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
- enumerable: !0,
8
- get: function() {
9
- return m[k];
10
- }
11
- }), Object.defineProperty(o, k2, desc);
12
- } : function(o, m, k, k2) {
13
- void 0 === k2 && (k2 = k), o[k2] = m[k];
14
- }), __exportStar = this && this.__exportStar || function(m, exports) {
15
- for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
- };
17
-
18
- Object.defineProperty(exports, "__esModule", {
19
- value: !0
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);
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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"]}
@@ -1,15 +0,0 @@
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
- }
@@ -1,36 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,19 +0,0 @@
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
- }
@@ -1,37 +0,0 @@
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 - Math.max(this.lastFrameTime, 0), (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
@@ -1 +0,0 @@
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,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,OAAqB,EAAE,EAAE;YACxF,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 - Math.max(this.lastFrameTime, 0), (handler: ITickHandler) => {\n this.handleTick(handler, { once: true });\n });\n }\n\n ifCanStop(): boolean {\n return false;\n }\n}\n"]}
@@ -1,9 +0,0 @@
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
- }
@@ -1,30 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,9 +0,0 @@
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
- }
@@ -1,28 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,6 +0,0 @@
1
- export type TickerMode = 'raf' | 'timeout' | 'manual';
2
- export declare enum STATUS {
3
- INITIAL = 0,
4
- RUNNING = 1,
5
- PAUSE = 2
6
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- var STATUS;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: !0
7
- }), exports.STATUS = void 0, function(STATUS) {
8
- STATUS[STATUS.INITIAL = 0] = "INITIAL", STATUS[STATUS.RUNNING = 1] = "RUNNING",
9
- STATUS[STATUS.PAUSE = 2] = "PAUSE";
10
- }(STATUS = exports.STATUS || (exports.STATUS = {}));
11
- //# sourceMappingURL=type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/animate/Ticker/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,yCAAW,CAAA;IACX,yCAAW,CAAA;IACX,qCAAS,CAAA;AACX,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB","file":"type.js","sourcesContent":["export type TickerMode = 'raf' | 'timeout' | 'manual';\n\nexport enum STATUS {\n INITIAL = 0, // initial表示初始状态\n RUNNING = 1, // running表示正在执行\n PAUSE = 2 // PULSE表示tick还是继续,只是不执行函数了\n}\n"]}
@@ -1,147 +0,0 @@
1
- import type { EasingType, EasingTypeFunc, IAnimate, IAnimateStepType, IAnimateTarget, ICustomAnimate, IStep, IStepConfig, ISubAnimate, ITimeline } from '../interface';
2
- import { AnimateMode, AnimateStatus } from '../common/enums';
3
- export declare abstract class ACustomAnimate<T> implements ICustomAnimate {
4
- from: T;
5
- to: T;
6
- duration: number;
7
- easing: EasingType;
8
- params: any;
9
- target: IAnimateTarget;
10
- updateCount: number;
11
- subAnimate: ISubAnimate;
12
- step?: IStep;
13
- mode?: AnimateMode;
14
- _endProps?: any;
15
- _mergedEndProps?: any;
16
- constructor(from: T, to: T, duration: number, easing: EasingType, params?: any);
17
- bind(target: IAnimateTarget, subAni: ISubAnimate): void;
18
- onBind(): void;
19
- onFirstRun(): void;
20
- onStart(): void;
21
- onEnd(): void;
22
- getEndProps(): Record<string, any> | void;
23
- getFromProps(): Record<string, any> | void;
24
- getMergedEndProps(): Record<string, any> | void;
25
- abstract onUpdate(end: boolean, ratio: number, out: Record<string, any>): void;
26
- update(end: boolean, ratio: number, out: Record<string, any>): void;
27
- }
28
- export declare class CbAnimate extends ACustomAnimate<null> {
29
- cb: () => void;
30
- constructor(cb: () => void);
31
- onUpdate(end: boolean, ratio: number, out: Record<string, any>): void;
32
- onStart(): void;
33
- }
34
- type InterpolateFunc = (key: string, ratio: number, from: any, to: any, target: IAnimateTarget, out: Record<string, any>) => boolean;
35
- export declare class Animate implements IAnimate {
36
- static mode: AnimateMode;
37
- target: IAnimateTarget;
38
- timeline: ITimeline;
39
- nextAnimate?: IAnimate;
40
- prevAnimate?: IAnimate;
41
- status: AnimateStatus;
42
- readonly id: string | number;
43
- protected _startTime: number;
44
- protected _duringTime: number;
45
- subAnimates: SubAnimate[];
46
- tailAnimate: SubAnimate;
47
- rawPosition: number;
48
- timeScale: number;
49
- interpolateFunc: (key: string, ratio: number, from: any, to: any, nextAttributes: any) => boolean;
50
- _onStart?: (() => void)[];
51
- _onFrame?: ((step: IStep, ratio: number) => void)[];
52
- _onEnd?: (() => void)[];
53
- _onRemove?: (() => void)[];
54
- _preventAttrs?: Set<string>;
55
- static interpolateMap: Map<string, InterpolateFunc>;
56
- slience?: boolean;
57
- constructor(id?: string | number, timeline?: ITimeline, slience?: boolean);
58
- setTimeline(timeline: ITimeline): void;
59
- getStartTime(): number;
60
- getDuration(): number;
61
- after(animate: IAnimate): this;
62
- afterAll(list: IAnimate[]): this;
63
- parallel(animate: IAnimate): this;
64
- static AddInterpolate(name: string, cb: InterpolateFunc): void;
65
- play(customAnimate: ICustomAnimate): this;
66
- trySetAttribute(attr: Record<string, any> | void, mode?: AnimateMode): void;
67
- runCb(cb: (a: IAnimate, step: IStep) => void): this;
68
- customInterpolate(key: string, ratio: number, from: any, to: any, target: IAnimateTarget, ret: Record<string, any>): boolean;
69
- pause(): void;
70
- resume(): void;
71
- to(props: Record<string, any>, duration: number, easing: EasingType, params?: IStepConfig): this;
72
- from(props: Record<string, any>, duration: number, easing: EasingType, params?: IStepConfig): this;
73
- wait(duration: number): this;
74
- startAt(t: number): this;
75
- loop(l: number): this;
76
- reversed(r: boolean): this;
77
- bounce(b: boolean): this;
78
- subAnimate(): this;
79
- getStartProps(): Record<string, any>;
80
- getEndProps(): Record<string, any>;
81
- depreventAttr(key: string): void;
82
- preventAttr(key: string): void;
83
- preventAttrs(keys: string[]): void;
84
- validAttr(key: string): boolean;
85
- bind(target: IAnimateTarget): this;
86
- advance(delta: number): void;
87
- setPosition(rawPosition: number): boolean;
88
- onStart(cb: () => void): void;
89
- onEnd(cb: () => void): void;
90
- onRemove(cb: () => void): void;
91
- onFrame(cb: (step: IStep, ratio: number) => void): void;
92
- release(): void;
93
- stop(nextVal?: 'start' | 'end' | Record<string, any>): void;
94
- }
95
- export declare class SubAnimate implements ISubAnimate {
96
- target: IAnimateTarget;
97
- animate: IAnimate;
98
- protected stepHead: Step;
99
- protected stepTail: Step;
100
- bounce: boolean;
101
- reversed: boolean;
102
- loop: number;
103
- duration: number;
104
- position: number;
105
- rawPosition: number;
106
- dirty: boolean;
107
- _totalDuration: number;
108
- _startAt: number;
109
- _lastStep: IStep;
110
- _deltaPosition: number;
111
- get totalDuration(): number;
112
- constructor(animate: IAnimate, lastSubAnimate?: SubAnimate);
113
- protected calcAttr(): void;
114
- bind(target: IAnimateTarget): this;
115
- play(customAnimate: ICustomAnimate): this;
116
- to(props: Record<string, any>, duration: number, easing: EasingType, params?: IStepConfig): this;
117
- from(props: Record<string, any>, duration: number, easing: EasingType, params?: IStepConfig): void;
118
- startAt(t: number): this;
119
- getStartProps(): any;
120
- getEndProps(): any;
121
- getLastStep(): IStep;
122
- wait(duration: number): this;
123
- protected _addStep(duration: number, props: any, easingFunc?: EasingTypeFunc): Step;
124
- protected _appendProps(props: any, step: Step, tempProps?: boolean): void;
125
- protected _appendCustomAnimate(customAnimate: ICustomAnimate, step: Step): void;
126
- setPosition(rawPosition: number): boolean;
127
- protected updatePosition(end: boolean, rev: boolean): void;
128
- tryCallCustomAnimateLifeCycle(step: IStep, lastStep: IStep, rev: boolean): void;
129
- getLastPropByName(name: string, step: Step): any;
130
- protected updateTarget(step: Step, ratio: number, end: boolean): void;
131
- }
132
- declare class Step implements IStep {
133
- prev?: Step;
134
- duration: number;
135
- position: number;
136
- next?: Step;
137
- props: any;
138
- parsedProps?: any;
139
- propKeys?: string[];
140
- easing?: EasingTypeFunc;
141
- customAnimate?: ICustomAnimate;
142
- type: IAnimateStepType;
143
- constructor(position: number, duration: number, props?: any, easing?: EasingTypeFunc);
144
- append(step: Step): void;
145
- getLastProps(): any;
146
- }
147
- export {};