X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-algorithm.cc;h=d784b594f48c68de45340575485c7d7709f35508;hb=3d8dbaf926ecdf3b417fc45d1050f4de1cc07d40;hp=ce4c075d8c33d25e28b2eb68e4c219a1a91c30cb;hpb=bfb10684605084baf1a898be8f42c0e463c5764a;p=lilypond.git diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index ce4c075d8c..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--2002 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 "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; - - /* - this is hardcoded, but this shouldn't happen anyway. - used to be get_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 () +{ +}