]> git.donarmstrong.com Git - lilypond.git/blob - lily/spanner.cc
release: 0.0.63
[lilypond.git] / lily / spanner.cc
1 #include "debug.hh"
2 #include "spanner.hh"
3 #include "p-col.hh"
4
5
6
7 IMPLEMENT_STATIC_NAME(Spanner);
8
9 void
10 Spanner::do_print()const
11 {
12     mtor << " (unknown) ";
13 }
14
15 Spanner*
16 Spanner::broken_at(PCol*c1, PCol *c2)const
17 {
18     Spanner *span_p = do_break_at(c1,c2);
19
20     for (int i=0; i < dependant_l_arr_.size(); i++) {
21         dependant_l_arr_[i]->
22             substitute_dependency((Staff_elem*)this, span_p); 
23     }
24     
25     span_p->left_col_l_ = c1;
26     span_p->right_col_l_ = c2;
27     span_p->pstaff_l_ = pstaff_l_;
28     
29     return span_p;
30 }
31
32 Spanner::Spanner()
33 {
34     left_col_l_ = right_col_l_ = 0;
35 }
36
37
38 Interval
39 Spanner::do_width()const
40 {
41     Real r = right_col_l_->hpos;
42     Real l = left_col_l_->hpos;
43     assert(*left_col_l_ < *right_col_l_);
44     assert(r>=l);
45         
46     return Interval(0, r-l);
47 }