]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/extender-spanner.cc
release: 1.3.33
[lilypond.git] / lily / extender-spanner.cc
index b9f4f487b5fa04a85fad093e1f723bad9e5ca58e..0f5cbfb5d937a7243fedf4ba8454f6cffa560633 100644 (file)
@@ -21,7 +21,7 @@
 #include "extender-spanner.hh"
 
 Extender_spanner::Extender_spanner ()
-  : Directional_spanner ()
+  : Spanner ()
 {
   dx_f_drul_[LEFT] = dx_f_drul_[RIGHT] = 0.0;
   dim_cache_[Y_AXIS]->set_callback (Dimension_cache::point_dimension_callback);
@@ -30,27 +30,27 @@ Extender_spanner::Extender_spanner ()
 
 
 
-Molecule*
-Extender_spanner::do_brew_molecule_p () const
+Molecule 
+Extender_spanner::do_brew_molecule () const
 {
-  Molecule* mol_p = new Molecule;
+  Molecule  mol;
 
-  Real w = extent (X_AXIS).length ();
+  Real w = spanner_length ();
   
   w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
   Real h = paper_l ()->get_var ("extender_height");
   Molecule a = lookup_l ()->filledbox ( Box (Interval (0,w), Interval (0,h)));
   a.translate (Offset (dx_f_drul_[LEFT], 0));
 
-  mol_p->add_molecule (a);
+  mol.add_molecule (a);
 
-  return mol_p;
+  return mol;
 }
 
 
 
 void
-Extender_spanner::do_post_processing ()
+Extender_spanner::after_line_breaking ()
 {
   // UGH
   Real gap = paper_l ()->get_var ("interline");
@@ -58,8 +58,8 @@ Extender_spanner::do_post_processing ()
   Direction d = LEFT;
   do
     {
-      Item* t = spanned_drul_[d]
-       ? spanned_drul_[d] : spanned_drul_[(Direction)-d];
+      Item* t = get_bound (d)
+       ? get_bound (d) : get_bound ((Direction)-d);
       if (d == LEFT)
         dx_f_drul_[d] += t->extent (X_AXIS).length ();
       else
@@ -72,7 +72,7 @@ Extender_spanner::do_post_processing ()
 void
 Extender_spanner::set_textitem (Direction d, Item* textitem_l)
 {
-  set_bounds (d, textitem_l);
+  set_bound (d, textitem_l);
   add_dependency (textitem_l);
 }