2 side-position-interface.hh -- declare Side_position_interface
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
9 #ifndef SELF_ALIGNMENT_INTERFACE_HH
10 #define SELF_ALIGNMENT_INTERFACE_HH
12 #include "lily-proto.hh"
13 #include "grob-interface.hh"
15 struct Self_alignment_interface
17 DECLARE_GROB_INTERFACE();
19 static SCM aligned_on_self (Grob *me, Axis a, bool pure, int start, int end);
20 static SCM centered_on_object (Grob *me, Axis a);
21 static SCM aligned_on_parent (Grob *me, Axis a);
22 static void set_center_parent (Grob *me, Axis a);
23 static void set_align_self (Grob *me, Axis a);
25 DECLARE_SCHEME_CALLBACK (x_aligned_on_self, (SCM element));
26 DECLARE_SCHEME_CALLBACK (y_aligned_on_self, (SCM element));
28 DECLARE_SCHEME_CALLBACK (pure_y_aligned_on_self, (SCM element, SCM start, SCM end));
30 DECLARE_SCHEME_CALLBACK (centered_on_x_parent, (SCM element));
31 DECLARE_SCHEME_CALLBACK (centered_on_y_parent, (SCM element));
32 DECLARE_SCHEME_CALLBACK (x_centered_on_y_parent, (SCM element));
34 DECLARE_SCHEME_CALLBACK (aligned_on_x_parent, (SCM element));
35 DECLARE_SCHEME_CALLBACK (aligned_on_y_parent, (SCM element));