X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fspanner.hh;h=f0c82bb963dc31107129688f8440e6d88798bbb8;hb=af42a04d7235bfc3cb2cd1a6df92153d8be7867f;hp=77f272b4cabe9e397b0afb2a24ba9069eb660cc7;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/include/spanner.hh b/lily/include/spanner.hh index 77f272b4ca..f0c82bb963 100644 --- a/lily/include/spanner.hh +++ b/lily/include/spanner.hh @@ -1,7 +1,7 @@ /* spanner.hh -- part of GNU LilyPond - (c) 1996--2006 Han-Wen Nienhuys + (c) 1996--2007 Han-Wen Nienhuys */ #ifndef SPANNER_HH @@ -29,47 +29,50 @@ class Spanner : public Grob { Drul_array spanned_drul_; - int break_index_; + vsize break_index_; DECLARE_CLASSNAME(Spanner); public: DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM)); + DECLARE_SCHEME_CALLBACK (bounds_width, (SCM)); - Link_array broken_intos_; - - int get_break_index () const; + vector broken_intos_; + vsize get_break_index () const; + Spanner *broken_neighbor (Direction d) const; + // todo: move to somewhere else. Real get_broken_left_end_align () const; void substitute_one_mutable_property (SCM sym, SCM val); bool fast_substitute_grob_array (SCM sym, Grob_array *); - // TODO: make virtual and do this for Items as well. - Interval_t spanned_rank_iv (); + Interval_t spanned_time () const; + virtual Interval_t spanned_rank_interval () const; void set_bound (Direction d, Grob *); Item *get_bound (Direction d) const; - Spanner (SCM, Object_key const *); - Spanner (Spanner const &, int copy_count); + Spanner (SCM); + Spanner (Spanner const &); bool is_broken () const; void do_break (); Real spanner_length () const; static int compare (Spanner *const &, Spanner *const &); + static bool less (Spanner *const &, Spanner *const &); virtual Grob *find_broken_piece (System *) const; virtual void derived_mark () const; - static bool has_interface (Grob *); + DECLARE_GROB_INTERFACE(); virtual System *get_system () const; protected: void set_my_columns (); - virtual Grob *clone (int count) const; + virtual Grob *clone () const; virtual void do_break_processing (); }; void add_bound_item (Spanner *, Grob *); bool spanner_less (Spanner *s1, Spanner *s2); -int broken_spanner_index (Spanner *sp); +int broken_spanner_index (Spanner const *sp); #endif