]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/music-output-def.hh
9a6e2d48448f63926b6972c5d1cb8eefbd1ce69f
[lilypond.git] / lily / include / music-output-def.hh
1 /*
2   music-output-def.hh -- declare Music_output_def
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef Music_output_DEF_HH
11 #define Music_output_DEF_HH
12
13 #include "string.hh"
14 #include "lily-proto.hh"
15 #include "lily-guile.hh"
16 #include "virtual-methods.hh"
17 #include "smobs.hh"
18
19 /**
20   Definition of how to output lilypond.
21  */
22 class Music_output_def  
23 {
24 public:
25   Scheme_hash_table * translator_tab_;
26
27   SCM scope_;
28   SCM scaled_fonts_;
29   
30   VIRTUAL_COPY_CONS (Music_output_def);
31   Music_output_def (Music_output_def const&);
32   Music_output_def ();
33
34   Context *get_group_translator (String type) const;
35   void assign_translator (SCM transdef);
36   SCM find_context_def (SCM name) const;
37   String outname_string () ;
38   SCM get_scmvar (String id)const;
39   SCM lookup_variable  (SCM sym) const;
40   void set_variable  (SCM, SCM sym);
41   
42   DECLARE_SMOBS (Music_output_def,);
43 };
44
45 DECLARE_UNSMOB(Music_output_def,music_output_def);
46 #endif // Music_output_DEF_HH