X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Flyric-extender.cc;h=5e254b45ee3a89f9d56f70c4338e97c909662d84;hb=646a2265ea72c4007d9590a5d6d9a10ffc54ef29;hp=d30a53d6681b05ddb67bcf772f1ef3d6135c61b0;hpb=d8082113a0df616e7beabc0417c3590a3fac7320;p=lilypond.git diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index d30a53d668..5e254b45ee 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -2,13 +2,13 @@ lyric-extender.cc -- implement Lyric_extender source file of the GNU LilyPond music typesetter - (c) 1998--2006 Jan Nieuwenhuizen + (c) 1998--2009 Jan Nieuwenhuizen Han-Wen Nienhuys */ #include "lyric-extender.hh" -#include "spanner.hh" +#include "system.hh" #include "item.hh" #include "warn.hh" #include "lookup.hh" @@ -30,6 +30,8 @@ Lyric_extender::print (SCM smob) common = common->common_refpoint (right_text, X_AXIS); common = common->common_refpoint (me->get_bound (RIGHT), X_AXIS); + common = common->common_refpoint (me->get_system (), X_AXIS); + Real sl = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness")); extract_grob_set (me, "heads", heads); @@ -56,6 +58,8 @@ Lyric_extender::print (SCM smob) Real right_point = left_point + (robust_scm2double (minlen, 0)); + right_point = min (right_point, me->get_system ()->get_bound (RIGHT)->relative_coordinate (common, X_AXIS)); + if (heads.size ()) right_point = max (right_point, heads.back ()->extent (common, X_AXIS)[RIGHT]); @@ -85,9 +89,11 @@ Lyric_extender::print (SCM smob) } ADD_INTERFACE (Lyric_extender, - "The extender is a simple line at the baseline of the lyric " - "that helps show the length of a melissima (tied/slurred note).", + "The extender is a simple line at the baseline of the lyric" + " that helps show the length of a melisma (a tied or slurred" + " note).", + /* properties */ "heads " "left-padding " "next "