X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fitem.hh;h=aa8bcb4b664dd7b2d36581a3c5411070467d42bb;hb=df2bf3ee4c32d569f346d84fb5b42cab676a74d1;hp=3c030d122c68275e56df7bc134a00283c9c324c3;hpb=04f01c7e890bd4f1b358378e5911fb7c117c3802;p=lilypond.git diff --git a/lily/include/item.hh b/lily/include/item.hh index 3c030d122c..aa8bcb4b66 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -3,41 +3,45 @@ source file of the GNU LilyPond music typesetter - (c) 1997 Han-Wen Nienhuys + (c) 1997--2005 Han-Wen Nienhuys */ #ifndef ITEM_HH #define ITEM_HH -#include "glob.hh" -#include "boxes.hh" -#include "string.hh" -#include "score-elem.hh" +#include "box.hh" +#include "grob.hh" /** - a horizontally fixed size element of the score + A horizontally fixed size element of the score. - Item is the datastructure for printables whose width is known - before the spacing is calculated - - NB. This doesn't mean an Item has to initialize the output field before - spacing calculation. - + Item is the datastructure for printables whose width is known + before the spacing is calculated */ -class Item : public virtual Score_elem { +class Item : public Grob +{ + Drul_array broken_to_drul_; + public: - /// indirection to the column it is in - PCol * pcol_l_; - - virtual Item *item() { return this; } - Item(); - Real hpos_f() const; - NAME_MEMBERS(Item); - virtual Line_of_score * line_l() const; -protected: - virtual void do_print()const; + Item (SCM, Object_key const *); + Item (Item const &, int count); -}; + virtual Grob *clone (int count) const; + static bool is_breakable (Grob *); + bool is_broken () const; + Direction break_status_dir () const; + + Item *find_prebroken_piece (Direction) const; + Grob *find_broken_piece (System *) const; + virtual System *get_system () const; + virtual Paper_column *get_column () const; + virtual void handle_prebroken_dependencies (); + static bool has_interface (Grob *); +protected: + virtual void discretionary_processing (); + void copy_breakable_items (); + virtual SCM do_derived_mark () const; +}; #endif