public abstract class AbstractMasterTimer
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private class |
AbstractMasterTimer.MainLoop
Hidden inner class to run the main timing loop.
|
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
ADAPTIVE_PULSE_PROP |
protected static java.lang.String |
ANIMATION_MBEAN_ENABLED |
private TimerReceiver[] |
animationTimers |
private int |
animationTimersLength |
private boolean |
animationTimersLocked |
private long |
debugNanos |
protected static boolean |
enableAnimationMBean |
protected static java.lang.String |
FIXED_PULSE_LENGTH_PROP |
private long |
fixedPulseLength |
protected static java.lang.String |
FRAMERATE_PROP |
private static boolean |
fullspeed |
protected static java.lang.String |
FULLSPEED_PROP |
private boolean |
paused |
private static Callback<java.lang.String,java.lang.Void> |
pcl |
private int |
PULSE_DURATION_NS |
private int |
PULSE_DURATION_TICKS |
protected static java.lang.String |
PULSE_PROP |
private PulseReceiver[] |
receivers |
private int |
receiversLength |
private boolean |
receiversLocked |
private long |
startPauseTime |
private AbstractMasterTimer.MainLoop |
theMaster |
private long |
totalPausedTime |
private static boolean |
useAdaptivePulse |
Modifier | Constructor and Description |
---|---|
protected |
AbstractMasterTimer()
Prevent external instantiation of MasterTimer.
|
Modifier and Type | Method and Description |
---|---|
void |
addAnimationTimer(TimerReceiver timer) |
void |
addPulseReceiver(PulseReceiver target)
Adds a PulseReceiver to the list of targets being tracked against the
global schedule.
|
int |
getDefaultResolution() |
protected abstract int |
getPulseDuration(int precision) |
(package private) long |
getStartPauseTime() |
(package private) long |
getTotalPausedTime() |
boolean |
isFullspeed() |
(package private) boolean |
isPaused() |
long |
nanos() |
void |
pause() |
protected abstract void |
postUpdateAnimationRunnable(DelayedRunnable animationRunnable) |
protected void |
recordAnimationEnd() |
protected void |
recordEnd() |
protected void |
recordStart(long shiftMillis) |
void |
removeAnimationTimer(TimerReceiver timer) |
void |
removePulseReceiver(PulseReceiver target) |
void |
resume() |
protected void |
timePulseImpl(long now) |
protected static final java.lang.String FULLSPEED_PROP
private static boolean fullspeed
protected static final java.lang.String ADAPTIVE_PULSE_PROP
private static boolean useAdaptivePulse
protected static final java.lang.String PULSE_PROP
protected static final java.lang.String FRAMERATE_PROP
protected static final java.lang.String FIXED_PULSE_LENGTH_PROP
protected static final java.lang.String ANIMATION_MBEAN_ENABLED
protected static final boolean enableAnimationMBean
private final int PULSE_DURATION_NS
private final int PULSE_DURATION_TICKS
private static Callback<java.lang.String,java.lang.Void> pcl
private boolean paused
private long totalPausedTime
private long startPauseTime
private PulseReceiver[] receivers
private int receiversLength
private boolean receiversLocked
private TimerReceiver[] animationTimers
private int animationTimersLength
private boolean animationTimersLocked
private final long fixedPulseLength
private long debugNanos
private final AbstractMasterTimer.MainLoop theMaster
protected AbstractMasterTimer()
boolean isPaused()
long getTotalPausedTime()
long getStartPauseTime()
public int getDefaultResolution()
public void pause()
public void resume()
public long nanos()
public boolean isFullspeed()
public void addPulseReceiver(PulseReceiver target)
target
- the Clip to be added to the scheduling queuepublic void removePulseReceiver(PulseReceiver target)
public void addAnimationTimer(TimerReceiver timer)
public void removeAnimationTimer(TimerReceiver timer)
protected void recordStart(long shiftMillis)
protected void recordEnd()
protected void recordAnimationEnd()
protected abstract void postUpdateAnimationRunnable(DelayedRunnable animationRunnable)
protected abstract int getPulseDuration(int precision)
protected void timePulseImpl(long now)