- static void do_alignment (Grob*);
- static void new_do_alignment (Grob*);
- static void set_interface (Grob*);
- static bool has_interface (Grob*);
- static void add_element (Grob*me, Grob*add);
- DECLARE_SCHEME_CALLBACK (alignment_callback, (SCM element, SCM axis));
- DECLARE_SCHEME_CALLBACK (self_align_callback, (SCM element, SCM axis));
-
+ static vector<Grob *> ordered_elements (Grob *me);
+ DECLARE_GROB_INTERFACE ();
+ static void add_element (Grob *me, Grob *add);
+ static SCM break_align_order (Item *me);
+ DECLARE_SCHEME_CALLBACK (calc_positioning_done, (SCM element));
+ DECLARE_SCHEME_CALLBACK (self_align_callback, (SCM element));
+};
+
+struct Break_aligned_interface
+{
+ DECLARE_SCHEME_CALLBACK (calc_average_anchor, (SCM));
+ DECLARE_SCHEME_CALLBACK (calc_extent_aligned_anchor, (SCM));
+ DECLARE_SCHEME_CALLBACK (calc_break_visibility, (SCM));
+ DECLARE_GROB_INTERFACE ();