]> git.donarmstrong.com Git - lilypond.git/blob - sccol.hh
release: 0.0.5
[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
11
12 struct Score_column {
13     PCol * pcol;
14     svec<Real> durations;
15     Real when;
16
17     /// 
18     bool musical;
19     
20
21     Score_column(Real when);
22
23     static int compare(Score_column & c1, Score_column &c2) {
24         return sgn(c1.when - c2.when);
25     }
26     void set_breakable() {
27          pcol->set_breakable();
28     }
29     bool used();
30     void print() const;
31 };
32 /**
33
34     When typesetting hasn't started on PScore yet, the columns which
35     contain data have a rhythmical position. Score_column is the type
36     with a rhythmical time attached to it. The calculation of
37     idealspacing is done with data in these columns. (notably: the
38     #durations# field)
39
40     */
41
42 instantiate_compare(Score_column&, Score_column::compare);
43
44 #endif // SCCOL_HH
45