]> git.donarmstrong.com Git - lilypond.git/blob - lily/dot-column-engraver.cc
release: 1.3.10
[lilypond.git] / lily / dot-column-engraver.cc
1 /*   
2   dot-column-engraver.cc -- implement Dot_column_engraver
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #include "dot-column-engraver.hh"
11 #include "rhythmic-head.hh"
12 #include "dot-column.hh"
13
14 Dot_column_engraver::Dot_column_engraver ()
15 {
16   dotcol_p_ =0;
17 }
18
19 void
20 Dot_column_engraver::do_pre_move_processing ()
21 {
22   if (dotcol_p_)
23     {
24       typeset_element (dotcol_p_);
25       dotcol_p_ =0;
26     }
27   head_l_arr_.clear ();
28 }
29
30 void
31 Dot_column_engraver::acknowledge_element (Score_element_info info)
32 {
33   Rhythmic_head * h = dynamic_cast<Rhythmic_head*>(info.elem_l_);
34   if (!h)
35       return;
36
37   if (!h->dots_l ())
38     return;
39
40   if (!dotcol_p_)
41     {
42       dotcol_p_ = new Dot_column;
43       announce_element (Score_element_info (dotcol_p_, 0));
44     }
45
46   dotcol_p_->add_head (h);
47 }
48
49
50 ADD_THIS_TRANSLATOR(Dot_column_engraver);
51