]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/script-column.cc
* The grand 2005-2006 replace.
[lilypond.git] / lily / script-column.cc
index e2e7411b536b5c4cd55021167068cc40caf35ece..29cf1a53c7beb6d135aa7f473d6c622acdc70dff 100644 (file)
@@ -3,25 +3,24 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "script-column.hh"
 
+#include "directional-element-interface.hh"
 #include "side-position-interface.hh"
 #include "warn.hh"
 #include "pointer-group-interface.hh"
 
 void
-Script_column::add_staff_sided (Grob *me, Item *i)
+Script_column::add_staff_sided (Grob *me, Item *item)
 {
-  SCM p = i->get_property ("script-priority");
+  SCM p = item->get_property ("script-priority");
   if (!scm_is_number (p))
     return;
 
-  Pointer_group_interface::add_grob (me, ly_symbol2scm ("scripts"), i);
-
-  me->add_dependency (i);
+  Pointer_group_interface::add_grob (me, ly_symbol2scm ("scripts"), item);
 }
 
 LY_DEFINE (ly_grob_script_priority_less, "ly:grob-script-priority-less",
@@ -53,21 +52,15 @@ Script_column::before_line_breaking (SCM smob)
       /*
        Don't want to consider scripts horizontally next to notes.
       */
-      if (!sc->has_offset_callback (Side_position_interface::aligned_side_proc,
-                                   X_AXIS))
+      if (sc->get_property_data (ly_symbol2scm ("X-offset")) !=
+         Side_position_interface::x_aligned_side_proc)
        staff_sided.push (sc);
     }
 
   for (int 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]);
     }