X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrid-line-interface.cc;h=7f1bdf47d5a9c35c1c6e4bf0faf245e89ce0be89;hb=329f465a4b6d33aee925665a5d172b6fabcdaf2f;hp=c721190e0e94881abfcafcc17106cb09aa16ce7d;hpb=9a3f383f778c0423da192cf267d326c9c459feb9;p=lilypond.git diff --git a/lily/grid-line-interface.cc b/lily/grid-line-interface.cc index c721190e0e..7f1bdf47d5 100644 --- a/lily/grid-line-interface.cc +++ b/lily/grid-line-interface.cc @@ -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. ", ""); -