]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/line-spanner.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / line-spanner.cc
index cbfe9dd306f6895cec23f74f3ad6a08fc0905473..ff37a4c25827c058a56babb7b11c0d16752bd875 100644 (file)
@@ -3,13 +3,11 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2000--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 2000--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "line-spanner.hh"
 
-#include <cmath>
-using namespace std;
 
 #include "spanner.hh"
 #include "output-def.hh"
@@ -97,7 +95,7 @@ Line_spanner::after_line_breaking (SCM g)
       /*
        Can't do suicide, since this mucks up finding the trend.
       */
-      me->set_property ("print-function", SCM_EOL);
+      me->set_property ("transparent", SCM_BOOL_T);
     }
   return SCM_EOL;
 }
@@ -131,7 +129,7 @@ Line_spanner::line_stencil (Grob *me,
                                              ly_symbol2scm ("fetaMusic")),
                                    SCM_UNDEFINED);
 
-      Font_metric *fm = select_font (me->get_layout (),
+      Font_metric *fm = select_font (me->layout (),
                                     scm_cons (style_alist,
                                               alist_chain));
       Stencil m = fm->find_by_name ("scripts.trill_element");
@@ -225,7 +223,7 @@ Line_spanner::print (SCM smob)
       */
 
       int k = broken_spanner_index (me);
-      Spanner *parent_sp = dynamic_cast<Spanner *> (me->original_);
+      Spanner *parent_sp = dynamic_cast<Spanner *> (me->original ());
       Spanner *next_sp = parent_sp->broken_intos_ [k + 1];
       Item *next_bound = next_sp->get_bound (RIGHT);
 
@@ -285,8 +283,8 @@ Line_spanner::print (SCM smob)
        {
          Axis ax = (Axis)a;
          dxy[ax]
-           = + bound[RIGHT]->extent (common[X_AXIS], ax).center ()
-           - bound[LEFT]->extent (common[X_AXIS], ax).center ();
+           = + robust_relative_extent (bound[RIGHT], common[X_AXIS], ax).center ()
+           - robust_relative_extent (bound[LEFT], common[X_AXIS], ax).center ();
 
          my_off[ax] = me->relative_coordinate (common[a], ax);
          his_off[ax] = bound[LEFT]->relative_coordinate (common[a], ax);