]> git.donarmstrong.com Git - lilypond.git/blobdiff - ps/music-drawing-routines.ps
Better detection which characters need to be quoted in lyrics
[lilypond.git] / ps / music-drawing-routines.ps
index 713d997f37b739e7f71bdbe888c57ea860bee483..1807e47dc45514148d3c2dc349e55a52bf9f75f1 100644 (file)
@@ -59,11 +59,6 @@ bind def
   b4_Inc_state restore
 } bind def 
 
-/set_tex_dimen
-{
-       cvr def
-} bind def
-
 /stroke_and_fill {
        gsave
                stroke
@@ -128,13 +123,17 @@ bind def
        closepath fill
 } bind def
 
-% this is for drawing slurs.
-/draw_bezier_sandwich  % thickness controls
+% this is for drawing slurs and barre-indicators.
+/draw_bezier_sandwich  % x5 y5 x6 y6 x7 y7
+                       % x4 y4
+                       % x1 y1 x2 y2 x3 y3 
+                       % x0 y0
+                       % linewidth draw_bezier_sandwich
 {
        gsave
        currentpoint translate
-    % round ending and round beginning
-    1 setlinejoin 1 setlinecap
+        % round ending and round beginning
+        1 setlinejoin 1 setlinecap
        setlinewidth
        moveto
        curveto
@@ -165,6 +164,33 @@ bind def
        ifelse
 } bind def
 
+/draw_oval % filled? x-radius y-radius thickness draw_ellipse
+{
+  setlinewidth % f? x-r y-r
+  /yrad exch def
+  /xrad exch def
+  xrad 0 rmoveto
+  0 yrad -2 xrad mul dup yrad exch 0 rcurveto
+  0 yrad neg dup 2 xrad mul dup 3 1 roll 0 rcurveto
+  closepath
+      { stroke_and_fill}
+      { stroke }
+  ifelse
+} bind def
+
+/draw_ellipse % filled? x-radius y-radius thickness draw_ellipse
+{
+  setlinewidth % f? x-r y-r
+  /savematrix matrix currentmatrix def
+  scale % f?
+  currentpoint
+  1 0 rmoveto
+  1 0 360  arc closepath
+  savematrix setmatrix
+             { stroke_and_fill}
+             { stroke }
+  ifelse
+} bind def
 
 /draw_line % dx dy x1 y1 thickness draw_line
 {