APIdia Launch Partner
Top Inners Fields Constructors Methods
com.sun.scenario.animation

public abstract Class AbstractPrimaryTimer

extends Object
Class Inheritance
Known Direct Subclasses
com.sun.javafx.tk.quantum.PrimaryTimer
Imports
java.util.Arrays, javafx.animation.AnimationTimer, javafx.util.Callback, com.sun.javafx.animation.TickCalculation, com.sun.javafx.util.Logging, com.sun.scenario.DelayedRunnable, .Settings, com.sun.scenario.animation.shared.PulseReceiver, .TimerReceiver

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class
AbstractPrimaryTimer.MainLoop

Hidden inner class to run the main timing loop.

private abstract static class

Field Summary

Modifier and TypeField and Description
protected static final String
protected static final String
private AbstractPrimaryTimer.ReceiverRecord<TimerReceiver>[]
private int
private boolean
private long
protected static final boolean
public static final int
protected static final String
private final long
protected static final String
private static boolean
protected static final String
private static Callback<String, Void>
private final int
private final int
protected static final String
private AbstractPrimaryTimer.ReceiverRecord<PulseReceiver>[]
private int
private boolean
private final AbstractPrimaryTimer.MainLoop
private static boolean

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public void
public void
addPulseReceiver(PulseReceiver
the Clip to be added to the scheduling queue
target
)

Adds a PulseReceiver to the list of targets being tracked against the global schedule.

public int
protected abstract int
getPulseDuration(int precision)

public boolean
public long
protected abstract void
protected void
protected void
protected void
recordStart(long shiftMillis)

public void
public void
protected void
timePulseImpl(long now)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ADAPTIVE_PULSE_PROPback to summary
protected static final String ADAPTIVE_PULSE_PROP
ANIMATION_MBEAN_ENABLEDback to summary
protected static final String ANIMATION_MBEAN_ENABLED
animationTimersback to summary
private AbstractPrimaryTimer.ReceiverRecord<TimerReceiver>[] animationTimers
Annotations
@SuppressWarnings:unchecked
animationTimersLengthback to summary
private int animationTimersLength
animationTimersLockedback to summary
private boolean animationTimersLocked
debugNanosback to summary
private long debugNanos
enableAnimationMBeanback to summary
protected static final boolean enableAnimationMBean
FAILING_TIMER_THRESHOLDback to summary
public static final int FAILING_TIMER_THRESHOLD
FIXED_PULSE_LENGTH_PROPback to summary
protected static final String FIXED_PULSE_LENGTH_PROP
fixedPulseLengthback to summary
private final long fixedPulseLength
FRAMERATE_PROPback to summary
protected static final String FRAMERATE_PROP
fullspeedback to summary
private static boolean fullspeed
FULLSPEED_PROPback to summary
protected static final String FULLSPEED_PROP
pclback to summary
private static Callback<String, Void> pcl
PULSE_DURATION_NSback to summary
private final int PULSE_DURATION_NS
PULSE_DURATION_TICKSback to summary
private final int PULSE_DURATION_TICKS
PULSE_PROPback to summary
protected static final String PULSE_PROP
receiversback to summary
private AbstractPrimaryTimer.ReceiverRecord<PulseReceiver>[] receivers
Annotations
@SuppressWarnings:unchecked
receiversLengthback to summary
private int receiversLength
receiversLockedback to summary
private boolean receiversLocked
theMainLoopback to summary
private final AbstractPrimaryTimer.MainLoop theMainLoop
useAdaptivePulseback to summary
private static boolean useAdaptivePulse

Constructor Detail

AbstractPrimaryTimerback to summary
protected AbstractPrimaryTimer()

Method Detail

addAnimationTimerback to summary
public void addAnimationTimer(TimerReceiver timer)
addPulseReceiverback to summary
public void addPulseReceiver(PulseReceiver target)

