]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/paper-column-engraver.hh
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / include / paper-column-engraver.hh
1 /*
2   paper-column-engraver.hh -- declare Paper_column_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef PAPER_COLUMN_ENGRAVER_HH
10 #define PAPER_COLUMN_ENGRAVER_HH
11
12 #include "engraver.hh"
13
14 class Paper_column_engraver : public Engraver
15 {
16   void make_columns ();
17   void set_columns (Paper_column *, Paper_column *);
18   TRANSLATOR_DECLARATIONS (Paper_column_engraver);
19
20 protected:
21   void stop_translation_timestep ();
22   void start_translation_timestep ();
23   void process_music ();
24   virtual void initialize ();
25   virtual void finalize ();
26   virtual bool try_music (Music *);
27
28   DECLARE_ACKNOWLEDGER (item);
29   DECLARE_ACKNOWLEDGER (note_spacing);
30   DECLARE_ACKNOWLEDGER (staff_spacing);
31
32   System *system_;
33   vector<Music*> break_events_;
34   int breaks_;                  // used for stat printing
35   Paper_column *command_column_;
36   Paper_column *musical_column_;
37   vector<Item*> items_;
38   bool first_;
39   Moment last_moment_;
40
41   Moment last_breakable_moment_;
42   Paper_column *last_breakable_column_;
43 public:
44 };
45
46 #endif /* PAPER_COLUMN_ENGRAVER_HH */