From 70bf19f5fb1814c10892026b5d6418da897daa88 Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 21:48:20 +0000 Subject: [PATCH] lilypond-1.1.36 --- lily/extender-spanner.cc | 49 +++++--------------------------- lily/include/extender-spanner.hh | 11 ++----- 2 files changed, 9 insertions(+), 51 deletions(-) diff --git a/lily/extender-spanner.cc b/lily/extender-spanner.cc index 3b97b29c65..541080b60b 100644 --- a/lily/extender-spanner.cc +++ b/lily/extender-spanner.cc @@ -6,6 +6,10 @@ (c) 1998, 1999 Jan Nieuwenhuizen */ +/* + TODO: too complicated implementation. Why the dx_drul?. + */ + #include "box.hh" #include "debug.hh" @@ -18,22 +22,9 @@ Extender_spanner::Extender_spanner () : Directional_spanner () { - item_l_drul_[LEFT] = item_l_drul_[RIGHT] = 0; - dy_f_drul_[LEFT] = dy_f_drul_[RIGHT] = 0.0; dx_f_drul_[LEFT] = dx_f_drul_[RIGHT] = 0.0; } -Extender_spanner::Extender_spanner (Extender_spanner const& c) - : Directional_spanner (c) -{ - item_l_drul_ = c.item_l_drul_; - dy_f_drul_ = c.dy_f_drul_; - dx_f_drul_ = c.dx_f_drul_; -} - -Extender_spanner::~Extender_spanner () -{ -} Offset Extender_spanner::center () const @@ -53,25 +44,13 @@ Extender_spanner::do_brew_molecule_p () const w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]); Real h = paper_l ()->get_realvar (extender_height_scm_sym); Molecule a = lookup_l ()->filledbox ( Box (Interval (0,w), Interval (0,h))); - a.translate (Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT])); + a.translate (Offset (dx_f_drul_[LEFT], 0)); mol_p->add_molecule (a); return mol_p; } -void -Extender_spanner::do_add_processing () -{ - Direction d = LEFT; - Drul_array new_textitem_drul = item_l_drul_; - do { - if (!item_l_drul_[d]) - new_textitem_drul[d] = item_l_drul_[(Direction)-d]; - } while (flip(&d) != LEFT); - item_l_drul_ = new_textitem_drul; -} - Interval Extender_spanner::do_height () const { @@ -81,16 +60,14 @@ Extender_spanner::do_height () const void Extender_spanner::do_post_processing () { - assert (item_l_drul_[LEFT] || item_l_drul_[RIGHT]); - // UGH Real nw_f = paper_l ()->note_width () * 0.8; Direction d = LEFT; do { - Item* t = item_l_drul_[d] - ? item_l_drul_[d] : item_l_drul_[(Direction)-d]; + Item* t = spanned_drul_[d] + ? spanned_drul_[d] : spanned_drul_[(Direction)-d]; if (d == LEFT) dx_f_drul_[d] += t->extent (X_AXIS).length (); else @@ -99,23 +76,11 @@ Extender_spanner::do_post_processing () while (flip(&d) != LEFT); } -void -Extender_spanner::do_substitute_element_pointer (Score_element* o, Score_element* n) -{ - Item* new_l = n ? dynamic_cast (n) : 0; - if (dynamic_cast (o) == item_l_drul_[LEFT]) - item_l_drul_[LEFT] = new_l; - else if (dynamic_cast (o) == item_l_drul_[RIGHT]) - item_l_drul_[RIGHT] = new_l; -} void Extender_spanner::set_textitem (Direction d, Item* textitem_l) { - assert (!item_l_drul_[d]); - item_l_drul_[d] = textitem_l; set_bounds (d, textitem_l); - add_dependency (textitem_l); } diff --git a/lily/include/extender-spanner.hh b/lily/include/extender-spanner.hh index d97edc8401..3da4095ebf 100644 --- a/lily/include/extender-spanner.hh +++ b/lily/include/extender-spanner.hh @@ -30,25 +30,18 @@ class Extender_spanner : public Directional_spanner { public: - Extender_spanner (); - virtual ~Extender_spanner (); - +Extender_spanner (); Offset center () const; void set_textitem (Direction, Item*); - Drul_array item_l_drul_; // should use teh spanpoints field of item. protected: virtual Molecule* do_brew_molecule_p () const; - void do_add_processing (); Interval do_height () const; - void do_substitute_element_pointer (Score_element* o, Score_element* n); + void do_post_processing (); VIRTUAL_COPY_CONS (Score_element); - Extender_spanner (Extender_spanner const&); - - Drul_array dy_f_drul_; Drul_array dx_f_drul_; }; -- 2.39.5