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