]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/multi-measure-rest.hh
Merge with master
[lilypond.git] / lily / include / multi-measure-rest.hh
index d516dbfd96d9d733cc3298436a5ba38d230afe8f..554a328b6ef5057fbb0fb7e0cf3c25a9773c6b74 100644 (file)
@@ -1,37 +1,33 @@
-/*   
+/*
   multi-measure-rest.hh -- declare Multi_measure_rest
-  
+
   source file of the GNU LilyPond music typesetter
-  
-  (c) 1998--2000 Jan Nieuwenhuizen <janneke@gnu.org>
-  
- */
+
+  (c) 1998--2007 Jan Nieuwenhuizen <janneke@gnu.org>
+*/
 
 #ifndef MULTI_MEASURE_REST_HH
 #define MULTI_MEASURE_REST_HH
 
-#include "lily-proto.hh"
-#include "lily-guile.hh"
+#include "grob-interface.hh"
 #include "rod.hh"
-/*
-  properties:
 
-  columns -- list of paper-columns
-
- expand-limit -- int : max number of measures expanded in church rests
-
- minimum-width -- Real in staffspace
-
- padding -- staffspace
-*/
 class Multi_measure_rest
 {
 public:
-  static void set_interface (Score_element*);
-  static bool has_interface (Score_element*);
-  DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
-  static  void add_column (Score_element*,Item*);
-  DECLARE_SCHEME_CALLBACK(set_spacing_rods, (SCM ));
+  DECLARE_GROB_INTERFACE();
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
+  DECLARE_SCHEME_CALLBACK (percent, (SCM));
+  static void add_column (Grob *, Item *);
+  DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM));
+  DECLARE_SCHEME_CALLBACK (set_text_rods, (SCM));
+  DECLARE_SCHEME_CALLBACK (centered_stencil, (SCM));
+
+
+  static void calculate_spacing_rods (Grob *me, Real length);
+  static Stencil big_rest (Grob *, Real);
+  static Stencil symbol_stencil (Grob *, Real);
+  static Stencil church_rest (Grob *, Font_metric *, int, Real);
 };
 
 #endif /* MULTI_MEASURE_REST_HH */