]> git.donarmstrong.com Git - lilypond.git/blob - sccol.hh
9c22c277a1b6e2ed489d62f494fde368ee8d7d83
[lilypond.git] / sccol.hh
1 /*
2   sccol.hh -- part of LilyPond
3
4   (c) 1996 Han-Wen Nienhuys
5 */
6
7 #ifndef SCCOL_HH
8 #define SCCOL_HH
9 #include "pcol.hh"
10 #include "mtime.hh"
11
12
13 struct Score_column {
14     PCol * pcol;
15     svec<Mtime> durations;
16     Mtime when;
17
18     /// 
19     bool musical;
20     
21
22     Score_column(Mtime when);
23
24     static int compare(Score_column & c1, Score_column &c2) {
25         return sgn(c1.when - c2.when);
26     }
27     void set_breakable() {
28          pcol->set_breakable();
29     }
30     bool used();
31     void print() const;
32 };
33 /**
34
35     When typesetting hasn't started on PScore yet, the columns which
36     contain data have a rhythmical position. Score_column is the type
37     with a rhythmical time attached to it. The calculation of
38     idealspacing is done with data in these columns. (notably: the
39     #durations# field)
40
41     */
42
43 instantiate_compare(Score_column&, Score_column::compare);
44
45 #endif // SCCOL_HH
46