X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpage-spacing.cc;h=9434fb910aab7705be46630374f25a5bc4e51cd6;hb=559a79b8ff4144181431e327c175047d0c808164;hp=32550066334e33ce22ea42cb1ebf88c805e17de8;hpb=f93e4199873c91ae32f0e84a610d14853dc379df;p=lilypond.git diff --git a/lily/page-spacing.cc b/lily/page-spacing.cc index 3255006633..9434fb910a 100644 --- a/lily/page-spacing.cc +++ b/lily/page-spacing.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2011 Joe Neeman + Copyright (C) 2006--2012 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -72,7 +72,18 @@ Real Page_spacing::account_for_footnotes (Line_details const &line) { Real footnote_height = 0.0; - for (vsize i = 0; i < line.footnotes_.size (); i++) + Real in_note_height = 0.0; + bool has_in_notes = false; + for (vsize i = 0; i < line.in_note_heights_.size (); i++) + { + in_note_height += (has_in_notes + ? 0.0 + : breaker_->in_note_padding ()); + has_in_notes = true; + in_note_height += line.in_note_heights_[i]; + } + + for (vsize i = 0; i < line.footnote_heights_.size (); i++) { footnote_height += (has_footnotes_ ? 0.0 @@ -81,12 +92,16 @@ Page_spacing::account_for_footnotes (Line_details const &line) + breaker_->footnote_number_raise ())); has_footnotes_ = true; - Interval extent = line.footnotes_[i]->extent (Y_AXIS); - footnote_height += extent[UP] - extent[DOWN]; + footnote_height += line.footnote_heights_[i]; footnote_height += breaker_->footnote_padding (); } - return (footnote_height + return (in_note_height + - (has_in_notes + ? breaker_->in_note_padding () + : 0.0)) + + + (footnote_height - (has_footnotes_ ? breaker_->footnote_padding () + breaker_->footnote_footer_padding () : 0.0));