#ifndef PAGE_TURN_PAGE_BREAKING_HH
#define PAGE_TURN_PAGE_BREAKING_HH
-#include "constrained-breaking.hh"
#include "page-breaking.hh"
-#include "lily-guile.hh"
/*
A dynamic programming solution to breaking pages
int first_page_number_;
vsize page_count_;
- Real force_;
- Real penalty_;
-
- Real line_force_;
- Real line_penalty_;
-
/* true if every score here is too widely spaced */
bool too_many_lines_;
Break_node ()
{
prev_ = break_pos_ = VPOS;
- penalty_ = force_ = 0;
- line_penalty_ = line_force_ = 0;
demerits_ = infinity_f;
first_page_number_ = 0;
+ page_count_ = 0;
too_many_lines_ = false;
}
};
vector<Break_node> state_;
+ vsize final_page_num (Break_node const &b);
Break_node put_systems_on_pages (vsize start,
vsize end,
vector<Line_details> const &lines,
SCM make_lines (vector<Break_node> *breaks);
SCM make_pages (vector<Break_node> const &breaks, SCM systems);
- Real calc_demerits (Break_node const &me);
void calc_subproblem (vsize i);
};
#endif /* PAGE_TURN_PAGE_BREAKING_HH */