X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fitem.hh;h=07f1261a525c72fca408cd4085d26c0df80da42d;hb=cee6cea4ed55eb4fa1f9d83c997ebc19744a6e1a;hp=1895910fb6c95ea21a45fbfa06cbbc6c79e0c80e;hpb=e344ae579fa1d81fc6c6f3049494697872fd39f9;p=lilypond.git diff --git a/lily/include/item.hh b/lily/include/item.hh index 1895910fb6..07f1261a52 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -1,9 +1,20 @@ /* - item.hh -- declare Item + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2015 Han-Wen Nienhuys - (c) 1997--2008 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef ITEM_HH #define ITEM_HH @@ -20,7 +31,7 @@ class Item : public Grob { Drul_array broken_to_drul_; - DECLARE_CLASSNAME(Item); + DECLARE_CLASSNAME (Item); public: Item (SCM); Item (Item const &); @@ -28,10 +39,10 @@ public: virtual Grob *clone () const; static bool is_non_musical (Grob *); - static bool break_visible(Grob *); - static bool less (Grob * const&, Grob * const&); + static bool break_visible (Grob *); + bool is_broken () const; - bool pure_is_visible (int start, int end) const; + virtual bool pure_is_visible (int start, int end) const; Direction break_status_dir () const; @@ -41,8 +52,8 @@ public: virtual Paper_column *get_column () const; virtual void handle_prebroken_dependencies (); virtual Interval_t spanned_rank_interval () const; - virtual Interval pure_height (Grob *ref, int start, int end); - DECLARE_GROB_INTERFACE(); + virtual Interval pure_y_extent (Grob *ref, int start, int end); + virtual void cache_pure_height (Interval height); protected: virtual void discretionary_processing (); void copy_breakable_items ();