+void
+Self_alignment_interface::set_align_self (Grob *me, Axis a)
+{
+ add_offset_callback (me,
+ (a==X_AXIS) ? x_aligned_on_self_proc : y_aligned_on_self_proc,
+ a);
+}
+
+ADD_INTERFACE (Self_alignment_interface,
+ "Position this object on itself and/or on its parent. To this"
+ " end, the following functions are provided:\n"
+ "\n"
+ "@table @code\n"
+ "@item Self_alignment_interface::[xy]_aligned_on_self\n"
+ "Align self on reference point, using"
+ " @code{self-alignment-X} and @code{self-alignment-Y}."
+ "@item Self_alignment_interface::aligned_on_[xy]_parent\n"
+ "@item Self_alignment_interface::centered_on_[xy]_parent\n"
+ "Shift the object so its own reference point is centered on"
+ " the extent of the parent\n"
+ "@end table\n",