2 align-interface.hh -- declare Align_interface
4 source file of the GNU LilyPond music typesetter
6 (c) 2000--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #ifndef ALIGN_INTERFACE_HH
10 #define ALIGN_INTERFACE_HH
12 #include "lily-proto.hh"
13 #include "lily-guile.hh"
15 struct Align_interface
17 DECLARE_SCHEME_CALLBACK (alignment_callback, (SCM element, SCM axis));
18 DECLARE_SCHEME_CALLBACK (fixed_distance_alignment_callback, (SCM element, SCM axis));
19 static void align_to_fixed_distance (Grob *, Axis a);
20 static void align_elements_to_extents (Grob *, Axis a);
21 static void set_axis (Grob *, Axis);
22 static Axis axis (Grob *);
23 static void add_element (Grob *, Grob *, SCM callback);
24 static int get_count (Grob *, Grob *);
26 static bool has_interface (Grob *);
29 Grob *find_fixed_alignment_parent (Grob *g);
31 #endif /* ALIGN_INTERFACE_HH */