source file of the GNU LilyPond music typesetter
- (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#ifndef DOT_COLUMN_HH
#define DOT_COLUMN_HH
-#include "axis-group-item.hh"
+#include "lily-guile.hh"
+
+class Grob;
/**
- Group dots. This is needed because, the dots have to be aligned per voice
- */
-class Dot_column : public Axis_group_item
+ Group dots. This is needed because, the dots have to be aligned per voice
+*/
+class Dot_column // interface
{
- Link_array<Rhythmic_head> head_l_arr_;
- Link_array<Dots> dot_l_arr_;
-
public:
-
- void add_head (Rhythmic_head*);
- void add_dots (Dots*);
- Dot_column ();
-protected:
- virtual void do_pre_processing ();
- virtual void do_substitute_element_pointer (Score_element *o, Score_element*n);
+ static int compare (Grob *const &, Grob *const &);
+ static void add_head (Grob *dotcol, Grob *rh);
+
+ static bool has_interface (Grob *);
+ DECLARE_SCHEME_CALLBACK (force_shift_callback, (SCM, SCM));
+ DECLARE_SCHEME_CALLBACK (side_position, (SCM, SCM));
+ static SCM do_shifts (Grob *);
};
#endif // DOT_COLUMN_HH