2 barreg.cc -- implement Bar_register
4 source file of the LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
11 #include "commandrequest.hh"
12 #include "complexwalker.hh"
16 Bar_register::Bar_register(Complex_walker*w)
19 do_post_move_process();
23 Bar_register::try_request(Request*r_l)
25 if (!r_l->nonmus()->bar())
29 bar_req_l_ = r_l->nonmus()->bar();
35 Bar_register::process_request()
39 bar_p_ = new Bar(bar_req_l_->type_str_);
40 } else if (!walk_l_->time_.whole_in_measure_) {
41 bar_p_ = new Bar("|");
45 walk_l_->allow_break();
46 announce_element(Staff_elem_info(bar_p_, bar_req_l_, this) );
51 Bar_register::split_bar(Bar *& pre, Bar * no, Bar * &post)
65 Bar_register::do_pre_move_process()
70 split_bar(pre_p, bar_p_, post_p);
72 typeset_breakable_item(pre_p, bar_p_, post_p);
78 Bar_register::do_post_move_process()