]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/lookup.hh
release: 1.3.71
[lilypond.git] / lily / include / lookup.hh
1 /*
2   lookup.hh -- declare Lookup
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   Jan Nieuwenhuizen <janneke@gnu.org>
8 */
9
10 #ifndef LOOKUP_HH
11 #define LOOKUP_HH
12
13 #include "smobs.hh"
14 #include "lily-guile.hh"
15 #include "string.hh"
16 #include "molecule.hh"
17 #include "flower-proto.hh"
18 #include "direction.hh"
19 #include "box.hh"
20
21 /**
22    handy interface to symbol table
23    TODO: move this into GUILE?
24  */
25 class Lookup
26 {
27
28
29   Lookup ();
30   Lookup (Lookup const&);
31
32   friend class Brutus;          // kai su, teknon. (make GCC shut up.)
33   
34 public:
35   DECLARE_SMOBS;
36   static SCM make_lookup ();
37   String font_name_;
38   Adobe_font_metric * afm_l_;
39
40   Molecule afm_find (String, bool warn=true) const;
41   Molecule accordion (SCM arg, Real interline_f) const;
42
43   static Molecule frame (Box b, Real thick);
44   static Molecule slur (Bezier controls, Real cthick, Real thick) ;
45   static Molecule beam (Real, Real, Real) ;
46   static Molecule dashed_slur (Bezier, Real thick, Real dash) ;
47   static Molecule blank (Box b) ;
48   static Molecule filledbox (Box b) ;  
49   static Molecule text (String style, String text, Paper_def*) ;
50 };
51 Lookup* unsmob_lookup (SCM);
52 #endif // LOOKUP_HH