]> git.donarmstrong.com Git - lilypond.git/blobdiff - ps/music-drawing-routines.ps
Merge master into nested-bookparts
[lilypond.git] / ps / music-drawing-routines.ps
index 713d997f37b739e7f71bdbe888c57ea860bee483..c6f4423615f8f4ea1715b3400e9f1695c3594f28 100644 (file)
@@ -128,7 +128,7 @@ bind def
        closepath fill
 } bind def
 
-% this is for drawing slurs.
+% this is for drawing slurs and barre-indicators.
 /draw_bezier_sandwich  % thickness controls
 {
        gsave
@@ -165,6 +165,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
 {