X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-align-engraver.cc;h=6bb84b639b4e04797b8aedb0109d4b1c368255b9;hb=ff3d20fcb28e7ccf0fa9ad242dc16afb9cf0f7ba;hp=c4d9bc893cc3d011e5994c3e5cc5fa1823a5cddd;hpb=a6ee9dcd388111e842064a8d46ab06c4897a00d2;p=lilypond.git diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index c4d9bc893c..6bb84b639b 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1999--2002 Han-Wen Nienhuys + (c) 1999--2003 Han-Wen Nienhuys */ #include "engraver.hh" @@ -18,6 +18,8 @@ class Break_align_engraver : public Engraver { Item *align_; Protected_scm column_alist_; + Item *edge_; + void add_to_group (SCM,Item*); protected: virtual void finalize (); @@ -71,13 +73,19 @@ Break_align_engraver::stop_translation_timestep () typeset_grob (align_); align_ = 0; } + if (edge_) + { + typeset_grob (edge_); + edge_ = 0; + } } Break_align_engraver::Break_align_engraver () { column_alist_ = SCM_EOL; - align_ =0; + edge_ = 0; + align_ = 0; } void @@ -103,9 +111,9 @@ Break_align_engraver::acknowledge_grob (Grob_info inf) announce_grob (align_, SCM_EOL); - Item * edge = new Item (get_property ("LeftEdge")); - add_to_group (edge->get_grob_property ("break-align-symbol"), edge); - announce_grob(edge, SCM_EOL); + edge_ = new Item (get_property ("LeftEdge")); + add_to_group (edge_->get_grob_property ("break-align-symbol"), edge_); + announce_grob(edge_, SCM_EOL); } add_to_group (align_name, item); @@ -140,6 +148,7 @@ Break_align_engraver::add_to_group(SCM align_name, Item*item) ENTER_DESCRIPTION(Break_align_engraver, /* descr */ "Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder", /* creats*/ "BreakAlignment BreakAlignGroup LeftEdge", +/* accepts */ "", /* acks */ "break-aligned-interface" ,/* reads */ "breakAlignOrder", /* write */ "");