]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/lookup.hh
patch::: 1.0.12.jcn2: opniewvisite
[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--1998 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 "atom.hh"
14 #include "fproto.hh"
15 #include "scalar.hh"
16 #include "direction.hh"
17 #include "curve.hh"
18 #include "afm.hh"
19 #include "symtable.hh"
20
21 /** handy interface to symbol table
22  */
23 class Lookup
24 {
25 public:
26   Lookup ();
27   Lookup (Lookup const&);
28   Lookup (Symtables const&);
29   virtual ~Lookup ();
30   
31   Atom accidental (int) const;
32   void add (String, Symtable*);
33   virtual Atom afm_find (String s) const = 0;
34   Atom afm_find (String, String) const; 
35   Atom ball (int) const;
36   Atom bar (String, Real height) const;
37   Atom beam (Real,Real, Real) const;
38   Atom clef (String) const;
39   virtual Atom dashed_slur (Array<Offset> controls, Real thick, Real dash) const = 0;
40   Atom dots () const;
41   Atom dynamic (String) const;
42   Atom fill (Box b) const;
43   Atom flag (int, Direction) const;
44   virtual Atom hairpin (Real width, bool decresc, bool continued) const = 0;
45   virtual Atom plet (Real dy, Real dx, Direction dir) const = 0;
46   void print () const;
47   virtual Atom ps_beam (Real slope, Real width, Real thick) const = 0;
48   Atom rest (int, bool outside) const;
49   Atom rule_symbol (Real height, Real width) const;
50   Atom script (String idx) const;
51   virtual Atom stem (Real y1_pos, Real y2_pos) const = 0;
52   Atom stem (Real y1_pos, Real y2_pos, String) const;
53   virtual Atom slur (Array<Offset> controls) const = 0;
54   Atom streepje (int type) const;
55   Atom text (String style, String text) const;
56   Atom vbrace (Real &dy) const;
57   virtual Atom vbracket (Real &dy) const = 0;
58   Atom special_time_signature (String) const;
59   Atom time_signature (Array<Scalar>) const;
60
61   Paper_def * paper_l_;
62   Symtables *symtables_p_;
63   String font_;
64   String font_path_;  
65   Adobe_font_metric * afm_p_;
66 };
67
68 #endif // LOOKUP_HH