2 note-column.hh -- declare Note_column
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #ifndef NOTE_COLUMN_HH
11 #define NOTE_COLUMN_HH
14 #include "axis-group-item.hh"
16 /** a struct for treating a group of noteheads (noteheads, stem
17 (chord) and scripts) as a single entity. */
18 class Note_column : public Axis_group_item {
20 virtual void do_post_processing () ;
21 virtual void do_print () const;
22 virtual void do_substitute_element_pointer (Score_element*,Score_element*);
25 static int shift_compare (Note_column *const &, Note_column*const&);
27 /** The relative position of the "voice" containing this
28 chord. Normally this would be the same as the stem direction,
32 Direction dir () const;
35 Link_array<Note_head> head_l_arr_;
36 Link_array<Rest> rest_l_arr_;
38 Interval_t<int> head_positions_interval() const;
39 // Interval width () const;
41 void translate_rests(int dy);
44 void set_stem (Stem*);
45 void set_dotcol (Dot_column*);
46 void add_head (Rhythmic_head*);
51 #endif // NOTE_COLUMN_HH