From 0bd81cb02c07609303a6043bcfb52ec5e4c8215a Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:47:07 +0000 Subject: [PATCH] lilypond-0.0.73pre --- lily/include/vertical-align-grav.hh | 27 +++++++++++++++++++++++++++ lily/score-grav.cc | 11 ++++------- lily/scoreline.cc | 17 ++--------------- 3 files changed, 33 insertions(+), 22 deletions(-) create mode 100644 lily/include/vertical-align-grav.hh diff --git a/lily/include/vertical-align-grav.hh b/lily/include/vertical-align-grav.hh new file mode 100644 index 0000000000..372788283d --- /dev/null +++ b/lily/include/vertical-align-grav.hh @@ -0,0 +1,27 @@ +/* + vertical-align-grav.hh -- declare Vertical_align_engraver + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#ifndef VERTICAL_ALIGN_GRAV_HH +#define VERTICAL_ALIGN_GRAV_HH + +#include "engraver.hh" + +class Vertical_align_engraver : public Engraver { + Vertical_align_spanner * valign_p_; + +public: + NAME_MEMBERS(); + Vertical_align_engraver(); +protected: + virtual void acknowledge_element(Score_elem_info); + virtual void do_creation_processing(); + virtual void do_removal_processing(); +}; + +#endif // VERTICAL_ALIGN_GRAV_HH diff --git a/lily/score-grav.cc b/lily/score-grav.cc index 5db578293c..ee3b325a00 100644 --- a/lily/score-grav.cc +++ b/lily/score-grav.cc @@ -96,11 +96,8 @@ Score_engraver::announce_element(Score_elem_info info) info.origin_grav_l_arr_.push(this); if (info.elem_l_->name() == Bar::static_name()) { get_staff_info().command_pcol_l()->set_breakable(); - } else if ( info.elem_l_->is_type_b( Line_of_staff::static_name() ) && - !scoreline_l_->contains_b( info.elem_l_) ) - - scoreline_l_->add(info.elem_l_); - + } + announce_info_arr_.push(info); } void @@ -152,7 +149,7 @@ Score_engraver::typeset_all() for (int i =0; i < nobreak_item_p_arr_.size(); i++) { ps_l->typeset_item(nobreak_item_p_arr_[i], c, 0); - scoreline_l_->add(nobreak_item_p_arr_[i]); + scoreline_l_->add_dependency(nobreak_item_p_arr_[i]); } nobreak_item_p_arr_.set_size(0); @@ -204,7 +201,7 @@ bool Score_engraver::do_try_request(Request*r) { bool gotcha = false; - for (int i =0; !gotcha && i < nongroup_l_arr_.size() ; i++) + for ( int i =0; !gotcha && i < nongroup_l_arr_.size() ; i++) gotcha = nongroup_l_arr_[i]->try_request(r); return gotcha; diff --git a/lily/scoreline.cc b/lily/scoreline.cc index 5449b32b1c..a9961f0592 100644 --- a/lily/scoreline.cc +++ b/lily/scoreline.cc @@ -70,18 +70,12 @@ Line_of_score::Line_of_score() IMPLEMENT_STATIC_NAME(Line_of_score); -IMPLEMENT_IS_TYPE_B2(Line_of_score,Spanner,Vertical_align_elem); +IMPLEMENT_IS_TYPE_B1(Line_of_score,Spanner); void Line_of_score::add(Score_elem*e) { - if (e->is_type_b( Line_of_staff::static_name()) - && ! Vertical_align_elem::contains_b( e) ) - - Vertical_align_elem::add(e); - else { - add_dependency(e); - } + add_dependency(e); } bool @@ -157,10 +151,3 @@ Line_of_score::do_width()const { return Spanner::do_width(); } - -void -Line_of_score::do_substitute_dependency(Score_elem*o,Score_elem*n) -{ - Spanner::do_substitute_dependency(o,n); - Vertical_align_elem::do_substitute_dependency(o,n); -} -- 2.39.5