]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grid-line-interface.cc
*** empty log message ***
[lilypond.git] / lily / grid-line-interface.cc
index c721190e0e94881abfcafcc17106cb09aa16ce7d..7f1bdf47d5a9c35c1c6e4bf0faf245e89ce0be89 100644 (file)
@@ -7,12 +7,13 @@
 
 */
 
-#include "group-interface.hh"
-#include "output-def.hh"
-#include "stencil.hh"
-#include "lookup.hh"
 #include "grid-line-interface.hh"
+
 #include "grob.hh"
+#include "pointer-group-interface.hh"
+#include "lookup.hh"
+#include "output-def.hh"
+#include "stencil.hh"
 
 
 MAKE_SCHEME_CALLBACK (Grid_line_interface, print, 1);
@@ -20,15 +21,15 @@ SCM
 Grid_line_interface::print (SCM smobbed_me)
 {
   Grob *me = unsmob_grob (smobbed_me);
-  SCM first_elt = me->get_property ("elements");
 
+  extract_grob_set (me, "elements", elts);
   /* compute common refpoint of elements */
-  Grob *refp = common_refpoint_of_list (first_elt, me, Y_AXIS);
+  Grob *refp = common_refpoint_of_array (elts, me, Y_AXIS);
   Interval iv;
   
-  for (SCM elts = first_elt; scm_is_pair (elts); elts = scm_cdr (elts))
+  for (int i = 0; i < elts.size(); i++)
     {
-      Grob *point = unsmob_grob (scm_car (elts));
+      Grob *point = elts[i];
 
       iv.unite (point->extent (refp, Y_AXIS));
     }
@@ -43,7 +44,6 @@ Grid_line_interface::print (SCM smobbed_me)
   Real thick = robust_scm2double (me->get_property ("thickness"), 1.0)
     * staffline;
 
-
   iv += - me->relative_coordinate (refp, Y_AXIS);
   Stencil st = Lookup::filled_box (Box (Interval (0, thick),
                                        iv));
@@ -70,7 +70,6 @@ void
 Grid_line_interface::add_grid_point (Grob *me, Grob *b)
 {
   Pointer_group_interface::add_grob (me, ly_symbol2scm ("elements"), b);
-  me->add_dependency (b);
 }
 
 ADD_INTERFACE (Grid_line_interface, "grid-line-interface",
@@ -81,4 +80,3 @@ ADD_INTERFACE (Grid_line_interface, "grid-line-interface",
 ADD_INTERFACE (Grid_point_interface, "grid-point-interface",
               "A spanning point for grid lines. ",
               "");
-