]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/break-algorithm.hh
* scm/define-music-types.scm (music-descriptions): don't use
[lilypond.git] / lily / include / break-algorithm.hh
index f9b7385d06e649fe3cfb95e7596acaad9cd59dfe..025c56406e09da577d00c211654b863d23d525bf 100644 (file)
@@ -3,52 +3,39 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1996--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-
 #ifndef BREAK_HH
 #define BREAK_HH
 
-#include "array.hh"
 #include "interval.hh"
-#include "lily-proto.hh"
 #include "column-x-positions.hh"
 
-
 /** Class representation of an algorithm which decides where to put
-  the column, and where to break lines.
+    the column, and where to break lines.
 
-  JUNKME.
-  
-  */
-class Break_algorithm {
+    JUNKME.
+*/
+class Break_algorithm
+{
 protected:
   Paper_score *pscore_;
   Real linewidth_;
 
-  /// search all pcols which are breakable.
   Link_array<Grob> find_breaks () const;
-
   Array<int> find_break_indices () const;
-    
-
-  /// helper: solve for the columns in #curline#.
-  void solve_line (Column_x_positions*) const;
-
-  /// does curline fit on the paper?    
+  void solve_line (Column_x_positions *) const;
   bool feasible (Link_array<Grob> const &) const;
-    
 
-  Simple_spacer* generate_spacing_problem (Link_array<Grob> const &, Interval) const;
-
-  virtual Array<Column_x_positions> do_solve () const=0;
+  Simple_spacer_wrapper *generate_spacing_problem (Link_array<Grob> const &, Interval) const;
 
+  virtual Array<Column_x_positions> do_solve () const = 0;
 public:
-  Simple_spacer* (*get_line_spacer) ();
+  virtual ~Break_algorithm ();
+  Simple_spacer *(*get_line_spacer) ();
   Break_algorithm ();
-  void set_pscore (Paper_score*);
-
+  void set_pscore (Paper_score *);
   Array<Column_x_positions> solve () const;
 };