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]