summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/kitfox/svg/Path.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/kitfox/svg/Path.java')
-rw-r--r--src/main/java/com/kitfox/svg/Path.java78
1 files changed, 34 insertions, 44 deletions
diff --git a/src/main/java/com/kitfox/svg/Path.java b/src/main/java/com/kitfox/svg/Path.java
index c4c0b0d..7d8db66 100644
--- a/src/main/java/com/kitfox/svg/Path.java
+++ b/src/main/java/com/kitfox/svg/Path.java
@@ -33,70 +33,59 @@
*
* Created on January 26, 2004, 5:25 PM
*/
-
package com.kitfox.svg;
import com.kitfox.svg.xml.StyleAttribute;
-import java.awt.*;
-import java.awt.geom.*;
-
-import com.kitfox.svg.pathcmd.*;
-import com.kitfox.svg.xml.*;
-import org.xml.sax.*;
+import java.awt.Graphics2D;
+import java.awt.Shape;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Rectangle2D;
//import org.apache.batik.ext.awt.geom.ExtendedGeneralPath;
-
/**
* @author Mark McKay
* @author <a href="mailto:mark@kitfox.com">Mark McKay</a>
*/
-public class Path extends ShapeElement {
+public class Path extends ShapeElement
+{
+ public static final String TAG_NAME = "path";
// PathCommand[] commands = null;
-
int fillRule = GeneralPath.WIND_NON_ZERO;
String d = "";
// ExtendedGeneralPath path;
GeneralPath path;
- /** Creates a new instance of Rect */
- public Path() {
+ /**
+ * Creates a new instance of Rect
+ */
+ public Path()
+ {
}
- /*
- public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
+ public String getTagName()
{
- //Load style string
- super.loaderStartElement(helper, attrs, parent);
-
- StyleAttribute styleAttrib = getStyle("fill-rule");
- String fillRule = (styleAttrib == null) ? "nonzero" : styleAttrib.getStringValue();
-
- String d = attrs.getValue("d");
- path = buildPath(d, fillRule.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO);
+ return TAG_NAME;
}
- */
-
+
protected void build() throws SVGException
{
super.build();
-
+
StyleAttribute sty = new StyleAttribute();
-
-
- String fillRuleStrn = (getStyle(sty.setName("fill-rule"))) ? sty.getStringValue() : "nonzero";
+
+
+ String fillRuleStrn = (getStyle(sty.setName("fill-rule"))) ? sty.getStringValue() : "nonzero";
fillRule = fillRuleStrn.equals("evenodd") ? GeneralPath.WIND_EVEN_ODD : GeneralPath.WIND_NON_ZERO;
-
-// String d = "";
- if (getPres(sty.setName("d"))) d = sty.getStringValue();
-//System.err.println(d);
-
+ if (getPres(sty.setName("d")))
+ {
+ d = sty.getStringValue();
+ }
+
path = buildPath(d, fillRule);
-
-//System.err.println(d);
}
-
+
public void render(Graphics2D g) throws SVGException
{
beginLayer(g);
@@ -115,8 +104,9 @@ public class Path extends ShapeElement {
}
/**
- * Updates all attributes in this diagram associated with a time event.
- * Ie, all attributes with track information.
+ * Updates all attributes in this diagram associated with a time event. Ie,
+ * all attributes with track information.
+ *
* @return - true if this node has changed state as a result of the time
* update
*/
@@ -128,11 +118,11 @@ public class Path extends ShapeElement {
//Get current values for parameters
StyleAttribute sty = new StyleAttribute();
boolean shapeChange = false;
-
+
if (getStyle(sty.setName("fill-rule")))
{
- int newVal = sty.getStringValue().equals("evenodd")
- ? GeneralPath.WIND_EVEN_ODD
+ int newVal = sty.getStringValue().equals("evenodd")
+ ? GeneralPath.WIND_EVEN_ODD
: GeneralPath.WIND_NON_ZERO;
if (newVal != fillRule)
{
@@ -140,7 +130,7 @@ public class Path extends ShapeElement {
changeState = true;
}
}
-
+
if (getPres(sty.setName("d")))
{
String newVal = sty.getStringValue();
@@ -150,14 +140,14 @@ public class Path extends ShapeElement {
shapeChange = true;
}
}
-
+
if (shapeChange)
{
build();
// path = buildPath(d, fillRule);
// return true;
}
-
+
return changeState || shapeChange;
}
}