]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/lookup.hh
patch::: 1.3.96.jcn7
[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   Lookup ();
28   Lookup (Lookup const&);
29   DECLARE_SIMPLE_SMOBS(Lookup,);  
30 public:
31
32   static SCM make_lookup ();
33   String font_name_;
34   Adobe_font_metric * afm_l_;
35
36   Molecule afm_find (String, bool warn=true) const;
37   Molecule accordion (SCM arg, Real interline_f) const;
38
39   static Molecule frame (Box b, Real thick);
40   static Molecule slur (Bezier controls, Real cthick, Real thick) ;
41   static Molecule beam (Real, Real, Real) ;
42   static Molecule dashed_slur (Bezier, Real thick, Real dash) ;
43   static Molecule blank (Box b) ;
44   static Molecule filledbox (Box b) ;  
45 };
46 Lookup* unsmob_lookup (SCM);
47 #endif // LOOKUP_HH