[mcclim-cvs] CVS update: mcclim/frames.lisp mcclim/incremental-redisplay.lisp

Robert Strandh rstrandh at common-lisp.net
Thu Aug 18 03:17:23 UTC 2005


Update of /project/mcclim/cvsroot/mcclim
In directory common-lisp.net:/tmp/cvs-serv24177

Modified Files:
	frames.lisp incremental-redisplay.lisp 
Log Message:
Initial cleanups to incremental redisplay.  

Date: Thu Aug 18 05:17:22 2005
Author: rstrandh

Index: mcclim/frames.lisp
diff -u mcclim/frames.lisp:1.107 mcclim/frames.lisp:1.108
--- mcclim/frames.lisp:1.107	Sun Apr 17 20:46:26 2005
+++ mcclim/frames.lisp	Thu Aug 18 05:17:21 2005
@@ -484,25 +484,6 @@
 	  (:disowned
 	   (disown-frame fm frame)))))))
 
-;;; Defined in incremental-redisplay.lisp
-(defvar *enable-updating-output*)
-
-#+nil
-(defun redisplay-changed-panes (frame)
-  (map-over-sheets #'(lambda (pane)
-                       (multiple-value-bind (redisplayp clearp)
-                           (pane-needs-redisplay pane)
-                         (when redisplayp
-                           (when (and clearp
-                                      (or (not (pane-incremental-redisplay
-                                                pane))
-                                          (not *enable-updating-output*)))
-                             (window-clear pane))
-                           (redisplay-frame-pane frame pane)
-                           (unless (eq redisplayp :command-loop)
-                             (setf (pane-needs-redisplay pane) nil)))))
-                   (frame-top-level-sheet frame)))
-
 (defparameter +default-prompt-style+ (make-text-style :fix :italic :normal))
 
 (defmethod default-frame-top-level


Index: mcclim/incremental-redisplay.lisp
diff -u mcclim/incremental-redisplay.lisp:1.51 mcclim/incremental-redisplay.lisp:1.52
--- mcclim/incremental-redisplay.lisp:1.51	Tue Aug 16 06:30:37 2005
+++ mcclim/incremental-redisplay.lisp	Thu Aug 18 05:17:21 2005
@@ -245,8 +245,7 @@
 (defmethod pane-needs-redisplay :around ((pane updating-output-stream-mixin))
   (let ((redisplayp (call-next-method)))
     (values redisplayp (and (not (eq redisplayp :no-clear))
-			    (or (not (pane-incremental-redisplay pane))
-				(not *enable-updating-output*))))))
+			    (not (pane-incremental-redisplay pane))))))
 
 (defmethod window-clear :after ((pane updating-output-stream-mixin))
   "Get rid of any updating output records stored in the stream; they're gone
@@ -850,9 +849,6 @@
          ;; move overlapping
          nil)))))
 
-(defparameter *enable-updating-output* t
-  "Switch to turn on incremental redisplay")
-
 (defvar *trace-updating-output* nil)
 
 (defvar *no-unique-id* (cons nil nil))
@@ -874,8 +870,6 @@
 				   unique-id id-test cache-value cache-test
 				   &key (fixed-position nil) (all-new nil)
 				   (parent-cache nil))
-  (unless *enable-updating-output*
-    (return-from invoke-updating-output (funcall continuation stream)))
   (finish-output stream)
   (let ((parent-cache (or parent-cache *current-updating-output* stream)))
     (when (eq unique-id *no-unique-id*)
@@ -991,16 +985,6 @@
 
 (defvar *dump-updating-output* nil)
 
-;;; Protocol for notifying that records have been added or deleted,
-;;; for real, during redisplay.
-
-(defgeneric redisplay-add-output-record (record stream)
-  (:documentation "Process an output record that has been added (i.e.,
-  was not in the output history of the stream) during redisplay. The
-  record has not been displayed yet."))
-
-(defgeneric redisplay-delete-output-record (record bounding-rectangle stream))
-
 (defgeneric redisplay-output-record (record stream
 				     &optional check-overlapping))
 
@@ -1032,30 +1016,6 @@
 	     (delete-stale-updating-output record))
 	(set-medium-graphics-state current-graphics-state stream)))))
 
-(defmethod redisplay-add-output-record (record
-					(stream updating-output-stream-mixin))
-  (with-bounding-rectangle* (x1 y1 x2 y2)
-    record
-    (draw-rectangle* stream x1 y1 x2 y2
-		     :ink +background-ink+)))
-
-(defmethod redisplay-add-output-record :after
-    (record (stream updating-output-stream-mixin))
-  (note-output-record-got-sheet record stream))
-
-(defmethod redisplay-delete-output-record
-    (record bounding-rectangle (stream updating-output-stream-mixin))
-  (declare (ignore record))
-  (with-bounding-rectangle* (x1 y1 x2 y2)
-    bounding-rectangle
-    (draw-rectangle* stream x1 y1 x2 y2
-		     :ink +background-ink+)))
-
-(defmethod redisplay-delete-output-record :after
-    (record bounding-rectangle (stream updating-output-stream-mixin))
-  (declare (ignore bounding-rectangle))
-  (note-output-record-lost-sheet record stream))
-
 (defun erase-rectangle (stream bounding)
   (with-bounding-rectangle* (x1 y1 x2 y2)
       bounding
@@ -1244,7 +1204,7 @@
     ((frame application-frame) (pane updating-output-stream-mixin) &key force-p)
   (setf (id-counter pane) 0)
   (let ((incremental-redisplay (pane-incremental-redisplay pane)))
-    (cond ((or (not incremental-redisplay) (not *enable-updating-output*))
+    (cond ((not incremental-redisplay)
 	   (call-next-method))
 	  ((or (null (updating-record pane))
 	       force-p)




More information about the Mcclim-cvs mailing list