X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftext-item.hh;h=e8479e9d748003c28d779a7825891275d8333add;hb=d565eec0e4b9ecbfef333802a28435b1f54e8257;hp=b0ffa91f33d701ab10438bd12d7ff931e88d71c1;hpb=59ed0cee2aae58a3f0483f21261c68aee406fa10;p=lilypond.git diff --git a/lily/include/text-item.hh b/lily/include/text-item.hh index b0ffa91f33..e8479e9d74 100644 --- a/lily/include/text-item.hh +++ b/lily/include/text-item.hh @@ -1,46 +1,34 @@ -/* - text-item.hh -- part of GNU LilyPond +/* + text-item.hh -- declare Text_item - (c) 1996--1998 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" -#include "staff-side.hh" -/** - print a fixed width text above or below the staff. - */ -class Text_item : public Item ,public Staff_side +#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); - /// do I have width? - bool fat_b_; - - - Text_item (General_script_def* ,Direction dir=CENTER); - virtual ~Text_item (); - DECLARE_MY_RUNTIME_TYPEINFO; + static bool has_interface (Grob*); -//protected: - // ugh: so, are we a text-def, or can this vary? - General_script_def* tdef_p_; -protected: - - virtual Interval symbol_height () const; - - virtual Molecule* brew_molecule_p () const; - virtual void do_pre_processing (); - virtual Real get_position_f () const; private: -// void init (Text_def* tdef_l); + static Molecule lookup_character (Grob *me, Font_metric*, SCM char_name); + static Molecule lookup_text (Grob *me, Font_metric*, SCM text); }; - -#endif // TEXT_HH - +#endif /* TEXT_ITEM */