]> git.donarmstrong.com Git - lilypond.git/blob - lily/axis-group-item.cc
325c2a029723f93f5352fb357b030ba1f605a24e
[lilypond.git] / lily / axis-group-item.cc
1 /*
2   axis-item.cc -- implement Axis_group_item
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8 #include "axis-group-item.hh"
9 #include "p-col.hh"
10
11 IMPLEMENT_IS_TYPE_B2(Axis_group_item, Axis_group_element, Item);
12
13 void
14 Axis_group_item::OK() const
15 {
16   Link_array<Score_elem> elems = axis_admin_.elem_l_arr_; 
17   for (int i=0; i < elems.size(); i++) 
18     {
19         Item * it_l = elems[i]->item();
20         assert (it_l);
21   
22         // somebody probably broke it in pieces
23         assert (it_l->pcol_l_ == pcol_l_);
24     }
25 }
26
27 void
28 Axis_group_item::do_breakable_col_processing()
29 {
30   if (!pcol_l_->breakable_b())
31         return;
32   OK();
33   copy_breakable_items();
34   
35             
36   Link_array<Score_elem> elems = axis_admin_.elem_l_arr_; 
37   for (int i=0; i < elems.size(); i++) 
38     {
39         Item* it_l = elems[i]->item();
40         for ( int j=0; j < 2; j++) 
41           {
42             Item *new_l = it_l->find_prebroken_piece (broken_to_a_[j]->pcol_l_);
43             ((Axis_group_item*)broken_to_a_[j])->add_element (new_l);
44           }
45     }
46   Item::do_breakable_col_processing();
47 }
48
49 void
50 Axis_group_item::do_print() const
51
52   Axis_group_element::do_print(); 
53 }