]> git.donarmstrong.com Git - lilypond.git/blob - hdr/simplewalker.hh
2631f8b983753f31bb36857403f326907398f51f
[lilypond.git] / hdr / simplewalker.hh
1 /*
2   simplewalker.hh -- part of LilyPond
3
4   (c) 1996 Han-Wen Nienhuys
5 */
6
7 #ifndef SIMPLEWALKER_HH
8 #define SIMPLEWALKER_HH
9
10 #include "proto.hh"
11 #include "grouping.hh"
12
13 struct Simple_walker: Staff_walker {
14     Stem *stem_;
15     svec<Notehead *>noteheads;
16     Local_key local_key_;
17     Key key_;
18     svec<int> *oldkey_undo;
19     svec<int> typesetkey;
20     Beam *beam_;
21     Local_key_item *local_key_item_;
22     bool wantkey;               // urgh
23     bool processed_key;
24     bool processed_clef;
25     Clef clef_;
26     Rhythmic_grouping default_grouping;
27     Rhythmic_grouping current_grouping;
28     
29     svec<Slur_req*> pending_slur_reqs;
30     svec<Slur*>  pending_slurs;
31
32
33
34     /****************/
35
36     virtual void do_TYPESET_command(Command*);
37     virtual void do_INTERPRET_command(Command*);
38     virtual void process_requests();
39     virtual void reset();
40     
41     void do_note(Rhythmic_req*);
42     Simple_walker(Simple_staff*);
43     Simple_column *col();
44     Simple_staff *staff();
45
46     void do_local_key(Note_req*n);
47     int find_slur(const Voice*v);
48 };
49
50
51 #endif // SIMPLEWALKER_HH
52
53