]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/staff-symbol.cc
Merge branch 'issue4032'
[lilypond.git] / lily / staff-symbol.cc
index 57279033b24c92020cdfba6344464feadd09c6c2..a5db48de46887a1e44527fb0ce13551a1c683d65 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ MAKE_SCHEME_CALLBACK (Staff_symbol, print, 1);
 SCM
 Staff_symbol::print (SCM smob)
 {
-  Grob *me = unsmob_grob (smob);
+  Grob *me = Grob::unsmob (smob);
   Spanner *sp = dynamic_cast<Spanner *> (me);
   Grob *common
     = sp->get_bound (LEFT)->common_refpoint (sp->get_bound (RIGHT), X_AXIS);
@@ -50,8 +50,7 @@ Staff_symbol::print (SCM smob)
   Real t = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
   t *= robust_scm2double (me->get_property ("thickness"), 1.0);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       SCM width_scm = me->get_property ("width");
       if (d == RIGHT && scm_is_number (width_scm))
@@ -75,7 +74,6 @@ Staff_symbol::print (SCM smob)
 
       span_points[d] -= d * t / 2;
     }
-  while (flip (&d) != LEFT);
 
   Stencil m;
 
@@ -88,7 +86,7 @@ Staff_symbol::print (SCM smob)
 
   Real space = staff_space (me);
   for (vector<Real>::const_iterator i = line_positions.begin (),
-         e = line_positions.end ();
+       e = line_positions.end ();
        i != e;
        ++i)
     {
@@ -143,7 +141,7 @@ Staff_symbol::ledger_positions (Grob *me, int pos)
   Real nearest_line = line_positions[0];
   Real line_dist = abs (line_positions[0] - pos);
   for (vector<Real>::const_iterator i = line_positions.begin (),
-         e = line_positions.end ();
+       e = line_positions.end ();
        i != e;
        ++i)
     {
@@ -281,7 +279,7 @@ MAKE_SCHEME_CALLBACK (Staff_symbol, height, 1);
 SCM
 Staff_symbol::height (SCM smob)
 {
-  Grob *me = unsmob_grob (smob);
+  Grob *me = Grob::unsmob (smob);
   Real t = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
   t *= robust_scm2double (me->get_property ("thickness"), 1.0);