From: fred Date: Wed, 9 Apr 1997 23:47:15 +0000 (+0000) Subject: lilypond-0.0.50 X-Git-Tag: release/1.5.59~6152 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=8ea7f51ce7ce5b21150822a54f35497347ff550a;p=lilypond.git lilypond-0.0.50 --- diff --git a/lily/include/spanner.hh b/lily/include/spanner.hh index 3bb547b528..d3ca04af5e 100644 --- a/lily/include/spanner.hh +++ b/lily/include/spanner.hh @@ -11,44 +11,47 @@ #include "staff-elem.hh" -/** a symbol which is attached between two columns. A spanner is a symbol which spans across several columns, so its - final appearance can only be calculated after the breaking problem - is solved. +/** a symbol which is attached between two columns. A spanner is a + symbol which spans across several columns, so its final appearance + can only be calculated after the breaking problem is solved. Examples - - (de)crescendo - - slur - - beam - - bracket + \begin{itemize} + \item (de)crescendo + \item slur + \item beam + \item bracket + \end{itemize} Spanner should know about the items which it should consider: - e.g. slurs should be steep enough to "enclose" all those items. This - is absolutely necessary for beams, since they have to adjust the - length of stems of notes they encompass. + e.g. slurs should be steep enough to "enclose" all those items. This + is absolutely necessary for beams, since they have to adjust the + length of stems of notes they encompass. */ -struct Spanner:Staff_elem { +class Spanner:public Staff_elem { +public: PCol *left_col_l_, *right_col_l_; /* *************** */ - + NAME_MEMBERS(Spanner); + virtual Spanner* spanner() { return this; } Spanner(); - virtual Interval width()const; - void do_print()const; - Spanner *broken_at(PCol *c1, PCol *c2) const; - virtual Spanner* spanner() { return this; } protected: + virtual Interval do_width()const; + void do_print()const; + + /** - clone a piece of this spanner. - PRE - c1 >= start, c2 <= stop + clone a piece of this spanner. + PRE + c1 >= start, c2 <= stop */ virtual Spanner *do_break_at( PCol *c1, PCol *c2) const=0; - NAME_MEMBERS(Spanner); }; #endif