Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv32675
Modified Files: incremental-redisplay.lisp Log Message: Back out the spatial-trees change to compute-difference-set.
--- /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp 2006/04/20 23:25:23 1.59 +++ /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp 2006/04/22 15:31:27 1.60 @@ -754,12 +754,12 @@ ;; (declare (values erases moves draws erase-overlapping move-overlapping)) (let (was is + stay come (everywhere (or +everywhere+ (pane-viewport-region (updating-output-stream record)))) (was-table (make-hash-table :test #'equalp)) - (is-table (make-hash-table :test #'equalp)) - (stay-tree (%make-tree-output-record-tree))) + (is-table (make-hash-table :test #'equalp)))
(labels ((collect-1-was (record) (push record was) @@ -771,14 +771,12 @@ ;; stay = is ^ was (cond ((updating-output-record-p record) (if (eq :clean (output-record-dirty record)) - (spatial-trees:insert - (make-tree-output-record-entry record 0) stay-tree) + (push record stay) (push record come))) (t (let ((q (gethash (output-record-hash record) was-table))) (if (some #'(lambda (x) (output-record-equal record x)) q) - (spatial-trees:insert - (make-tree-output-record-entry record 0) stay-tree) + (push record stay) (push record come))))))) ;; Collect what was there (labels ((gather-was (record) @@ -829,15 +827,15 @@ (when check-overlapping (setf (values gone gone-overlap) (loop for k in gone - if (spatial-trees:search (%record-to-spatial-tree-rectangle k) - stay-tree) + if (some (lambda (x) (region-intersects-region-p k x)) + stay) collect (list k k) into gone-overlap* else collect (list k k) into gone* finally (return (values gone* gone-overlap*)))) (setf (values come come-overlap) (loop for k in come - if (spatial-trees:search (%record-to-spatial-tree-rectangle k) - stay-tree) + if (some (lambda (x) (region-intersects-region-p k x)) + stay) collect (list k k) into come-overlap* else collect (list k k) into come* finally (return (values come* come-overlap*)))))