]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.1.36
authorfred <fred>
Tue, 26 Mar 2002 21:48:20 +0000 (21:48 +0000)
committerfred <fred>
Tue, 26 Mar 2002 21:48:20 +0000 (21:48 +0000)
lily/extender-spanner.cc
lily/include/extender-spanner.hh

index 3b97b29c65751ec0faa2c4f0b4791acb81df8300..541080b60be4bc8071e005a5489d0a4e66f876ae 100644 (file)
@@ -6,6 +6,10 @@
   (c) 1998, 1999 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
+/*
+  TODO: too complicated implementation.  Why the dx_drul?.
+ */
+
 
 #include "box.hh"
 #include "debug.hh"
 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<Item *> 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<Item *> (n) : 0;
-  if (dynamic_cast <Item *> (o) == item_l_drul_[LEFT])
-    item_l_drul_[LEFT] = new_l;
-  else if (dynamic_cast <Item *> (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);
 }
 
index d97edc84014be13b7683dfcb4dd9ed9c41683a6c..3da4095ebf88e39b3c4a1051168a75513f587f9d 100644 (file)
 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 *> 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<Real> dy_f_drul_;
   Drul_array<Real> dx_f_drul_;
 };