]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/rest-collision.hh
release: 1.3.92
[lilypond.git] / lily / include / rest-collision.hh
index e500c2aa12f39f9e84e057c0ad94950083756656..c2ae9cd1fd1e4c772ea60cb438cc108fba22a15c 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #define REST_COLLISION_HH
 
 #include "lily-proto.hh"
-#include "item.hh"
+#include "lily-guile.hh"
+
+
+
+/*
+  Move rests in note-columns so that they do not collide.
+  
+  properties:
+
+  read-only
+
+  maximum-rest-count -- kill off rests so we don't more than this
+    number left.
+
+  minimum-distance -- minimum distance between notes and rests.
+
+  read/write
+  
+  elements -- list of elts (both rests and notes) participating in the
+    collision.
+
+
+  sets in elements:
+
+    rest-collision -- pointer to self.
 
-class Rest_collision : public Item {
-public:
-  void add_column (Note_column*);
-  Interval rest_dim () const;
     
-  Rest_collision();
-protected:
-  virtual void do_pre_processing();
+  
+    
+*/
+
+class Rest_collision           // interface
+{
+public:
+  static void add_column (Score_element*me,Score_element*);
+  static void set_interface (Score_element*me);
+  static bool has_interface (Score_element*);
+  static Real force_shift_callback (Score_element *, Axis);
+  static SCM do_shift (Score_element*,SCM);
 };
 #endif // REST_COLLISION_HH