9 /// stuff grouped vertically.
11 List
<const Item
*> its
;
12 List
<const Spanner
*> stoppers
, starters
;
14 /// Can this be broken? true eg. for bars.
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;
49 /// initialize the prebreak and postbreak fields
52 /// which col comes first?
53 static int compare(const PCol
&c1
, const PCol
&c2
);
55 signed compare on columns.
57 return < 0 if c1 < c2.
65 This is a class to address items vertically. It contains the data for:
72 the linespacing problem
77 instantiate_compare(const PCol
&, PCol::compare
);
80 /// ideal spacing between two columns
83 /// the ideal distance
86 /// Hooke's constant: how strong are the "springs" attached to columns
90 const PCol
*left
, *right
;
93 Idealspacing(const PCol
*left
,const PCol
*right
);