]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/paper-column-engraver.hh
Run `make grand-replace'.
[lilypond.git] / lily / include / paper-column-engraver.hh
index f850613bdd628385db62b70d3c09f6f51325ff60..d5472175c83796a54aaaac79fba4c847e383290c 100644 (file)
@@ -3,13 +3,16 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #ifndef PAPER_COLUMN_ENGRAVER_HH
 #define PAPER_COLUMN_ENGRAVER_HH
 
 #include "engraver.hh"
+#include "listener.hh"
+#include "moment.hh"
+#include "stream-event.hh"
 
 class Paper_column_engraver : public Engraver
 {
@@ -17,20 +20,26 @@ class Paper_column_engraver : public Engraver
   void set_columns (Paper_column *, Paper_column *);
   TRANSLATOR_DECLARATIONS (Paper_column_engraver);
 
+  Paper_column *find_turnable_column (Moment after_this);
+  void revoke_page_turns (Moment after_this, Real new_penalty);
+
 protected:
   void stop_translation_timestep ();
   void start_translation_timestep ();
   void process_music ();
   virtual void initialize ();
   virtual void finalize ();
-  virtual bool try_music (Music *);
+
+  DECLARE_TRANSLATOR_LISTENER (break);
+  DECLARE_TRANSLATOR_LISTENER (label);
 
   DECLARE_ACKNOWLEDGER (item);
   DECLARE_ACKNOWLEDGER (note_spacing);
   DECLARE_ACKNOWLEDGER (staff_spacing);
 
   System *system_;
-  vector<Music*> break_events_;
+  vector<Stream_event*> break_events_;
+  vector<Stream_event*> label_events_;
   int breaks_;                 // used for stat printing
   Paper_column *command_column_;
   Paper_column *musical_column_;
@@ -38,8 +47,6 @@ protected:
   bool first_;
   Moment last_moment_;
 
-  Moment last_breakable_moment_;
-  Paper_column *last_breakable_column_;
 public:
 };