]> git.donarmstrong.com Git - lilypond.git/blobdiff - ps/music-drawing-routines.ps
Imported Upstream version 2.16.0
[lilypond.git] / ps / music-drawing-routines.ps
index 09ac055f46cfd216624c33ae825337353db4e7c9..3e62f0366e68e5281b8cb3ae6e19f3aa23b22a25 100644 (file)
@@ -95,16 +95,30 @@ bind def
 
 /draw_round_box % width height x y blot
 {
-       setlinewidth % w h x y
-       0 setlinecap
-       1 setlinejoin
-
-       rmoveto % w h
-       currentpoint % w h x1 y1
-       4 2 roll % x1 y1 w h
-       4 copy
-       rectfill
-       rectstroke
+        dup
+       0.0 gt {
+               setlinewidth % w h x y
+               rmoveto % w h
+               2 copy 0 ne exch 0 ne and
+               {
+                   0 setlinecap
+                   1 setlinejoin
+                   currentpoint % w h x1 y1
+                   4 2 roll % x1 y1 w h
+                   4 copy
+                   rectfill
+                   rectstroke
+               } {
+                   1 setlinecap
+                   rlineto stroke
+               } ifelse
+       } {
+               pop % w h x y
+               rmoveto % w h
+               currentpoint % w h x1 y1
+               4 2 roll % x1 y1 w h
+               rectfill
+       } ifelse
 } bind def
 
 /draw_polygon % fill? x(n) y(n) x(n-1) y(n-1) ... x(0) y(0) n blot
@@ -129,47 +143,6 @@ bind def
        } ifelse
 } bind def
 
-/draw_repeat_slash % x-width width height draw_repeat_slash
-{
-       2 index % duplicate x-width
-       1 setlinecap
-       1 setlinejoin
-       
-         0  rlineto % x-width 0
-            rlineto % width height
-       neg 0 rlineto % -x-width 0
-       closepath fill
-} bind def
-
-% 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
-       setlinewidth
-       moveto
-       curveto
-       lineto
-       curveto
-       closepath
-       stroke_and_fill
-       grestore
-} bind def
-
-/draw_dot % radius x y draw_dot
-{
-       rmoveto
-       currentpoint
-       3 2 roll
-       0 360 arc closepath stroke_and_fill
-} bind def
-
 /draw_circle % filled? radius thickness draw_circle
 {
        setlinewidth    % f? r
@@ -182,20 +155,6 @@ 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
@@ -271,21 +230,6 @@ bind def
        [] 0 setdash % reset dash pattern
 } bind def
 
-/draw_dashed_slur % controls thickness dash
-{
-gsave
-       currentpoint translate
-       1 setlinecap
-       1 setlinejoin
-       setdash
-       setlinewidth
-       8 2 roll
-       moveto
-       curveto
-       stroke
-grestore
-} bind def
-
 /print_glyphs % w dx dy glyph print_glyphs
 {
        {