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);