tkormann    02/05/14 09:40:02

  Modified:    sources/org/apache/batik/bridge
                        AbstractGraphicsNodeBridge.java
                        SVGCircleElementBridge.java
                        SVGEllipseElementBridge.java
                        SVGLineElementBridge.java SVGPathElementBridge.java
                        SVGPolygonElementBridge.java
                        SVGPolylineElementBridge.java
                        SVGRectElementBridge.java
                        SVGShapeElementBridge.java
  Log:
  filter, mask, clip, gradient, pattern... are now updated when the
  geometry of the referencing graphical elements are dynamically modified.
  
  Revision  Changes    Path
  1.25      +11 -1     
xml-batik/sources/org/apache/batik/bridge/AbstractGraphicsNodeBridge.java
  
  Index: AbstractGraphicsNodeBridge.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/bridge/AbstractGraphicsNodeBridge.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- AbstractGraphicsNodeBridge.java   25 Apr 2002 00:45:42 -0000      1.24
  +++ AbstractGraphicsNodeBridge.java   14 May 2002 16:40:02 -0000      1.25
  @@ -44,7 +44,7 @@
    * </ul>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: AbstractGraphicsNodeBridge.java,v 1.24 2002/04/25 00:45:42 deweese 
Exp $
  + * @version $Id: AbstractGraphicsNodeBridge.java,v 1.25 2002/05/14 16:40:02 
