lilypond-0.0.50
[lilypond.git] / lily / include / paper-def.hh
blob5086a0ff0c0178ba1bb5f816800ab3e861e8b2f5
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.
25 class Paper_def {
26 Lookup *lookup_p_;
27 public:
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 Lookup const * lookup_l(); // TODO naming
51 Real duration_to_dist(Moment);
54 #endif // Paper_def_HH