]> git.donarmstrong.com Git - lilypond.git/blob - lily/hara-kiri-vertical-group-spanner.cc
38468cf91cf8677ad8e3d033e79ebb6500f17d7e
[lilypond.git] / lily / hara-kiri-vertical-group-spanner.cc
1 /*
2   hara-kiri-vertical-group-spanner.cc 
3     -- implement Hara_kiri_vertical_group_spanner
4
5   source file of the GNU LilyPond music typesetter
6
7   (c)  1998 Jan Nieuwenhuizen <janneke@gnu.org>
8 */
9
10 #include "hara-kiri-vertical-group-spanner.hh"
11 #include "debug.hh"
12 #include "note-head.hh"
13 #include "bar.hh"
14
15 IMPLEMENT_IS_TYPE_B1 (Hara_kiri_vertical_group_spanner, Vertical_group_spanner);
16
17 Hara_kiri_vertical_group_spanner::Hara_kiri_vertical_group_spanner()
18 {
19 }
20
21 void 
22 Hara_kiri_vertical_group_spanner::add_note (Note_head* n)
23 {
24   add_dependency (n);
25   head_l_arr_.push (n);
26 }
27
28 void 
29 Hara_kiri_vertical_group_spanner::do_post_processing ()
30 {
31   if (!head_l_arr_.empty ())
32     return;
33
34   Link_array<Score_element> childs = get_children ();
35   for (int i = 0; i < childs.size (); i++)
36     {
37       childs[i]->transparent_b_ = true;
38       childs[i]->set_empty (true);
39     }
40   set_empty (true);
41 }
42
43 void
44 Hara_kiri_vertical_group_spanner::do_substitute_dependency (Score_element*o, Score_element*n)
45 {
46   if (o->is_type_b (Note_head::static_name ()))
47     head_l_arr_.substitute ((Note_head*)dynamic_cast <Item *> (o), 
48       (n)? (Note_head*)dynamic_cast <Item *> (n) : 0);
49 }
50
51
52 void
53 Hara_kiri_vertical_group_spanner::do_print () const
54 {
55   Axis_group_spanner::do_print ();
56 }