X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fengraver.cc;h=762d800ed4d5f84d87270967b850178acdc4507e;hb=615a9212789c2cb2994748c023d0e19f3a83a0fd;hp=697a4844a20ed14462671b464126fda8d7e5fd05;hpb=6a62932652940f4ac2931f75d48796887fbc5fdc;p=lilypond.git diff --git a/lily/engraver.cc b/lily/engraver.cc index 697a4844a2..762d800ed4 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -3,7 +3,7 @@ Sourcefile of GNU LilyPond musictypesetter - (c) 1997 Han-Wen Nienhuys + (c) 1997--1998 Han-Wen Nienhuys */ #include "music-list.hh" @@ -13,126 +13,50 @@ #include "debug.hh" void -Engraver::post_move_processing() +Engraver::fill_staff_info (Staff_info&) { - if (status < CREATION_INITED) { - do_creation_processing(); - status = CREATION_INITED; - } - if (status >= MOVE_INITED) - return; - - do_post_move_processing(); - status = MOVE_INITED; + } -void -Engraver::removal_processing() -{ - if ( status < CREATION_INITED ) - do_creation_processing(); - - do_removal_processing(); -} - -bool -Engraver::try_request(Request * r) -{ - if (status < MOVE_INITED) - post_move_processing(); - - return do_try_request(r); -} - -void -Engraver::process_requests() -{ - if (status < PROCESSED_REQS) - post_move_processing(); - else if (status >= PROCESSED_REQS) - return; - - status = PROCESSED_REQS; - do_process_requests(); -} void -Engraver::pre_move_processing() +Engraver::announce_element (Score_element_info i) { - do_pre_move_processing(); - status = CREATION_INITED; + i.origin_grav_l_arr_.push (this); + daddy_grav_l()->announce_element (i); } void -Engraver::fill_staff_info(Staff_info&) +Engraver::typeset_element (Score_element*p) { - + daddy_grav_l()->typeset_element (p); } -Scalar -Engraver::get_feature(String t) -{ - return daddy_grav_l_->get_feature(t); -} - -bool -Engraver::do_try_request(Request*) -{ - return false; -} - -Engraver::Engraver() -{ - status = VIRGIN; - daddy_grav_l_ = 0; -} - -void -Engraver::announce_element(Score_elem_info i) -{ - i.origin_grav_l_arr_.push(this); - daddy_grav_l_->announce_element(i); -} - -void -Engraver::typeset_element(Score_elem*p) -{ - daddy_grav_l_->typeset_element(p); -} Paper_def* -Engraver::paper()const +Engraver::paper() const { - return daddy_grav_l_->paper(); + return (Paper_def*)output_def_l_; } -bool -Engraver::contains_b(Engraver *grav_l)const -{ - return this == grav_l; -} Staff_info Engraver::get_staff_info() const { - return daddy_grav_l_->get_staff_info(); + if (daddy_grav_l()) + return daddy_grav_l()->get_staff_info(); + Staff_info info; + return info; } -void -Engraver::print() const -{ -#ifndef NPRINT - mtor << "\n" << name() << " {"; - do_print(); - mtor << "}"; -#endif -} -IMPLEMENT_IS_TYPE_B(Engraver); -void -Engraver::do_print() const + +Engraver_group_engraver* +Engraver::daddy_grav_l () const { + return (daddy_trans_l_ ) + ? dynamic_cast (daddy_trans_l_) + : 0; } -