diff options
author | kitfox | 2011-10-07 15:22:31 +0200 |
---|---|---|
committer | kitfox | 2011-10-07 15:22:31 +0200 |
commit | 30ebe1cbfe286e7a26f0968338c6c007816eb337 (patch) | |
tree | 2bdf448bfd50215b6a933369c18729b0b7ebc560 | |
parent | Fixed problem with path CLOSE instruction not returning cursor to start of pa... (diff) | |
download | svg-salamander-core-30ebe1cbfe286e7a26f0968338c6c007816eb337.tar.gz svg-salamander-core-30ebe1cbfe286e7a26f0968338c6c007816eb337.tar.xz svg-salamander-core-30ebe1cbfe286e7a26f0968338c6c007816eb337.zip |
Added SVGElement.removeElement() method. ShapeElement can now handle invalid paint references without crashing.
git-svn-id: https://svn.java.net/svn/svgsalamander~svn/trunk/svg-core@101 7dc7fa77-23fb-e6ad-8e2e-c86bd48ed22b
-rw-r--r-- | src/main/java/com/kitfox/svg/SVGElement.java | 15 | ||||
-rw-r--r-- | src/main/java/com/kitfox/svg/SVGUniverse.java | 10 | ||||
-rw-r--r-- | src/main/java/com/kitfox/svg/ShapeElement.java | 10 |
3 files changed, 29 insertions, 6 deletions
diff --git a/src/main/java/com/kitfox/svg/SVGElement.java b/src/main/java/com/kitfox/svg/SVGElement.java index 47ce1c3..08cb36c 100644 --- a/src/main/java/com/kitfox/svg/SVGElement.java +++ b/src/main/java/com/kitfox/svg/SVGElement.java @@ -267,7 +267,20 @@ abstract public class SVGElement implements Serializable presAttribs.put(name, new StyleAttribute(name, value));
}
}
-
+
+ public void removeAttribute(String name, int attribType)
+ {
+ switch (attribType)
+ {
+ case AnimationElement.AT_CSS:
+ inlineStyles.remove(name);
+ return;
+ case AnimationElement.AT_XML:
+ presAttribs.remove(name);
+ return;
+ }
+ }
+
public void addAttribute(String name, int attribType, String value) throws SVGElementException
{
if (hasAttribute(name, attribType)) throw new SVGElementException(this, "Attribute " + name + "(" + AnimationElement.animationElementToString(attribType) + ") already exists");
diff --git a/src/main/java/com/kitfox/svg/SVGUniverse.java b/src/main/java/com/kitfox/svg/SVGUniverse.java index f99279b..f59e0d1 100644 --- a/src/main/java/com/kitfox/svg/SVGUniverse.java +++ b/src/main/java/com/kitfox/svg/SVGUniverse.java @@ -35,7 +35,6 @@ import java.beans.PropertyChangeSupport; import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
@@ -45,6 +44,7 @@ import java.io.Serializable; import java.lang.ref.SoftReference;
import java.net.MalformedURLException;
import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
@@ -436,9 +436,13 @@ public class SVGUniverse implements Serializable InputStream is = docRoot.openStream();
return loadSVG(uri, new InputSource(createDocumentInputStream(is)));
}
- catch (Throwable t)
+ catch (URISyntaxException ex)
{
- t.printStackTrace();
+ ex.printStackTrace();
+ }
+ catch (IOException ex)
+ {
+ ex.printStackTrace();
}
return null;
diff --git a/src/main/java/com/kitfox/svg/ShapeElement.java b/src/main/java/com/kitfox/svg/ShapeElement.java index 07b76cf..eaa4832 100644 --- a/src/main/java/com/kitfox/svg/ShapeElement.java +++ b/src/main/java/com/kitfox/svg/ShapeElement.java @@ -129,7 +129,10 @@ abstract public class ShapeElement extends RenderableElement AffineTransform xform = g.getTransform();
SVGElement ele = diagram.getUniverse().getElement(uri);
- fillPaint = ((FillElement)ele).getPaint(bounds, xform);
+ if (ele != null)
+ {
+ fillPaint = ((FillElement)ele).getPaint(bounds, xform);
+ }
}
}
}
@@ -165,7 +168,10 @@ abstract public class ShapeElement extends RenderableElement AffineTransform xform = g.getTransform();
SVGElement ele = diagram.getUniverse().getElement(uri);
- strokePaint = ((FillElement)ele).getPaint(bounds, xform);
+ if (ele != null)
+ {
+ strokePaint = ((FillElement)ele).getPaint(bounds, xform);
+ }
}
}
}
|