[gsharp-cvs] CVS gsharp

crhodes crhodes at common-lisp.net
Sun May 14 07:51:27 UTC 2006


Update of /project/gsharp/cvsroot/gsharp
In directory clnet:/tmp/cvs-serv4923

Modified Files:
	gui.lisp 
Log Message:
Scrolling.

* change space requirements after drawing to a score pane
* intercept window-clear on score panes, so as not to reset sheet 
transformations, viewport positions, and so on, but just to clear the 
output record and draw in background ink.


--- /project/gsharp/cvsroot/gsharp/gui.lisp	2006/03/02 09:29:44	1.59
+++ /project/gsharp/cvsroot/gsharp/gui.lisp	2006/05/14 07:51:27	1.60
@@ -167,7 +167,18 @@
     (score-pane:with-score-pane pane
       (draw-buffer pane buffer (current-cursor)
 		   (left-margin buffer) 100)
-      (gsharp-drawing::draw-the-cursor pane (current-cursor) (cursor-element (current-cursor)) (last-note (input-state *application-frame*))))))
+      (gsharp-drawing::draw-the-cursor pane (current-cursor) (cursor-element (current-cursor)) (last-note (input-state *application-frame*)))
+      (multiple-value-bind (minx miny maxx maxy)
+          (bounding-rectangle* pane)
+        (declare (ignore minx maxx))
+        (change-space-requirements pane :height (- maxy miny))))))
+
+(defmethod window-clear ((pane score-pane:score-pane))
+  (let ((output-history (stream-output-history pane)))
+    (with-bounding-rectangle* (left top right bottom) output-history
+      (medium-clear-area (sheet-medium pane) left top right bottom))
+    (clear-output-record output-history))
+  (window-erase-viewport pane))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;




More information about the Gsharp-cvs mailing list