2 walkregs.hh -- declare Walker_registers
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
14 #include "register-group.hh"
17 Top level registers: the interface to Complex_walker.
19 [sigh. Sometimes I wish C++ could do better late binding.]
21 Basically, this distributes and collects elements and elementinfo to
24 class Walker_registers : public Register_group_register {
26 Array<Item*> prebreak_item_p_arr_;
27 Array<Item*> nobreak_item_p_arr_;
28 Array<Item*> postbreak_item_p_arr_;
29 Link_array<Score_elem> musical_item_p_arr_;
31 Array<Score_elem_info> announce_info_arr_;
33 Complex_walker * walk_l_;
35 virtual Staff_info get_staff_info();
37 virtual void announce_element(Score_elem_info);
38 virtual void acknowledge_element(Score_elem_info);
39 virtual void typeset_breakable_item(Item * pre_p , Item * nobreak_p, Item * post_p);
40 virtual void typeset_element(Score_elem*elem_p);
41 virtual Paper_def * paper() const;
43 virtual void pre_move_processing();
44 virtual void post_move_processing();
48 Walker_registers(Complex_walker*);