return 1.0;
}
+Real
+Staff_symbol_referencer::line_thickness (Grob*me)
+{
+ Grob * st = get_staff_symbol (me);
+ if (st)
+ return Staff_symbol::get_line_thickness (st);
+
+ return me->get_paper ()->get_realvar (ly_symbol2scm ("linethickness"));
+}
+
Real
Staff_symbol_referencer::get_position (Grob*me)
{
- st->relative_coordinate (c, Y_AXIS);
p += 2.0 * y / Staff_symbol::staff_space (st);
+ return p;
}
- else
- {
- SCM pos = me->get_grob_property ("staff-position");
- if (gh_number_p (pos))
- return gh_scm2double (pos);
- }
-
- return p;
+
+ return robust_scm2double ( me->get_grob_property ("staff-position"), p);
}
Real pos = Staff_symbol_referencer::get_position (g);
if (fabs (rint (pos) -pos) < 1e-6) // ugh.
- return gh_int2scm (lrint (pos));
+ return gh_int2scm ((int) my_round (pos));
else
return gh_double2scm (pos);
}
{
Grob *me = unsmob_grob (element_smob);
-
SCM pos = me->get_grob_property ("staff-position");
Real off =0.0;
if (gh_number_p (pos))