X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-algorithm.cc;h=d784b594f48c68de45340575485c7d7709f35508;hb=7e0dab27123da5d52b90c81f70ac10669a34d45a;hp=4802e0507c9ed2420495d5a0221605388158fa93;hpb=3c2f386f1385a10dafbb811be245f5a75d6b132c;p=lilypond.git diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index 4802e0507c..d784b594f4 100644 --- a/lily/break-algorithm.cc +++ b/lily/break-algorithm.cc @@ -3,101 +3,38 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2000 Han-Wen Nienhuys + (c) 1996--2006 Han-Wen Nienhuys */ -#include "paper-column.hh" #include "break-algorithm.hh" -#include "paper-def.hh" -#include "debug.hh" -#include "line-of-score.hh" +#include "paper-column.hh" +#include "output-def.hh" +#include "system.hh" #include "paper-score.hh" #include "paper-column.hh" #include "cpu-timer.hh" -#include "command-request.hh" #include "simple-spacer.hh" -#include "group-interface.hh" - - -Array -Break_algorithm::find_break_indices () const -{ - Link_array all = pscore_l_->line_l_->column_l_arr (); - Array retval; - - for (int i=0; i < all.size (); i++) - if (Item::breakable_b (all[i])) - retval.push (i); - - if (linewidth_f_ <=0) - while (retval.size () >2) - retval.del (1); - - return retval; -} - - -Link_array -Break_algorithm::find_breaks () const -{ - Link_array all = pscore_l_->line_l_->column_l_arr (); - Link_array retval; - - for (int i=0; i < all.size (); i++) - if (Item::breakable_b (all[i])) - retval.push (all[i]); - - if (linewidth_f_ <=0) - while (retval.size () >2) - retval.del (1); - - return retval; -} - - -Simple_spacer* -Break_algorithm::generate_spacing_problem (Link_array curline, Interval line) const -{ - Simple_spacer * sp = new Simple_spacer; - Paper_def * d = pscore_l_->paper_l_; - sp->default_space_f_ = d->get_var ("loose_column_distance"); - - sp->indent_f_ = line[LEFT]; - - /* - sort out how interfacing this should work; - */ - if (line.empty_b()) - { - sp->line_len_f_ = -1; - } - else - sp->line_len_f_ = line.length (); - - sp->add_columns (curline); - - - return sp; -} Break_algorithm::Break_algorithm () { - pscore_l_ = 0; - linewidth_f_ = 0; + pscore_ = 0; + linewidth_ = 0; } void -Break_algorithm::set_pscore (Paper_score*s) +Break_algorithm::set_pscore (Paper_score *s) { - pscore_l_ = s; - linewidth_f_ = s->paper_l_->get_var("linewidth"); + pscore_ = s; + linewidth_ = s->layout ()->get_dimension (ly_symbol2scm ("line-width")); } -Array -Break_algorithm::solve () const +vector +Break_algorithm::solve () { - Array h= do_solve (); - + vector h; return h; } +Break_algorithm::~Break_algorithm () +{ +}