]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/paper-column.hh
2003 -> 2004
[lilypond.git] / lily / include / paper-column.hh
index 8bf231d3f49745ccad5ff0b5dcc896004ea3b574..f44ea9ac151661343fcc08c9925293a3783b2bf5 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 
 #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}
-  */
 
 class Paper_column : public Item
 { 
 public:
-  VIRTUAL_COPY_CONS(Score_element);
+  VIRTUAL_COPY_CONS (Grob);
 
-  /*
-    ugh.
-
-    TODO:
-    
-    * junk these after spacing is done.
-
-    * Put these in Scheme.
-   */
+  static bool has_interface (Grob*);
+  int  rank_;
+  virtual void do_break_processing ();
+  virtual Paper_column *get_column () const;
+  virtual System *get_system () const;
   
-  Array<Column_rod>  minimal_dists_;
-  Array<Column_spring > springs_;
-
-  /// 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;
-  virtual Line_of_score *line_l () const;
-
   /// if lines are broken then this column is in #line#
-  Line_of_score *line_l_;
-
-  /// which  one (left =0)
-  int rank_i() const;
+  System *system_;
 
-  Paper_column (Moment when);
-  Moment when_mom ()const;
+  static int get_rank (Grob*);
 
-  bool musical_b () const;
+  DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK(before_line_breaking, (SCM));
+  
+  Paper_column (SCM);
+  static bool musical_b (Grob *);
+  static Moment when_mom (Grob*);
 
+  static bool used_b (Grob*) ;
   void set_rank (int);
-private:
-    
-  /**
-    The ranking: left is smaller than right 
-    -1 is uninitialised.
-    */
-  int rank_i_;
-
 };
      
 #endif // P_COL_HH