]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/text-item.hh
* Another grand 2003 update.
[lilypond.git] / lily / include / text-item.hh
1 /*   
2   text-item.hh -- declare Text_item
3
4   source file of the GNU LilyPond music typesetter
5   
6   (c)  1998--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   Jan Nieuwenhuizen <janneke@gnu.org>
8  */
9
10 #ifndef TEXT_ITEM
11 #define TEXT_ITEM
12
13
14 #include "lily-proto.hh"
15 #include "lily-guile.hh"
16 #include "molecule.hh"
17
18 class Text_item
19 {
20 public:
21   DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
22   DECLARE_SCHEME_CALLBACK (text_to_molecule, (SCM,SCM, SCM));
23   static Molecule text2molecule (Grob *me, SCM text, SCM properties);
24   static Molecule string2molecule (Grob *me, SCM text, SCM properties);
25   static Molecule markup_text2molecule (Grob *me, SCM markup_text, SCM properties);
26   static bool has_interface (Grob*);
27   
28 private:
29   static Molecule lookup_character (Grob *me, Font_metric*, SCM char_name);
30   static Molecule lookup_text (Grob *me, Font_metric*, SCM text);
31 };
32
33 bool new_markup_p (SCM) ;
34 SCM new_markup_brewer ();
35
36
37 #endif /* TEXT_ITEM */