X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpage-spacing.cc;h=e6112e095e95dab45ef370460f225773b4105256;hb=abb835d326838ab293c99434c5af29015d1e432a;hp=cc84cfd9432ef19dd3bda51f881dbb79e07705c1;hpb=8793d2488c3906ee07f7fab9abeb284b61e8ebb9;p=lilypond.git diff --git a/lily/page-spacing.cc b/lily/page-spacing.cc index cc84cfd943..e6112e095e 100644 --- a/lily/page-spacing.cc +++ b/lily/page-spacing.cc @@ -16,9 +16,9 @@ void Page_spacing::calc_force () { - /* If the first system contains a title, we add back in the page-top-space. */ - bool starts_with_title = first_line_.compressed_nontitle_lines_count_ < first_line_.compressed_lines_count_; - Real height = starts_with_title ? page_height_ + page_top_space_ : page_height_; + Real height = page_height_ + - breaker_->min_whitespace_at_top_of_page (first_line_) + - breaker_->min_whitespace_at_bottom_of_page (last_line_); if (rod_height_ + last_line_.bottom_padding_ >= height) force_ = infinity_f; @@ -40,7 +40,7 @@ Page_spacing::append_system (const Line_details &line) if (!rod_height_) first_line_ = line; - rod_height_ += last_line_.padding_; + rod_height_ += line.title_ ? last_line_.title_padding_ : last_line_.padding_; rod_height_ += line.extent_.length (); spring_len_ += line.space_; @@ -55,7 +55,7 @@ void Page_spacing::prepend_system (const Line_details &line) { if (rod_height_) - rod_height_ += line.padding_; + rod_height_ += first_line_.title_ ? line.title_padding_ : line.padding_; else last_line_ = line; @@ -194,7 +194,7 @@ Page_spacer::calc_subproblem (vsize page, vsize line) { bool last = line == lines_.size () - 1; Page_spacing space (breaker_->page_height (page + first_page_num_, last), - breaker_->page_top_space ()); + breaker_); Page_spacing_node &cur = state_.at (line, page); bool ragged = ragged_ || (ragged_last_ && last); int line_count = 0;