X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fparenthesis-engraver.cc;h=e7f83de80cf8cb2e485dce5bbef8dacf723ec49d;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=13aba090bd091fe2f645a8429b88f4606ca59b9a;hpb=b5d340e5ecb2147e209401f29ffa8984a5a99548;p=lilypond.git diff --git a/lily/parenthesis-engraver.cc b/lily/parenthesis-engraver.cc index 13aba090bd..e7f83de80c 100644 --- a/lily/parenthesis-engraver.cc +++ b/lily/parenthesis-engraver.cc @@ -3,17 +3,17 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2006 Han-Wen Nienhuys + (c) 2005--2008 Han-Wen Nienhuys */ #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 +25,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 +64,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 */ + "" + );