X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fitem.hh;h=e64fa4f3fa42d3956cbea68dc0951ba5a77c1c09;hb=7e72a1e50e94a7f9738d62599de79fe7745f600c;hp=d92a67fb0458d88facc25ecb132a289c55e46689;hpb=51e7345f199657c7b868d5653f209703e897fca8;p=lilypond.git diff --git a/lily/include/item.hh b/lily/include/item.hh index d92a67fb04..e64fa4f3fa 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -3,17 +3,16 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2004 Han-Wen Nienhuys */ #ifndef ITEM_HH #define ITEM_HH #include "box.hh" -#include "string.hh" -#include "score-element.hh" +#include "grob.hh" #include "drul-array.hh" -#include "protected-scm.hh" + /** A horizontally fixed size element of the score. @@ -21,42 +20,31 @@ 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. - - - Element properties - - visibility-lambda -- a function that takes the break - direction and returns a (transparent, empty) cons - - breakable -- boolean indicating if this is a breakable item (clef, - barline, key sig, etc.) - - */ -class Item : public Score_element +*/ +class Item : public Grob { Drul_array broken_to_drul_; public: - VIRTUAL_COPY_CONS(Score_element); - Item(); + VIRTUAL_COPY_CONS (Grob); + Item (SCM); Item (Item const &); - bool breakable_b () const; + static bool breakable_b (Grob *); bool broken_b () const; Direction break_status_dir () const; - Item * find_prebroken_piece (Direction) const; - Score_element * find_broken_piece (Line_of_score*) const; - - virtual Line_of_score * line_l() const; - virtual Paper_column * column_l () 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 do_breakable_col_processing(); - void copy_breakable_items(); + virtual void discretionary_processing (); + void copy_breakable_items (); + virtual SCM do_derived_mark () const; };