]> git.donarmstrong.com Git - lilypond.git/blob - hdr/simplewalker.hh
release: 0.0.21
[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     svec<Slur_req*> pending_slur_reqs;
29     svec<Slur*>  pending_slurs;
30     
31     /****************/
32
33     virtual void do_TYPESET_command(Command*);
34     virtual void do_INTERPRET_command(Command*);
35     virtual void process_requests();
36     virtual void reset();
37     
38     void do_note(Note_info);
39     Simple_walker(Simple_staff*);
40     Simple_column *col();
41     Simple_staff *staff();
42
43     void do_local_key(Note_req*, Notehead*);
44     int find_slur(const Voice*v);
45 };
46
47
48 #endif // SIMPLEWALKER_HH
49
50