org.apache.batik.bridge
Class SVGAnimationEngine

java.lang.Object
  extended by org.apache.batik.anim.AnimationEngine
      extended by org.apache.batik.bridge.SVGAnimationEngine

public class SVGAnimationEngine
extends AnimationEngine

An AnimationEngine for SVG documents.


Nested Class Summary
protected  class SVGAnimationEngine.AnimatableAngleOrIdentFactory
          Factory class for AnimatableAngleOrIdentValues.
protected  class SVGAnimationEngine.AnimatableAngleValueFactory
          Factory class for AnimatableAngleValues.
protected  class SVGAnimationEngine.AnimatableBooleanValueFactory
          Factory class for AnimatableBooleanValues.
protected  class SVGAnimationEngine.AnimatableColorValueFactory
          Factory class for AnimatableColorValues.
protected  class SVGAnimationEngine.AnimatableIntegerValueFactory
          Factory class for AnimatableIntegerValues.
protected  class SVGAnimationEngine.AnimatableLengthListValueFactory
          Factory class for AnimatableLengthListValues.
protected  class SVGAnimationEngine.AnimatableLengthOrIdentFactory
          Factory class for AnimatableLengthOrIdentValues.
protected  class SVGAnimationEngine.AnimatableLengthValueFactory
          Factory class for AnimatableLengthValues.
protected  class SVGAnimationEngine.AnimatableNumberListValueFactory
          Factory class for AnimatableNumberListValues.
protected  class SVGAnimationEngine.AnimatableNumberOrIdentFactory
          Factory class for AnimatableNumberOrIdentValues.
protected  class SVGAnimationEngine.AnimatableNumberOrPercentageValueFactory
          Factory class for AnimatableNumberOrPercentageValues.
protected  class SVGAnimationEngine.AnimatableNumberValueFactory
          Factory class for AnimatableNumberValues.
protected  class SVGAnimationEngine.AnimatablePaintValueFactory
          Factory class for AnimatablePaintValues.
protected  class SVGAnimationEngine.AnimatablePathDataFactory
          Factory class for AnimatablePathDataValues.
protected  class SVGAnimationEngine.AnimatablePointListValueFactory
          Factory class for AnimatablePointListValues.
protected  class SVGAnimationEngine.AnimatablePreserveAspectRatioValueFactory
          Factory class for AnimatablePreserveAspectRatioValues.
protected  class SVGAnimationEngine.AnimatableRectValueFactory
          Factory class for AnimatableNumberListValues.
protected  class SVGAnimationEngine.AnimatableStringValueFactory
          Factory class for computed CSS AnimatableStringValues.
protected  class SVGAnimationEngine.AnimationRoot
          A class for the root time container.
protected  class SVGAnimationEngine.AnimationThread
          The thread that ticks the animation.
protected static class SVGAnimationEngine.AnimationTickRunnable
          Idle runnable to tick the animation.
protected  class SVGAnimationEngine.CSSValueFactory
          Factory class for AnimatableValues for CSS properties.
protected static class SVGAnimationEngine.DebugAnimationTickRunnable
          Idle runnable to tick the animation, that reads times from System.in.
protected static interface SVGAnimationEngine.Factory
          Interface for AnimatableValue factories.
protected  class SVGAnimationEngine.UncomputedAnimatableStringValueFactory
          Factory class for AnimatableStringValues.
 
Nested classes/interfaces inherited from class org.apache.batik.anim.AnimationEngine
AnimationEngine.AnimationInfo, AnimationEngine.Listener, AnimationEngine.Sandwich, AnimationEngine.TargetInfo
 
Field Summary
protected  SVGAnimationEngine.AnimatableLengthOrIdentFactory animatableLengthOrIdentFactory
          The factory for length-or-ident values.
protected  SVGAnimationEngine.AnimatableNumberOrIdentFactory animatableNumberOrIdentFactory
          The factory for number-or-ident values.
protected static Set animationEventNames11
          Set of SMIL animation event names for SVG 1.1.
protected static Set animationEventNames12
          Set of SMIL animation event names for SVG 1.2.
protected  float animationLimitingAmount
          The amount of animation limiting.
protected  int animationLimitingMode
          The animation limiting mode.
protected  SVGAnimationEngine.AnimationThread animationThread
          The thread that ticks the animation engine.
protected  SVGAnimationEngine.AnimationTickRunnable animationTickRunnable
          The Runnable that ticks the document.
protected  CSSEngine cssEngine
          The CSSEngine used for CSS value parsing.
protected  BridgeContext ctx
          The BridgeContext to use for value parsing.
protected  StyleMap dummyStyleMap
          A StyleMap used by the SVGAnimationEngine.Factorys when computing CSS values.
protected  SVGAnimationEngine.Factory[] factories
          Factories for AnimatableValue parsing.
protected  LinkedList initialBridges
          List of bridges that will be initialized when the document is started.
protected  boolean isSVG12
          Whether the document is an SVG 1.2 document.
protected  boolean started
          Whether animation processing has started.
protected  SVGAnimationEngine.UncomputedAnimatableStringValueFactory uncomputedAnimatableStringValueFactory
          The factory for unparsed string values.
 
Fields inherited from class org.apache.batik.anim.AnimationEngine
ANIM_TYPE_CSS, ANIM_TYPE_OTHER, ANIM_TYPE_XML, animations, document, MAP_ENTRY_ARRAY, pauseTime, targetListener, targets, timedDocumentRoot
 
Constructor Summary
SVGAnimationEngine(Document doc, BridgeContext ctx)
          Creates a new SVGAnimationEngine.
 
Method Summary
 void addInitialBridge(SVGAnimationElementBridge b)
          Adds an animation element bridge to the list of bridges that require initializing when the document is started.
