lilypond-0.1.16
[lilypond.git] / src / complexstaff.cc
blob627b5745e20f4c3f6e86465e7fd2d39ac2878649
1 #include "debug.hh"
2 #include "complexstaff.hh"
3 #include "complexwalker.hh"
4 #include "score.hh"
5 #include "pscore.hh"
6 #include "staffsym.hh"
7 #include "pscore.hh"
8 #include "bar.hh"
9 #include "meter.hh"
10 #include "scorecolumn.hh"
11 #include "commandrequest.hh"
13 const NO_LINES = 5;
15 /** Aside from putting fields right, this generates the staff symbol.
17 void
18 Complex_staff::set_output(PScore* pscore_l )
20 pstaff_l_ = new PStaff(pscore_l);
21 pscore_l_ = pscore_l;
22 pscore_l_->add(pstaff_l_);
24 Staff_symbol *span_p = new Staff_symbol(NO_LINES);
26 Score_column* col_last
27 =score_l_->find_col(score_l_->last(), false);
28 Score_column* col_first=
29 score_l_->find_col(0, false);
31 span_p->set_extent(col_first->pcol_l_->postbreak_p_,
32 col_last->pcol_l_->prebreak_p_);
34 pscore_l_->typeset_spanner(span_p, pstaff_l_);
38 Staff_walker *
39 Complex_staff::get_walker_p()
41 return new Complex_walker(this);