X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Fenclosing-bracket.cc;h=4fcd72734e155568cbf2f53cef3f21ebf34587ca;hb=ade98f4d66d4ba96d239b06c4ab9eefffad1381f;hp=60e98f0944e9131c89023620f53d8a30bdbf5b62;hpb=2c8c61b3a5cddbb155786a1ca027528701c91ac9;p=lilypond.git diff --git a/lily/enclosing-bracket.cc b/lily/enclosing-bracket.cc index 60e98f0944..4fcd72734e 100644 --- a/lily/enclosing-bracket.cc +++ b/lily/enclosing-bracket.cc @@ -1,10 +1,21 @@ /* - enclosing-bracket.cc -- implement Enclosing_bracket + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2010 Han-Wen Nienhuys - (c) 2005--2006 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 "stencil.hh" @@ -15,19 +26,18 @@ struct Enclosing_bracket { - DECLARE_GROB_INTERFACE(); + DECLARE_GROB_INTERFACE (); public: - DECLARE_SCHEME_CALLBACK(print, (SCM)); - DECLARE_SCHEME_CALLBACK(width, (SCM)); + DECLARE_SCHEME_CALLBACK (print, (SCM)); + DECLARE_SCHEME_CALLBACK (width, (SCM)); }; -ADD_INTERFACE(Enclosing_bracket, - +ADD_INTERFACE (Enclosing_bracket, "Brackets alongside bass figures.", - /* props */ + /* properties */ "bracket-flare " "edge-height " "elements " @@ -85,7 +95,11 @@ Enclosing_bracket::print (SCM grob) Grob *common_x = common_refpoint_of_array (elements, me, X_AXIS); Interval xext = Axis_group_interface::relative_group_extent (elements, common_x, X_AXIS); - + if (xext.is_empty ()) + { + me->programming_error ("elements have no X extent."); + xext = Interval (0, 0); + } Stencil left_br = Horizontal_bracket::make_enclosing_bracket (me, me, elements, Y_AXIS, LEFT);