#include "stem.hh"
#include "separation-item.hh"
#include "staff-spacing.hh"
-
+#include "accidental-placement.hh"
void
Note_spacing::get_spacing (Grob *me, Item* right_col,
if (Separation_item::has_interface (it))
{
- extents[d].unite (Separation_item::my_width (it));
+ extents[d].unite (Separation_item::width (it));
continue;
}
accs = Note_column::accidentals (it->get_parent (X_AXIS));
if (accs)
- extents[d].unite (accs->extent (it_col, X_AXIS));
+ {
+ Interval v =
+ Accidental_placement::get_relevant_accidental_extent (accs, it_col, me);
+
+ extents[d].unite (v);
+ }
}
}
Item *
Note_spacing::left_column (Grob *me)
{
- if (me->immutable_property_alist_ == SCM_EOL)
+ if (!me->live())
return 0;
return dynamic_cast<Item*> (me)->column_l ();
Item *
Note_spacing::right_column (Grob*me)
{
- /*
- ugh. should have generic is_live() method?
- */
- if (me->immutable_property_alist_ == SCM_EOL)
+ if (!me->live())
return 0;
SCM right = me->get_grob_property ("right-items");