X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-algorithm.cc;h=d784b594f48c68de45340575485c7d7709f35508;hb=7e0dab27123da5d52b90c81f70ac10669a34d45a;hp=5bf45d838450967da7633df0bc461fd6b91e9756;hpb=3479cb4207dd439b1d34ce1cdba82a6205ed3803;p=lilypond.git diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index 5bf45d8384..d784b594f4 100644 --- a/lily/break-algorithm.cc +++ b/lily/break-algorithm.cc @@ -3,106 +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_; - /* - this is hardcoded, but this shouldn't happen anyway. - used to be g et_var ("loose_column_distance"); - */ - sp->default_space_f_ = 1.0; - - - 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 () +{ +}