]> git.donarmstrong.com Git - lilypond.git/blob - lily/spanner.cc
release: 0.0.46.jcn1
[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     
28     return span_p;
29 }
30
31 Spanner::Spanner()
32 {
33     left_col_l_ = right_col_l_ = 0;
34 }
35
36
37 Interval
38 Spanner::width()const
39 {
40     Real r = right_col_l_->hpos;
41     Real l = left_col_l_->hpos;
42     assert(*left_col_l_ < *right_col_l_);
43     assert(r>=l);
44         
45     return Interval(0, r-l);
46 }