&& !scm_is_number (elements[i]->get_property ("outside-staff-priority")); i++)
add_boxes (elements[i], x_common, y_common, &boxes);
- Drul_array<Skyline> skylines (Skyline (boxes, X_AXIS, DOWN),
- Skyline (boxes, X_AXIS, UP));
+ Drul_array<Skyline> skylines (Skyline (boxes, 0, X_AXIS, DOWN),
+ Skyline (boxes, 0, X_AXIS, UP));
for (; i < elements.size (); i++)
{
Direction dir = get_grob_direction (elements[i]);
Box b (elements[i]->extent (x_common, X_AXIS),
elements[i]->extent (y_common, Y_AXIS));
+ SCM horizon_padding_scm = elements[i]->get_property ("outside-staff-horizontal-padding");
+ Real horizon_padding = robust_scm2double (horizon_padding_scm, 0.0);
if (b[X_AXIS].is_empty () || b[Y_AXIS].is_empty ())
{
warning (_f ("outside-staff object %s has an empty extent", elements[i]->name ().c_str ()));
boxes.clear ();
boxes.push_back (b);
- Skyline other = Skyline (boxes, X_AXIS, -dir);
+ Skyline other = Skyline (boxes, horizon_padding, X_AXIS, -dir);
Real padding = robust_scm2double (elements[i]->get_property ("outside-staff-padding"), 0.5);
Real dist = skylines[dir].distance (other) + padding;
b.translate (Offset (0, dir*dist));
elements[i]->translate_axis (dir*dist, Y_AXIS);
}
- skylines[dir].insert (b, X_AXIS);
+ skylines[dir].insert (b, 0, X_AXIS);
}
}