5 #include "complexwalker.hh"
6 #include "localkeyitem.hh"
8 Staff_elem_info::Staff_elem_info(Staff_elem*s_l, Request*r_l,
9 Request_register *reg_l)
12 voice_l_ = r_l->elt_l_->voice_l_;
15 origin_reg_l_ = reg_l;
17 Staff_elem_info::Staff_elem_info()
27 Request_register::Request_register()
32 Request_register::Request_register(Complex_walker*w_l)
38 Request_register::pre_move_processing()
40 do_pre_move_process();
41 accepted_req_arr_.set_size(0);
44 Request_register::post_move_processing()
46 do_post_move_process();
52 Local_key_register::Local_key_register(Complex_walker*w)
58 Local_key_register::try_request(Request*)
65 Local_key_register::process_request()
69 Local_key_register::do_pre_move_process()
72 walk_l_->typeset_element(key_item_p_);
77 Local_key_register::acknowledge_element(Staff_elem_info info)
79 if (info.req_l_->melodic()) {
80 Melodic_req * melodic_l_ = info.req_l_->melodic();
82 if( melodic_l_->forceacc ||
83 walk_l_->local_key_.oct(melodic_l_->octave).acc(melodic_l_->notename)
84 != melodic_l_->accidental) {
85 Item * support_l_ = info.elem_p_->item();
89 key_item_p_ = new Local_key_item(-2);
90 key_item_p_->c0_position = walk_l_->clef_.c0_pos;
93 key_item_p_->add(melodic_l_);
94 key_item_p_->add(support_l_);
95 walk_l_->local_key_.oct(melodic_l_->octave)
96 .set(melodic_l_->notename, melodic_l_->accidental);