deweese 02/01/29 13:46:43 Modified: sources/org/apache/batik/gvt UpdateTracker.java sources/org/apache/batik/gvt/renderer DynamicRenderer.java Log: 1) Fix for objects that move more than once in an animation. 2) Some very primitive framerate checking code (~10fps but this _really_ inaccurate indicator of real frame-rate potential). Revision Changes Path 1.4 +4 -3 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.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- UpdateTracker.java 29 Jan 2002 16:19:00 -0000 1.3 +++ UpdateTracker.java 29 Jan 2002 21:46:43 -0000 1.4 @@ -29,7 +29,7 @@ * This class tracks the changes on a GVT tree * * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a> - * @version $Id: UpdateTracker.java,v 1.3 2002/01/29 16:19:00 deweese Exp $ + * @version $Id: UpdateTracker.java,v 1.4 2002/01/29 21:46:43 deweese Exp $ */ public class UpdateTracker extends GraphicsNodeChangeAdapter { @@ -53,7 +53,7 @@ // System.out.println("Getting dirty areas"); if (dirtyNodes == null) - return null; + return null; List ret = new LinkedList(); Set keys = dirtyNodes.keySet(); @@ -75,6 +75,7 @@ Rectangle2D srcNRgn = gn.getBounds(); AffineTransform nat = gn.getTransform(); + nodeBounds.put(gnWRef, srcNRgn); // remember the new bounds... Shape oRgn = srcORgn; Shape nRgn = srcNRgn; @@ -120,7 +121,7 @@ ret.add(oRgn); ret.add(nRgn); } - } + } // System.out.println("Dirty area: " + ret); return ret; 1.7 +7 -2 xml-batik/sources/org/apache/batik/gvt/renderer/DynamicRenderer.java Index: DynamicRenderer.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/renderer/DynamicRenderer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DynamicRenderer.java 29 Jan 2002 16:19:00 -0000 1.6 +++ DynamicRenderer.java 29 Jan 2002 21:46:43 -0000 1.7 @@ -29,7 +29,7 @@ * Simple implementation of the Renderer that supports dynamic updates. * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: DynamicRenderer.java,v 1.6 2002/01/29 16:19:00 deweese Exp $ + * @version $Id: DynamicRenderer.java,v 1.7 2002/01/29 21:46:43 deweese Exp $ */ public class DynamicRenderer extends StaticRenderer { @@ -60,11 +60,16 @@ * @param areas a List of regions to be repainted, in the current * user space coordinate system. */ + // long lastFrame = -1; public void repaint(List areas) throws InterruptedException { if (areas == null) return; // long t0 = System.currentTimeMillis(); + // if (lastFrame != -1) { + // System.out.println("InterFrame time: " + (t0-lastFrame)); + // } + // lastFrame = t0; CachableRed cr; WritableRaster syncRaster; @@ -110,7 +115,7 @@ // System.out.println("Repainting All"); cr.copyData(copyRaster); } else { - if ((isDoubleBuffered) && + if ((isDoubleBuffered) && (currentRaster != null) && (damagedAreas != null)) { iter = damagedAreas.iterator();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]