+#include "hara-kiri-group-spanner.hh"
+#include "paper-def.hh"
+
+MAKE_SCHEME_CALLBACK (Align_interface,alignment_callback,2);
+SCM
+Align_interface::alignment_callback (SCM element_smob, SCM axis)
+{
+ Grob * me = unsmob_grob (element_smob);
+ Axis ax = (Axis)gh_scm2int (axis);
+ Grob * par = me->get_parent (ax);
+ if (par && !to_boolean (par->get_grob_property ("alignment-done")))
+ {
+ Align_interface::align_elements_to_extents (par, ax);
+ }
+ return gh_double2scm (0.0);
+}
+
+MAKE_SCHEME_CALLBACK (Align_interface,fixed_distance_alignment_callback,2);
+SCM
+Align_interface::fixed_distance_alignment_callback (SCM element_smob, SCM axis)
+{
+ Grob * me = unsmob_grob (element_smob);
+ Axis ax = (Axis)gh_scm2int (axis);
+ Grob * par = me->get_parent (ax);
+ if (par && !to_boolean (par->get_grob_property ("alignment-done")))
+ {
+ Align_interface::align_to_fixed_distance (par, ax);
+ }
+ return gh_double2scm (0.0);
+}