## org.apache.batik.bridge
Class SVGAnimationEngine

    java.lang.Object
      org.apache.batik.anim.AnimationEngine
          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 `AnimatableAngleOrIdentValue`s.
`protected class` `SVGAnimationEngine.AnimatableAngleValueFactory` Factory class for `AnimatableAngleValue`s.
`protected class` `SVGAnimationEngine.AnimatableBooleanValueFactory` Factory class for `AnimatableBooleanValue`s.
`protected class` `SVGAnimationEngine.AnimatableColorValueFactory` Factory class for `AnimatableColorValue`s.
`protected class` `SVGAnimationEngine.AnimatableIntegerValueFactory` Factory class for `AnimatableIntegerValue`s.
`protected class` `SVGAnimationEngine.AnimatableLengthListValueFactory` Factory class for `AnimatableLengthListValue`s.
`protected class` `SVGAnimationEngine.AnimatableLengthOrIdentFactory` Factory class for `AnimatableLengthOrIdentValue`s.
`protected class` `SVGAnimationEngine.AnimatableLengthValueFactory` Factory class for `AnimatableLengthValue`s.
`protected class` `SVGAnimationEngine.AnimatableNumberListValueFactory` Factory class for `AnimatableNumberListValue`s.
`protected class` `SVGAnimationEngine.AnimatableNumberOrIdentFactory` Factory class for `AnimatableNumberOrIdentValue`s.
`protected class` `SVGAnimationEngine.AnimatableNumberOrPercentageValueFactory` Factory class for `AnimatableNumberOrPercentageValue`s.
`protected class` `SVGAnimationEngine.AnimatableNumberValueFactory` Factory class for `AnimatableNumberValue`s.
`protected class` `SVGAnimationEngine.AnimatablePaintValueFactory` Factory class for `AnimatablePaintValue`s.
`protected class` `SVGAnimationEngine.AnimatablePathDataFactory` Factory class for `AnimatablePathDataValue`s.
`protected class` `SVGAnimationEngine.AnimatablePointListValueFactory` Factory class for `AnimatablePointListValue`s.
`protected class` `SVGAnimationEngine.AnimatablePreserveAspectRatioValueFactory` Factory class for `AnimatablePreserveAspectRatioValue`s.
`protected class` `SVGAnimationEngine.AnimatableRectValueFactory` Factory class for `AnimatableNumberListValue`s.
`protected class` `SVGAnimationEngine.AnimatableStringValueFactory` Factory class for computed CSS `AnimatableStringValue`s.
`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 `AnimatableStringValue`s.

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 java.util.Set` `animationEventNames11` Set of SMIL animation event names for SVG 1.1.
`protected static java.util.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.Factory`s when computing CSS values.
`protected SVGAnimationEngine.Factory[]` `factories` Factories for `AnimatableValue` parsing.
`protected java.util.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(org.w3c.dom.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(org.w3c.dom.Element animElt, AnimationTarget target, java.lang.String pn)` Returns an AnimatableValue for the underlying value of a CSS property.
`boolean` `hasStarted()` Returns whether animation processing has begun.
`AnimatableValue` `parseAnimatableValue(org.w3c.dom.Element animElt, AnimationTarget target, java.lang.String ns, java.lang.String ln, boolean isCSS, java.lang.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 java.util.LinkedList initialBridges

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

### dummyStyleMap

    protected StyleMap dummyStyleMap

  A StyleMap used by the `SVGAnimationEngine.Factory`s 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 java.util.Set animationEventNames11

  Set of SMIL animation event names for SVG 1.1.

### animationEventNames12

    protected static final java.util.Set animationEventNames12

  Set of SMIL animation event names for SVG 1.2.

Constructor Detail

### SVGAnimationEngine

    public SVGAnimationEngine(org.w3c.dom.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(org.w3c.dom.Element animElt,
                                                AnimationTarget target,
                                                java.lang.String ns,
                                                java.lang.String ln,
                                                boolean isCSS,
                                                java.lang.String s)

  Parses an AnimatableValue.

### getUnderlyingCSSValue

    public AnimatableValue getUnderlyingCSSValue(org.w3c.dom.Element animElt,
                                                 AnimationTarget target,
                                                 java.lang.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.