]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/side-position-interface.hh
Merge branch 'master' into jneeman
[lilypond.git] / lily / include / side-position-interface.hh
index ea7655fa626f3cf03306e474a4467fc39429d61c..dc105cea4abc2666187d517de196fe124e4c7f51 100644 (file)
@@ -9,8 +9,8 @@
 #ifndef SIDE_POSITION_INTERFACE_HH
 #define SIDE_POSITION_INTERFACE_HH
 
-#include "spanner.hh"
-#include "item.hh"
+#include "grob-interface.hh"
+#include "lily-proto.hh"
 
 /*
   TODO: move out unrelated callbacks.
@@ -23,16 +23,17 @@ public:
 
   DECLARE_SCHEME_CALLBACK (y_aligned_on_support_refpoints, (SCM element));
   DECLARE_SCHEME_CALLBACK (pure_y_aligned_on_support_refpoints, (SCM element, SCM start, SCM end));
-  DECLARE_SCHEME_CALLBACK (x_aligned_side, (SCM element));
-  DECLARE_SCHEME_CALLBACK (y_aligned_side, (SCM element));
-  DECLARE_SCHEME_CALLBACK (pure_y_aligned_side, (SCM element, SCM start, SCM end));
+  DECLARE_SCHEME_CALLBACK (x_aligned_side, (SCM element, SCM current));
+  DECLARE_SCHEME_CALLBACK (y_aligned_side, (SCM element, SCM current));
+  DECLARE_SCHEME_CALLBACK (pure_y_aligned_side, (SCM element, SCM start, SCM end, SCM current));
 
-  static SCM aligned_side (Grob*me, Axis a, bool pure, int start, int end);
+  static SCM aligned_side (Grob*me, Axis a, bool pure, int start, int end, Real *current_off_ptr);
 
-  static SCM general_side_position (Grob *, Axis, bool, bool pure, int start, int end);
+  static SCM general_side_position (Grob *, Axis, bool, bool my_extents,
+                                   bool pure, int start, int end, Real *current_off);
   static Axis get_axis (Grob *);
   static void set_axis (Grob *, Axis);
-  static bool has_interface (Grob *);
+  DECLARE_GROB_INTERFACE();
   static void add_support (Grob *, Grob *);
   static void add_staff_support (Grob *);
   static Direction get_direction (Grob *);