]> git.donarmstrong.com Git - lilypond.git/blobdiff - ps/music-drawing-routines.ps
Merge branch 'master' into lilypond/translation
[lilypond.git] / ps / music-drawing-routines.ps
index 713d997f37b739e7f71bdbe888c57ea860bee483..8fd31f3587502f0e7dfa4813f9604b730bc0a2af 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
 {
@@ -202,14 +228,16 @@ gsave
 grestore
 } bind def
 
-/print_glyphs % dx dy glyph print_glyphs
+/print_glyphs % dx dy glyph print_glyphs
 {
        {
-               currentpoint %dx dy glyph x0 y0
-               3 2 roll %dx dy x0 y0 glyph
-               glyphshow % dx dy x0 y0
-               moveto % dx dy
-               rmoveto
+               currentpoint %w dx dy glyph x0 y0
+               5 2 roll %w x0 y0 dx dy glyph
+               3 1 roll %w x0 y0 glyph dx dy
+               rmoveto %w x0 y0 glyph
+               glyphshow %w x0 y0
+               moveto %w
+               0 rmoveto
        }repeat
 }bind def
 %end music-drawing-routines.ps