]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.52
authorfred <fred>
Sun, 24 Mar 2002 19:39:28 +0000 (19:39 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:39:28 +0000 (19:39 +0000)
lily/include/note-column.hh

index b5d71798b393bb3f1a85d1db83a0584bd0fa6f3a..b6562ed83b6bdf3ec8159a24f9376e0d24c8dae8 100644 (file)
 #ifndef NOTE_COLUMN_HH
 #define NOTE_COLUMN_HH
 #include "item.hh"
+#include "interval.hh"
 
-/** 
-  a struct for treating a group of noteheads (noteheads, stem, scripts )
-  as a single entity.  
-  */
+/** a struct for treating a group of noteheads (noteheads, stem
+  (chord) and scripts ) as a single entity.  */
 class Note_column : public Item {
-    Stem * stem_l_;
-    Array<Notehead*> head_l_arr_;
-    Array<Script *> script_l_arr_;
-    
-protected:
-    virtual void translate(Offset);
     virtual  Interval do_height()const;
     virtual void do_print() const ;
     virtual void do_pre_processing();
     virtual Interval do_width()const;
 public:
+    bool h_shift_b_;
+    Stem * stem_l_;
+    Array<Script *> script_l_arr_;
+    bool rest_b_;
+    Array<Notehead*> head_l_arr_;
+    
+    /** The relative position of the "voice" containing this
+      chord. Normally this would be the same as the stem direction,
+      but rests do not have stems.  */
+    int dir_i_;
+   
+    Interval_t<int> head_positions_interval()const;
     
     NAME_MEMBERS(Note_column);
     Note_column();
     void add(Notehead *);
     void add(Stem *);
+    virtual void translate(Offset);
+    void sort();
     void add(Script *);
 };
 #endif // NOTE_COLUMN_HH