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