]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/staff-symbol.cc
* scm/page-layout.scm (plain-header): add printpagenumber boolean
[lilypond.git] / lily / staff-symbol.cc
index a3b02ef731b596b748fd74b745d6c38c6ff26f82..691f86a577c96bd06363122f7fc826fd24e120f1 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "lookup.hh"
 #include "dimensions.hh"
-#include "paper-def.hh"
+#include "output-def.hh"
 #include "stencil.hh"
 #include "warn.hh"
 #include "item.hh"
@@ -42,29 +42,29 @@ Staff_symbol::print (SCM smob)
   do
     {
       SCM width_scm = me->get_property ("width");
-      if (d == RIGHT && gh_number_p (width_scm))
+      if (d == RIGHT && ly_c_number_p (width_scm))
        {
          /*
            don't multiply by Staff_symbol_referencer::staff_space (me),
            since that would make aligning staff symbols of different sizes to
            one right margin hell.
          */      
-         span_points[RIGHT] = gh_scm2double (width_scm);
+         span_points[RIGHT] = ly_scm2double (width_scm);
        }
       else
        {
          Item * x = sp->get_bound (d);
 
-         if (x->break_status_dir ())
-           span_points[d] = x->relative_coordinate (common , X_AXIS);
-         else
-           span_points[d] = x->extent (common, X_AXIS)[d];
+         span_points[d] = x->relative_coordinate (common , X_AXIS);
+         if (!x->break_status_dir ()
+             && !x->extent (x, X_AXIS).is_empty ())
+           span_points[d] += x->extent (x, X_AXIS)[d];
        }
     }
   while (flip (&d) !=LEFT);
 
 
-  Real t = me->get_paper ()->get_realvar (ly_symbol2scm ("linethickness"));
+  Real t = me->get_paper ()->get_dimension (ly_symbol2scm ("linethickness"));
   t *= robust_scm2double (me->get_property ("thickness"), 1.0);
   
   int l = Staff_symbol::line_count (me);
@@ -95,8 +95,8 @@ int
 Staff_symbol::line_count (Grob*me) 
 {
   SCM c = me->get_property ("line-count");
-  if (gh_number_p (c))
-    return gh_scm2int (c);
+  if (ly_c_number_p (c))
+    return ly_scm2int (c);
   else
     return 0;
 }
@@ -104,13 +104,13 @@ Staff_symbol::line_count (Grob*me)
 Real
 Staff_symbol::staff_space (Grob*me)
 {
-  return robust_scm2double ( me->get_property ("staff-space"), 1.0);
+  return robust_scm2double (me->get_property ("staff-space"), 1.0);
 }
 
 Real
 Staff_symbol::get_line_thickness (Grob* me)
 {
-  Real lt =  me->get_paper ()->get_realvar (ly_symbol2scm ("linethickness"));
+  Real lt =  me->get_paper ()->get_dimension (ly_symbol2scm ("linethickness"));
 
   return robust_scm2double (me->get_property ("thickness"), 1.0) * lt;
 }