tkormann Exp $
    */
   public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
       implements SVGContext, 
  @@ -163,7 +163,17 @@
                       (e, SVG_TRANSFORM_ATTRIBUTE, s);
               }
               node.setTransform(at);
  +            handleGeometryChanged();
           }
  +    }
  +
  +    /**
  +     * Invoked when the geometry of an graphical element has changed.
  +     */
  +    protected  void handleGeometryChanged() {
  +        node.setFilter(CSSUtilities.convertFilter(e, node, ctx));
  +        node.setMask(CSSUtilities.convertMask(e, node, ctx));
  +        node.setClip(CSSUtilities.convertClipPath(e, node, ctx));
       }
   
       /**
  
  
  
  1.10      +2 -1      
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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGCircleElementBridge.java       7 May 2002 16:19:36 -0000       1.9
  +++ SVGCircleElementBridge.java       14 May 2002 16:40:02 -0000      1.10
  @@ -22,7 +22,7 @@
    * Bridge class for the &lt;circle> element.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: SVGCircleElementBridge.java,v 1.9 2002/05/07 16:19:36 tkormann Exp 
$
  + * @version $Id: SVGCircleElementBridge.java,v 1.10 2002/05/14 16:40:02 tkormann 
Exp $
    */
   public class SVGCircleElementBridge extends SVGShapeElementBridge {
   
  @@ -108,6 +108,7 @@
               attrName.equals(SVG_R_ATTRIBUTE)) {
   
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.10      +2 -1      
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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGEllipseElementBridge.java      7 May 2002 16:19:36 -0000       1.9
  +++ SVGEllipseElementBridge.java      14 May 2002 16:40:02 -0000      1.10
  @@ -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.9 2002/05/07 16:19:36 tkormann 
Exp $
  + * @version $Id: SVGEllipseElementBridge.java,v 1.10 2002/05/14 16:40:02 tkormann 
Exp $
    */
   public class SVGEllipseElementBridge extends SVGShapeElementBridge {
   
  @@ -123,6 +123,7 @@
               attrName.equals(SVG_RY_ATTRIBUTE)) {
   
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.10      +2 -1      
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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SVGLineElementBridge.java 7 May 2002 16:19:36 -0000       1.9
  +++ SVGLineElementBridge.java 14 May 2002 16:40:02 -0000      1.10
  @@ -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.9 2002/05/07 16:19:36 tkormann Exp $
  + * @version $Id: SVGLineElementBridge.java,v 1.10 2002/05/14 16:40:02 tkormann Exp $
    */
   public class SVGLineElementBridge extends SVGDecoratedShapeElementBridge {
   
  @@ -106,6 +106,7 @@
               attrName.equals(SVG_Y2_ATTRIBUTE)) {
   
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.13      +2 -1      
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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SVGPathElementBridge.java 7 May 2002 16:19:36 -0000       1.12
  +++ SVGPathElementBridge.java 14 May 2002 16:40:02 -0000      1.13
  @@ -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.12 2002/05/07 16:19:36 tkormann Exp $
  + * @version $Id: SVGPathElementBridge.java,v 1.13 2002/05/14 16:40:02 tkormann Exp $
    */
   public class SVGPathElementBridge extends SVGDecoratedShapeElementBridge {
   
  @@ -92,6 +92,7 @@
           if (attrName.equals(SVG_D_ATTRIBUTE)) {
   
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.14      +2 -1      
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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- SVGPolygonElementBridge.java      7 May 2002 16:19:36 -0000       1.13
  +++ SVGPolygonElementBridge.java      14 May 2002 16:40:02 -0000      1.14
  @@ -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.13 2002/05/07 16:19:36 tkormann 
Exp $
  + * @version $Id: SVGPolygonElementBridge.java,v 1.14 2002/05/14 16:40:02 tkormann 
Exp $
    */
   public class SVGPolygonElementBridge extends SVGDecoratedShapeElementBridge {
   
  @@ -90,6 +90,7 @@
           String attrName = evt.getAttrName();
           if (attrName.equals(SVG_POINTS_ATTRIBUTE)) {
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.13      +2 -1      
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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SVGPolylineElementBridge.java     7 May 2002 16:19:36 -0000       1.12
  +++ SVGPolylineElementBridge.java     14 May 2002 16:40:02 -0000      1.13
  @@ -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.12 2002/05/07 16:19:36 tkormann 
Exp $
  + * @version $Id: SVGPolylineElementBridge.java,v 1.13 2002/05/14 16:40:02 tkormann 
Exp $
    */
   public class SVGPolylineElementBridge extends SVGDecoratedShapeElementBridge {
   
  @@ -90,6 +90,7 @@
           String attrName = evt.getAttrName();
           if (attrName.equals(SVG_POINTS_ATTRIBUTE)) {
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.12      +2 -1      
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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SVGRectElementBridge.java 7 May 2002 16:19:36 -0000       1.11
  +++ SVGRectElementBridge.java 14 May 2002 16:40:02 -0000      1.12
  @@ -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.11 2002/05/07 16:19:36 tkormann Exp $
  + * @version $Id: SVGRectElementBridge.java,v 1.12 2002/05/14 16:40:02 tkormann Exp $
    */
   public class SVGRectElementBridge extends SVGShapeElementBridge {
   
  @@ -169,6 +169,7 @@
               attrName.equals(SVG_RY_ATTRIBUTE)) {
   
               buildShape(ctx, e, (ShapeNode)node);
  +            handleGeometryChanged();
           } else {
               super.handleDOMAttrModifiedEvent(evt);
           }
  
  
  
  1.18      +12 -1     
xml-batik/sources/org/apache/batik/bridge/SVGShapeElementBridge.java
  
  Index: SVGShapeElementBridge.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGShapeElementBridge.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- SVGShapeElementBridge.java        21 Mar 2002 11:04:56 -0000      1.17
  +++ SVGShapeElementBridge.java        14 May 2002 16:40:02 -0000      1.18
  @@ -30,7 +30,7 @@
    * The base bridge class for shapes. Subclasses bridge <tt>ShapeNode</tt>.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: SVGShapeElementBridge.java,v 1.17 2002/03/21 11:04:56 tkormann Exp 
$
  + * @version $Id: SVGShapeElementBridge.java,v 1.18 2002/05/14 16:40:02 tkormann Exp 
$
    */
   public abstract class SVGShapeElementBridge extends AbstractGraphicsNodeBridge {
   
  @@ -134,6 +134,17 @@
       }
   
       // BridgeUpdateHandler implementation //////////////////////////////////
  +
  +    /**
  +     * Invoked when the geometry of an graphical element has changed.
  +     */
  +    protected  void handleGeometryChanged() {
  +        super.handleGeometryChanged();
  +        ShapeNode shapeNode = (ShapeNode)node;
  +        ShapePainter painter = 
  +            PaintServer.convertFillAndStroke(e, shapeNode, ctx);
  +        shapeNode.setShapePainter(createShapePainter(ctx, e, shapeNode));
  +    }
   
       /**
        * This flag bit indicates if a new shape painter has already been created.
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to