]> git.donarmstrong.com Git - lilypond.git/blob - line.hh
release: 0.0.6
[lilypond.git] / line.hh
1 #ifndef LINE_HH
2 #define LINE_HH
3
4 /*
5     horizontal structures for broken scores.
6 */
7
8 #include "real.hh"
9 #include "plist.hh"
10 #include "vray.hh"
11 #include "glob.hh"
12 #include "pstaff.hh"
13
14
15
16 /// the columns of a score that form one line.
17 struct
18 Line_of_score {
19     List<const PCol *> cols;
20
21     // need to store height of each staff.
22     PointerList<Line_of_staff*> staffs;
23     const PScore * score;       // needed to generate staffs
24
25     /****************/
26     
27     Line_of_score(svec<const PCol *> sv, const PScore *);
28
29     String TeXstring() const;
30
31     // is #c# contained in #*this#?
32     bool element(const PCol *c);
33 };
34
35 /// one broken line of staff.
36 struct Line_of_staff {
37     Real height;
38
39     /// y-pos of the baseline, measured from the top.
40     Real base;
41     
42     PointerList<Spanner *> brokenspans;    
43     Line_of_score const * scor;
44     const PStaff *pstaff_;
45
46     /****************/
47     
48     String TeXstring() const;
49     Line_of_staff(Line_of_score*, PStaff *);
50     Real maxheight()const;
51 };
52
53 #endif