summaryrefslogtreecommitdiff
path: root/hdr/paper.hh
blob: 84932a36abdba24789e77ad39fbeea5e9a04f24e (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "proto.hh"
#include "real.hh"
#include "string.hh"

/// symbols, dimensions and constants
struct Paperdef {
    Lookup *lookup_;
    String outfile;
    Real linewidth;

    /// how much space does a whole note take (ideally?)
    Real whole_width;

    /// ideal = geometric_ ^ log2(duration)
    Real geometric_;
    
    /****************/
    void parse();
    Paperdef();
    ~Paperdef();
    Real interline()const;
    Real rule_thickness()const;
    Real standard_height()const;
    Real note_width() const;
    void print() const;
    Real duration_to_dist(Real);
};
/** This struct takes care of all kinds of symbols, dimensions and
 constants. Most of them are related to the point-size of the fonts,
 so therefore, the lookup table for symbols is also in here.

 see TODO
 */