-/*
- text.hh -- part of LilyPond
+/*
+ text-item.hh -- declare Text_item
- (c) 1996,97 Han-Wen Nienhuys
-*/
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ Jan Nieuwenhuizen <janneke@gnu.org>
+ */
-#ifndef TEXT_ITEM_HH
-#define TEXT_ITEM_HH
+#ifndef TEXT_ITEM
+#define TEXT_ITEM
-#include "text-def.hh"
-#include "item.hh"
-
-struct Text_item : Item {
- int pos_i_;
- int staffsize_i_;
- int dir_i_;
- Text_def* tdef_l_;
-
- /* ***************/
- NAME_MEMBERS(Text_item);
- virtual void set_default_index();
- Molecule* brew_molecule_p() const;
- void do_pre_processing();
-
- Text_item(Text_req*,int);
-};
+#include "lily-proto.hh"
+#include "lily-guile.hh"
+#include "molecule.hh"
-#endif // TEXT_HH
+class Text_item
+{
+public:
+ DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+ static Molecule text2molecule (Grob *me, SCM text, SCM properties);
+ static Molecule string2molecule (Grob *me, SCM text, SCM properties);
+ static Molecule markup_text2molecule (Grob *me, SCM markup_text, SCM properties);
+
+private:
+ static Molecule lookup_character (Grob *me, Font_metric*, SCM char_name);
+ static Molecule lookup_text (Grob *me, Font_metric*, SCM text);
+};
+#endif /* TEXT_ITEM */