X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Flyric-extender.cc;h=5e254b45ee3a89f9d56f70c4338e97c909662d84;hb=a8c9e8a7ca320ab0df5fd32e717fd62cd7635ce6;hp=b7d9bb6e108b3e352912f33b6e003b16d101331a;hpb=44ad1d66c072e4d6545e75c769c86a460cb1df13;p=lilypond.git diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index b7d9bb6e10..5e254b45ee 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -2,17 +2,16 @@ 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" -#include "paper-column.hh" #include "output-def.hh" #include "note-head.hh" #include "pointer-group-interface.hh" @@ -31,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); @@ -57,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]); @@ -86,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 "