From ddd29c1524f3f77691be48f9778de7cabc26f52d Mon Sep 17 00:00:00 2001 From: kitfox Date: Thu, 6 Feb 2014 08:52:58 +0000 Subject: Fixing SVGSALAMANDER-30. Animation elements with a 'to' but not a 'from' will now get their from value from their parent element. git-svn-id: https://svn.java.net/svn/svgsalamander~svn/trunk/svg-core@164 7dc7fa77-23fb-e6ad-8e2e-c86bd48ed22b --- src/main/java/com/kitfox/svg/animation/Animate.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/main/java/com/kitfox/svg/animation/Animate.java') diff --git a/src/main/java/com/kitfox/svg/animation/Animate.java b/src/main/java/com/kitfox/svg/animation/Animate.java index 3ef5287..0ac491e 100644 --- a/src/main/java/com/kitfox/svg/animation/Animate.java +++ b/src/main/java/com/kitfox/svg/animation/Animate.java @@ -36,6 +36,7 @@ package com.kitfox.svg.animation; +import com.kitfox.svg.SVGConst; import com.kitfox.svg.SVGElement; import com.kitfox.svg.SVGException; import com.kitfox.svg.SVGLoaderHelper; @@ -47,6 +48,8 @@ import java.awt.Color; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.awt.geom.PathIterator; +import java.util.logging.Level; +import java.util.logging.Logger; import org.xml.sax.Attributes; import org.xml.sax.SAXException; @@ -197,6 +200,21 @@ public class Animate extends AnimateBase implements AnimateColorIface { return byValue * interp; } + else if (toExists) + { + StyleAttribute style = new StyleAttribute(getAttribName()); + try + { + getParent().getStyle(style, true, false); + } + catch (SVGException ex) + { + Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING, + "Could not get from value", ex); + } + double from = style.getDoubleValue(); + return toValue * interp + from * (1.0 - interp); + } //Should not reach this line throw new RuntimeException("Animate tag could not be evalutated - insufficient arguements"); -- cgit v1.2.3-55-g7522