protected  TimedDocumentRoot createDocumentRoot()
          Creates a new returns a new TimedDocumentRoot object for the document.
 void dispose()
          Disposes this animation engine.
 float getCurrentTime()
          Returns the current document time.
 AnimatableValue getUnderlyingCSSValue(Element animElt, AnimationTarget target, String pn)
          Returns an AnimatableValue for the underlying value of a CSS property.
 boolean hasStarted()
          Returns whether animation processing has begun.
 AnimatableValue parseAnimatableValue(Element animElt, AnimationTarget target, String ns, String ln, boolean isCSS, String s)
          Parses an AnimatableValue.
 void pause()
          Pauses the animations.
 void setAnimationLimitingCPU(float pc)
          Sets the animation limiting mode to a percentage of CPU.
 void setAnimationLimitingFPS(float fps)
          Sets the animation limiting mode to a number of frames per second.
 void setAnimationLimitingNone()
          Sets the animation limiting mode to "none".
 float setCurrentTime(float t)
          Sets the current document time.
 void start(long documentStartTime)
          Starts the animation engine.
 void unpause()
          Pauses the animations.
 
Methods inherited from class org.apache.batik.anim.AnimationEngine
addAnimation, addTimegraphListener, getAnimationInfo, getSandwich, getTargetInfo, isPaused, moveToBottom, moveToTop, pushDown, removeAnimation, removeFill, removeTimegraphListener, sampledAt, sampledLastValue, tick, toActive, toInactive
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ctx

protected BridgeContext ctx
The BridgeContext to use for value parsing.


cssEngine

protected CSSEngine cssEngine
The CSSEngine used for CSS value parsing.


started

protected boolean started
Whether animation processing has started. This affects whether animation element bridges add their animation on to the initial bridge list, or process them immediately.


animationTickRunnable

protected SVGAnimationEngine.AnimationTickRunnable animationTickRunnable
The Runnable that ticks the document.


uncomputedAnimatableStringValueFactory

protected SVGAnimationEngine.UncomputedAnimatableStringValueFactory uncomputedAnimatableStringValueFactory
The factory for unparsed string values.


animatableLengthOrIdentFactory

protected SVGAnimationEngine.AnimatableLengthOrIdentFactory animatableLengthOrIdentFactory
The factory for length-or-ident values.


animatableNumberOrIdentFactory

protected SVGAnimationEngine.AnimatableNumberOrIdentFactory animatableNumberOrIdentFactory
The factory for number-or-ident values.


factories

protected SVGAnimationEngine.Factory[] factories
Factories for AnimatableValue parsing.


isSVG12

protected boolean isSVG12
Whether the document is an SVG 1.2 document.


initialBridges

protected LinkedList initialBridges
List of bridges that will be initialized when the document is started.


dummyStyleMap

protected StyleMap dummyStyleMap
A StyleMap used by the SVGAnimationEngine.Factorys when computing CSS values.


animationThread

protected SVGAnimationEngine.AnimationThread animationThread
The thread that ticks the animation engine.


animationLimitingMode

protected int animationLimitingMode
The animation limiting mode.


animationLimitingAmount

protected float animationLimitingAmount
The amount of animation limiting.


animationEventNames11

protected static final Set animationEventNames11
Set of SMIL animation event names for SVG 1.1.


animationEventNames12

protected static final Set animationEventNames12
Set of SMIL animation event names for SVG 1.2.

Constructor Detail

SVGAnimationEngine

public SVGAnimationEngine(Document doc,
                          BridgeContext ctx)
Creates a new SVGAnimationEngine.

Method Detail

dispose

public void dispose()
Disposes this animation engine.

Overrides:
dispose in class AnimationEngine

addInitialBridge

public void addInitialBridge(SVGAnimationElementBridge b)
Adds an animation element bridge to the list of bridges that require initializing when the document is started.


hasStarted

public boolean hasStarted()
Returns whether animation processing has begun.


parseAnimatableValue

public AnimatableValue parseAnimatableValue(Element animElt,
                                            AnimationTarget target,
                                            String ns,
                                            String ln,
                                            boolean isCSS,
                                            String s)
Parses an AnimatableValue.


getUnderlyingCSSValue

public AnimatableValue getUnderlyingCSSValue(Element animElt,
                                             AnimationTarget target,
                                             String pn)
Returns an AnimatableValue for the underlying value of a CSS property.


pause

public void pause()
Pauses the animations.

Overrides:
pause in class AnimationEngine

unpause

public void unpause()
Pauses the animations.

Overrides:
unpause in class AnimationEngine

getCurrentTime

public float getCurrentTime()
Returns the current document time.

Overrides:
getCurrentTime in class AnimationEngine

setCurrentTime

public float setCurrentTime(float t)
Sets the current document time.

Overrides:
setCurrentTime in class AnimationEngine

createDocumentRoot

protected TimedDocumentRoot createDocumentRoot()
Creates a new returns a new TimedDocumentRoot object for the document.

Specified by:
createDocumentRoot in class AnimationEngine

start

public void start(long documentStartTime)
Starts the animation engine.


setAnimationLimitingNone

public void setAnimationLimitingNone()
Sets the animation limiting mode to "none".


setAnimationLimitingCPU

public void setAnimationLimitingCPU(float pc)
Sets the animation limiting mode to a percentage of CPU.

Parameters:
pc - the maximum percentage of CPU to use (0 < pc ≤ 1)

setAnimationLimitingFPS

public void setAnimationLimitingFPS(float fps)
Sets the animation limiting mode to a number of frames per second.

Parameters:
fps - the maximum number of frames per second (fps > 0)


Copyright © 2008 Apache Software Foundation. All Rights Reserved.