lilypond-1.1.44
[lilypond.git] / hdr / paper-def.hh
blobae557258b082a4eb2ff6a706b08e34a8f2c275bf
1 /*
2 paper-def.hh -- declare
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
10 #ifndef Paper_def_HH
11 #define Paper_def_HH
12 #include "proto.hh"
13 #include "real.hh"
14 #include "string.hh"
15 #include "moment.hh"
18 /** symbols, dimensions and constants
20 This struct takes care of all kinds of symbols, dimensions and
21 constants. Most of them are related to the point-size of the fonts,
22 so therefore, the lookup table for symbols is also in here.
24 see TODO
26 struct Paper_def {
27 Lookup *lookup_p_;
28 String outfile;
30 Real linewidth;
32 /// how much space does a whole note take (ideally?)
33 Real whole_width;
35 /// ideal = geometric_ ^ log2(duration)
36 Real geometric_;
38 /* *************** */
39 void reinit();
40 Paper_def(Lookup*);
41 void set(Lookup*);
42 ~Paper_def();
43 Paper_def(Paper_def const&);
44 Real interline()const;
45 Real internote()const;
46 Real rule_thickness()const;
47 Real standard_height()const;
48 Real note_width() const;
49 void print() const;
50 Real duration_to_dist(Moment);
53 #endif // Paper_def_HH