]> git.donarmstrong.com Git - lilypond.git/blob - lily/hara-kiri-vertical-group-spanner.cc
release: 1.1.31
[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,1999 Jan Nieuwenhuizen <janneke@gnu.org>
8   Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 */
10
11 #include "hara-kiri-vertical-group-spanner.hh"
12 #include "debug.hh"
13 #include "item.hh"
14
15 Hara_kiri_vertical_group_spanner::Hara_kiri_vertical_group_spanner()
16 {
17 }
18
19 void 
20 Hara_kiri_vertical_group_spanner::add_interesting_item (Item* n)
21 {
22   add_dependency (n);
23   interesting_items_.push (n);
24 }
25
26 void 
27 Hara_kiri_vertical_group_spanner::do_post_processing ()
28 {
29   if (!interesting_items_.empty ())
30     return;
31
32   Link_array<Score_element> childs = get_children ();
33   for (int i = 0; i < childs.size (); i++)
34     {
35       childs[i]->transparent_b_ = true;
36       childs[i]->set_empty (true);
37     }
38   set_empty (true);
39 }
40
41 void
42 Hara_kiri_vertical_group_spanner::do_substitute_dependency (Score_element*o, Score_element*n)
43 {
44   if (Item *it = dynamic_cast<Item *> (o))
45     interesting_items_.substitute (it, dynamic_cast<Item *> (n));
46 }
47
48
49 void
50 Hara_kiri_vertical_group_spanner::do_print () const
51 {
52   Axis_group_spanner::do_print ();
53 }