]> git.donarmstrong.com Git - lilypond.git/blob - lily/axis-group-item.cc
2706fa8faa658fc8dffcd57fa05489f8bab009f0
[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--1998 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 = 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 }
23
24 void
25 Axis_group_item::do_breakable_col_processing()
26 {
27   if (!breakable_b_ || !column_l ()->breakable_b_) // ugh should merge with Item code
28     return;
29   
30   OK();
31   copy_breakable_items();
32   
33             
34   Link_array<Score_elem> elems = elem_l_arr ();
35   for (int i=0; i < elems.size(); i++) 
36     {
37       Item* it_l = elems[i]->item();
38       Direction  j=LEFT;
39       do 
40         {
41           Item *new_l = 
42             it_l->find_prebroken_piece (broken_to_drul_[j]->break_status_i_);
43           ((Axis_group_item*)broken_to_drul_[j])->add_element (new_l);
44         }
45       while (flip(&j)!=LEFT);
46     }
47   Item::do_breakable_col_processing();
48 }
49
50 void
51 Axis_group_item::do_print() const
52
53   Axis_group_element::do_print(); 
54   Item::do_print ();
55 }