]> git.donarmstrong.com Git - lilypond.git/blob - lily/score-align-grav.cc
b56e6777c20c04907c7d339e6c3246b66120cda2
[lilypond.git] / lily / score-align-grav.cc
1 /*
2   score-align-reg.cc -- implement Score_align_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #include "elem-group-item.hh"
11 #include "score-align-grav.hh"
12 #include "item.hh"
13
14 Score_align_engraver::Score_align_engraver()
15 {
16     type_ch_C_ = 0;
17     priority_i_ =0;
18     align_p_=0;
19 }
20
21 void
22 Score_align_engraver::do_pre_move_processing()
23 {
24     if (align_p_) {
25         typeset_breakable_item( align_p_);
26         align_p_ =0;
27     }
28 }
29
30 void
31 Score_align_engraver::acknowledge_element(Score_elem_info inf)
32 {
33     if (inf.elem_l_->is_type_b(type_ch_C_ )) {
34         
35         if (! align_p_ ) {
36             align_p_ = new Horizontal_group_item;
37             announce_element(Score_elem_info(align_p_,0));
38         }
39         
40         align_p_->add_element(inf.elem_l_);
41     }
42 }
43
44 IMPLEMENT_STATIC_NAME(Score_align_engraver)
45 IMPLEMENT_IS_TYPE_B1(Score_align_engraver,Engraver);