org.apache.batik.anim
public abstract class AnimationEngine extends Object
Nested Class Summary | |
---|---|
protected static class | AnimationEngine.AnimationInfo
Class to hold target information of an animation. |
protected class | AnimationEngine.Listener
Listener class for changes to base values on a target element. |
protected static class | AnimationEngine.Sandwich
Class to hold an animation sandwich for a particular attribute. |
protected static class | AnimationEngine.TargetInfo
Class to hold XML and CSS animations for a target element. |
Field Summary | |
---|---|
static short | ANIM_TYPE_CSS |
static short | ANIM_TYPE_OTHER |
static short | ANIM_TYPE_XML |
protected HashMap | animations
Map of AbstractAnimations to AnimationInfo objects. |
protected Document | document
The document this AnimationEngine is managing animation for. |
protected long | pauseTime
The time at which the document was paused, or 0 if the document is not
paused. |
protected AnimationEngine.Listener | targetListener
The listener object for animation target base value changes. |
protected HashMap | targets
Map of AnimationTargets to TargetInfo objects. |
protected TimedDocumentRoot | timedDocumentRoot
The root time container for the document. |
Constructor Summary | |
---|---|
AnimationEngine(Document doc)
Creates a new AnimationEngine for the given document. |
Method Summary | |
---|---|
void | addAnimation(AnimationTarget target, short type, String ns, String an, AbstractAnimation anim)
Adds an animation to the document. |
void | addTimegraphListener(TimegraphListener l)
Adds a {@link TimegraphListener} to the document. |
protected abstract TimedDocumentRoot | createDocumentRoot()
Creates a new returns a new TimedDocumentRoot object for the document. |
void | dispose()
Disposes this animation engine. |
protected AnimationEngine.AnimationInfo | getAnimationInfo(AbstractAnimation anim)
Returns the AnimationInfo for the given AbstractAnimation. |
float | getCurrentTime()
Returns the current document time. |
protected AnimationEngine.Sandwich | getSandwich(AnimationTarget target, short type, String ns, String an)
Returns the Sandwich for the given animation type/attribute. |
protected AnimationEngine.TargetInfo | getTargetInfo(AnimationTarget target)
Returns the TargetInfo for the given AnimationTarget. |
boolean | isPaused()
Returns whether animations are currently paused. |
protected void | moveToBottom(AbstractAnimation anim)
Moves the given animation to the bottom of the sandwich. |
protected void | moveToTop(AbstractAnimation anim)
Moves the given animation to the top of the sandwich. |
void | pause()
Pauses the animations. |
protected void | pushDown(AbstractAnimation anim)
Moves the animation down the sandwich such that it is in the right
position according to begin time and document order. |
void | removeAnimation(AbstractAnimation anim)
Removes an animation from the document. |
void | removeFill(AbstractAnimation anim)
Invoked to indicate that this timed element has had its fill removed. |
void | removeTimegraphListener(TimegraphListener l)
Removes a {@link TimegraphListener} from the document. |
void | sampledAt(AbstractAnimation anim, float simpleTime, float simpleDur, int repeatIteration)
Invoked to indicate that this timed element has been sampled at the given
time.
|
void | sampledLastValue(AbstractAnimation anim, int repeatIteration)
Invoked to indicate that this timed element has been sampled at the end
of its active time, at an integer multiple of the simple duration. |
float | setCurrentTime(float t)
Sets the current document time. |
protected float | tick(float time, boolean hyperlinking)
Updates the animations in the document to the given document time. |
void | toActive(AbstractAnimation anim, float begin)
Invoked to indicate an animation became active at the specified time.
|
void | toInactive(AbstractAnimation anim, boolean isFrozen)
Invoked to indicate that this timed element became inactive.
|
void | unpause()
Unpauses the animations. |
Parameters: target the target element of the animation type the type of animation (must be one of the
ANIM_TYPE_*
constants defined in this class ns the namespace URI of the attribute being animated, if
type ==
{@link #ANIM_TYPE_XML} an the attribute name if type ==
{@link
#ANIM_TYPE_XML}, the property name if type ==
{@link #ANIM_TYPE_CSS}, and the animation type otherwise anim the animation
Parameters: anim the animation simpleTime the sample time in local simple time simpleDur the simple duration of the element repeatIteration the repeat iteration during which the element was sampled
Parameters: time the document time to sample at hyperlinking whether the document should be seeked to the given time, as with hyperlinking
Parameters: anim the animation begin the time the element became active, in document simple time
Parameters: anim the animation isFrozen whether the element is frozen or not