]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/colhpos.hh
release: 1.1.24
[lilypond.git] / lily / include / colhpos.hh
index c62b70e6546f6ce065a1afbbc50aa251c7e9bfdd..964933e2df6d2a3acf9d70f9da71b90bb24c6955 100644 (file)
@@ -1,29 +1,37 @@
 /*
-  colhpos.hh -- part of LilyPond
+  colhpos.hh -- part of GNU LilyPond
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #ifndef COLHPOS_HH
 #define COLHPOS_HH
-#include "varray.hh"
-#include "proto.hh"
 
-typedef Array<PCol*>  Line_of_cols;
-
-struct Col_hpositions {
-    bool ugh_b_;
-    Line_of_cols error_col_l_arr_;
-    Line_of_cols cols;
-    Array<Real> config;
-    Real energy;
-
-    /* ************** */
-    void OK()const;
-
-    Col_hpositions();
-    void add( PCol*c);
-    void print() const;
+#include "array.hh"
+#include "lily-proto.hh"
+
+typedef Array<Paper_column*>  Line_of_cols;
+
+struct Column_x_positions {
+  Line_spacer * spacer_l_;
+  bool ugh_b_;
+  Line_of_cols error_col_l_arr_;
+  Line_of_cols cols;
+  Array<Real> config;
+  Real energy_f_;
+  bool satisfies_constraints_b_;
+
+  void OK() const;
+  ~Column_x_positions();
+  void solve_line();
+  void approximate_solve_line();
+  /** generate a solution with no regard to idealspacings or
+    constraints.  should always work */
+  void stupid_solution();
+  void set_stupid_solution (Vector);
+  Column_x_positions();
+  void add_paper_column (Paper_column*c);
+  void print() const;
 };