]> git.donarmstrong.com Git - lilypond.git/blob - lily/spanner.cc
87a01078aa675e08e805cd2624610e63960ef980
[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 < dependants.size(); i++) {
21         dependants[i]->substitute_dependency((Staff_elem*)this, span_p); 
22     }
23     
24     span_p->left = c1;
25     span_p->right = c2;
26     
27     return span_p;
28 }
29
30 Spanner::Spanner()
31 {
32     left = right = 0;
33 }
34
35
36 Interval
37 Spanner::width()const
38 {
39     Real r = right->hpos;
40     Real l = left->hpos;
41     assert(*left < *right);
42     assert(r>=l);
43         
44     return Interval(0, r-l);
45 }