]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/key-grav.hh
b81605e547ce4ed72ad98ecd99a842661733e584
[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 /**
17   Make the key signature.
18  */
19 class Key_engraver : public Engraver {
20   void create_key();
21   void read_req (Key_change_req * r);
22
23 public:
24   Key_engraver();
25   DECLARE_MY_RUNTIME_TYPEINFO;
26   TRANSLATOR_CLONE(Key_engraver);
27   Key key_;
28   Key_change_req * keyreq_l_;
29   Key_item * kit_p_;
30   Array<int> accidental_idx_arr_;
31   bool default_key_b_;
32   bool change_key_b_;
33     
34 protected:
35   virtual bool do_try_request (Request *req_l);
36   virtual void do_process_requests();
37   virtual void do_pre_move_processing();
38   virtual void do_post_move_processing();
39   virtual void acknowledge_element (Score_elem_info);
40 };
41
42 #endif // KEYGRAV_HH