deweese     02/02/12 10:58:31

  Modified:    sources/org/apache/batik/gvt UpdateTracker.java
  Log:
  1) Fixed a bug in the handling of update regions for nodes that
     had a null transform (mostly fixes transform.svg).
  
  Revision  Changes    Path
  1.7       +17 -8     xml-batik/sources/org/apache/batik/gvt/UpdateTracker.java
  
  Index: UpdateTracker.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/UpdateTracker.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- UpdateTracker.java        11 Feb 2002 13:14:29 -0000      1.6
  +++ UpdateTracker.java        12 Feb 2002 18:58:31 -0000      1.7
  @@ -29,7 +29,7 @@
    * This class tracks the changes on a GVT tree
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thomas DeWeese</a>
  - * @version $Id: UpdateTracker.java,v 1.6 2002/02/11 13:14:29 hillion Exp $
  + * @version $Id: UpdateTracker.java,v 1.7 2002/02/12 18:58:31 deweese Exp $
    */
   public class UpdateTracker extends GraphicsNodeChangeAdapter {
   
  @@ -76,8 +76,8 @@
               Rectangle2D srcNRgn = gn.getBounds();
               AffineTransform nat = gn.getTransform();
               nodeBounds.put(gnWRef, srcNRgn); // remember the new bounds...
  -            // System.out.println("Old: " + srcORgn);
  -            // System.out.println("New: " + srcNRgn);
  +            // System.out.println("Rgns: " + srcORgn + " - " + srcNRgn);
  +            // System.out.println("ATs: " + oat + " - " + nat);
               Shape oRgn = srcORgn;
               Shape nRgn = srcNRgn;
   
  @@ -119,6 +119,10 @@
   
               if (gn == null) {
                   // We made it to the root graphics node so add them.
  +                // System.out.println
  +                //     ("Adding: " + oat + " - " + nat + "\n" +
  +                //      org.ImageDisplay.stringShape(oRgn) + "\n" +
  +                //      org.ImageDisplay.stringShape(nRgn) + "\n");
                   ret.add(oRgn);
                   ret.add(nRgn);
               }
  @@ -137,14 +141,19 @@
           GraphicsNode gn = gnce.getGraphicsNode();
           WeakReference gnWRef = gn.getWeakReference();
   
  +        boolean doPut = false;
           if (dirtyNodes == null) {
               dirtyNodes = new HashMap();
  -            dirtyNodes.put(gnWRef, gn.getTransform());
  -        } else {
  -            Object o = dirtyNodes.get(gnWRef);
  -            if (o == null)
  -                dirtyNodes.put(gnWRef, gn.getTransform());
  +            doPut = true;
  +        } else if (!dirtyNodes.containsKey(gnWRef)) 
  +            doPut = true;
  +
  +        if (doPut) {
  +            AffineTransform at = gn.getTransform();
  +            if (at != null) at = (AffineTransform)at.clone();
  +            dirtyNodes.put(gnWRef, at);
           }
  +
   
           Object o = nodeBounds.get(gnWRef);
           while (o == null) {
  
  
  

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

Reply via email to