X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmeasure-grouping-spanner.cc;h=052aae12ac6071a5799de95728f7bf0e33efa4b2;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=78d625ec665da8539e3c41bd21c25367da40c8ee;hpb=9e80da91309faff260dacdf2e25ed91d183ebc5d;p=lilypond.git diff --git a/lily/measure-grouping-spanner.cc b/lily/measure-grouping-spanner.cc index 78d625ec66..052aae12ac 100644 --- a/lily/measure-grouping-spanner.cc +++ b/lily/measure-grouping-spanner.cc @@ -1,9 +1,20 @@ /* - measure-grouping-spanner.cc -- implement Measure_grouping + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2002--2015 Han-Wen Nienhuys - (c) 2002--2007 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "measure-grouping-spanner.hh" @@ -18,17 +29,17 @@ MAKE_SCHEME_CALLBACK (Measure_grouping, print, 1); SCM Measure_grouping::print (SCM grob) { - Spanner *me = dynamic_cast (unsmob_grob (grob)); + Spanner *me = unsmob (grob); 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); + X_AXIS); Real right_point = robust_relative_extent (me->get_bound (RIGHT), - common, X_AXIS).linear_combination (CENTER); + common, X_AXIS).linear_combination (CENTER); Real left_point = me->get_bound (LEFT)->relative_coordinate (common, X_AXIS); Interval iv (left_point, right_point); @@ -37,9 +48,9 @@ Measure_grouping::print (SCM grob) /* TODO: use line interface */ - if (which == ly_symbol2scm ("bracket")) + if (scm_is_eq (which, ly_symbol2scm ("bracket"))) m = Lookup::bracket (X_AXIS, iv, t, -height, t); - else if (which == ly_symbol2scm ("triangle")) + else if (scm_is_eq (which, ly_symbol2scm ("triangle"))) m = Lookup::triangle (iv, t, height); m.align_to (Y_AXIS, DOWN); @@ -48,12 +59,12 @@ Measure_grouping::print (SCM grob) } ADD_INTERFACE (Measure_grouping, - "This object indicates groups of beats. Valid choices for" - " @code{style} are @code{bracket} and @code{triangle}.", - - /* properties */ - "thickness " - "style " - "height " - ); + "This object indicates groups of beats. Valid choices for" + " @code{style} are @code{bracket} and @code{triangle}.", + + /* properties */ + "thickness " + "style " + "height " + );