aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/animation/Timeline.js9
-rw-r--r--svg.js.d.ts10
2 files changed, 17 insertions, 2 deletions
diff --git a/src/animation/Timeline.js b/src/animation/Timeline.js
index d175ae6..f37cb7a 100644
--- a/src/animation/Timeline.js
+++ b/src/animation/Timeline.js
@@ -44,10 +44,17 @@ export default class Timeline extends EventTarget {
this._stepImmediate = this._stepFn.bind(this, true)
}
+ // returns information on each runner in the timeline.
+ // (start, duration, end, and runner)
+
+ getSchedule () {
+ return this._runners.map(makeSchedule)
+ }
+
// schedules a runner on the timeline
schedule (runner, delay, when) {
if (runner == null) {
- return this._runners.map(makeSchedule)
+ return this.getSchedule()
}
// The start time for the next animation can either be given explicitly,
diff --git a/svg.js.d.ts b/svg.js.d.ts
index e397e05..02dd6df 100644
--- a/svg.js.d.ts
+++ b/svg.js.d.ts
@@ -772,11 +772,19 @@ declare module "@svgdotjs/svg.js" {
}
// Timeline.js
+ interface ScheduledRunnerInfo {
+ start: number
+ duration: number
+ end: number
+ runner: Runner
+ }
+
class Timeline extends EventTarget {
constructor()
constructor(fn: Function)
- schedule(runner?: Runner, delay?: number, when?: string): this
+ getSchedule(): ScheduledRunnerInfo[]
+ schedule(runner?: Runner, delay?: number, when?: string): ( this | ScheduledRunnerInfo[] )
unschedule(runner: Runner): this
getEndTime(): number
updateTime(): this