Correct left text alignment of DynamicTextSpanner.
[lilypond.git] / lily / include / paper-column-engraver.hh
blobfbe51a5c0c719c288b4d018873728f73e59ee687
1 /*
2 paper-column-engraver.hh -- declare Paper_column_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 2005--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
9 #ifndef PAPER_COLUMN_ENGRAVER_HH
10 #define PAPER_COLUMN_ENGRAVER_HH
12 #include "engraver.hh"
13 #include "listener.hh"
14 #include "moment.hh"
15 #include "stream-event.hh"
17 class Paper_column_engraver : public Engraver
19 void make_columns ();
20 void set_columns (Paper_column *, Paper_column *);
21 TRANSLATOR_DECLARATIONS (Paper_column_engraver);
23 Paper_column *find_turnable_column (Moment after_this);
24 void revoke_page_turns (Moment after_this, Real new_penalty);
26 protected:
27 void stop_translation_timestep ();
28 void start_translation_timestep ();
29 void process_music ();
30 virtual void initialize ();
31 virtual void finalize ();
33 DECLARE_TRANSLATOR_LISTENER (break);
34 DECLARE_TRANSLATOR_LISTENER (label);
36 DECLARE_ACKNOWLEDGER (item);
37 DECLARE_ACKNOWLEDGER (note_spacing);
38 DECLARE_ACKNOWLEDGER (staff_spacing);
40 System *system_;
41 vector<Stream_event*> break_events_;
42 vector<Stream_event*> label_events_;
43 int breaks_; // used for stat printing
44 Paper_column *command_column_;
45 Paper_column *musical_column_;
46 vector<Item*> items_;
47 bool first_;
48 Moment last_moment_;
50 public:
53 #endif /* PAPER_COLUMN_ENGRAVER_HH */