tkormann 02/05/07 09:19:37 Modified: sources/org/apache/batik/bridge SVGCircleElementBridge.java SVGEllipseElementBridge.java SVGLineElementBridge.java SVGPathElementBridge.java SVGPolygonElementBridge.java SVGPolylineElementBridge.java SVGRectElementBridge.java sources/org/apache/batik/gvt ShapeNode.java Log: Bug fix for dynamic behavior. The bridge can now dynamically disable the rendering of graphical elements in some cases. rect.setAttribute("width", "0") ... Revision Changes Path 1.9 +2 -4 xml-batik/sources/org/apache/batik/bridge/SVGCircleElementBridge.java Index: SVGCircleElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGCircleElementBridge.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SVGCircleElementBridge.java 20 Mar 2002 16:34:43 -0000 1.8 +++ SVGCircleElementBridge.java 7 May 2002 16:19:36 -0000 1.9 @@ -22,7 +22,7 @@ * Bridge class for the <circle> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGCircleElementBridge.java,v 1.8 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGCircleElementBridge.java,v 1.9 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGCircleElementBridge extends SVGShapeElementBridge { @@ -87,6 +87,7 @@ } // A value of zero disables rendering of the element if (r == 0) { + shapeNode.setShape(null); return; } float x = cx - r; @@ -107,9 +108,6 @@ attrName.equals(SVG_R_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.9 +3 -4 xml-batik/sources/org/apache/batik/bridge/SVGEllipseElementBridge.java Index: SVGEllipseElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGEllipseElementBridge.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SVGEllipseElementBridge.java 20 Mar 2002 16:34:43 -0000 1.8 +++ SVGEllipseElementBridge.java 7 May 2002 16:19:36 -0000 1.9 @@ -22,7 +22,7 @@ * Bridge class for the <ellipse> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGEllipseElementBridge.java,v 1.8 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGEllipseElementBridge.java,v 1.9 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGEllipseElementBridge extends SVGShapeElementBridge { @@ -87,6 +87,7 @@ } // A value of zero disables rendering of the element if (rx == 0) { + shapeNode.setShape(null); return; } @@ -102,6 +103,7 @@ } // A value of zero disables rendering of the element if (ry == 0) { + shapeNode.setShape(null); return; } @@ -121,9 +123,6 @@ attrName.equals(SVG_RY_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.9 +1 -4 xml-batik/sources/org/apache/batik/bridge/SVGLineElementBridge.java Index: SVGLineElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGLineElementBridge.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SVGLineElementBridge.java 20 Mar 2002 16:34:43 -0000 1.8 +++ SVGLineElementBridge.java 7 May 2002 16:19:36 -0000 1.9 @@ -21,7 +21,7 @@ * Bridge class for the <line> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGLineElementBridge.java,v 1.8 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGLineElementBridge.java,v 1.9 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGLineElementBridge extends SVGDecoratedShapeElementBridge { @@ -106,9 +106,6 @@ attrName.equals(SVG_Y2_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.12 +1 -4 xml-batik/sources/org/apache/batik/bridge/SVGPathElementBridge.java Index: SVGPathElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGPathElementBridge.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- SVGPathElementBridge.java 20 Mar 2002 16:34:43 -0000 1.11 +++ SVGPathElementBridge.java 7 May 2002 16:19:36 -0000 1.12 @@ -24,7 +24,7 @@ * Bridge class for the <path> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGPathElementBridge.java,v 1.11 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGPathElementBridge.java,v 1.12 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGPathElementBridge extends SVGDecoratedShapeElementBridge { @@ -92,9 +92,6 @@ if (attrName.equals(SVG_D_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.13 +1 -4 xml-batik/sources/org/apache/batik/bridge/SVGPolygonElementBridge.java Index: SVGPolygonElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGPolygonElementBridge.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- SVGPolygonElementBridge.java 20 Mar 2002 16:34:43 -0000 1.12 +++ SVGPolygonElementBridge.java 7 May 2002 16:19:36 -0000 1.13 @@ -24,7 +24,7 @@ * Bridge class for the <polygon> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGPolygonElementBridge.java,v 1.12 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGPolygonElementBridge.java,v 1.13 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGPolygonElementBridge extends SVGDecoratedShapeElementBridge { @@ -90,9 +90,6 @@ String attrName = evt.getAttrName(); if (attrName.equals(SVG_POINTS_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.12 +1 -4 xml-batik/sources/org/apache/batik/bridge/SVGPolylineElementBridge.java Index: SVGPolylineElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGPolylineElementBridge.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- SVGPolylineElementBridge.java 20 Mar 2002 16:34:43 -0000 1.11 +++ SVGPolylineElementBridge.java 7 May 2002 16:19:36 -0000 1.12 @@ -24,7 +24,7 @@ * Bridge class for the <polyline> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGPolylineElementBridge.java,v 1.11 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGPolylineElementBridge.java,v 1.12 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGPolylineElementBridge extends SVGDecoratedShapeElementBridge { @@ -90,9 +90,6 @@ String attrName = evt.getAttrName(); if (attrName.equals(SVG_POINTS_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.11 +3 -4 xml-batik/sources/org/apache/batik/bridge/SVGRectElementBridge.java Index: SVGRectElementBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGRectElementBridge.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- SVGRectElementBridge.java 20 Mar 2002 16:34:43 -0000 1.10 +++ SVGRectElementBridge.java 7 May 2002 16:19:36 -0000 1.11 @@ -24,7 +24,7 @@ * Bridge class for the <rect> element. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: SVGRectElementBridge.java,v 1.10 2002/03/20 16:34:43 tkormann Exp $ + * @version $Id: SVGRectElementBridge.java,v 1.11 2002/05/07 16:19:36 tkormann Exp $ */ public class SVGRectElementBridge extends SVGShapeElementBridge { @@ -89,6 +89,7 @@ } // A value of zero disables rendering of the element if (w == 0) { + shapeNode.setShape(null); return; } @@ -104,6 +105,7 @@ } // A value of zero disables rendering of the element if (h == 0) { + shapeNode.setShape(null); return; } @@ -167,9 +169,6 @@ attrName.equals(SVG_RY_ATTRIBUTE)) { buildShape(ctx, e, (ShapeNode)node); - if (((ShapeNode)node).getShape() == null) { - // <!> FIXME: disable the rendering - } } else { super.handleDOMAttrModifiedEvent(evt); } 1.17 +6 -2 xml-batik/sources/org/apache/batik/gvt/ShapeNode.java Index: ShapeNode.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/ShapeNode.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ShapeNode.java 29 Apr 2002 13:20:19 -0000 1.16 +++ ShapeNode.java 7 May 2002 16:19:37 -0000 1.17 @@ -20,7 +20,7 @@ * A graphics node that represents a shape. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: ShapeNode.java,v 1.16 2002/04/29 13:20:19 tkormann Exp $ + * @version $Id: ShapeNode.java,v 1.17 2002/05/07 16:19:37 tkormann Exp $ */ public class ShapeNode extends AbstractGraphicsNode { @@ -73,7 +73,11 @@ invalidateGeometryCache(); this.shape = newShape; if(this.shapePainter != null){ - this.shapePainter.setShape(newShape); + if (newShape != null) { + this.shapePainter.setShape(newShape); + } else { + this.shapePainter = null; + } } fireGraphicsNodeChangeCompleted(); }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]