lilypond-0.0.50
[lilypond.git] / lily / spanner.cc
blobd2a8c2bc756a59224670a4155cdc7d1cb033f895
1 #include "debug.hh"
2 #include "spanner.hh"
3 #include "p-col.hh"
7 IMPLEMENT_STATIC_NAME(Spanner);
9 void
10 Spanner::do_print()const
12 mtor << " (unknown) ";
15 Spanner*
16 Spanner::broken_at(PCol*c1, PCol *c2)const
18 Spanner *span_p = do_break_at(c1,c2);
20 for (int i=0; i < dependant_l_arr_.size(); i++) {
21 dependant_l_arr_[i]->
22 substitute_dependency((Staff_elem*)this, span_p);
25 span_p->left_col_l_ = c1;
26 span_p->right_col_l_ = c2;
28 return span_p;
31 Spanner::Spanner()
33 left_col_l_ = right_col_l_ = 0;
37 Interval
38 Spanner::width()const
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);
45 return Interval(0, r-l);