X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fambitus.cc;h=85fb2978869c338590a47916ae1d4b2d93fcbdb6;hb=8574d4349026c4ac5a15a27c50e264bf548e29fb;hp=a702fffb501d1c82175bcb47aa1cf3ecc25fc780;hpb=bdf4ab13203502e7ec7cf9cf5896527643a07c1f;p=lilypond.git diff --git a/lily/ambitus.cc b/lily/ambitus.cc index a702fffb50..85fb297886 100644 --- a/lily/ambitus.cc +++ b/lily/ambitus.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2002--2005 Juergen Reuter + (c) 2002--2009 Juergen Reuter */ #include "ambitus.hh" @@ -15,7 +15,7 @@ #include "font-interface.hh" #include "output-def.hh" #include "lookup.hh" -#include "group-interface.hh" +#include "pointer-group-interface.hh" MAKE_SCHEME_CALLBACK (Ambitus, print, 1); SCM @@ -24,13 +24,15 @@ Ambitus::print (SCM smob) Item *me = (Item *) unsmob_grob (smob); Stencil stencil; - // join heads - Link_array heads (extract_grob_array (me, ly_symbol2scm ("note-heads"))); + // FIXME : should be Ambitus_line join heads + extract_grob_set (me, "note-heads", heads); if (to_boolean (me->get_property ("join-heads")) && heads.size () > 1) { Grob *common - = common_refpoint_of_array (heads.slice (0, 2), me, Y_AXIS); + = common_refpoint_of_array (vector (heads.begin (), + heads.begin () + 2), + me, Y_AXIS); Grob *minh = heads[0]; Grob *maxh = heads[1]; @@ -49,9 +51,9 @@ Ambitus::print (SCM smob) if (pmin < pmax) { - Real linethickness = me->get_layout ()->get_dimension (ly_symbol2scm ("linethickness")) + Real linethickness = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness")) * robust_scm2double (me->get_property ("thickness"), 1.0); - Real blotdiameter = me->get_layout ()->get_dimension (ly_symbol2scm ("blotdiameter")); + Real blotdiameter = me->layout ()->get_dimension (ly_symbol2scm ("blot-diameter")); Interval x_extent = 0.5 * linethickness * Interval (-1, 1); Interval y_extent = Interval (pmin, pmax); Box line_box (x_extent, y_extent); @@ -66,6 +68,11 @@ Ambitus::print (SCM smob) return SCM_EOL; } -ADD_INTERFACE (Ambitus, "ambitus-interface", +ADD_INTERFACE (Ambitus, "The line between note heads for a pitch range.", - "thickness note-heads join-heads"); + + /* properties */ + "join-heads " + "note-heads " + "thickness " + );