]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/script-row-engraver.cc
Web-ja: update introduction
[lilypond.git] / lily / script-row-engraver.cc
index 6c22930e0c6fa34afe2fb8bb9eb7b690c9517b45..30ded2b8345c72db47ff227d8240d38bee021d55 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2006--2014 Han-Wen Nienhuys <hanwen@lilypond.org>
+  Copyright (C) 2006--2015 Han-Wen Nienhuys <hanwen@lilypond.org>
 
 
   LilyPond is free software: you can redistribute it and/or modify
@@ -39,13 +39,14 @@ class Script_row_engraver : public Engraver
 public:
   TRANSLATOR_DECLARATIONS (Script_row_engraver);
 protected:
-  DECLARE_ACKNOWLEDGER (accidental_placement);
-  DECLARE_ACKNOWLEDGER (side_position);
+  void acknowledge_accidental_placement (Grob_info);
+  void acknowledge_side_position (Grob_info);
   void process_acknowledged ();
   void stop_translation_timestep ();
 };
 
-Script_row_engraver::Script_row_engraver ()
+Script_row_engraver::Script_row_engraver (Context *c)
+  : Engraver (c)
 {
   script_row_ = 0;
 }
@@ -56,7 +57,7 @@ Script_row_engraver::stop_translation_timestep ()
   if (script_row_)
     {
       for (vsize i = 0; i < scripts_.size (); i++)
-        if (Accidental_placement::has_interface (scripts_[i])
+        if (has_interface<Accidental_placement> (scripts_[i])
             || Side_position_interface::get_axis (scripts_[i]) == X_AXIS)
           Script_column::add_side_positioned (script_row_, scripts_[i]);
     }
@@ -89,8 +90,13 @@ Script_row_engraver::process_acknowledged ()
     script_row_ = make_item ("ScriptRow", SCM_EOL);
 }
 
-ADD_ACKNOWLEDGER (Script_row_engraver, accidental_placement);
-ADD_ACKNOWLEDGER (Script_row_engraver, side_position);
+void
+Script_row_engraver::boot ()
+{
+  ADD_ACKNOWLEDGER (Script_row_engraver, accidental_placement);
+  ADD_ACKNOWLEDGER (Script_row_engraver, side_position);
+}
+
 ADD_TRANSLATOR (Script_row_engraver,
                 /* doc */
                 "Determine order in horizontal side position elements.",