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]