From 8a8650911c63d5d8829e932af273133cd83252cb Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 23:22:27 +0000 Subject: [PATCH] lilypond-1.3.56 --- lily/extender-engraver.cc | 40 ++++++++++++++++++++++++++++++--- lily/include/hyphen-engraver.hh | 1 - 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 9e869dc9c2..8dab340163 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -8,11 +8,45 @@ #include "proto.hh" #include "musical-request.hh" -#include "extender-engraver.hh" #include "extender-spanner.hh" #include "paper-column.hh" #include "text-item.hh" -#include "extender-engraver.hh" +#include "engraver.hh" +#include "drul-array.hh" +#include "extender-spanner.hh" +#include "pqueue.hh" + + +/** + Generate an centred extender. Should make a Extender_spanner that + typesets a nice centred extender of varying length depending on the + gap between syllables. + + We remember the last Text_item that come across. When we get a + request, we create the spanner, and attach the left point to the + last lyrics, and the right point to any lyrics we receive by + then. */ +class Extender_engraver : public Engraver +{ + Text_item * last_lyric_l_; + Text_item * current_lyric_l_; + Extender_req* req_l_; + Lyric_extender* extender_spanner_p_; +public: + Extender_engraver (); + VIRTUAL_COPY_CONS (Translator); + +protected: + virtual void acknowledge_element (Score_element_info); + virtual void do_removal_processing(); + virtual void do_process_music(); + virtual bool do_try_music (Music*); + virtual void do_pre_move_processing(); + virtual void do_post_move_processing (); +private: + +}; + ADD_THIS_TRANSLATOR (Extender_engraver); @@ -75,7 +109,7 @@ Extender_engraver::do_process_music () return; } - extender_spanner_p_ = new Extender_spanner (SCM_EOL); + extender_spanner_p_ = new Lyric_extender (get_property ("basicLyricExtenderProperties")); extender_spanner_p_->set_textitem (LEFT, last_lyric_l_); announce_element (Score_element_info (extender_spanner_p_, req_l_)); } diff --git a/lily/include/hyphen-engraver.hh b/lily/include/hyphen-engraver.hh index 4db4d25bff..160b9e2673 100644 --- a/lily/include/hyphen-engraver.hh +++ b/lily/include/hyphen-engraver.hh @@ -13,7 +13,6 @@ #include "drul-array.hh" #include "hyphen-spanner.hh" #include "pqueue.hh" -#include "extender-engraver.hh" /** -- 2.39.5