]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/complex-walker.hh
release: 0.0.63
[lilypond.git] / lily / include / complex-walker.hh
1 /*
2   complex-walker.hh -- declare Complex_walker
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef COMPLEXWALKER_HH
8 #define COMPLEXWALKER_HH
9
10 #include "proto.hh"
11 #include "staff-walker.hh"
12 #include "staff-elem-info.hh"
13
14 /**
15   A staff walker which uses registers to decide what to print
16  */
17 class Complex_walker: public Staff_walker {
18     bool try_command_request(Command_req *req_l);
19     void do_announces();
20     void try_request(Request*req);    
21
22
23     
24 public:
25     Walker_registers *walk_regs_p_;
26     
27     /* *************** */
28
29     void regs_process_requests();
30     void typeset_element(Staff_elem *elem_p);
31     void announce_element(Staff_elem_info);
32     virtual void process_requests();
33     virtual void do_post_move();
34     virtual void do_pre_move();
35
36     Complex_walker(Complex_staff*);
37     ~Complex_walker();
38
39     Complex_staff *staff();
40 private:
41 };
42
43
44 #endif // COMPLEXWALKER_HH
45
46