9 /// stuff grouped vertically.
11 List
<const Item
*> its
;
12 List
<const Spanner
*> stoppers
, starters
;
14 /// Can this be broken? true eg. for bars.
15 bool breakable()const;
17 /// does this column have items, does it have spacings attached?
20 /// prebreak is put before end of line.
23 if broken here, then (*this) column is discarded, and prebreak
24 is put at end of line, owned by Col
27 /// postbreak at beginning of the new line
33 if this column is pre or postbreak, then this field points to the parent.
35 /// if lines are broken then this column is in #line#
36 const Line_of_score
*line
;
38 /// if lines are broken then this column x-coord #hpos#
42 /****************************************************************/
44 void add(const Item
*i
);
46 Interval
width() const;
50 /// which col comes first?
51 static int compare(const PCol
&c1
, const PCol
&c2
);
53 signed compare on columns.
55 return < 0 if c1 < c2.
63 This is a class to address items vertically. It contains the data for:
70 the linespacing problem
75 instantiate_compare(const PCol
&, PCol::compare
);
78 /// ideal spacing between two columns
81 /// the ideal distance
84 /// Hooke's constant: how strong are the "springs" attached to columns
88 const PCol
*left
, *right
;
92 Idealspacing(const PCol
*left
,const PCol
*right
);