[gsharp-cvs] CVS update: gsharp/gui.lisp gsharp/score-pane.lisp

Robert Strandh rstrandh at common-lisp.net
Thu Oct 27 01:28:09 UTC 2005


Update of /project/gsharp/cvsroot/gsharp
In directory common-lisp.net:/tmp/cvs-serv6209

Modified Files:
	gui.lisp score-pane.lisp 
Log Message:
Removed Gsharp-specific code for double buffering.  
Replaced it by general mechanism now available in McCLIM.
This should also fix the pixmap-focus bug, though I can't test that
because I never could reproduce the problem.


Date: Thu Oct 27 03:28:08 2005
Author: rstrandh

Index: gsharp/gui.lisp
diff -u gsharp/gui.lisp:1.23 gsharp/gui.lisp:1.24
--- gsharp/gui.lisp:1.23	Mon Aug  8 01:18:02 2005
+++ gsharp/gui.lisp	Thu Oct 27 03:28:08 2005
@@ -26,7 +26,8 @@
    (score (let ((win (make-pane 'score-pane:score-pane
 				:width 400 :height 500
 				:name "score"
-				:display-time :no-clear
+				;; :incremental-redisplay t
+				:double-buffering t
 				:display-function 'display-score
 				:command-table 'total-melody-table)))
 	    (setf (windows *application-frame*) (list win))


Index: gsharp/score-pane.lisp
diff -u gsharp/score-pane.lisp:1.12 gsharp/score-pane.lisp:1.13
--- gsharp/score-pane.lisp:1.12	Mon Aug 15 23:45:01 2005
+++ gsharp/score-pane.lisp	Thu Oct 27 03:28:08 2005
@@ -608,20 +608,11 @@
     , at body))
 
 (defmacro with-score-pane (pane &body body)
-  (let ((pixmap (gensym))
-	(mirror (gensym)))
-    `(let* ((*pane* ,pane)
-	    (*lighter-gray-progressions* (lighter-gray-progressions pane))
-	    (*darker-gray-progressions* (darker-gray-progressions pane))
-	    (,pixmap (allocate-pixmap *pane* 800 900))
-	    (,mirror (sheet-direct-mirror *pane*)))
-      (draw-rectangle* ,pixmap 0 0 800 900 :filled t :ink +white+)
-      (setf (sheet-direct-mirror *pane*) (climi::pixmap-mirror ,pixmap))
-      (clear-output-record (stream-output-history *pane*))
-       , at body
-      (setf (sheet-direct-mirror *pane*) ,mirror)
-      (copy-from-pixmap ,pixmap 0 0 800 900 *pane* 0 0)
-      (deallocate-pixmap ,pixmap))))      
+  `(let* ((*pane* ,pane)
+	  (*lighter-gray-progressions* (lighter-gray-progressions pane))
+	  (*darker-gray-progressions* (darker-gray-progressions pane)))
+    (clear-output-record (stream-output-history *pane*))
+    , at body))
 
 (defmacro with-vertical-score-position ((pane yref) &body body)
   `(with-translation (,pane 0 ,yref)




More information about the Gsharp-cvs mailing list