X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsystem.cc;h=1cd582de7525bc2d628b24cb062ddfc188ac7904;hb=d959f8d548dc073c162c4599cfef2a596f9b66db;hp=574dce56c9de8e54869b164e772dc702707663d0;hpb=80c3eef85e9412f34953e0450a0d708ddeca4e12;p=lilypond.git diff --git a/lily/system.cc b/lily/system.cc index 574dce56c9..1cd582de75 100644 --- a/lily/system.cc +++ b/lily/system.cc @@ -254,13 +254,11 @@ System::get_footnote_grobs_in_range (vector &out, vsize start, vsize end bool end_of_line_visible = true; if (Spanner *s = dynamic_cast(footnote_grobs_[i])) { - Real spanner_placement = min (1.0, - max (robust_scm2double (s->get_property ("spanner-placement"), -1.0), - -1.0)); + Direction spanner_placement = robust_scm2dir (s->get_property ("spanner-placement"), LEFT); + if (spanner_placement == CENTER) + spanner_placement = LEFT; - spanner_placement = (spanner_placement + 1.0) / 2.0; - int rpos = s->spanned_rank_interval ()[RIGHT]; - pos = (int)((rpos - pos) * spanner_placement + pos + 0.5); + pos = s->spanned_rank_interval ()[spanner_placement]; } if (Item *item = dynamic_cast(footnote_grobs_[i])) @@ -271,13 +269,13 @@ System::get_footnote_grobs_in_range (vector &out, vsize start, vsize end end_of_line_visible = (LEFT == item->break_status_dir ()); } - if (pos < (int)start) + if (pos < int (start)) continue; - if (pos > (int)end) + if (pos > int (end)) break; - if (pos == (int)start && end_of_line_visible) + if (pos == int (start) && end_of_line_visible) continue; - if (pos == (int)end && !end_of_line_visible) + if (pos == int (end) && !end_of_line_visible) continue; if (!footnote_grobs_[i]->is_live ()) continue;