X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstaff-symbol.cc;h=e6b73143fea5770213d3627c05789003ed88f857;hb=c05008764f5b4cf61e975e8f57bfe02be237d2ce;hp=695ebb201c54a9ed893fd831910a79b5af65d874;hpb=664070d837cc4855091455892cb942cdcedeef0c;p=lilypond.git diff --git a/lily/staff-symbol.cc b/lily/staff-symbol.cc index 695ebb201c..e6b73143fe 100644 --- a/lily/staff-symbol.cc +++ b/lily/staff-symbol.cc @@ -38,18 +38,21 @@ Staff_symbol::print (SCM smob) --hwn. */ + Real t = me->get_layout ()->get_dimension (ly_symbol2scm ("linethickness")); + t *= robust_scm2double (me->get_property ("thickness"), 1.0); + Direction d = LEFT; do { SCM width_scm = me->get_property ("width"); - if (d == RIGHT && ly_c_number_p (width_scm)) + if (d == RIGHT && scm_is_number (width_scm)) { /* don't multiply by Staff_symbol_referencer::staff_space (me), since that would make aligning staff symbols of different sizes to one right margin hell. */ - span_points[RIGHT] = ly_scm2double (width_scm); + span_points[RIGHT] = scm_to_double (width_scm); } else { @@ -60,13 +63,12 @@ Staff_symbol::print (SCM smob) && !x->extent (x, X_AXIS).is_empty ()) span_points[d] += x->extent (x, X_AXIS)[d]; } + + span_points[d] -= d* t/2; } while (flip (&d) !=LEFT); - Real t = me->get_paper ()->get_dimension (ly_symbol2scm ("linethickness")); - t *= robust_scm2double (me->get_property ("thickness"), 1.0); - int l = Staff_symbol::line_count (me); Real height = (l-1) * staff_space (me) /2; @@ -95,8 +97,8 @@ int Staff_symbol::line_count (Grob*me) { SCM c = me->get_property ("line-count"); - if (ly_c_number_p (c)) - return ly_scm2int (c); + if (scm_is_number (c)) + return scm_to_int (c); else return 0; } @@ -104,13 +106,13 @@ Staff_symbol::line_count (Grob*me) Real Staff_symbol::staff_space (Grob*me) { - return robust_scm2double ( me->get_property ("staff-space"), 1.0); + return robust_scm2double (me->get_property ("staff-space"), 1.0); } Real Staff_symbol::get_line_thickness (Grob* me) { - Real lt = me->get_paper ()->get_dimension (ly_symbol2scm ("linethickness")); + Real lt = me->get_layout ()->get_dimension (ly_symbol2scm ("linethickness")); return robust_scm2double (me->get_property ("thickness"), 1.0) * lt; }