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