]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parenthesis-engraver.cc
add vcs lines to debian/control
[lilypond.git] / lily / parenthesis-engraver.cc
index 01ea191cb34360b173330480b3668b62a6b2cbde..1fe8005e4d1d93c504eca919ae2c8138087b51ec 100644 (file)
@@ -1,20 +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--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
+  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 <http://www.gnu.org/licenses/>.
 */
 
 #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"
 
@@ -26,26 +36,24 @@ 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<Item*> (info.grob ()))
            {
              Engraver *eng = dynamic_cast<Engraver*> (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);
              
              Real size = robust_scm2double (paren->get_property ("font-size"), 0.0)
                + robust_scm2double (victim->get_property ("font-size"), 0.0);
@@ -67,11 +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 */ "");
+
+               /* read */
+               "",
+
+               /* write */
+               ""
+               );