]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/paper-score.hh
* lily/include/music-output.hh (process): Change signature to
[lilypond.git] / lily / include / paper-score.hh
1 /*
2   paper-score.hh -- declare Paper_score
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9 #ifndef PAPER_SCORE_HH
10 #define PAPER_SCORE_HH
11
12 #include "column-x-positions.hh"
13 #include "parray.hh"
14 #include "lily-proto.hh"
15 #include "music-output.hh"
16 #include "lily-guile.hh"
17 #include "protected-scm.hh"
18
19 /* PAPER output */
20 class Paper_score : public Music_output
21 {
22 public:
23   Paper_def *paper_;
24   System *system_;
25
26   Paper_score ();
27
28   int find_col_idx (Paper_column const *) const;
29   Link_array<Item> broken_col_range (Item const*, Item const*) const;
30   void typeset_line (System*);
31   void output ();
32
33 protected:
34   virtual SCM process (String);
35
36 private:
37   Protected_scm score_;
38
39   void preprocess ();
40   void calc_idealspacing ();
41   Array<Column_x_positions> calc_breaking ();
42   void postprocess ();
43   Paper_score (Paper_score const &);
44 };
45
46 #endif /* PAPER_SCORE_HH */