-%!PS-Adobe-1.0: lilyponddefs
+%!PS-Adobe-2.0: lilyponddefs.ps
+%
+% Functions for direct PostScript output
-% hmm
% /setgray { 1 add } bind def
-/stafflinethickness lilypondpaperstafflinethickness def
-/staffheight lilypondpaperstaffheight def
-
-/xoffset 30 def
-/yoffset 700 def
-
-/placebox
-{
- /object exch def
- gsave
- %exch translate
- translate
- 0 0 moveto
- object
- grestore
+/set-ps-scale-to-lily-scale {
+ lily-output-units output-scale mul dup scale
} bind def
-%
-% FIXME. translate to middle of box.
-%
-/draw_box % breapth width depth height
-{
- /h exch def
- /d exch def
- /w exch def
- /b exch def
+/init-paper {
gsave
-
- 0 setlinewidth
- b neg d neg rmoveto
- b w add 0 rlineto
- 0 d h add rlineto
- b w add neg 0 rlineto
- closepath % 0 d h add neg rlineto
- fill
-
+ clippath pathbbox newpath
+ /paper-height exch def
+ /paper-width exch def pop pop pop
+ % FIXME
+ /top-margin 2 def
+ paper-width line-width sub 2 div /left-margin exch def
grestore
} bind def
-/start_line
-{
- gsave
- xoffset yoffset translate
+/init-lilypond-parameters {
+ staff-line-thickness setlinewidth
+ staff-height init-paper
} bind def
-/stop_line
-{
- /object exch def
- 0 0 moveto pathbbox exch pop sub exch pop
- object
- grestore
- yoffset add /yoffset exch def
- % urg...
- yoffset lilypondpaperstaffheight 8 mul sub /yoffset exch def
-} bind def
-
-/turnOnExperimentalFeatures { } bind def
-
-stafflinethickness setlinewidth
-% see if we're there...
-% 10 setlinewidth 0 0 moveto 400 800 lineto stroke
+% end lilyponddefs.ps