-/*
- text.hh -- part of LilyPond
+/*
+ text-item.hh -- declare markup functions
- (c) 1996,97 Han-Wen Nienhuys
-*/
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998--2004 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"
-#include "staff-side.hh"
-/**
- print a fixed width text above or below the staff.
- */
-class Text_item : public Item ,public Staff_side{
- void init(Text_def* tdef_l);
- Text_def* tdef_p_;
+#include "lily-proto.hh"
+#include "lily-guile.hh"
+#include "stencil.hh"
+class Text_interface
+{
public:
- Text_def * tdef_l();
- int pos_i_;
-
- /* ***************/
-
- NAME_MEMBERS(Text_item);
- virtual void set_default_index();
- Molecule* brew_molecule_p() const;
- void do_pre_processing();
- Text_item(Text_def*);
- Text_item(Text_req*);
- ~Text_item();
+ DECLARE_SCHEME_CALLBACK (print, (SCM));
+ DECLARE_SCHEME_CALLBACK (interpret_markup, (SCM, SCM, SCM));
+ DECLARE_SCHEME_CALLBACK (interpret_string, (SCM, SCM, SCM, SCM));
+ static bool has_interface (Grob*);
+ static bool markup_p (SCM) ;
};
-
-#endif // TEXT_HH
-
+#endif /* TEXT_ITEM */