From 43e4053247d423b1fbd68f6daa2f0d6fed45cd69 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:52:50 +0000 Subject: [PATCH] lilypond-0.1.1 --- lily/elem-group-item.cc | 4 +--- lily/include/elem-group-item.hh | 11 ++--------- lily/include/line-group-grav.hh | 2 +- lily/item.cc | 28 ++++++++++++++++++++-------- lily/score-align-grav.cc | 2 +- 5 files changed, 25 insertions(+), 22 deletions(-) diff --git a/lily/elem-group-item.cc b/lily/elem-group-item.cc index c1903ffcd0..138bd146a3 100644 --- a/lily/elem-group-item.cc +++ b/lily/elem-group-item.cc @@ -8,6 +8,7 @@ #include "elem-group-item.hh" +#include "p-col.hh" void Horizontal_vertical_group_item::do_print()const @@ -16,6 +17,3 @@ Horizontal_vertical_group_item::do_print()const } IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_item,Horizontal_vertical_group,Item); - -IMPLEMENT_IS_TYPE_B2(Horizontal_group_item, Horizontal_group, Item); - diff --git a/lily/include/elem-group-item.hh b/lily/include/elem-group-item.hh index a3e1ea6d16..bf532c035d 100644 --- a/lily/include/elem-group-item.hh +++ b/lily/include/elem-group-item.hh @@ -1,6 +1,6 @@ /* - elem-group-item.hh -- declare Element_group_item - + elem-group-item.hh -- declare Horizontal_vertical_group_item + source file of the GNU LilyPond music typesetter (c) 1997 Han-Wen Nienhuys @@ -21,11 +21,4 @@ protected: virtual void do_print() const; }; -class Horizontal_group_item : public Item, public Horizontal_group { - DECLARE_MY_RUNTIME_TYPEINFO; - SCORE_ELEM_CLONE(Horizontal_group_item); -protected: - virtual void do_print() const { Elbement_group::do_print(); } -}; - #endif // ELEM_GROUP_ITEM_HH diff --git a/lily/include/line-group-grav.hh b/lily/include/line-group-grav.hh index e7153be0f5..2c3393806f 100644 --- a/lily/include/line-group-grav.hh +++ b/lily/include/line-group-grav.hh @@ -16,7 +16,7 @@ Engravers put elements on the same or lowel level in a line */ class Line_group_engraver : public Engraver{ - Line_of_staff *staffline_p_; + Vertical_group_spanner *staffline_p_; protected: virtual void do_creation_processing(); diff --git a/lily/item.cc b/lily/item.cc index 2481e4a350..083798be00 100644 --- a/lily/item.cc +++ b/lily/item.cc @@ -5,20 +5,20 @@ (c) 1997 Han-Wen Nienhuys */ + #include "p-score.hh" #include "debug.hh" #include "item.hh" #include "p-col.hh" +#include "elem-group.hh" Item::Item() { pcol_l_ = 0; - broken_to_a_[0] = broken_to_a_[1]=0; } - IMPLEMENT_IS_TYPE_B1(Item, Score_elem); void @@ -58,6 +58,23 @@ Item::break_status_i() const return 1; } +void +Item::copy_breakable_items() +{ + for (int i=0; i < 2; i++) { + Item * item_p = clone()->item(); + item_p->copy_dependencies(*this); + /* add our pre and postbreaks blondly to our own y_group + Let Vertical_group_spanner figure out the mess. + */ + if ( y_group_l_ ) + y_group_l_->add_element( item_p ); + pscore_l_->typeset_item(item_p, pcol_l_, -1+ 2*i); + item_p->handle_prebroken_dependencies(); + broken_to_a_[i] = item_p; + } +} + void Item::do_breakable_col_processing() { @@ -65,12 +82,7 @@ Item::do_breakable_col_processing() if (!c->breakable_b()) return; - for (int i=0; i < 2; i++) { - broken_to_a_[i] = clone()->item(); - pscore_l_->typeset_item(broken_to_a_[i], c, -1+ 2*i); - broken_to_a_[i]->handle_prebroken_dependencies(); - } - + copy_breakable_items(); handle_prebroken_dependencies(); } diff --git a/lily/score-align-grav.cc b/lily/score-align-grav.cc index f284563237..babf47bd32 100644 --- a/lily/score-align-grav.cc +++ b/lily/score-align-grav.cc @@ -7,7 +7,7 @@ */ -#include "elem-group-item.hh" +#include "horizontal-group-item.hh" #include "score-align-grav.hh" #include "item.hh" -- 2.39.5