X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fitem.hh;h=e8ac64c183e68affdce2a1ff78c8663edb594e3b;hb=bb36bac02a64770871780231ecc709cb18b20932;hp=80b39df71cdc79d1ddb3d6764a2b20e84bf792ad;hpb=615a9212789c2cb2994748c023d0e19f3a83a0fd;p=lilypond.git diff --git a/lily/include/item.hh b/lily/include/item.hh index 80b39df71c..e8ac64c183 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1998 Han-Wen Nienhuys + (c) 1997--2000 Han-Wen Nienhuys */ #ifndef ITEM_HH #define ITEM_HH @@ -13,6 +13,7 @@ #include "string.hh" #include "score-element.hh" #include "drul-array.hh" +#include "protected-scm.hh" /** A horizontally fixed size element of the score. @@ -23,22 +24,34 @@ NB. This doesn't mean an Item has to initialize the output field before spacing calculation. -*/ + + + @signature + visibility_lambda :: int -> (bool . bool) + + @in + break direction + + @out + (transparent, empty) cons + + */ class Item : public virtual Score_element { -public: - Link_array attached_span_l_arr_; + void do_break (); + void try_visibility_lambda (); Drul_array broken_to_drul_; - Item *unbroken_original_l_; - /// should be put in a breakable col. - bool breakable_b_; - Direction break_status_dir_; - int break_priority_i_; + +public: + + /// I am really to be broken? + bool breakable_b () const; + bool broken_b () const; + + Direction break_status_dir () const; - /// nobreak = 0, pre = -1, post = 1 - Direction break_status_dir() const; - Item * find_prebroken_piece (Direction) const; - Item * find_prebroken_piece (Line_of_score*) const; + Item * find_broken_piece (Direction) const; + Score_element * find_broken_piece (Line_of_score*) const; Item(); Real hpos_f() const; @@ -50,12 +63,7 @@ public: Item (Item const &); protected: - virtual void do_unlink (); - virtual void do_junk_links(); - virtual void do_breakable_col_processing(); - virtual void handle_prebroken_dependencies(); - virtual void do_print() const; - virtual bool linked_b() const; + virtual void do_breakable_col_processing(); void copy_breakable_items(); };