Class TimelineEngine
- java.lang.Object
-
- org.pushingpixels.radiance.animation.api.TimelineEngine
-
class TimelineEngine extends java.lang.ObjectThe Radiance timeline engine. This is the main entry point to playTimelines andTimelineScenarios. This class is for internal use only.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classTimelineEngine.FullObjectIDIdentifies a main object and an optional secondary ID.(package private) classTimelineEngine.RadianceAnimationThreadprivate classTimelineEngine.TimelineCallbackThread(package private) static classTimelineEngine.TimelineOperationKind
-
Field Summary
Fields Modifier and Type Field Description (package private) TimelineEngine.RadianceAnimationThreadanimatorThreadThe timeline thread.private java.util.concurrent.BlockingQueue<java.lang.Runnable>callbackQueueprivate TimelineEngine.TimelineCallbackThreadcallbackThreadstatic booleanDEBUG_MODEDebug mode indicator.private static TimelineEngineinstanceSingle instance ofthisclass.(package private) longlastIterationTimeStamp(package private) static java.lang.ObjectLOCKprivate java.util.Set<TimelineScenario>runningScenariosprivate java.util.Set<Timeline>runningTimelinesAll currently running timelines.
-
Constructor Summary
Constructors Modifier Constructor Description privateTimelineEngine()Simple constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidabortTimeline(Timeline timeline)Cancels the specified timeline instance.private voidaddTimeline(Timeline timeline)Adds the specified timeline.private voidcallbackCallTimelinePulse(Timeline timeline)private voidcallbackCallTimelineScenarioEnded(TimelineScenario timelineScenario)private voidcallbackCallTimelineStateChanged(Timeline timeline, Timeline.TimelineState oldState)voidcancelAllTimelines()Stops tracking of all timelines.private voidcancelTimeline(Timeline timeline)Cancels the specified timeline instance.private voidendTimeline(Timeline timeline)Ends the specified timeline instance.private TimelineEngine.RadianceAnimationThreadgetAnimatorThread()Returns an instance of the animator thread.private TimelineEngine.TimelineCallbackThreadgetCallbackThread()Returns an instance of the callback thread.static TimelineEnginegetInstance()Gets singleton instance.private TimelinegetRunningTimeline(Timeline timeline)Returns an existing running timeline that matches the specified parameters.(package private) voidplay(Timeline timeline, boolean reset, long msToSkip)(package private) voidplayLoop(Timeline timeline, long msToSkip)(package private) voidplayReverse(Timeline timeline, boolean reset, long msToSkip)(package private) voidplayScenario(TimelineScenario scenario)private voidresumeTimeline(Timeline timeline)Resume the specified timeline instance.(package private) voidrunTimelineOperation(Timeline timeline, TimelineEngine.TimelineOperationKind operationKind, java.lang.Runnable operationRunnable)(package private) voidrunTimelineScenario(java.lang.Runnable timelineScenarioRunnable)private voidsuspendTimeline(Timeline timeline)Suspends the specified timeline instance.private voidupdateAndEnforceTimelinePosition(Timeline timeline)(package private) voidupdateTimelines()Updates all timelines that are currently registered withthistracker.
-
-
-
Field Detail
-
DEBUG_MODE
public static boolean DEBUG_MODE
Debug mode indicator. Set totrueto print trace messages to console during development.
-
instance
private static TimelineEngine instance
Single instance ofthisclass.
-
runningTimelines
private java.util.Set<Timeline> runningTimelines
All currently running timelines.
-
runningScenarios
private java.util.Set<TimelineScenario> runningScenarios
-
lastIterationTimeStamp
long lastIterationTimeStamp
-
animatorThread
TimelineEngine.RadianceAnimationThread animatorThread
The timeline thread.
-
callbackQueue
private java.util.concurrent.BlockingQueue<java.lang.Runnable> callbackQueue
-
callbackThread
private TimelineEngine.TimelineCallbackThread callbackThread
-
LOCK
static final java.lang.Object LOCK
-
-
Constructor Detail
-
TimelineEngine
private TimelineEngine()
Simple constructor. Defined private for singleton.- See Also:
getInstance()
-
-
Method Detail
-
getInstance
public static TimelineEngine getInstance()
Gets singleton instance.- Returns:
- Singleton instance.
-
updateTimelines
void updateTimelines()
Updates all timelines that are currently registered withthistracker.
-
callbackCallTimelineStateChanged
private void callbackCallTimelineStateChanged(Timeline timeline, Timeline.TimelineState oldState)
-
callbackCallTimelinePulse
private void callbackCallTimelinePulse(Timeline timeline)
-
callbackCallTimelineScenarioEnded
private void callbackCallTimelineScenarioEnded(TimelineScenario timelineScenario)
-
getRunningTimeline
private Timeline getRunningTimeline(Timeline timeline)
Returns an existing running timeline that matches the specified parameters.- Parameters:
timeline- Timeline.- Returns:
- An existing running timeline that matches the specified parameters.
-
addTimeline
private void addTimeline(Timeline timeline)
Adds the specified timeline.- Parameters:
timeline- Timeline to add.
-
play
void play(Timeline timeline, boolean reset, long msToSkip)
-
playScenario
void playScenario(TimelineScenario scenario)
-
playReverse
void playReverse(Timeline timeline, boolean reset, long msToSkip)
-
playLoop
void playLoop(Timeline timeline, long msToSkip)
-
cancelAllTimelines
public void cancelAllTimelines()
Stops tracking of all timelines. Note that this function does not stop the timeline engine thread (animatorThread) and the timeline callback thread (callbackThread).
-
getAnimatorThread
private TimelineEngine.RadianceAnimationThread getAnimatorThread()
Returns an instance of the animator thread.- Returns:
- The animator thread.
-
getCallbackThread
private TimelineEngine.TimelineCallbackThread getCallbackThread()
Returns an instance of the callback thread.- Returns:
- The animator thread.
-
cancelTimeline
private void cancelTimeline(Timeline timeline)
Cancels the specified timeline instance.- Parameters:
timeline- Timeline to cancel.
-
endTimeline
private void endTimeline(Timeline timeline)
Ends the specified timeline instance.- Parameters:
timeline- Timeline to end.
-
abortTimeline
private void abortTimeline(Timeline timeline)
Cancels the specified timeline instance.- Parameters:
timeline- Timeline to cancel.
-
suspendTimeline
private void suspendTimeline(Timeline timeline)
Suspends the specified timeline instance.- Parameters:
timeline- Timeline to suspend.
-
resumeTimeline
private void resumeTimeline(Timeline timeline)
Resume the specified timeline instance.- Parameters:
timeline- Timeline to resume.
-
runTimelineOperation
void runTimelineOperation(Timeline timeline, TimelineEngine.TimelineOperationKind operationKind, java.lang.Runnable operationRunnable)
-
runTimelineScenario
void runTimelineScenario(java.lang.Runnable timelineScenarioRunnable)
-
updateAndEnforceTimelinePosition
private void updateAndEnforceTimelinePosition(Timeline timeline)
-
-