lilypond-1.3.16
[lilypond.git] / lily / dot-column-engraver.cc
blobccf70320b4df75720b767ea4d1ee7fb42e3011de
1 /*
2 dot-column-engraver.cc -- implement Dot_column_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
8 */
10 #include "dot-column-engraver.hh"
11 #include "rhythmic-head.hh"
12 #include "dot-column.hh"
14 Dot_column_engraver::Dot_column_engraver ()
16 dotcol_p_ =0;
19 void
20 Dot_column_engraver::do_pre_move_processing ()
22 if (dotcol_p_)
24 typeset_element (dotcol_p_);
25 dotcol_p_ =0;
27 head_l_arr_.clear ();
30 void
31 Dot_column_engraver::acknowledge_element (Score_element_info info)
33 Rhythmic_head * h = dynamic_cast<Rhythmic_head*>(info.elem_l_);
34 if (!h)
35 return;
37 if (!h->dots_l ())
38 return;
40 if (!dotcol_p_)
42 dotcol_p_ = new Dot_column;
43 announce_element (Score_element_info (dotcol_p_, 0));
46 dotcol_p_->add_head (h);
50 ADD_THIS_TRANSLATOR(Dot_column_engraver);