]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/key-grav.hh
release: 0.0.78
[lilypond.git] / lily / include / key-grav.hh
1 /*
2   key-grav.hh -- declare Key_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef KEYGRAV_HH
11 #define KEYGRAV_HH
12
13 #include "engraver.hh"
14 #include "key.hh"
15
16 struct Key_engraver : Engraver {
17     Key key_;
18     Key_change_req * keyreq_l_;
19     Key_item * kit_p_;
20     Array<int> accidental_idx_arr_;
21     bool default_key_b_;
22     bool change_key_b_;
23     
24     virtual bool do_try_request(Request *req_l);
25     virtual void do_process_requests();
26     virtual void do_pre_move_processing();
27     virtual void do_post_move_processing();
28     virtual void acknowledge_element(Score_elem_info);
29     Key_engraver();
30     DECLARE_MY_RUNTIME_TYPEINFO;
31 private:
32     void create_key();
33     
34     void read_req(Key_change_req * r);
35 };
36
37 #endif // KEYGRAV_HH