]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/paper-column.hh
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / include / paper-column.hh
index 935e7b8fe416611711395edf0c00368b0faa48e8..6ef3daacc4cdf60e2061d2c942afff5941fb0459 100644 (file)
@@ -3,43 +3,46 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
-
 #ifndef PAPER_COLUMN_HH
 #define PAPER_COLUMN_HH
 
 #include "item.hh"
 #include "rod.hh"
 
-
 class Paper_column : public Item
-{ 
-public:
-  int  rank_;
+{
+  int rank_;
   /// if lines are broken then this column is in #line#
   System *system_;
 
-  Paper_column (SCM);
-  VIRTUAL_COPY_CONSTRUCTOR (Grob, Paper_column);
+  // ugh: friend declarations.
+  friend void set_loose_columns (System *which, Column_x_positions const *posns);
+  friend class System;
+public:
+  Paper_column (SCM, Object_key const *);
+  Paper_column (Paper_column const &, int count);
 
-  static bool has_interface (Grob*);
+  virtual Grob *clone (int count) const;
   virtual void do_break_processing ();
   virtual Paper_column *get_column () const;
   virtual System *get_system () const;
-  
-  static int get_rank (Grob*);
+
+  int get_rank () const { return rank_; }
+  void set_rank (int);
 
   DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM));
-  
-  static bool is_musical (Grob *);
-  static Moment when_mom (Grob*);
 
-  static bool is_used (Grob*) ;
-  void set_rank (int);
+  static bool has_interface (Grob *);
+  static int get_rank (Grob *);
+  static bool is_musical (Grob *);
+  static Moment when_mom (Grob *);
+  static bool is_used (Grob *);
+  static bool is_breakable (Grob *);
 };
-     
+
 #endif // PAPER_COLUMN_HH