[gsharp-cvs] CVS gsharp

rstrandh rstrandh at common-lisp.net
Mon Nov 17 06:40:27 UTC 2008


Update of /project/gsharp/cvsroot/gsharp
In directory cl-net:/tmp/cvs-serv29936

Modified Files:
	sdl.lisp 
Log Message:
Time signature digit 6.


--- /project/gsharp/cvsroot/gsharp/sdl.lisp	2008/11/17 05:49:28	1.41
+++ /project/gsharp/cvsroot/gsharp/sdl.lisp	2008/11/17 06:40:26	1.42
@@ -1999,3 +1999,85 @@
 	    pf right ++ pg up ++ ph left ++ ppi left ++ pj up ++ pk up ++
 	    pl right ++ pm right ++ pn right ++ po down ++ pp left ++
 	    pq left ++ pr down ++ ps right ++ pt right ++ pu down ++ cycle)))))
+
+;;;                    
+;;;                                      w2
+;;;                                  __________
+;;;                                 |          |                  
+;;;                                   c			   _
+;;;                                  ****		    |
+;;;                              ******g*****		    |
+;;;                           *****    ********		    |
+;;;                         ******    **********d	    |
+;;;                        ******    f**********	    |
+;;;                       *******h     ********		    |
+;;;                      ********        **e*		    |
+;;;                     **********        j 		    |
+;;;                    ************i**********		    |
+;;;                    *************************	    |
+;;;                    ************* n **********	    | h1
+;;;                   b***********      **********	    |
+;;;                    **********       **********	    |
+;;;                    **********       **********k	    |
+;;;                    **********m     o**********	    |
+;;;                    **********       **********	    |
+;;;                     *********       *********	    |
+;;;                      *********  l  ********		    |
+;;;                       ********************		    |
+;;;                         ****************		    |
+;;;                             *********                  _|
+;;;                                 a
+;;;                    
+;;;                    
+;;;                    |____________|
+;;;                         w1
+;;;                    
+;;;                    
+
+(defmethod compute-design ((font font) (shape (eql :time-signature-6)))
+  (with-slots ((sld staff-line-distance)
+	       (slt staff-line-thickness)
+	       yoffset)
+    font
+    (flet ((c (x y) (complex x y)))
+      (let* (;; This symbol should have its lowest point
+	     ;; at the bottom of the staff line
+	     (ya (+ (- (/ slt 2)) yoffset))
+	     ;; it should have its top at the lower edge of the staff line
+	     (h1 (* 2 sld))
+	     (w1 (round (* 0.4 h1)))
+	     (w2 (round (* 0.35 h1)))
+	     (xc (* 0.1 w2))
+	     (xf (round (* 0.05 h1)))
+	     (yf (+ ya (* 0.8 h1)))
+	     (xe (* 0.5 (+ w2 xf)))
+	     (ye (+ ya (* 0.68 h1)))
+	     (xg (+ xf (* 0.02 h1)))
+	     (yg (+ ya (- h1 slt)))
+	     (xh (* -0.12 h1))
+	     (yh (+ ya (* 0.7 h1)))
+	     (xj (* 0.12 h1))
+	     (yj (- ye slt))
+	     (xi (* -0.09 h1))
+	     (yi (- yj (* 0.5 slt)))
+	     (yn (- yj (* 2 slt)))
+	     (pa (c 0 0))
+	     (pb (c (- w1) (+ ya (* 0.45 h1))))
+	     (pc (c xc (+ ya h1)))
+	     (pd (c w2 yf))
+	     (pe (c xe ye))
+	     (pf (c xf yf))
+	     (pg (c xg yg))
+	     (ph (c xh yh))
+	     (ppi (c xi yi))
+	     (pj (c xj yj))
+	     (pk (c w1 (+ ya (* 0.35 h1))))
+	     (pl (+ pa (c 0 slt)))
+	     (pm (c (* -0.13 h1) (+ ya (* 0.32 h1))))
+	     (pn (c 0 yn))
+	     (po (c (* 0.13 h1) (+ ya (* 0.32 h1)))))
+	(clim:region-difference
+	 (mf pa left ++ pb up ++ pc right ++ pd down ++ pe left ++
+	     pf up (tensions 1 20) pg (tensions 20 1) ph down ++ ppi
+	     (tensions 5 1) pj right ++ pk down ++ cycle)
+	 (mf pl left ++ pm up ++ pn right ++ po down ++ cycle))))))
\ No newline at end of file





More information about the Gsharp-cvs mailing list