]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grob.cc
Set horizon_padding by default for tie formatting, vertical staff distance
[lilypond.git] / lily / grob.cc
index 28f665138cae691ac2bcd883e3be668ec63f0b08..139a387989393209390a7704246c87402d0b3295 100644 (file)
@@ -309,13 +309,15 @@ Grob::pure_relative_y_coordinate (Grob const *refp, int start, int end)
      it probably means that the Alignment was fixed and it has already been
      calculated.
   */
-  Grob *p = get_parent (Y_AXIS);
-  Real trans = 0;
-  if (Align_interface::has_interface (p) && !dim_cache_[Y_AXIS].offset_)
-    trans = Align_interface::get_pure_child_y_translation (p, this, start, end);
+  if (Grob *p = get_parent (Y_AXIS))
+    {
+      Real trans = 0;
+      if (Align_interface::has_interface (p) && !dim_cache_[Y_AXIS].offset_)
+       trans = Align_interface::get_pure_child_y_translation (p, this, start, end);
 
-  return off + trans
-    + dim_cache_[Y_AXIS].parent_->pure_relative_y_coordinate (refp, start, end);
+      return off + trans + p->pure_relative_y_coordinate (refp, start, end);
+    }
+  return off;
 }
 
 /* Invoke callbacks to get offset relative to parent.  */
@@ -566,7 +568,7 @@ Grob::programming_error (string s) const
 }
 
 
-ADD_INTERFACE (Grob, "grob-interface",
+ADD_INTERFACE (Grob,
               "A grob represents a piece of music notation\n"
               "\n"
               "All grobs have an X and Y-position on the page.  These X and Y positions\n"
@@ -621,6 +623,9 @@ ADD_INTERFACE (Grob, "grob-interface",
               "meta "
               "minimum-X-extent "
               "minimum-Y-extent "
+              "outside-staff-horizontal-padding "
+              "outside-staff-padding "
+              "outside-staff-priority "
               "rotation "
               "springs-and-rods "
               "staff-symbol "