X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ps%2Fmusic-drawing-routines.ps;h=aa8cfa6527d4396669062d47b59efd31ae6024c5;hb=2ed781a7f55db4e96c37de3a8fd3f50a70c95aa4;hp=c3ebbaa60a95b3f26247ee6a67aeefd6e55e91d3;hpb=2e01f573da67572d26f540b231f0c3c240dbe23e;p=lilypond.git diff --git a/ps/music-drawing-routines.ps b/ps/music-drawing-routines.ps index c3ebbaa60a..aa8cfa6527 100644 --- a/ps/music-drawing-routines.ps +++ b/ps/music-drawing-routines.ps @@ -7,40 +7,14 @@ % TODO: use dicts or prefixes to prevent namespace pollution. -% Emulation code from Postscript Language Reference. - -/*SF -{ - exch findfont exch - dup type /arraytype eq - {makefont} - {scalefont} - ifelse - setfont -} bind def - -/languagelevel where - {pop languagelevel} - {1} -ifelse - -2 lt - { /selectfont /*SF load def } -if - -% end emulation code - /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse % llx lly urx ury URI /mark_URI -% It's possible to eliminate the coordinate variables by doing [ /Rect [ 7 3 -% roll. That is, however, kind of ugly. It would be nice if this procedure -% were only included when PDF marks are enabled. { - /command exch def + /uri exch def /ury exch def /urx exch def /lly exch def @@ -53,7 +27,7 @@ if /Action << /Subtype /URI - /URI command + /URI uri >> /Subtype /Link /ANN @@ -85,32 +59,11 @@ bind def b4_Inc_state restore } bind def - -% reencode-font -/reencode-font -{ - /name exch def - /encoding exch def - dup length - dict begin { - 1 index /FID ne {def} {pop - pop} ifelse - } - forall - /Encoding encoding - def currentdict - end - name exch definefont -} bind def - - - /set_tex_dimen { cvr def } bind def - /stroke_and_fill { gsave stroke @@ -175,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 @@ -212,6 +165,19 @@ bind def 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 { @@ -223,7 +189,7 @@ bind def stroke } bind def -/draw_dashed_line % dx dy thickness dashpattern draw_dashed_line +/draw_dashed_line % dx dy thickness dashpattern offset draw_dashed_line { 1 setlinecap 1 setlinejoin @@ -242,6 +208,7 @@ gsave 1 setlinejoin setdash setlinewidth + 8 2 roll moveto curveto stroke