]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/paper-book.hh
new file, move from
[lilypond.git] / lily / include / paper-book.hh
1 /*
2   paper-book.hh -- declare Paper_book
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2004  Jan Nieuwenhuizen <janneke@gnu.org>
7 */
8 #ifndef PAPER_BOOK_HH
9 #define PAPER_BOOK_HH
10
11 #include "lily-guile.hh"
12 #include "parray.hh"
13 #include "protected-scm.hh"
14 #include "smobs.hh"
15
16 struct Score_lines
17 {
18   SCM lines_;
19   SCM header_;
20   SCM global_header_;
21   Output_def *paper_;
22
23   Score_lines () ;
24   void gc_mark ();
25   SCM scopes ();
26 };
27
28 class Paper_book
29 {
30   DECLARE_SMOBS (Paper_book, );
31
32   Real height_;
33   SCM copyright_;
34   SCM tagline_;
35 public:
36   Array<Score_lines> score_lines_;
37   Book_output_def *bookpaper_;
38
39   Paper_book ();
40
41   SCM lines ();
42   SCM pages ();
43   SCM scopes (int);
44   Stencil title (int);
45   void classic_output (String);
46   void init ();
47   void output (String);
48 };
49
50 DECLARE_UNSMOB (Paper_book, paper_book)
51
52 #endif /* PAPER_BOOK_HH */
53