X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fitem.hh;h=1895910fb6c95ea21a45fbfa06cbbc6c79e0c80e;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=d1d7a2f7d9c1423751c4cfd6317a3600e3137a39;hpb=2c8c61b3a5cddbb155786a1ca027528701c91ac9;p=lilypond.git diff --git a/lily/include/item.hh b/lily/include/item.hh index d1d7a2f7d9..1895910fb6 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -3,13 +3,11 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2006 Han-Wen Nienhuys + (c) 1997--2008 Han-Wen Nienhuys */ #ifndef ITEM_HH #define ITEM_HH -#include "grob-interface.hh" -#include "box.hh" #include "grob.hh" /** @@ -24,12 +22,14 @@ class Item : public Grob DECLARE_CLASSNAME(Item); public: - Item (SCM, Object_key const *); - Item (Item const &, int count); + Item (SCM); + Item (Item const &); - virtual Grob *clone (int count) const; + virtual Grob *clone () const; static bool is_non_musical (Grob *); + static bool break_visible(Grob *); + static bool less (Grob * const&, Grob * const&); bool is_broken () const; bool pure_is_visible (int start, int end) const; @@ -40,12 +40,18 @@ public: virtual System *get_system () const; virtual Paper_column *get_column () const; virtual void handle_prebroken_dependencies (); - virtual Interval_t spanned_rank_iv (); + virtual Interval_t spanned_rank_interval () const; + virtual Interval pure_height (Grob *ref, int start, int end); DECLARE_GROB_INTERFACE(); protected: virtual void discretionary_processing (); void copy_breakable_items (); virtual void derived_mark () const; + + bool cached_pure_height_valid_; + Interval cached_pure_height_; }; +Interval_t spanned_time_interval (Item *l, Item *r); + #endif