org.apache.batik.dom.svg
Class SVGOMAnimatedPathData

java.lang.Object
  extended by org.apache.batik.dom.svg.AbstractSVGAnimatedValue
      extended by org.apache.batik.dom.svg.SVGOMAnimatedPathData
All Implemented Interfaces:
AnimatedLiveAttributeValue, LiveAttributeValue, org.w3c.dom.svg.SVGAnimatedPathData

public class SVGOMAnimatedPathData
extends AbstractSVGAnimatedValue
implements org.w3c.dom.svg.SVGAnimatedPathData

This class is the implementation of the SVGAnimatedPathData interface.


Nested Class Summary
 class SVGOMAnimatedPathData.AnimSVGPathSegList
          SVGPathSegList implementation for the animated path data value.
 class SVGOMAnimatedPathData.BaseSVGPathSegList
          SVGPathSegList implementation for the base path data value.
 class SVGOMAnimatedPathData.NormalizedBaseSVGPathSegList
          SVGPathSegList implementation for the normalized version of the base path data value.
 
Field Summary
protected  SVGOMAnimatedPathData.AnimSVGPathSegList animPathSegs
          The animated path data value.
protected  boolean changing
          Whether the list is changing.
protected  String defaultValue
          Default value for the 'd' attribute.
protected  SVGOMAnimatedPathData.NormalizedBaseSVGPathSegList normalizedPathSegs
          The normalized base path data value.
protected  SVGOMAnimatedPathData.BaseSVGPathSegList pathSegs
          The base path data value.
 
Fields inherited from class org.apache.batik.dom.svg.AbstractSVGAnimatedValue
element, hasAnimVal, listeners, localName, namespaceURI
 
Constructor Summary
SVGOMAnimatedPathData(AbstractElement elt, String ns, String ln, String defaultValue)
          Creates a new SVGOMAnimatedPathData.
 
Method Summary
 void attrAdded(Attr node, String newv)
          Called when an Attr node has been added.
 void attrModified(Attr node, String oldv, String newv)
          Called when an Attr node has been modified.
 void attrRemoved(Attr node, String oldv)
          Called when an Attr node has been removed.
 void check()
          Throws an exception if the path data is malformed.
 org.w3c.dom.svg.SVGPathSegList getAnimatedNormalizedPathSegList()
          DOM: Implements SVGAnimatedPathData.getAnimatedNormalizedPathSegList().
 org.w3c.dom.svg.SVGPathSegList getAnimatedPathSegList()
          DOM: Implements SVGAnimatedPathData.getAnimatedPathSegList().
 org.w3c.dom.svg.SVGPathSegList getNormalizedPathSegList()
          DOM: Implements SVGAnimatedPathData.getNormalizedPathSegList().
 org.w3c.dom.svg.SVGPathSegList getPathSegList()
          DOM: Implements SVGAnimatedPathData.getPathSegList().
 AnimatableValue getUnderlyingValue(AnimationTarget target)
          Returns the base value of the attribute as an AnimatableValue.
protected  void updateAnimatedValue(AnimatableValue val)
          Updates the animated value with the given AnimatableValue.
 
Methods inherited from class org.apache.batik.dom.svg.AbstractSVGAnimatedValue
addAnimatedAttributeListener, fireAnimatedAttributeListeners, fireBaseAttributeListeners, getLocalName, getNamespaceURI, isSpecified, removeAnimatedAttributeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

changing

protected boolean changing
Whether the list is changing.


pathSegs

protected SVGOMAnimatedPathData.BaseSVGPathSegList pathSegs
The base path data value.


normalizedPathSegs

protected SVGOMAnimatedPathData.NormalizedBaseSVGPathSegList normalizedPathSegs
The normalized base path data value.


animPathSegs

protected SVGOMAnimatedPathData.AnimSVGPathSegList animPathSegs
The animated path data value.


defaultValue

protected String defaultValue
Default value for the 'd' attribute.

Constructor Detail

SVGOMAnimatedPathData

public SVGOMAnimatedPathData(AbstractElement elt,
                             String ns,
                             String ln,
                             String defaultValue)
Creates a new SVGOMAnimatedPathData.

Parameters:
elt - The associated element.
ns - The attribute's namespace URI.
ln - The attribute's local name.
defaultValue - The default value if the attribute is not specified.
Method Detail

getAnimatedNormalizedPathSegList

public org.w3c.dom.svg.SVGPathSegList getAnimatedNormalizedPathSegList()
DOM: Implements SVGAnimatedPathData.getAnimatedNormalizedPathSegList().

Specified by:
getAnimatedNormalizedPathSegList in interface org.w3c.dom.svg.SVGAnimatedPathData

getAnimatedPathSegList

public org.w3c.dom.svg.SVGPathSegList getAnimatedPathSegList()
DOM: Implements SVGAnimatedPathData.getAnimatedPathSegList().

Specified by:
getAnimatedPathSegList in interface org.w3c.dom.svg.SVGAnimatedPathData

getNormalizedPathSegList

public org.w3c.dom.svg.SVGPathSegList getNormalizedPathSegList()
DOM: Implements SVGAnimatedPathData.getNormalizedPathSegList().

Returns the SVGPathSegList mapping the normalized static 'd' attribute of the element.

A normalized path is composed only of absolute moveto, lineto and cubicto path segments (M, L and C). Using this subset, the path description can be represented with fewer segment types. Be aware that the normalized 'd' attribute will be a larger String that the original.

Relative values are transformed into absolute, quadratic curves are promoted to cubic curves, and arcs are converted into one or more cubic curves (one per quadrant).

Modifications to the normalized SVGPathSegList will result in substituting the original path with a set of normalized path segments.

Specified by:
getNormalizedPathSegList in interface org.w3c.dom.svg.SVGAnimatedPathData
Returns:
a path segment list containing the normalized version of the path.

getPathSegList

public org.w3c.dom.svg.SVGPathSegList getPathSegList()
DOM: Implements SVGAnimatedPathData.getPathSegList().

Specified by:
getPathSegList in interface org.w3c.dom.svg.SVGAnimatedPathData

check

public void check()
Throws an exception if the path data is malformed.


getUnderlyingValue

public AnimatableValue getUnderlyingValue(AnimationTarget target)
Returns the base value of the attribute as an AnimatableValue.

Specified by:
getUnderlyingValue in interface AnimatedLiveAttributeValue

updateAnimatedValue

protected void updateAnimatedValue(AnimatableValue val)
Updates the animated value with the given AnimatableValue.

Specified by:
updateAnimatedValue in class AbstractSVGAnimatedValue

attrAdded

public void attrAdded(Attr node,
                      String newv)
Called when an Attr node has been added.

Specified by:
attrAdded in interface LiveAttributeValue

attrModified

public void attrModified(Attr node,
                         String oldv,
                         String newv)
Called when an Attr node has been modified.

Specified by:
attrModified in interface LiveAttributeValue

attrRemoved

public void attrRemoved(Attr node,
                        String oldv)
Called when an Attr node has been removed.

Specified by:
attrRemoved in interface LiveAttributeValue


Copyright © 2008 Apache Software Foundation. All Rights Reserved.