]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/separation-item.hh
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / include / separation-item.hh
index 49a50baf45dd3279a1d440cd20fbc121d3a6ffbd..5bcb4e6e3ea5576cce909e7d9a4f630a9847d02b 100644 (file)
@@ -1,25 +1,33 @@
-/*   
+/*
   single-malt-grouping-item.hh -- declare Separation_item
-  
+
   source file of the GNU LilyPond music typesetter
-  
-  (c)  1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
+
+  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+*/
 
 #ifndef SINGLE_MALT_GROUPING_ITEM_HH
 #define SINGLE_MALT_GROUPING_ITEM_HH
 
 #include "lily-proto.hh"
+#include "direction.hh"
+#include "grob-interface.hh"
+#include "skyline.hh"
 
-/**  
-*/
 struct Separation_item
 {
-  static void set_interface (Grob*);
-  static bool has_interface (Grob*);
-  static Interval my_width (Grob*) ;
-  static void add_item (Grob*,Item*);
+  DECLARE_GROB_INTERFACE();
+  DECLARE_SCHEME_CALLBACK(calc_skylines, (SCM));
+
+  static vector<Box> boxes (Grob *me, Grob *left);
+  static Skyline conditional_skyline (Grob *, Grob *);
+  static Interval width (Grob *);
+  static Interval relative_width (Grob *, Grob *);
+  static Grob *extremal_break_aligned_grob (Grob *, Direction, Interval *);
+  static bool set_distance (Drul_array<Item *>, Real);
+  static void set_skyline_distance (Drul_array<Item*>, Real);
+  static void add_item (Grob *, Item *);
+  static void add_conditional_item (Grob *, Grob *);
 };
 
 #endif /* SINGLE_MALT_GROUPING_ITEM_HH */