]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/colhpos.hh
release: 1.0.15
[lilypond.git] / lily / include / colhpos.hh
1 /*
2   colhpos.hh -- part of GNU LilyPond
3
4   (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
5 */
6
7 #ifndef COLHPOS_HH
8 #define COLHPOS_HH
9
10 #include "array.hh"
11 #include "lily-proto.hh"
12
13 typedef Array<Paper_column*>  Line_of_cols;
14
15 struct Column_x_positions {
16   Line_spacer * spacer_l_;
17   bool ugh_b_;
18   Line_of_cols error_col_l_arr_;
19   Line_of_cols cols;
20   Array<Real> config;
21   Real energy_f_;
22   bool satisfies_constraints_b_;
23
24   void OK() const;
25   ~Column_x_positions();
26   void solve_line();
27   void approximate_solve_line();
28   /** generate a solution with no regard to idealspacings or
29     constraints.  should always work */
30   void stupid_solution();
31   void set_stupid_solution (Vector);
32   Column_x_positions();
33   void add_paper_column (Paper_column*c);
34   void print() const;
35 };
36
37
38 #endif // COLHPOS_HH
39