]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/spring.hh
* lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
[lilypond.git] / lily / include / spring.hh
index 9d8f341e58b2e0eb84fc9cf97be7574e705f434c..2ccd5facf8f1799f0aa8cb5c270ca7f1a0b1f3e4 100644 (file)
@@ -1,43 +1,44 @@
-/*   
+/*
   spring.hh -- declare Spring, Column_spring
-  
+
   source file of the GNU LilyPond music typesetter
-  
-  (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
+
+  (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+*/
 
 #ifndef SPRING_HH
 #define SPRING_HH
 
 #include "lily-proto.hh"
-#include "drul-array.hh"
-
-struct Column_spring {
-  Paper_column *other_l_;
-  Real distance_f_;
-
-  /*
-    TODO: make 2 strengths: one for stretching, and one for shrinking.
-  */
-  Real strength_f_;
-  
-  Column_spring ();
+#include "smobs.hh"
+
+struct Spring_smob
+{
+  Grob *other_;
+  Real distance_;
+  bool expand_only_b_;
+  Real inverse_strength_;
+
+  DECLARE_SIMPLE_SMOBS (Spring_smob, dummy);
+public:
+  Spring_smob ();
 };
+DECLARE_UNSMOB (Spring_smob, spring);
 
-struct Spring{
-  Drul_array<Item*> item_l_drul_;
-  Real distance_f_;
+struct Spring
+{
+  Drul_array<Item *> item_drul_;
+  Real distance_;
+  bool expand_only_b_;
 
   /*
     TODO: make 2 strengths: one for stretching, and one for shrinking.
   */
-  Real strength_f_;
+  Real inverse_strength_;
   void add_to_cols ();
   void set_to_cols ();
   Spring ();
 };
 
-
 #endif /* SPRING_HH */