2 dot-column.cc -- implement Dot_column
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "dot-column.hh"
11 #include "rhythmic-head.hh"
14 Dot_column::add_dots (Dots *d)
22 Dot_column::add_head (Rhythmic_head *r)
29 add_dots (r->dots_l_);
33 Dot_column::do_substitute_dependency (Score_element*o,Score_element*n)
35 Item *oi =o->access_Item ();
36 Item *ni = n?n->access_Item ():0;
38 if (oi&&oi->is_type_b (Rhythmic_head::static_name ()))
39 head_l_arr_.substitute ((Rhythmic_head*)oi, (Rhythmic_head*)ni);
40 else if (oi && oi->is_type_b (Dots::static_name ()))
41 dot_l_arr_.substitute ((Dots*) oi, (Dots*) ni);
45 Dot_column::do_pre_processing ()
48 for (int i=0; i < head_l_arr_.size (); i++)
49 w.unite (head_l_arr_[i]->width ());
52 translate_axis (w[RIGHT] - width() [LEFT],X_AXIS);
55 IMPLEMENT_IS_TYPE_B1(Dot_column, Horizontal_group_item);