]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/paper-column.hh
release: 1.3.94
[lilypond.git] / lily / include / paper-column.hh
index 9505542f6f220d0bbcbb318b89025026de2ff141..5633cb0fb236e48d8845d0fc2d9b30045479b5ce 100644 (file)
@@ -3,71 +3,54 @@
 
   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>
 */
 
 
 #ifndef P_COL_HH
 #define P_COL_HH
 
-#include "axis-group-item.hh"
+#include "item.hh"
 #include "rod.hh"
 #include "spring.hh"
 
 /**
-   stuff grouped vertically.
-    This is a class to address items vertically. It contains the data for:
-    \begin{itemize}
-    \item
-    unbroken score
-    \item
-    broken score
-    \item
-    the linespacing problem
-    \end{itemize}
+   bounded-by-me -- list of elts.
+
+   shortest-starter-duration -- rational signifying shortest moment that starts here
+
+
+   Interfaces:
+
+   axis-group, spaceable-element.
   */
 
-class Paper_column : public Axis_group_item { 
+class Paper_column : public Item
+{ 
 public:
   VIRTUAL_COPY_CONS(Score_element);
-  Drul_array<Array<Column_rod> > minimal_dists_arr_drul_;
-  Drul_array<Array<Column_spring> > spring_arr_drul_;
-  void preprocess ();
-  /// set a minimum distance
-  void add_rod (Paper_column * to, Real distance);
-  void add_spring (Paper_column * to, Real dist, Real strength);
-
-  virtual Paper_column * column_l () const;
-  /// if lines are broken then this column is in #line#
-  Line_of_score *line_l_;
 
+  /*
+    Not (yet) in scm, because of messy effects when a column commits suicide.
+   */
+  int  rank_i_;
+  virtual void do_break_processing ();
+  virtual Paper_column *column_l () const;
   virtual Line_of_score *line_l () const;
 
-  /// which  one (left =0)
-  int rank_i() const;
+  /// if lines are broken then this column is in #line#
+  Line_of_score *line_l_;
 
-  bool breakpoint_b() const;
-  void add_item (Item *i);
+  /// which  one (left =0)
+  static int rank_i(Score_element*);
 
-  Paper_column();
+  Paper_column (SCM);
+  bool musical_b () const;
+  static Moment when_mom (Score_element*);
 
+  static bool used_b (Score_element*) ;
   void set_rank (int);
-
-  void OK() const;
-  virtual void do_print() const;
-private:
-    
-  /**
-    The ranking: left is smaller than right 
-    -1 is uninitialised.
-    */
-  int rank_i_;
-
 };
-
-
-// #include "compare.hh"
-// INSTANTIATE_COMPARE(Paper_column &, Paper_column::compare);
      
 #endif // P_COL_HH