2002/04/28 06:14:39
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:46:09 +0000 (06:46 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:46:09 +0000 (06:46 +0000)
darcs-hash:20040130064609-2ba56-8ad3dab65c21d422523298cbfd11784b7f732e82.gz

src/org/xwt/Box.java
src/org/xwt/Surface.java

index 1fc2e82..acb4cac 100644 (file)
@@ -225,13 +225,6 @@ public final class Box extends JSObject {
     /** Holds four "strip images" -- 0=top, 1=bottom, 2=left, 3=right, 4=all */
     Picture[] border = null;
         
-    /**
-     *  The dirty() method walks up the tree, clipping the region being dirtied to each parent -- if this value is less than or
-     *  equal to surface.dirtiedTimeStamp, it means that the entire screen region covered by this box has been dirtied, so dirty()'s on
-     *  children can short-circuit.
-     */
-    int dirtiedTimeStamp = 0;
-
     /** true iff the box's background image should be tiled */
     boolean tile = false;
 
@@ -553,13 +546,11 @@ public final class Box extends JSObject {
     /** Adds the node's current actual geometry to the Surface's dirty list */
     void dirty() {
         dirty(pos(0), pos(1), size(0), size(1));
-        if (surface != null) dirtiedTimeStamp = surface.dirtiedTimeStamp + 1;
     }
 
     /** Adds the intersection of (x,y,w,h) and the node's current actual geometry to the Surface's dirty list */
     final void dirty(int x, int y, int w, int h) {
         for(Box cur = this; cur != null; cur = cur.getParent()) {
-            if (surface != null && cur.dirtiedTimeStamp > surface.dirtiedTimeStamp && cur.dirtiedTimeStamp < Integer.MAX_VALUE - 1) return;
             w = min(x + w, cur.pos(0) + cur.size(0)) - max(x, cur.pos(0));
             h = min(y + h, cur.pos(1) + cur.size(1)) - max(y, cur.pos(1));
             x = max(x, cur.pos(0));
@@ -817,7 +808,6 @@ public final class Box extends JSObject {
 
     /** Renders self and children within the specified region. All rendering operations are clipped to xIn,yIn,wIn,hIn */
     void render(int xIn, int yIn, int wIn, int hIn, DoubleBuffer buf) {
-        dirtiedTimeStamp = surface.dirtiedTimeStamp;
         if (surface.abort || invisible) return;
 
         // intersect the x,y,w,h rendering window with ourselves; quit if it's empty
index 58339c8..1da3c3e 100644 (file)
@@ -305,12 +305,6 @@ public abstract class Surface {
     /** A list of all the Boxes on this Surface that should be notified of keyboard events */
     Vec keywatchers = new Vec();
 
-    /**
-     *  this is incremented every time we render; it acts as a sort of 'timestamp' to let Boxes to know if they have
-     *  been dirtied since the last rendering began (and hence should not propagate up dirty() requests from their children)
-     */
-    volatile int dirtiedTimeStamp = 0;
-
     /** When set to true, render() should abort as soon as possible and restart the rendering process */
     volatile boolean abort = false;
 
@@ -394,8 +388,6 @@ public abstract class Surface {
     /** runs the prerender() and render() pipelines in the root Box to regenerate the backbuffer, then blits it to the screen */
     public synchronized void render() {
 
-        if (++dirtiedTimeStamp == Integer.MAX_VALUE - 1) dirtiedTimeStamp = 0;
-
         // if the window size changed as a result of a user action, we have to update the root box's size
         if (root.size(0) != width || root.size(1) != height) {