]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/clef-grav.hh
release: 0.0.78
[lilypond.git] / lily / include / clef-grav.hh
1 /*
2   clef.hh -- part of GNU LilyPond
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef CLEF_HH
8 #define CLEF_HH
9
10 #include "scalar.hh"
11 #include "varray.hh"
12 #include "engraver.hh"
13
14 /// where is c-0 in the staff?
15 class Clef_engraver : public  Engraver {
16     Clef_item *clef_p_;
17     Clef_change_req * clef_req_l_;
18     void create_clef();
19     void read_req(Clef_change_req*);
20     bool set_type(String);
21 protected:
22      virtual void do_process_requests();
23     virtual void fill_staff_info(Staff_info&);
24     virtual void do_pre_move_processing();
25     virtual void do_removal_processing();
26     virtual void do_creation_processing();
27     virtual void do_post_move_processing();
28     virtual bool do_try_request(Request*);
29     virtual void acknowledge_element(Score_elem_info);
30 public:
31     int c0_position_i_;
32     String clef_type_str_;
33
34     /* ************** */
35    
36     Clef_engraver();
37     DECLARE_MY_RUNTIME_TYPEINFO;
38    
39 };
40 #endif // CLEF_HH
41