2 spanner.hh -- part of LilyPond
4 (c) 1996,97 Han-Wen Nienhuys
11 #include "staff-elem.hh"
14 /** a symbol which is attached between two columns. A spanner is a
15 symbol which spans across several columns, so its final appearance
16 can only be calculated after the breaking problem is solved.
28 Spanner should know about the items which it should consider:
29 e.g. slurs should be steep enough to "enclose" all those items. This
30 is absolutely necessary for beams, since they have to adjust the
31 length of stems of notes they encompass.
34 class Spanner:public Staff_elem {
36 PCol *left_col_l_, *right_col_l_;
40 NAME_MEMBERS(Spanner);
41 virtual Spanner* spanner() { return this; }
43 Spanner *broken_at(PCol *c1, PCol *c2) const;
46 virtual Interval do_width()const;
51 clone a piece of this spanner.
53 c1 >= start, c2 <= stop
55 virtual Spanner *do_break_at( PCol *c1, PCol *c2) const=0;