X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-algorithm.cc;h=59236fe09ec58f65538968aedb885dd22d4fa8a5;hb=1402d6d957bee7d47e0bddf4c57dd89912182b26;hp=4d44c068416848632c54d29d273ab41763a2ab7d;hpb=c659cb200486c2f908703696a1b2873e78c8160a;p=lilypond.git diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index 4d44c06841..59236fe09e 100644 --- a/lily/break-algorithm.cc +++ b/lily/break-algorithm.cc @@ -3,11 +3,10 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2004 Han-Wen Nienhuys + (c) 1996--2005 Han-Wen Nienhuys */ #include "break-algorithm.hh" - #include "paper-column.hh" #include "output-def.hh" #include "system.hh" @@ -15,16 +14,14 @@ #include "paper-column.hh" #include "cpu-timer.hh" #include "simple-spacer.hh" -#include "group-interface.hh" - Array Break_algorithm::find_break_indices () const { - Link_array all = pscore_->system_->columns (); + Link_array all = pscore_->root_system ()->columns (); Array retval; - for (int i=0; i < all.size (); i++) + for (int i = 0; i < all.size (); i++) if (Item::is_breakable (all[i])) retval.push (i); @@ -35,49 +32,47 @@ Break_algorithm::find_break_indices () const return retval; } - Link_array Break_algorithm::find_breaks () const { - Link_array all = pscore_->system_->columns (); + Link_array all = pscore_->root_system ()->columns (); Link_array retval; - for (int i=0; i < all.size (); i++) + for (int i = 0; i < all.size (); i++) if (Item::is_breakable (all[i])) retval.push (all[i]); if (linewidth_ <= 0) - while (retval.size () >2) + while (retval.size () > 2) retval.del (1); return retval; } - -Simple_spacer_wrapper* +Simple_spacer_wrapper * Break_algorithm::generate_spacing_problem (Link_array const &curline, Interval line) const { - Simple_spacer_wrapper * spw = new Simple_spacer_wrapper; - Simple_spacer * sp = spw->spacer_; - + Simple_spacer_wrapper *spw = new Simple_spacer_wrapper; + Simple_spacer *sp = spw->spacer_; + /* this is hardcoded, but this shouldn't happen anyway. - used to be get_dimension (ly_symbol2scm ("loose_column_distance")); - */ + used to be get_dimension (ly_symbol2scm ("loose_column_distance")); + */ sp->default_space_ = 1.0; sp->indent_ = line[LEFT]; /* sort out how interfacing this should work; - */ + */ if (line.is_empty ()) { - sp->line_len_ = -1; + sp->line_len_ = -1; } else sp->line_len_ = line.length (); - + spw->add_columns (curline); return spw; } @@ -89,17 +84,21 @@ Break_algorithm::Break_algorithm () } void -Break_algorithm::set_pscore (Paper_score*s) +Break_algorithm::set_pscore (Paper_score *s) { pscore_ = s; - linewidth_ = s->layout_->get_dimension (ly_symbol2scm ("linewidth")); + linewidth_ = s->layout ()->get_dimension (ly_symbol2scm ("linewidth")); } Array Break_algorithm::solve () const { Array h= do_solve (); - + return h; } + +Break_algorithm::~Break_algorithm () +{ +}