source file of the GNU LilyPond music typesetter
- (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1999--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "staff-symbol-referencer.hh"
-
#include "staff-symbol.hh"
+#include "grob.hh"
#include "output-def.hh"
#include "libc-extension.hh"
return robust_scm2double (me->get_property ("staff-position"), p);
}
+
+Interval
+Staff_symbol_referencer::extent_in_staff (Grob *me)
+{
+ Grob *st = get_staff_symbol (me);
+ Grob *c = st ? me->common_refpoint (st, Y_AXIS) : 0;
+
+ Interval retval;
+ if (st && c)
+ {
+ retval = me->extent (c, Y_AXIS)
+ - st->relative_coordinate (c, Y_AXIS);
+ }
+
+ return retval;
+}
+
+
+
int
Staff_symbol_referencer::get_rounded_position (Grob *me)
{
< Staff_symbol_referencer::get_position (b);
}
-ADD_INTERFACE (Staff_symbol_referencer, "staff-symbol-referencer-interface",
+ADD_INTERFACE (Staff_symbol_referencer,
"An object whose Y position is meant relative to a staff "
"symbol. "
"These usually have @code{Staff_symbol_referencer::callback} "
/* properties */
"staff-position");
+