lilypond-0.1.27
[lilypond.git] / hdr / simplewalker.hh
bloba43844622b6b7218a16fa43cb7947eeba27def51
1 /*
2 simplewalker.hh -- part of LilyPond
4 (c) 1996,97 Han-Wen Nienhuys
5 */
7 #ifndef SIMPLEWALKER_HH
8 #define SIMPLEWALKER_HH
10 #include "proto.hh"
11 #include "grouping.hh"
14 struct Simple_walker: Staff_walker {
15 Stem *stem_;
16 Array<Notehead *>noteheads;
17 Local_key local_key_;
18 Key key_;
19 Array<int> *oldkey_undo;
20 Array<int> typesetkey;
21 Beam *beam_;
22 Local_key_item *local_key_item_;
23 bool wantkey; // urgh
24 int processed_bar_priority;
25 bool processed_key;
26 bool processed_clef;
27 Clef clef_;
28 Rhythmic_grouping default_grouping;
29 Rhythmic_grouping *current_grouping;
30 Array<Slur_req*> pending_slur_reqs;
31 Array<Slur*> pending_slurs;
33 /****************/
35 virtual void do_TYPESET_command(Command*);
36 virtual void do_INTERPRET_command(Command*);
37 virtual void process_requests();
38 virtual void do_post_move();
39 ~Simple_walker();
40 Simple_walker(Simple_walker const& c);
41 void do_note(Note_info);
42 Simple_walker(Simple_staff*);
43 Simple_column *col();
44 Simple_staff *staff();
46 void do_local_key(Note_req*, Notehead*);
47 int find_slur(const Voice*v);
51 #endif // SIMPLEWALKER_HH