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>
9 #ifndef PAPER_COLUMN_ENGRAVER_HH
10 #define PAPER_COLUMN_ENGRAVER_HH
12 #include "engraver.hh"
13 #include "listener.hh"
15 #include "stream-event.hh"
17 class Paper_column_engraver
: public Engraver
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
);
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
);
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_
;
53 #endif /* PAPER_COLUMN_ENGRAVER_HH */