]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/staff-spacing.cc
* lily/accidental-placement.cc (split_accidentals): new function
[lilypond.git] / lily / staff-spacing.cc
index 8d7a5db7c37cf33dadf996103ab8d88798a26ead..81bc06000d1585f019337d11534f23ef88a44bbb 100644 (file)
 #include "staff-symbol-referencer.hh"
 #include "note-column.hh"
 #include "stem.hh"
-
-bool
-Staff_spacing::has_interface (Grob* g)
-{
-  return g && g->has_interface (ly_symbol2scm ("staff-spacing-interface"));
-}
+#include "accidental-placement.hh"
 
 /*
   Insert some more space for the next note, in case it has a stem in
@@ -46,7 +41,10 @@ Staff_spacing::next_note_correction (Grob * me,
    */
   if (Grob * a = Note_column::accidentals (g))
     {
-      max_corr = max_corr >? (- a->extent (col, X_AXIS)[LEFT]);
+      Interval v= Accidental_placement::get_relevant_accidental_extent
+       (a, col, me);
+      
+      max_corr = max_corr >? (- v[LEFT]);
     }
   if (Grob* a = unsmob_grob (g->get_grob_property ("arpeggio")))
     {
@@ -245,4 +243,4 @@ Staff_spacing::get_spacing_params (Grob *me, Real * space, Real * fixed)
 
 ADD_INTERFACE (Staff_spacing,"staff-spacing-interface",
   "",
-  "left-items right-items");
+  "stem-spacing-correction left-items right-items");