2 p-col.hh -- declare Paper_column
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
13 #include "horizontal-group-item.hh"
17 stuff grouped vertically.
18 This is a class to address items vertically. It contains the data for:
25 the linespacing problem
29 class Paper_column : public Horizontal_group_item {
31 DECLARE_MY_RUNTIME_TYPEINFO;
32 SCORE_ELEM_CLONE(Paper_column);
34 /** prebreak is put before end of line.
35 if broken here, then (*this) column is discarded, and prebreak
36 is put at end of line, owned by Col
38 Paper_column *prebreak_l() const;
40 /// postbreak at beginning of the new line
41 Paper_column *postbreak_l() const;
43 /// if lines are broken then this column is in #line#
44 Line_of_score *line_l_;
46 virtual Line_of_score *line_l () const;
48 bool used_b_ ; // manual override..
52 /// which one (left =0)
55 /// does this column have items
57 bool breakpoint_b() const;
64 which col comes first?.
65 signed compare on columns.
67 @return < 0 if c1 < c2.
69 static int compare (const Paper_column &c1, const Paper_column &c2);
73 virtual void do_print() const;
77 The ranking: left is smaller than right
86 INSTANTIATE_COMPARE(Paper_column &, Paper_column::compare);