X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fscript-column-engraver.cc;h=e94e233882ab45d4b87aeb20575604db8755611b;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=a5be1ef6602d2a1b6c821f62c2c8becd4edff6ae;hpb=55ac733b69643a6bc6a83b706c65cb56efd388ef;p=lilypond.git diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index a5be1ef660..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--2011 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 */ + "" + );