#include "output-def.hh"
#include "paper-book.hh"
#include "paper-column.hh"
+#include "paper-score.hh"
#include "pointer-group-interface.hh"
#include "prob.hh"
#include "skyline-pair.hh"
Spring spring (0, 0);
Real padding = 0.0;
+ Real indent = line_dimensions_int (sys->paper_score ()->layout (), sys->get_rank ())[LEFT];
alter_spring_from_spacing_spec (spec, &spring);
read_spacing_spec (spec, &padding, ly_symbol2scm ("padding"));
- append_system (sys, spring, padding);
+ append_system (sys, spring, indent, padding);
last_system_was_title = false;
}
else if (Prob *p = unsmob_prob (scm_car (s)))
}
void
-Page_layout_problem::append_system (System *sys, Spring const& spring, Real padding)
+Page_layout_problem::append_system (System *sys, Spring const& spring, Real indent, Real padding)
{
Grob *align = sys->get_vertical_alignment ();
if (!align)
extract_grob_set (align, "elements", all_elts);
vector<Grob*> elts = filter_dead_elements (all_elts);
vector<Real> minimum_offsets = Align_interface::get_minimum_translations_without_min_dist (align, elts, Y_AXIS);
+ vector<Real> minimum_offsets_with_min_dist = Align_interface::get_minimum_translations (align, elts, Y_AXIS);
Skyline up_skyline (UP);
Skyline down_skyline (DOWN);
- build_system_skyline (elts, minimum_offsets, &up_skyline, &down_skyline);
+ build_system_skyline (elts, minimum_offsets_with_min_dist, &up_skyline, &down_skyline);
+ up_skyline.shift (indent);
+ down_skyline.shift (indent);
Real minimum_distance = up_skyline.distance (bottom_skyline_) + padding;
}
Spring spring (0.5, 0.0);
- SCM spec = elts[last_spaceable_staff]->get_property ("next-staff-spacing");
+ SCM spec = elts[last_spaceable_staff]->get_property ("staff-staff-spacing");
alter_spring_from_spacing_spec (spec, &spring);
springs_.push_back (spring);
if (is_spaceable (before))
{
if (is_spaceable (after))
- return before->get_maybe_pure_property ("next-staff-spacing", pure, start, end);
+ return before->get_maybe_pure_property ("staff-staff-spacing", pure, start, end);
else
{
Direction affinity = to_dir (after->get_maybe_pure_property ("staff-affinity", pure, start, end));
return (affinity == DOWN)
- ? add_stretchability (after->get_maybe_pure_property ("non-affinity-spacing", pure, start, end),
+ ? add_stretchability (after->get_maybe_pure_property ("nonstaff-unrelatedstaff-spacing", pure, start, end),
LARGE_STRETCH)
- : after->get_maybe_pure_property ("inter-staff-spacing", pure, start, end);
+ : after->get_maybe_pure_property ("nonstaff-relatedstaff-spacing", pure, start, end);
}
}
else
{
Direction affinity = to_dir (before->get_maybe_pure_property ("staff-affinity", pure, start, end));
return (affinity == UP)
- ? add_stretchability (before->get_maybe_pure_property ("non-affinity-spacing", pure, start, end),
+ ? add_stretchability (before->get_maybe_pure_property ("nonstaff-unrelatedstaff-spacing", pure, start, end),
LARGE_STRETCH)
- : before->get_maybe_pure_property ("inter-staff-spacing", pure, start, end);
+ : before->get_maybe_pure_property ("nonstaff-relatedstaff-spacing", pure, start, end);
}
else
{
after_affinity = before_affinity;
}
if (before_affinity != UP)
- return before->get_maybe_pure_property ("inter-loose-line-spacing", pure, start, end);
+ return before->get_maybe_pure_property ("nonstaff-nonstaff-spacing", pure, start, end);
else if (after_affinity != DOWN)
- return before->get_maybe_pure_property ("inter-loose-line-spacing", pure, start, end);
- return add_stretchability (before->get_maybe_pure_property ("non-affinity-spacing", pure, start, end),
+ return before->get_maybe_pure_property ("nonstaff-nonstaff-spacing", pure, start, end);
+ return add_stretchability (before->get_maybe_pure_property ("nonstaff-unrelatedstaff-spacing", pure, start, end),
LARGE_STRETCH);
}
}