]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/separation-item.hh
Merge branch 'master' of ssh+git://hanwen@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / include / separation-item.hh
index 49a50baf45dd3279a1d440cd20fbc121d3a6ffbd..1b2471118dff16a64492f2b03bc75523988f2fe2 100644 (file)
@@ -1,25 +1,34 @@
-/*   
+/*
   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));
+  DECLARE_SCHEME_CALLBACK (print, (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 */