X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fscript-column.cc;h=0676e20f0289978d957ccabb64f798dea6e5343e;hb=f354ae4e1a6dab6ad4b1a98c2d732f542a05a02e;hp=2fc7f2f158bc2eb185a483c4874ffc612db03783;hpb=889dc430ee110fc9f7b66d9f8768fb746bb2b12a;p=lilypond.git diff --git a/lily/script-column.cc b/lily/script-column.cc index 2fc7f2f158..0676e20f02 100644 --- a/lily/script-column.cc +++ b/lily/script-column.cc @@ -3,11 +3,12 @@ source file of the GNU LilyPond music typesetter - (c) 1999--2005 Han-Wen Nienhuys + (c) 1999--2006 Han-Wen Nienhuys */ #include "script-column.hh" +#include "directional-element-interface.hh" #include "side-position-interface.hh" #include "warn.hh" #include "pointer-group-interface.hh" @@ -41,31 +42,25 @@ Script_column::before_line_breaking (SCM smob) { Grob *me = unsmob_grob (smob); Drul_array scripts_drul (SCM_EOL, SCM_EOL); - Link_array staff_sided; + vector staff_sided; extract_grob_set (me, "scripts", scripts); - for (int i = 0; i < scripts.size (); i++) + for (vsize i = 0; i < scripts.size (); i++) { Grob *sc = scripts[i]; /* Don't want to consider scripts horizontally next to notes. */ - if (!sc->has_offset_callback (Side_position_interface::aligned_side_proc, - X_AXIS)) - staff_sided.push (sc); + if (sc->get_property_data (ly_symbol2scm ("X-offset")) != + Side_position_interface::x_aligned_side_proc) + staff_sided.push_back (sc); } - for (int i = 0; i < staff_sided.size (); i++) + for (vsize i = 0; i < staff_sided.size (); i++) { Grob *g = staff_sided[i]; - Direction d = Side_position_interface::get_direction (g); - if (!d) - { - programming_error ("no direction for script"); - d = DOWN; - g->set_property ("direction", scm_from_int (d)); - } + Direction d = get_grob_direction (g); scripts_drul[d] = scm_cons (g->self_scm (), scripts_drul[d]); }