]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/lookup.hh
release: 0.1.39
[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 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9 #ifndef LOOKUPSYMS_HH
10 #define LOOKUPSYMS_HH
11
12 #include "atom.hh"
13 #include "fproto.hh"
14 #include "scalar.hh"
15 #include "direction.hh"
16
17 /** handy interface to symbol table
18  */
19 struct Lookup {
20   Paper_def * paper_l_;
21   Symtables *symtables_p_;
22   String texsetting;
23
24   Lookup();
25   Lookup (Lookup const &);
26   ~Lookup();
27   
28   void add (String, Symtable*);
29   void print() const;
30
31   Atom fill (Box b) const;
32   Atom beam_element (int,int,Real=0) const;
33
34   /// round slope to closest TeXslope
35   Atom beam (Real&,Real, Real) const;
36   Atom ps_beam (Real, Real, Real)const;
37   Atom tex_beam (Real&, Real) const;
38
39   Atom streepje (int type) const;
40
41   Atom vbrace (Real &dy) const;
42   Atom meter (Array<Scalar>) const;
43   Atom stem (Real y1_pos, Real y2_pos) const;
44   Atom rule_symbol (Real height, Real width) const;
45   Atom accidental (int) const;
46   Atom ball (int) const;
47   Atom flag (int, Direction) const;
48   Atom rest (int, bool outside) const;
49   Atom clef (String) const;
50   Atom bar (String, Real height) const;
51     
52   Atom dots () const;
53   Atom slur (Real &dy, Real &dx, Direction dir) const;
54   Atom tex_slur (int dy, Real &dx, Direction dir) const;
55   Atom ps_slur (Real dy, Real dx, Real dir) const;
56   Atom half_slur (int dy, Real &dx, Direction dir, int xpart) const;
57   Atom half_slur_middlepart (Real &dx, Direction dir) const;
58   Atom big_slur (int dy, Real &dx, Direction dir) const;
59   Atom text (String style, String text, int align = 1) const;
60   Atom script (String idx) const;
61   Atom hairpin (Real & width, bool decresc, bool continued) const;
62   Atom dynamic (String) const;
63 };
64
65 #endif