X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-algorithm.cc;h=bf83b36def3e5044ff49d4ad33063bc08df87523;hb=94dc81b1820c38ffb09ff47227d76b59cc6dd69c;hp=4575d8410e826f11a1ba26814c87d77015a14cd8;hpb=58bcc84c9480dae1b21bc24d8396b91fe19e0131;p=lilypond.git diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index 4575d8410e..bf83b36def 100644 --- a/lily/break-algorithm.cc +++ b/lily/break-algorithm.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2005 Han-Wen Nienhuys + (c) 1996--2006 Han-Wen Nienhuys */ #include "break-algorithm.hh" @@ -14,44 +14,43 @@ #include "paper-column.hh" #include "cpu-timer.hh" #include "simple-spacer.hh" -#include "group-interface.hh" -Array +vector Break_algorithm::find_break_indices () const { - Link_array all = pscore_->system_->columns (); - Array retval; + vector all = pscore_->root_system ()->columns (); + vector retval; - for (int i= 0; i < all.size (); i++) + for (vsize i = 0; i < all.size (); i++) if (Item::is_breakable (all[i])) - retval.push (i); + retval.push_back (i); if (linewidth_ <= 0) while (retval.size () > 2) - retval.del (1); + retval.erase (retval.begin () + 1); return retval; } -Link_array +vector Break_algorithm::find_breaks () const { - Link_array all = pscore_->system_->columns (); - Link_array retval; + vector all = pscore_->root_system ()->columns (); + vector retval; - for (int i= 0; i < all.size (); i++) + for (vsize i = 0; i < all.size (); i++) if (Item::is_breakable (all[i])) - retval.push (all[i]); + retval.push_back (all[i]); if (linewidth_ <= 0) - while (retval.size () >2) - retval.del (1); + while (retval.size () > 2) + retval.erase (retval.begin () + 1); return retval; } Simple_spacer_wrapper * -Break_algorithm::generate_spacing_problem (Link_array const &curline, +Break_algorithm::generate_spacing_problem (vector const &curline, Interval line) const { Simple_spacer_wrapper *spw = new Simple_spacer_wrapper; @@ -68,9 +67,7 @@ Break_algorithm::generate_spacing_problem (Link_array const &curline, 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 (); @@ -88,14 +85,17 @@ void Break_algorithm::set_pscore (Paper_score *s) { pscore_ = s; - linewidth_ = s->layout_->get_dimension (ly_symbol2scm ("linewidth")); + linewidth_ = s->layout ()->get_dimension (ly_symbol2scm ("line-width")); } -Array +vector Break_algorithm::solve () const { - Array h= do_solve (); + vector h= do_solve (); return h; } +Break_algorithm::~Break_algorithm () +{ +}