2 translator.hh -- declare Translator
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
14 #include "lily-proto.hh"
15 #include "virtual-methods.hh"
17 /** Make some kind of #Element#s from Requests. Elements are made by
18 hierarchically grouped #Translator#s
26 virtual Global_translator *global_l() { return 0; }
28 virtual void print() const;
30 /// Score_register = 0, Staff_registers = 1, etc)
31 virtual int depth_i() const=0;
32 virtual bool is_bottom_engraver_b() const { return false; }
33 virtual bool try_request (Request*);
34 virtual Translator *find_get_translator_l (String name, String id)=0;
35 virtual Translator *ancestor_l (int l=1)=0;
36 virtual ~Translator(){}
37 DECLARE_MY_RUNTIME_TYPEINFO;
39 virtual Translator *get_default_interpreter()=0;
42 #endif // TRANSLATOR_HH