flower-1.0.27
[lilypond.git] / src / register.cc
blob7eeeb46ada77dfcc07de9dea3a25537d1111d91e
1 /*
2 register.cc -- implement Staff_elem_info, Request_register
4 Sourcefile of LilyPond musictypesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
9 #include "voice.hh"
10 #include "request.hh"
11 #include "register.hh"
12 #include "notehead.hh"
13 #include "complexwalker.hh"
14 #include "localkeyitem.hh"
15 #include "complexstaff.hh"
17 Staff_elem_info::Staff_elem_info(Staff_elem*s_l, Request*r_l,
18 Request_register *reg_l)
20 elem_p_ = s_l;
21 voice_l_ = r_l->elt_l_->voice_l_;
22 req_l_ = r_l;
23 group_regs_l_ = 0;
24 origin_reg_l_ = reg_l;
27 Staff_elem_info::Staff_elem_info()
29 elem_p_ = 0;
30 voice_l_ = 0;
32 group_regs_l_ = 0;
33 origin_reg_l_ = 0;
34 req_l_ = 0;
37 /* *************** */
39 Request_register::Request_register()
41 walk_l_=0;
44 Request_register::Request_register(Complex_walker*w_l)
46 walk_l_=w_l;
49 void
50 Request_register::pre_move_processing()
52 do_pre_move_process();
53 accepted_req_arr_.set_size(0);
55 void
56 Request_register::post_move_processing()
58 do_post_move_process();
61 Request_register::Request_register(Request_register const&)
63 assert(false);
66 void
67 Request_register::announce_element(Staff_elem_info i)
69 walk_l_->announce_element(i);
72 void
73 Request_register::typeset_element(Staff_elem*p)
75 walk_l_->typeset_element(p);
78 Paperdef*
79 Request_register::paper()const
81 return walk_l_->staff()->paper();