y += dir * extra_dy / 2;
details = scm_acons (ly_symbol2scm ("Y"), scm_from_double (y), details);
}
+ else
+ details = scm_acons (ly_symbol2scm ("preset-Y"),
+ SCM_BOOL_T, details);
return details;
}
span_points[RIGHT],
arrows[LEFT],
arrows[RIGHT]));
- Grob *commony = common_y (me);
+ Grob *commony = me;
+
+ do
+ {
+ if (ly_assoc_get (ly_symbol2scm ("preset-Y"), bounds[LEFT],
+ SCM_BOOL_F)
+ != SCM_BOOL_T)
+
+ commony = commony->common_refpoint (me->get_bound (d), Y_AXIS);
+ }
+ while (flip (&d) != LEFT);
line.translate (Offset (-me->relative_coordinate (commonx, X_AXIS),
-me->relative_coordinate (commony, Y_AXIS)));