- Grob *e = info.grob ();
- SCM avoid = e->get_property ("avoid-slur");
- if (Tie::has_interface (e)
- || avoid == ly_symbol2scm ("inside"))
- {
- for (int i = slurs_.size (); i--;)
- Slur::add_extra_encompass (slurs_[i], e);
- for (int i = end_slurs_.size (); i--;)
- Slur::add_extra_encompass (end_slurs_[i], e);
- }
- else if ((avoid == ly_symbol2scm ("outside")
- || avoid == ly_symbol2scm ("around"))
- && e->name () != "DynamicText")
- {
- Grob *slur = slurs_.size () ? slurs_[0] : 0;
- slur = (end_slurs_.size () && !slur)
- ? end_slurs_[0] : slur;
-
- if (slur)
- {
- chain_offset_callback (e, Slur::outside_slur_callback_proc, Y_AXIS);
- e->set_object ("slur", slur->self_scm ());
- }
- }