From 2c97e9dc7b780a9fa86a4ae740ce72e346aa16d1 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:48:04 +0000 Subject: [PATCH] lilypond-0.0.76 --- lily/include/staff-gravs.hh | 15 ++++-------- lily/staff-gravs.cc | 49 +++++++++---------------------------- 2 files changed, 16 insertions(+), 48 deletions(-) diff --git a/lily/include/staff-gravs.hh b/lily/include/staff-gravs.hh index 4dffdaee12..a51ffe4795 100644 --- a/lily/include/staff-gravs.hh +++ b/lily/include/staff-gravs.hh @@ -1,5 +1,5 @@ /* - staff-gravs.hh -- declare Staff_engravers + staff-gravs.hh -- declare Line_group_engraver source file of the GNU LilyPond music typesetter @@ -14,24 +14,19 @@ /** Engravers which manage a Staff (one 5-line linestaff) - - */ -class Staff_engravers : public Engraver_group_engraver { + */ +class Line_group_engraver : public Engraver{ Line_of_staff *staffline_p_; Link_array staff_elem_l_arr_; - void group_staff_elems(); protected: - virtual void do_pre_move_processing(); virtual void do_creation_processing(); virtual void do_removal_processing(); - virtual void typeset_element(Score_elem*); - virtual void typeset_breakable_item( Item * it_p); + virtual void acknowledge_element(Score_elem_info); public: - NAME_MEMBERS(); - Staff_engravers(); + Line_group_engraver(); }; #endif // STAFF_GRAVS_HH diff --git a/lily/staff-gravs.cc b/lily/staff-gravs.cc index d91156997e..55c148f471 100644 --- a/lily/staff-gravs.cc +++ b/lily/staff-gravs.cc @@ -1,5 +1,5 @@ /* - staff-gravs.cc -- implement Staff_engravers + staff-gravs.cc -- implement Line_group_engraver source file of the GNU LilyPond music typesetter @@ -14,65 +14,38 @@ #include "staffline.hh" -Staff_engravers::Staff_engravers() +Line_group_engraver::Line_group_engraver() { staffline_p_ =0; } void -Staff_engravers::typeset_element(Score_elem *elem_p) +Line_group_engraver::acknowledge_element(Score_elem_info elem) { - staff_elem_l_arr_.push(elem_p); - Engraver_group_engraver::typeset_element(elem_p); + staffline_p_->add_element(elem.elem_l_); } -void -Staff_engravers::typeset_breakable_item( Item * nobreak_p) -{ - staff_elem_l_arr_.push(nobreak_p); - Engraver_group_engraver::typeset_breakable_item(nobreak_p); -} - -void -Staff_engravers::do_pre_move_processing() -{ - Engraver_group_engraver::do_pre_move_processing(); - group_staff_elems(); -} - -void -Staff_engravers::group_staff_elems() -{ - for (int i=0; i add_element(staff_elem_l_arr_[i]); - staff_elem_l_arr_.set_size(0); -} void -Staff_engravers::do_removal_processing() +Line_group_engraver::do_removal_processing() { - /* this is a "destructor type function", first do children, then self. */ - Engraver_group_engraver::do_removal_processing(); - group_staff_elems(); - staffline_p_->right_col_l_ = get_staff_info().command_pcol_l(); - Engraver::typeset_element(staffline_p_); + typeset_element(staffline_p_); staffline_p_ = 0; } void -Staff_engravers::do_creation_processing() +Line_group_engraver::do_creation_processing() { staffline_p_ = new Line_of_staff; staffline_p_->left_col_l_ = get_staff_info().command_pcol_l(); // don't broadcast to self. - Engraver::announce_element(Score_elem_info(staffline_p_,0)); - Engraver_group_engraver::do_creation_processing(); + announce_element(Score_elem_info(staffline_p_,0)); } -IMPLEMENT_STATIC_NAME(Staff_engravers); -IMPLEMENT_IS_TYPE_B1(Staff_engravers,Engraver_group_engraver); -ADD_THIS_ENGRAVER(Staff_engravers); +IMPLEMENT_STATIC_NAME(Line_group_engraver); +IMPLEMENT_IS_TYPE_B1(Line_group_engraver,Engraver); +ADD_THIS_ENGRAVER(Line_group_engraver); -- 2.39.5