2 paper-column-engraver.hh -- declare Paper_column_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
9 #ifndef PAPER_COLUMN_ENGRAVER_HH
10 #define PAPER_COLUMN_ENGRAVER_HH
12 #include "engraver.hh"
13 #include "listener.hh"
14 #include "stream-event.hh"
16 class Paper_column_engraver : public Engraver
19 void set_columns (Paper_column *, Paper_column *);
20 TRANSLATOR_DECLARATIONS (Paper_column_engraver);
22 Paper_column *find_turnable_column (Moment after_this);
23 void revoke_page_turns (Moment after_this, Real new_penalty);
26 void stop_translation_timestep ();
27 void start_translation_timestep ();
28 void process_music ();
29 virtual void initialize ();
30 virtual void finalize ();
32 DECLARE_TRANSLATOR_LISTENER (break);
34 DECLARE_ACKNOWLEDGER (item);
35 DECLARE_ACKNOWLEDGER (note_spacing);
36 DECLARE_ACKNOWLEDGER (staff_spacing);
39 vector<Stream_event*> break_events_;
40 int breaks_; // used for stat printing
41 Paper_column *command_column_;
42 Paper_column *musical_column_;
47 Paper_column *last_special_barline_column_;
48 Paper_column *last_breakable_column_;
49 vector<Paper_column*> page_turnable_columns_;
53 #endif /* PAPER_COLUMN_ENGRAVER_HH */