]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/text-item.hh
release: 1.0.15
[lilypond.git] / lily / include / text-item.hh
index ae0b55630800943c1f638d8cf14e1b7f066acd5e..b0ffa91f33d701ab10438bd12d7ff931e88d71c1 100644 (file)
@@ -1,7 +1,7 @@
 /*
-  text.hh -- part of LilyPond
+  text-item.hh -- part of GNU LilyPond
 
-  (c) 1996,97 Han-Wen Nienhuys
+  (c) 1996--1998 Han-Wen Nienhuys
 */
 
 #ifndef TEXT_ITEM_HH
@@ -9,20 +9,36 @@
 
 #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();
+#include "staff-side.hh"
+
+/**
+  print a fixed width text above or below the staff.
+ */
+class Text_item : public Item ,public Staff_side
+{
+public:
+
+    /// do I have width?
+    bool fat_b_;
     
-    Text_item(Text_req*,int);
+
+    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;
+
+private:
+//    void init (Text_def* tdef_l); 
 };