X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftext-item.hh;h=e8479e9d748003c28d779a7825891275d8333add;hb=e10092f994cb34537e4cfb1f4848c1f610cd58ff;hp=ae0b55630800943c1f638d8cf14e1b7f066acd5e;hpb=daee8243ff1c66bc714455a2d265ab02f03546ec;p=lilypond.git diff --git a/lily/include/text-item.hh b/lily/include/text-item.hh index ae0b556308..e8479e9d74 100644 --- a/lily/include/text-item.hh +++ b/lily/include/text-item.hh @@ -1,30 +1,34 @@ -/* - 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 + Jan Nieuwenhuizen + */ -#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" + +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); -#endif // TEXT_HH + static bool has_interface (Grob*); + + +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 */