]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/simple-spacer.hh
Run grand replace for 2015.
[lilypond.git] / lily / include / simple-spacer.hh
index 9aa6e8bdcd8e0c7051ab89ef715100e207eddc9c..d036dd191d3b3e5f8ff124a6cda6c2063bd7d34d 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1999--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1999--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
 #include "spring.hh"
 #include "smobs.hh"
 
-class Simple_spacer
+class Simple_spacer : public Simple_smob<Simple_spacer>
 {
 public:
   Simple_spacer ();
 
-  bool minimal_;
-
   void solve (Real line_len, bool ragged);
   void add_rod (int l, int r, Real dist);
   void add_spring (Spring const &);
@@ -42,14 +40,11 @@ public:
 
   void set_force (Real force);
   Real force () const;
-  Real line_len () const;
   Real force_penalty (bool ragged) const;
   bool fits () const;
 
-  DECLARE_SIMPLE_SMOBS (Simple_spacer);
 
 private:
-
   Real expand_line ();
   Real compress_line ();
   Real rod_force (int l, int r, Real dist);
@@ -61,10 +56,15 @@ private:
   bool fits_;
 };
 
+/* returns a vector of dimensions breaks.size () * breaks.size () */
+vector<Real> get_line_forces (vector<Grob *> const &columns,
+                              Real line_len,
+                              Real indent,
+                              bool ragged);
+
 Column_x_positions get_line_configuration (vector<Grob *> const &columns,
                                            Real line_len,
                                            Real indent,
                                            bool ragged);
 
 #endif /* SIMPLE_SPACER_HH */
-