SCM
Side_position_interface::general_side_position (Grob * me, Axis a, bool use_extents)
{
- Grob *common = me->get_parent (a);
+
/*
As this is only used as a callback, this is called only once. We
*/
SCM support = me->get_grob_property ("side-support-elements");
- // me->remove_grob_property ("side-support-elements");
- for (SCM s = support; s != SCM_EOL; s = ly_cdr (s))
- {
- Grob * e = unsmob_grob (ly_car (s));
- if (e)
- common = common->common_refpoint (e, a);
- }
+ Grob *common = common_refpoint_of_list (support, me->get_parent (a), a);
Interval dim;
for (SCM s = support; s != SCM_EOL; s = ly_cdr (s))
ADD_INTERFACE (Side_position_interface,"side-position-interface",
- "Position a victim object (this one) next to other objects (the support).
-#'direction = where to put the victim object (left or right?)
+ "Position a victim object (this one) next to other objects (the
+support). In this case, the direction signifies where to put the
+victim object relative to the support (left or right, up or down?)
",
- "side-support-elements direction-source direction side-relative-direction minimum-space padding self-alignment-X self-alignment-Y");
+ "side-support-elements direction-source direction side-relative-direction minimum-space padding");