]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/col-info.hh
a01afd3c746d30dbc3f34d6273028fd126590c60
[lilypond.git] / lily / include / col-info.hh
1 /*
2   col-info.hh -- declare Column_info
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef COL_INFO_HH
11 #define COL_INFO_HH
12
13 #include "lily-proto.hh"
14 #include "pointer.hh"
15 #include "interval.hh"
16 #include "drul-array.hh"
17
18 struct Spacer_rod {
19   Real distance_f_;
20   int other_idx_;
21   void print () const;
22 };
23
24
25 /// helper struct for #Spacing_problem#
26 struct Column_info {
27   Paper_column *pcol_l_;
28   P<Real> fixpos_p_;
29
30   Interval width_;
31   int rank_i_;
32   /// did some tricks to make this column come out.
33   bool ugh_b_;          
34
35   Drul_array< Array<Spacer_rod> > rods_;
36   
37   /* *************** */
38   Column_info();
39   Column_info (Paper_column *,Real const *);
40
41   int rank_i () const;
42   void print() const;
43   bool fixed_b() const ;
44   Real fixed_position() const ;
45 };
46
47 #endif // COL_INFO_HH