X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fspanner.hh;h=255b21eaa82a245e10d81b48bceaa0227a3551ae;hb=refs%2Ftags%2Frelease%2F1.1.1;hp=1152be157b5320dddd94591407f6917342d4c3f3;hpb=1a66290a98e7de8d6d41485b5b71a9f7e1fe35c7;p=lilypond.git diff --git a/lily/include/spanner.hh b/lily/include/spanner.hh index 1152be157b..255b21eaa8 100644 --- a/lily/include/spanner.hh +++ b/lily/include/spanner.hh @@ -1,14 +1,16 @@ /* spanner.hh -- part of GNU LilyPond - (c) 1996,97 Han-Wen Nienhuys + (c) 1996--1998 Han-Wen Nienhuys */ #ifndef SPANNER_HH #define SPANNER_HH #include "lily-proto.hh" -#include "score-elem.hh" +#include "score-element.hh" +#include "drul-array.hh" +#include "rod.hh" /** A symbol which is attached between two columns. A spanner is a symbol which spans across several columns, so its final appearance @@ -30,30 +32,36 @@ length of stems of notes they encompass. */ -class Spanner:public virtual Score_elem { +class Spanner : public virtual Score_element { public: - PCol *left_col_l_, *right_col_l_; - - /* *************** */ - DECLARE_MY_RUNTIME_TYPEINFO; - virtual Spanner* spanner() { return this; } - Spanner(); - bool broken_b() const; - Spanner* find_broken_piece (Line_of_score*)const; + Drul_array spanned_drul_; + void set_bounds (Direction d, Item*); + + DECLARE_MY_RUNTIME_TYPEINFO; + Spanner (); + Spanner (Spanner const &); + bool broken_b () const; + virtual Array get_rods () const; + Spanner* find_broken_piece (Line_of_score*) const; protected: - void set_my_columns(); - SCORE_ELEM_CLONE(Spanner); - - /** - this is virtual; for instance, Line_of_score overrides it. - */ - virtual void break_into_pieces (bool); - - Link_array broken_into_l_arr_; - - virtual void do_break_processing(); - virtual Interval do_width()const; - virtual void do_print()const; - virtual Line_of_score*line_l()const; + void set_my_columns (); + SCORE_ELEMENT_CLONE (Spanner); + + /** + this is virtual; for instance, Line_of_score overrides it. + */ + virtual void break_into_pieces (); + + Link_array broken_into_l_arr_; + Spanner * unbroken_original_l_; + + virtual void do_unlink (); + virtual void do_junk_links (); + virtual void do_brew_molecule (); + virtual void do_space_processing (); + virtual void do_break_processing (); + virtual Interval do_width () const; + virtual void do_print () const; + virtual Line_of_score*line_l () const; }; #endif