From 8cd4be45b518101f511dfe80e759c18910c182a3 Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 23:09:54 +0000 Subject: [PATCH] lilypond-1.3.37 --- lily/axis-group-engraver.cc | 14 ++++++---- lily/grace-align-item.cc | 8 ++---- lily/include/axis-group-engraver.hh | 4 +-- lily/include/break-align-item.hh | 7 ++--- lily/include/hara-kiri-engraver.hh | 2 +- lily/include/line-group-group-engraver.hh | 2 +- lily/vertical-align-engraver.cc | 34 +++++++++++++++++------ 7 files changed, 44 insertions(+), 27 deletions(-) diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index 50b76990e5..cf9208793a 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -7,7 +7,7 @@ */ #include "axis-group-engraver.hh" -#include "axis-group-spanner.hh" +#include "spanner.hh" #include "paper-column.hh" #include "axis-group-interface.hh" @@ -20,16 +20,18 @@ void Axis_group_engraver::do_creation_processing () { staffline_p_ = get_spanner_p (); - axis_group (staffline_p_).set_axes (Y_AXIS, Y_AXIS); + Axis_group_interface (staffline_p_).set_interface (); + Axis_group_interface (staffline_p_).set_axes (Y_AXIS, Y_AXIS); staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ()); announce_element (Score_element_info (staffline_p_, 0)); } -Axis_group_spanner* +Spanner* Axis_group_engraver::get_spanner_p () const { - return new Axis_group_spanner; + return new Spanner; } + void Axis_group_engraver::do_removal_processing () { @@ -51,8 +53,8 @@ Axis_group_engraver::process_acknowledged () for (int i=0; i < elts_.size (); i++) { Score_element *par = elts_[i]->parent_l (Y_AXIS); - if (!par || !axis_group (par).has_interface_b ()) - axis_group (staffline_p_).add_element (elts_[i]); + if (!par || !Axis_group_interface (par).has_interface_b ()) + Axis_group_interface (staffline_p_).add_element (elts_[i]); } elts_.clear (); } diff --git a/lily/grace-align-item.cc b/lily/grace-align-item.cc index 0ddf8481b7..0745e3fe64 100644 --- a/lily/grace-align-item.cc +++ b/lily/grace-align-item.cc @@ -8,6 +8,7 @@ */ #include "grace-align-item.hh" +#include "align-interface.hh" #include "lookup.hh" #include "paper-column.hh" #include "paper-def.hh" @@ -15,7 +16,8 @@ Grace_align_item::Grace_align_item () { set_elt_property ("stacking-dir", gh_int2scm (RIGHT)); - set_axis (X_AXIS); + Align_interface (this).set_interface(); + Align_interface (this).set_axis (X_AXIS); } void @@ -28,10 +30,6 @@ Grace_align_item::before_line_breaking () gh_cons (gh_double2scm (nhw* 1.5), gh_double2scm (infinity_f))); column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T); - - - Axis_align_item::before_line_breaking (); - // translate_axis (-0.5* nhw, X_AXIS); // ugh. } diff --git a/lily/include/axis-group-engraver.hh b/lily/include/axis-group-engraver.hh index f2f99b0411..f790997d85 100644 --- a/lily/include/axis-group-engraver.hh +++ b/lily/include/axis-group-engraver.hh @@ -19,14 +19,14 @@ class Axis_group_engraver : public Engraver { protected: - Axis_group_spanner *staffline_p_; + Spanner *staffline_p_; Link_array elts_; virtual void do_creation_processing(); virtual void do_removal_processing(); virtual void acknowledge_element (Score_element_info); virtual void process_acknowledged (); - virtual Axis_group_spanner* get_spanner_p () const; + virtual Spanner* get_spanner_p () const; public: VIRTUAL_COPY_CONS(Translator); diff --git a/lily/include/break-align-item.hh b/lily/include/break-align-item.hh index 791e104f00..c9a5aa1632 100644 --- a/lily/include/break-align-item.hh +++ b/lily/include/break-align-item.hh @@ -10,12 +10,11 @@ #ifndef BREAK_ALIGN_ITEM_HH #define BREAK_ALIGN_ITEM_HH -#include "axis-align-item.hh" +#include "item.hh" /// align breakable items (clef, bar, etc.) -class Break_align_item : public Axis_align_item { - - +class Break_align_item : public Item +{ protected: virtual void before_line_breaking (); public: diff --git a/lily/include/hara-kiri-engraver.hh b/lily/include/hara-kiri-engraver.hh index 82992a29a8..93eeb8feb7 100644 --- a/lily/include/hara-kiri-engraver.hh +++ b/lily/include/hara-kiri-engraver.hh @@ -15,7 +15,7 @@ class Hara_kiri_engraver : public Axis_group_engraver { protected: - virtual Axis_group_spanner*get_spanner_p ()const; + virtual Spanner*get_spanner_p ()const; virtual void acknowledge_element (Score_element_info); public: VIRTUAL_COPY_CONS(Translator); diff --git a/lily/include/line-group-group-engraver.hh b/lily/include/line-group-group-engraver.hh index 72a10c72a5..b5db361da4 100644 --- a/lily/include/line-group-group-engraver.hh +++ b/lily/include/line-group-group-engraver.hh @@ -20,7 +20,7 @@ */ class Line_group_engraver_group : public Engraver_group_engraver { protected: - Axis_group_spanner *staffline_p_; + Spanner *staffline_p_; virtual void create_line_spanner (); virtual void do_creation_processing(); diff --git a/lily/vertical-align-engraver.cc b/lily/vertical-align-engraver.cc index 2c2d48d9ad..b4244c668e 100644 --- a/lily/vertical-align-engraver.cc +++ b/lily/vertical-align-engraver.cc @@ -8,11 +8,26 @@ #include "translator-group.hh" #include "axis-group-engraver.hh" #include "paper-column.hh" -#include "vertical-align-engraver.hh" -#include "axis-align-spanner.hh" -#include "axis-group-spanner.hh" +#include "align-interface.hh" #include "span-bar.hh" #include "axis-group-interface.hh" +#include "engraver.hh" +#include "spanner.hh" + +class Vertical_align_engraver : public Engraver { + Spanner * valign_p_; + bool qualifies_b (Score_element_info) const; +public: + VIRTUAL_COPY_CONS(Translator); + + Vertical_align_engraver(); +protected: + + virtual void acknowledge_element (Score_element_info); + virtual void do_creation_processing(); + virtual void do_removal_processing(); +}; + Vertical_align_engraver::Vertical_align_engraver() { @@ -22,9 +37,11 @@ Vertical_align_engraver::Vertical_align_engraver() void Vertical_align_engraver::do_creation_processing() { - valign_p_ =new Axis_align_spanner; - valign_p_->set_axis (Y_AXIS); - valign_p_->set_elt_property ("stacking-dir", gh_int2scm (DOWN)); + valign_p_ =new Spanner; //Axis_align_spanner + Align_interface (valign_p_).set_interface (); + Align_interface (valign_p_).set_axis (Y_AXIS); + valign_p_->set_elt_property ("stacking-dir", + gh_int2scm (DOWN)); valign_p_->set_bound(LEFT,get_staff_info().command_pcol_l ()); announce_element (Score_element_info (valign_p_ , 0)); @@ -67,10 +84,11 @@ Vertical_align_engraver::acknowledge_element (Score_element_info i) { if (qualifies_b (i)) { - valign_p_->add_element (i.elem_l_); + Align_interface(valign_p_).add_element (i.elem_l_); } /* - ? huh + Add make sure spanbars (whose size depends on vertical alignment) + depend on the vertical alignment element */ else if (dynamic_cast(i.elem_l_) && i.origin_trans_l_arr (this).size ()) { -- 2.39.5