Hi Tonny.
Tonny Kohar:
> Change on Fill Rule (nonzero, evenodd) does not update the canvas,
> unless the point/coordinated of the element is changed then it will
> update the canvas
>
> Here I attached the sample program to reproduce
>
> Here is the bug id: #26879
Looks like you're right. Here's a patch that should fix the problem
(which also occurs with polygon and polyline elements).
Maybe if Vincent or Thomas are listening they could consider checking it
in to CVS.
Cameron
--
Cameron McCormack
| Web: http://mcc.id.au/
| ICQ: 26955922
--- sources/org/apache/batik/bridge/SVGPathElementBridge.java 2004-04-29
17:48:11.000000000 +1000
+++ sources/org/apache/batik/bridge/SVGPathElementBridge.java.new 2004-04-29
17:54:19.000000000 +1000
@@ -53,6 +53,8 @@
import java.awt.Shape;
import java.awt.geom.GeneralPath;
+import org.apache.batik.css.engine.CSSEngineEvent;
+import org.apache.batik.css.engine.SVGCSSEngine;
import org.apache.batik.gvt.ShapeNode;
import org.apache.batik.parser.AWTPathProducer;
import org.apache.batik.parser.ParseException;
@@ -144,4 +146,15 @@
super.handleDOMAttrModifiedEvent(evt);
}
}
+
+ protected void handleCSSPropertyChanged(int property) {
+ switch(property) {
+ case SVGCSSEngine.FILL_RULE_INDEX:
+ buildShape(ctx, e, (ShapeNode) node);
+ handleGeometryChanged();
+ break;
+ default:
+ super.handleCSSPropertyChanged(property);
+ }
+ }
}
--- sources/org/apache/batik/bridge/SVGPolygonElementBridge.java 2004-04-29
17:58:34.000000000 +1000
+++ sources/org/apache/batik/bridge/SVGPolygonElementBridge.java.new 2004-04-29
17:59:14.000000000 +1000
@@ -53,6 +53,8 @@
import java.awt.Shape;
import java.awt.geom.GeneralPath;
+import org.apache.batik.css.engine.CSSEngineEvent;
+import org.apache.batik.css.engine.SVGCSSEngine;
import org.apache.batik.gvt.ShapeNode;
import org.apache.batik.parser.AWTPolygonProducer;
import org.apache.batik.parser.ParseException;
@@ -143,4 +145,15 @@
super.handleDOMAttrModifiedEvent(evt);
}
}
+
+ protected void handleCSSPropertyChanged(int property) {
+ switch(property) {
+ case SVGCSSEngine.FILL_RULE_INDEX:
+ buildShape(ctx, e, (ShapeNode) node);
+ handleGeometryChanged();
+ break;
+ default:
+ super.handleCSSPropertyChanged(property);
+ }
+ }
}
--- sources/org/apache/batik/bridge/SVGPolylineElementBridge.java 2004-04-29
17:58:53.000000000 +1000
+++ sources/org/apache/batik/bridge/SVGPolylineElementBridge.java.new 2004-04-29
18:00:23.000000000 +1000
@@ -53,6 +53,8 @@
import java.awt.Shape;
import java.awt.geom.GeneralPath;
+import org.apache.batik.css.engine.CSSEngineEvent;
+import org.apache.batik.css.engine.SVGCSSEngine;
import org.apache.batik.gvt.ShapeNode;
import org.apache.batik.parser.AWTPolylineProducer;
import org.apache.batik.parser.ParseException;
@@ -143,4 +145,15 @@
super.handleDOMAttrModifiedEvent(evt);
}
}
+
+ protected void handleCSSPropertyChanged(int property) {
+ switch(property) {
+ case SVGCSSEngine.FILL_RULE_INDEX:
+ buildShape(ctx, e, (ShapeNode) node);
+ handleGeometryChanged();
+ break;
+ default:
+ super.handleCSSPropertyChanged(property);
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]