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 &lt;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 &lt;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 &lt;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 &lt;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 &lt;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 &lt;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]

Reply via email to