X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmeasure-grouping-spanner.cc;h=9306badd21f1347cc19013474f7317290111069e;hb=dbb4524af169a9c15e5c7fcfddfa1a4b85dd288d;hp=96eecb164c0a9f825739a1049101527a3829d637;hpb=2a101a1be8cce258b64b0ab819a1488a1482924a;p=lilypond.git diff --git a/lily/measure-grouping-spanner.cc b/lily/measure-grouping-spanner.cc index 96eecb164c..9306badd21 100644 --- a/lily/measure-grouping-spanner.cc +++ b/lily/measure-grouping-spanner.cc @@ -1,63 +1,54 @@ -/* - measure-grouping-spanner.cc -- implement Measure_grouping +/* + measure-grouping-spanner.cc -- implement Measure_grouping - source file of the GNU LilyPond music typesetter + source file of the GNU LilyPond music typesetter - (c) 2002--2004 Han-Wen Nienhuys + (c) 2002--2006 Han-Wen Nienhuys +*/ - */ +#include "measure-grouping-spanner.hh" #include "output-def.hh" #include "spanner.hh" -#include "measure-grouping-spanner.hh" -#include "lookup.hh" +#include "lookup.hh" #include "item.hh" #include "staff-symbol-referencer.hh" MAKE_SCHEME_CALLBACK (Measure_grouping, print, 1); -SCM +SCM Measure_grouping::print (SCM grob) { - Spanner * me = dynamic_cast (unsmob_grob (grob)); + Spanner *me = dynamic_cast (unsmob_grob (grob)); - /* - TODO: robustify. - */ SCM which = me->get_property ("style"); Real height = robust_scm2double (me->get_property ("height"), 1); Real t = Staff_symbol_referencer::line_thickness (me) * robust_scm2double (me->get_property ("thickness"), 1); Grob *common = me->get_bound (LEFT)->common_refpoint (me->get_bound (RIGHT), - X_AXIS); - - Interval rext = me->get_bound (RIGHT)->extent (common, X_AXIS); - Real w =robust_relative_extent (me->get_bound (RIGHT), - common, X_AXIS).linear_combination (CENTER); - - me->get_bound (LEFT)->relative_coordinate (common, X_AXIS); + X_AXIS); - Interval iv (0,w); + Real right_point = robust_relative_extent (me->get_bound (RIGHT), + common, X_AXIS).linear_combination (CENTER); + Real left_point = me->get_bound (LEFT)->relative_coordinate (common, X_AXIS); + Interval iv (left_point, right_point); Stencil m; /* TODO: use line interface - */ + */ if (which == ly_symbol2scm ("bracket")) - { - m = Lookup::bracket (X_AXIS, iv, t, -height, t); - } + m = Lookup::bracket (X_AXIS, iv, t, -height, t); else if (which == ly_symbol2scm ("triangle")) - { - m = Lookup::triangle (iv, t, height); - } + m = Lookup::triangle (iv, t, height); m.align_to (Y_AXIS, DOWN); + m.translate_axis (- me->relative_coordinate (common, X_AXIS), X_AXIS); return m.smobbed_copy (); } -ADD_INTERFACE (Measure_grouping,"measure-grouping-interface", - "This objectt indicates groups of beats. " +ADD_INTERFACE (Measure_grouping, "measure-grouping-interface", + "This object indicates groups of beats. " "Valid choices for @code{style} are @code{bracket} and @code{triangle}.", "thickness style height"); -