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"
13 #include "scorecolumn.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
->command()->bar())
29 bar_req_l_
= r_l
->command()->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()