public abstract class TimingSource extends Object
Animator.setTimer(TimingSource)
.
The implementation details of any specific timer may
vary widely, but any timer should be able to expose
the basic capabilities used in this interface. Animator
depends on these capabilities for starting, stopping,
and running any TimingSource.
The usage of an external TimingSource object for sending in timing
events to an Animator is to implement this interface appropriately,
pass in that object to Animator.setTimer(TimingSource)
,
which adds the Animator as a listener to the TimingSource object,
and then send in any later timing events from the object to the
protected method timingEvent()
, which will send these timing
events to all listeners.Constructor and Description |
---|
TimingSource() |
Modifier and Type | Method and Description |
---|---|
void |
addEventListener(TimingEventListener listener)
Adds a TimingEventListener to the set of listeners that
receive timing events from this TimingSource.
|
void |
removeEventListener(TimingEventListener listener)
Removes a TimingEventListener from the set of listeners that
receive timing events from this TimingSource.
|
abstract void |
setResolution(int resolution)
Sets the delay between callback events.
|
abstract void |
setStartDelay(int delay)
Sets delay which should be observed by the
TimingSource after a call to
start() . |
abstract void |
start()
Starts the TimingSource
|
abstract void |
stop()
Stops the TimingSource
|
protected void |
timingEvent()
Subclasses call this method to post timing events to this
object's
TimingEventListener objects. |
public abstract void start()
public abstract void stop()
public abstract void setResolution(int resolution)
setResolution(int)
method is called. Note that the actual resolution may vary,
according to the resolution of the timer used by the framework as well
as system load and configuration; this value should be seen more as a
minimum resolution than a guaranteed resolution.resolution
- delay, in milliseconds, between
each timing event callback.IllegalArgumentException
- resolution must be >= 0Animator.setResolution(int)
public abstract void setStartDelay(int delay)
start()
. Some timers may not be
able to adhere to specific resolution requestsdelay
- delay, in milliseconds, to pause before
starting timing events.IllegalArgumentException
- resolution must be >= 0Animator.setStartDelay(int)
public final void addEventListener(TimingEventListener listener)
listener
- the listener to be added.public final void removeEventListener(TimingEventListener listener)
listener
- the listener to be removed.protected final void timingEvent()
TimingEventListener
objects.