X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fscript-column-engraver.cc;h=e94e233882ab45d4b87aeb20575604db8755611b;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=af3e491b3aec2a86ba7d65b38b7ced9d16b5d69f;hpb=bc95f4434f760d41191341ab4508b2064eb19025;p=lilypond.git diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index af3e491b3a..e94e233882 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2010 Han-Wen Nienhuys + Copyright (C) 1999--2015 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 @@ -30,17 +30,18 @@ class Script_column_engraver : public Engraver { Grob *script_column_; - vector scripts_; + vector scripts_; public: TRANSLATOR_DECLARATIONS (Script_column_engraver); protected: - DECLARE_ACKNOWLEDGER (side_position); + void acknowledge_side_position (Grob_info); void process_acknowledged (); void stop_translation_timestep (); }; -Script_column_engraver::Script_column_engraver () +Script_column_engraver::Script_column_engraver (Context *c) + : Engraver (c) { script_column_ = 0; } @@ -51,8 +52,8 @@ Script_column_engraver::stop_translation_timestep () if (script_column_) { for (vsize i = 0; i < scripts_.size (); i++) - if (Side_position_interface::get_axis (scripts_[i]) == Y_AXIS) - Script_column::add_side_positioned (script_column_, scripts_[i]); + if (Side_position_interface::get_axis (scripts_[i]) == Y_AXIS) + Script_column::add_side_positioned (script_column_, scripts_[i]); } script_column_ = 0; @@ -66,7 +67,7 @@ Script_column_engraver::acknowledge_side_position (Grob_info inf) if (thing) { if (!Item::is_non_musical (thing)) - scripts_.push_back (thing); + scripts_.push_back (thing); } } @@ -77,18 +78,23 @@ Script_column_engraver::process_acknowledged () script_column_ = make_item ("ScriptColumn", SCM_EOL); } -ADD_ACKNOWLEDGER (Script_column_engraver, side_position); +void +Script_column_engraver::boot () +{ + ADD_ACKNOWLEDGER (Script_column_engraver, side_position); +} + ADD_TRANSLATOR (Script_column_engraver, - /* doc */ - "Find potentially colliding scripts and put them into a" - " @code{ScriptColumn} object; that will fix the collisions.", + /* doc */ + "Find potentially colliding scripts and put them into a" + " @code{ScriptColumn} object; that will fix the collisions.", - /* create */ - "ScriptColumn ", + /* create */ + "ScriptColumn ", - /* read */ - "", + /* read */ + "", - /* write */ - "" - ); + /* write */ + "" + );