lilypond-0.1.27
[lilypond.git] / hdr / paperdef.hh
blob03abf6abdc1883505336ae5ba82e810de2c45a61
1 /*
2 paperdef.hh -- declare
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
10 #ifndef PAPERDEF_HH
11 #define PAPERDEF_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 Paperdef {
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 Paperdef(Lookup*);
41 void set(Lookup*);
42 ~Paperdef();
43 Paperdef(Paperdef 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 // PAPERDEF_HH