lilypond-1.1.63
[lilypond.git] / hdr / complex-walker.hh
blob861cee77f8d246f4c3544078de8281f123f98c5e
1 /*
2 complex-walker.hh -- declare Complex_walker
4 (c) 1996,97 Han-Wen Nienhuys
5 */
7 #ifndef COMPLEXWALKER_HH
8 #define COMPLEXWALKER_HH
10 #include "proto.hh"
11 #include "staff-walker.hh"
12 #include "staff-elem-info.hh"
14 /**
15 A staff walker which uses registers to decide what to print
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);
24 public:
25 int c0_position_i_;
26 Walker_registers *walk_regs_p_;
28 /* *************** */
30 void regs_process_requests();
31 void typeset_element(Staff_elem *elem_p);
32 void announce_element(Staff_elem_info);
33 virtual void process_requests();
34 virtual void do_post_move();
35 virtual void do_pre_move();
37 Complex_walker(Complex_staff*);
38 ~Complex_walker();
40 Complex_staff *staff();
41 private:
45 #endif // COMPLEXWALKER_HH