cur_off);
}
+MAKE_SCHEME_CALLBACK (Side_position_interface, calc_cross_staff, 1)
+SCM
+Side_position_interface::calc_cross_staff (SCM smob)
+{
+ Grob *me = unsmob_grob (smob);
+ extract_grob_set (me, "side-support-elements", elts);
+
+ Grob *common = common_refpoint_of_array (elts, me->get_parent (Y_AXIS), Y_AXIS);
+ return scm_from_bool (common != me->get_parent (Y_AXIS));
+}
+
SCM
Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, int end,
Real *current_off)
o += dir * 0.5 * ss;
}
}
- else if (scm_is_number (me->get_property ("staff-padding")))
+ else if (scm_is_number (me->get_property ("staff-padding")) && dir)
{
Interval iv = me->maybe_pure_extent (me, a, pure, start, end);