X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstaff-spacing.cc;h=d693feaee1056fd5d293f27eff0e7d873765e66f;hb=207f71b8b2ab9ca550e841615bedce393e652ca6;hp=99052146bb2bbfed8278c9acd04f4a0160c2de6d;hpb=d2762a4f1add2bb04d6fc34d3c7ae03eeb7d500f;p=lilypond.git diff --git a/lily/staff-spacing.cc b/lily/staff-spacing.cc index 99052146bb..d693feaee1 100644 --- a/lily/staff-spacing.cc +++ b/lily/staff-spacing.cc @@ -34,6 +34,9 @@ using namespace std; #include "pointer-group-interface.hh" #include "directional-element-interface.hh" +using std::string; +using std::vector; + /* A stem following a bar-line creates an optical illusion similar to the one mentioned in note-spacing.cc. We correct for it here. @@ -44,7 +47,7 @@ using namespace std; Real Staff_spacing::optical_correction (Grob *me, Grob *g, Interval bar_height) { - if (!g || !Note_column::has_interface (g)) + if (!g || !has_interface (g)) return 0; Grob *stem = Note_column::get_stem (g); @@ -55,7 +58,7 @@ Staff_spacing::optical_correction (Grob *me, Grob *g, Interval bar_height) Direction d = get_grob_direction (stem); if (Stem::is_normal_stem (stem) && d == DOWN) { - Interval stem_posns = stem->pure_height (stem, 0, INT_MAX); + Interval stem_posns = stem->pure_y_extent (stem, 0, INT_MAX); stem_posns.intersect (bar_height); @@ -165,21 +168,21 @@ Staff_spacing::get_spacing (Grob *me, Grob *right_col, Real situational_space) Real fixed = last_ext[RIGHT]; Real ideal = fixed + 1.0; - if (type == ly_symbol2scm ("fixed-space")) + if (scm_is_eq (type, ly_symbol2scm ("fixed-space"))) { fixed += distance; ideal = fixed; } - else if (type == ly_symbol2scm ("extra-space")) + else if (scm_is_eq (type, ly_symbol2scm ("extra-space"))) ideal = fixed + distance; - else if (type == ly_symbol2scm ("semi-fixed-space")) + else if (scm_is_eq (type, ly_symbol2scm ("semi-fixed-space"))) { fixed += distance / 2; ideal = fixed + distance / 2; } - else if (type == ly_symbol2scm ("minimum-space")) + else if (scm_is_eq (type, ly_symbol2scm ("minimum-space"))) ideal = last_ext[LEFT] + max (last_ext.length (), distance); - else if (type == ly_symbol2scm ("minimum-fixed-space")) + else if (scm_is_eq (type, ly_symbol2scm ("minimum-fixed-space"))) { fixed = last_ext[LEFT] + max (last_ext.length (), distance); ideal = fixed;