]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/text-item.hh
* scm/chords-ignatzek.scm: new file.
[lilypond.git] / lily / include / text-item.hh
index 8c6ba84f69348c13c4457254736ff12a3f3c4d0b..4de0766c73209bd931c8dbd261a166b13f4581d5 100644 (file)
@@ -1,47 +1,37 @@
-/*
-  text-item.hh -- part of GNU LilyPond
+/*   
+  text-item.hh -- declare Text_item
 
-  (c) 1996--1998 Han-Wen Nienhuys
-*/
-
-#ifndef TEXT_ITEM_HH
-#define TEXT_ITEM_HH
-
-#include "text-def.hh"
-#include "item.hh"
-#include "staff-side.hh"
-
-/**
-  print a fixed width text above or below the staff.
+  source file of the GNU LilyPond music typesetter
+  
+  (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  Jan Nieuwenhuizen <janneke@gnu.org>
  */
-class Text_item : public Item ,public Staff_side
-{
-public:
 
-    /// do I have width?
-    bool fat_b_;
-    
-    /* ***************/
+#ifndef TEXT_ITEM
+#define TEXT_ITEM
 
-    Text_item (General_script_def* ,Direction dir=CENTER);
-    virtual ~Text_item ();
-    DECLARE_MY_RUNTIME_TYPEINFO;
 
-//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;
+#include "lily-proto.hh"
+#include "lily-guile.hh"
+#include "molecule.hh"
 
+class Text_item
+{
+public:
+  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (text_to_molecule, (SCM,SCM, 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);
+  static bool has_interface (Grob*);
+  
 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);
 };
 
+bool new_markup_p (SCM) ;
+SCM new_markup_brewer ();
 
-#endif // TEXT_HH
 
+#endif /* TEXT_ITEM */