Prob *page = unsmob_prob (page_scm);
header_height_ = 0;
footer_height_ = 0;
+ header_padding_ = 0;
+ footer_padding_ = 0;
page_height_ = 100;
if (page)
// spring at the _top_ of the header.
page_height_ -= robust_scm2double (paper->c_variable ("top-margin"), 0)
+ robust_scm2double (paper->c_variable ("bottom-margin"), 0);
+
+ read_spacing_spec (first_system_spacing, &header_padding_, ly_symbol2scm ("padding"));
+ read_spacing_spec (last_system_spacing, &footer_padding_, ly_symbol2scm ("padding"));
}
bool last_system_was_title = false;
staff,
Y_AXIS);
else // distance to the top margin
- min_dist = header_height_ + staff->extent (staff, Y_AXIS)[UP];
+ min_dist = header_padding_ + header_height_ + staff->extent (staff, Y_AXIS)[UP];
loose_line_min_distances.push_back (min_dist);
}
{
Grob *last = loose_lines.back ();
Interval last_ext = last->extent (last, Y_AXIS);
- loose_line_min_distances.push_back (-last_ext[DOWN] + footer_height_);
+ loose_line_min_distances.push_back (-last_ext[DOWN] + footer_height_ + footer_padding_);
loose_lines.push_back (0);
distribute_loose_lines (loose_lines, loose_line_min_distances,