]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/self-alignment-interface.hh
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / include / self-alignment-interface.hh
index aa64f590c77160972cbf6ad873baf5c5a6d87e28..ef953f0dbc48796d5c2173af1dc65b02054ce74f 100644 (file)
@@ -3,19 +3,20 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #ifndef SELF_ALIGNMENT_INTERFACE_HH
 #define SELF_ALIGNMENT_INTERFACE_HH
 
-#include "spanner.hh"
+#include "lily-proto.hh"
+#include "grob-interface.hh"
 
 struct Self_alignment_interface
 {
-  static bool has_interface (Grob *);
+  DECLARE_GROB_INTERFACE();
 
-  static SCM aligned_on_self (Grob *me, Axis a);
+  static SCM aligned_on_self (Grob *me, Axis a, bool pure, int start, int end);
   static SCM centered_on_object (Grob *me, Axis a);
   static SCM aligned_on_parent (Grob *me, Axis a);
   static void set_center_parent (Grob *me, Axis a);
@@ -24,6 +25,8 @@ struct Self_alignment_interface
   DECLARE_SCHEME_CALLBACK (x_aligned_on_self, (SCM element));
   DECLARE_SCHEME_CALLBACK (y_aligned_on_self, (SCM element));
 
+  DECLARE_SCHEME_CALLBACK (pure_y_aligned_on_self, (SCM element, SCM start, SCM end));
+
   DECLARE_SCHEME_CALLBACK (centered_on_x_parent, (SCM element));
   DECLARE_SCHEME_CALLBACK (centered_on_y_parent, (SCM element));
   DECLARE_SCHEME_CALLBACK (x_centered_on_y_parent, (SCM element));