]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/multi-measure-rest.hh
Merge branch 'master' of ssh+git://jneem@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / include / multi-measure-rest.hh
index ba805eadd06e3c76926760eb2686ef6ac5fe8b9b..dd0d4054ae1c4ca0c5d2e545f888133a821ec2f2 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--2006 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*);
-  static SCM brew_molecule (SCM);
-  static  void add_column (Score_element*,Item*);
-  static SCM 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 */