Adds a PulseReceiver to the list of targets being tracked against the global schedule. The target should already have an absolute start time recorded in it and that time will be used to start the clip at the appropriate wall clock time as defined by milliTime(). Note that pulseReceiver cannot be removed from the PrimaryTimer directly. It is removed automatically in the timePulse-iteration if timePulse returns true.

Parameters
target:PulseReceiver

the Clip to be added to the scheduling queue

getDefaultResolutionback to summary
public int getDefaultResolution()
getPulseDurationback to summary
protected abstract int getPulseDuration(int precision)
isFullspeedback to summary
public boolean isFullspeed()
nanosback to summary
public long nanos()
postUpdateAnimationRunnableback to summary
protected abstract void postUpdateAnimationRunnable(DelayedRunnable animationRunnable)
recordAnimationEndback to summary
protected void recordAnimationEnd()
recordEndback to summary
protected void recordEnd()
recordStartback to summary
protected void recordStart(long shiftMillis)
removeAnimationTimerback to summary
public void removeAnimationTimer(TimerReceiver timer)
removePulseReceiverback to summary
public void removePulseReceiver(PulseReceiver target)
timePulseImplback to summary
protected void timePulseImpl(long now)
com.sun.scenario.animation back to summary

private final Class AbstractPrimaryTimer.MainLoop

extends Object
implements DelayedRunnable
Class Inheritance
All Implemented Interfaces
com.sun.scenario.DelayedRunnable, java.lang.Runnable

Hidden inner class to run the main timing loop. This is the "AnimationRunnable" for Desktop and TV

Field Summary

Modifier and TypeField and Description
private boolean
private long
private long

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public long
getDelay()

Implements com.sun.scenario.DelayedRunnable.getDelay.

Gets the delay in milliseconds.

public void
run()

Implements java.lang.Runnable.run.

Runs this operation.

private void
private void
updateNextPulseTime(long pulseStarted)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

inactiveback to summary
private boolean inactive
lastPulseDurationback to summary
private long lastPulseDuration
nextPulseTimeback to summary
private long nextPulseTime

Constructor Detail

MainLoopback to summary
private MainLoop()

Method Detail

getDelayback to summary
public long getDelay()

Implements com.sun.scenario.DelayedRunnable.getDelay.

Doc from com.sun.scenario.DelayedRunnable.getDelay.

Gets the delay in milliseconds.

Annotations
@Override
runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.

Annotations
@Override
updateAnimationRunnableback to summary
private void updateAnimationRunnable()
updateNextPulseTimeback to summary
private void updateNextPulseTime(long pulseStarted)
com.sun.scenario.animation back to summary

private abstract Class AbstractPrimaryTimer.ReceiverRecord<T>

extends Object
Class Inheritance
  • java.lang.Object
  • com.sun.scenario.animation.AbstractPrimaryTimer.ReceiverRecord

Field Summary

Modifier and TypeField and Description
pack-priv int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv void
pack-priv static AbstractPrimaryTimer.ReceiverRecord<TimerReceiver>
pack-priv static AbstractPrimaryTimer.ReceiverRecord<PulseReceiver>
pack-priv abstract T
pack-priv abstract Class<?>
type()

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

exceptionsThrownback to summary
pack-priv int exceptionsThrown

Constructor Detail

ReceiverRecordback to summary
private ReceiverRecord()

Method Detail

handleExceptionback to summary
pack-priv void handleException(Throwable e)
ofAnimationTimerback to summary
pack-priv static AbstractPrimaryTimer.ReceiverRecord<TimerReceiver> ofAnimationTimer(TimerReceiver receiver)
ofPulseReceiverback to summary
pack-priv static AbstractPrimaryTimer.ReceiverRecord<PulseReceiver> ofPulseReceiver(PulseReceiver receiver)
receiverback to summary
pack-priv abstract T receiver()
typeback to summary
pack-priv abstract Class<?> type()