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 DECLARE_SCHEME_CALLBACK (stretch_after_break, (SCM element));
20 static void align_to_fixed_distance (Grob *, Axis a);
21 static void align_elements_to_extents (Grob *, Axis a);
22 static void set_axis (Grob *, Axis);
23 static Axis axis (Grob *);
24 static void add_element (Grob *, Grob *, SCM callback);
25 static int get_count (Grob *, Grob *);
27 static bool has_interface (Grob *);
30 Grob *find_fixed_alignment_parent (Grob *g);
32 #endif /* ALIGN_INTERFACE_HH */