X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fparenthesis-engraver.cc;h=7d2a8df8997f52662ba423992403f51885700a96;hb=58ff15e68c0d00ee54ca9f5565d6bc3c8304c076;hp=13aba090bd091fe2f645a8429b88f4606ca59b9a;hpb=b5d340e5ecb2147e209401f29ffa8984a5a99548;p=lilypond.git diff --git a/lily/parenthesis-engraver.cc b/lily/parenthesis-engraver.cc index 13aba090bd..7d2a8df899 100644 --- a/lily/parenthesis-engraver.cc +++ b/lily/parenthesis-engraver.cc @@ -1,19 +1,30 @@ /* - parenthesis-engraver.cc -- implement Parenthesis_engraver + 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 "engraver.hh" -#include "warn.hh" -#include "simple-closure.hh" -#include "music.hh" -#include "grob.hh" #include "item.hh" +#include "pointer-group-interface.hh" +#include "simple-closure.hh" +#include "stream-event.hh" +#include "warn.hh" #include "translator.icc" @@ -25,29 +36,25 @@ protected: DECLARE_ACKNOWLEDGER (grob); }; -Parenthesis_engraver::Parenthesis_engraver() +Parenthesis_engraver::Parenthesis_engraver () { } - - void Parenthesis_engraver::acknowledge_grob (Grob_info info) { - if (Music *music = info.music_cause ()) + if (Stream_event *ev = info.event_cause ()) { - if (to_boolean (music->get_property ("parenthesize"))) + if (to_boolean (ev->get_property ("parenthesize"))) { if (Item *victim = dynamic_cast (info.grob ())) { Engraver *eng = dynamic_cast (info.origin_translator ()); - Item *paren = make_item_from_properties (eng, - ly_symbol2scm ("ParenthesesItem"), - victim->self_scm (), - "ParenthesesItem"); + Item *paren = eng->make_item ("ParenthesesItem", victim->self_scm ()); + Pointer_group_interface::add_grob (paren, ly_symbol2scm ("elements"), victim); paren->set_parent (victim, Y_AXIS); - paren->set_parent (victim, X_AXIS); + Real size = robust_scm2double (paren->get_property ("font-size"), 0.0) + robust_scm2double (victim->get_property ("font-size"), 0.0); paren->set_property ("font-size", scm_from_double (size)); @@ -68,10 +75,16 @@ Parenthesis_engraver::acknowledge_grob (Grob_info info) ADD_ACKNOWLEDGER (Parenthesis_engraver, grob); ADD_TRANSLATOR (Parenthesis_engraver, - /* doc */ "Parenthesize objects whose music cause has the @code{parenthesize} " - "property.", + /* doc */ + "Parenthesize objects whose music cause has the" + " @code{parenthesize} property.", - /* create */ "ParenthesesItem", - /* accept */ "", - /* read */ "", - /* write */ ""); + /* create */ + "ParenthesesItem ", + + /* read */ + "", + + /* write */ + "" + );