]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/input-engraver.hh
release: 0.0.72pre
[lilypond.git] / lily / include / input-engraver.hh
1 /*
2   input-engraver.hh -- declare Input_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 INPUT_ENGRAVER_HH
11 #define INPUT_ENGRAVER_HH
12
13 #include "plist.hh"
14 #include "string.hh"
15 #include "lily-proto.hh"
16 #include "input.hh"
17 #include "string.hh"
18 #include "varray.hh"
19
20 struct Input_engraver : Input { 
21     Pointer_list<Input_engraver*> contains_igrav_p_list_;
22     Array<String> consists_str_arr_;
23     Array<String> alias_str_arr_;
24     String name_str_;
25
26     void add(Input_engraver *);
27     bool is_name_b(String);
28     bool accept_req_b();
29     bool accepts_b(String);
30     void print() const;
31     Engraver_group_engraver * get_group_engraver_p();
32     Input_engraver * get_default_igrav_l();
33     Input_engraver * recursive_find(String nm);
34     Input_engraver * find_igrav_l(String nm);    
35 };
36
37
38 void add_global_input_engraver(Input_engraver* igrav_p);
39 Input_engraver*lookup_grav(String);
40 Request_engraver*get_engraver_p(String s);
41
42 #endif // INPUT_ENGRAVER_HH