[mcclim-cvs] CVS mcclim

afuchs afuchs at common-lisp.net
Thu Apr 20 22:43:47 UTC 2006


Update of /project/mcclim/cvsroot/mcclim
In directory clnet:/tmp/cvs-serv19230

Modified Files:
	incremental-redisplay.lisp 
Log Message:
Improve constant factors on compute-difference-set further

 * gather-was and gather-is do the same, too. merge them.


--- /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp	2006/04/20 22:40:48	1.55
+++ /project/mcclim/cvsroot/mcclim/incremental-redisplay.lisp	2006/04/20 22:43:47	1.56
@@ -778,38 +778,24 @@
                         (if (some #'(lambda (x) (output-record-equal record x)) q)
                             (push record stay)
                             (push record come)))))))
-      ;; Collect what was there
-      (labels ((gather-was (record)
+      ;; Collect what was there and what's still there
+      (labels ((gather-was-and-is (record)
                  (cond ((displayed-output-record-p record)
                         (collect-1-was record))
                        ((updating-output-record-p record)
                         (cond ((eq :clean (output-record-dirty record))
-                               (collect-1-was record))
-                              ((eq :moved (output-record-dirty record))
-                               (collect-1-was (slot-value record 'old-bounds)))
-                              (t
-                               (map-over-output-records-overlapping-region #'gather-was
-                                                                           (old-children record)
-                                                                           everywhere))))
-                       (t
-                        (map-over-output-records-overlapping-region #'gather-was record everywhere)))))
-        (gather-was record))
-      ;; Collect what still is there
-      (labels ((gather-is (record)
-                 (cond ((displayed-output-record-p record)
-                        (collect-1-is record))
-                       ((updating-output-record-p record)
-                        (cond ((eq :clean (output-record-dirty record))
+                               (collect-1-was record)
                                (collect-1-is record))
                               ((eq :moved (output-record-dirty record))
+                               (collect-1-was (slot-value record 'old-bounds))
                                (collect-1-is record))
                               (t
-                               (map-over-output-records-overlapping-region #'gather-is
-                                                                           (sub-record record)
+                               (map-over-output-records-overlapping-region #'gather-was-and-is
+                                                                           (old-children record)
                                                                            everywhere))))
                        (t
-                        (map-over-output-records-overlapping-region #'gather-is record everywhere) ))))
-        (gather-is record)))
+                        (map-over-output-records-overlapping-region #'gather-was-and-is record everywhere)))))
+        (gather-was-and-is record)))
     ;;
     (let (gone)
       ;; gone = was \ is




More information about the Mcclim-cvs mailing list