]> git.donarmstrong.com Git - lilypond.git/blob - lily/collision-grav.cc
patch::: 0.1.12.jcn2: kliener pats
[lilypond.git] / lily / collision-grav.cc
1 /*
2   collision-reg.cc -- implement Collision_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9 #include "note-column.hh"
10 #include "collision-grav.hh"
11 #include "collision.hh"
12
13 void
14 Collision_engraver::acknowledge_element (Score_elem_info i)
15 {
16   if (!(i.elem_l_->name() == Note_column::static_name ()))
17         return;
18
19   if (!col_p_) 
20     {
21         col_p_ = new Collision;
22         announce_element (Score_elem_info (col_p_,0));
23     }
24   col_p_->add ((Note_column*)i.elem_l_->item());
25 }
26
27 void
28 Collision_engraver::do_pre_move_processing()
29 {
30   if (col_p_) 
31     {
32         typeset_element (col_p_);
33         col_p_ =0;
34     }
35 }
36 Collision_engraver::Collision_engraver()
37 {
38   col_p_ =0;
39 }
40
41
42 IMPLEMENT_IS_TYPE_B1(Collision_engraver,Engraver);
43 ADD_THIS_ENGRAVER(Collision_engraver);