]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/axis-group-interface.cc
Set horizon_padding by default for tie formatting, vertical staff distance
[lilypond.git] / lily / axis-group-interface.cc
index 7edb236e5eb4ede1562315fb51d68cdcd58a3833..5eebdf2b89aad35ab2c58ed20bb1733d9271f688 100644 (file)
@@ -301,8 +301,8 @@ Axis_group_interface::skyline_spacing (Grob *me, vector<Grob*> elements)
         && !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]);
@@ -314,6 +314,8 @@ Axis_group_interface::skyline_spacing (Grob *me, vector<Grob*> elements)
 
       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 ()));
@@ -322,7 +324,7 @@ Axis_group_interface::skyline_spacing (Grob *me, vector<Grob*> elements)
 
       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;
 
@@ -331,7 +333,7 @@ Axis_group_interface::skyline_spacing (Grob *me, vector<Grob*> elements)
          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);
     }
 }