source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#ifndef DOT_COLUMN_HH
#define DOT_COLUMN_HH
-#include "horizontal-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 Horizontal_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_;
- void add (Dots*);
-
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- void add (Rhythmic_head*);
-protected:
- virtual void do_pre_processing ();
- virtual void do_substitute_dependency (Score_elem *o, Score_elem*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