[gsharp-cvs] CVS gsharp

rstrandh rstrandh at common-lisp.net
Sat Jun 3 04:45:42 UTC 2006


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

Modified Files:
	sdl.lisp 
Log Message:
Fixed the reference point of the whole and half rests.


--- /project/gsharp/cvsroot/gsharp/sdl.lisp	2006/06/02 13:17:35	1.21
+++ /project/gsharp/cvsroot/gsharp/sdl.lisp	2006/06/03 04:45:42	1.22
@@ -1225,18 +1225,20 @@
 ;;; Rests
 
 (defmethod compute-design ((font font) (shape (eql :whole-rest)))
-  (with-slots ((sld staff-line-distance) notehead-width xoffset yoffset) font
+  (with-slots ((sld staff-line-distance) (slt staff-line-thickness)
+	       notehead-width xoffset yoffset) font
     (flet ((c (x y) (complex x y)))
-      (translate (xyscale (translate +unit-square+ #c(-0.5 0))
+      (translate (xyscale +unit-square+
 			  notehead-width (* 0.5 sld))
-		 (c xoffset (+ yoffset (* 0.5 sld)))))))
+		 (c xoffset (+ yoffset sld (- (* 0.25 sld)) (- (* 0.5 slt))))))))
 
 (defmethod compute-design ((font font) (shape (eql :half-rest)))
-  (with-slots ((sld staff-line-distance) notehead-width xoffset yoffset) font
+  (with-slots ((sld staff-line-distance) (slt staff-line-thickness)
+	       notehead-width xoffset yoffset) font
     (flet ((c (x y) (complex x y)))
-      (translate (xyscale (translate +unit-square+ #c(-0.5 0))
+      (translate (xyscale +unit-square+
 			  notehead-width (* 0.5 sld))
-		 (c xoffset yoffset)))))
+		 (c xoffset (+ yoffset (* 0.25 sld) (* 0.5 slt)))))))
 
 (defmethod compute-design ((font font) (shape (eql :quarter-rest)))
   (with-slots ((sld staff-line-distance) stem-thickness) font




More information about the Gsharp-cvs mailing list