]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/paper-system.hh
*** empty log message ***
[lilypond.git] / lily / include / paper-system.hh
1 /*
2   paper-system.hh -- declare Paper_system
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2004--2005  Jan Nieuwenhuizen <janneke@gnu.org>
7 */
8 #ifndef PAPER_SYSTEM_HH
9 #define PAPER_SYSTEM_HH
10
11 #include "stencil.hh"
12
13 /*
14   A formatted "system" (A block of titling also is a Paper_system)
15
16   To save memory, we don't keep around the System grobs, but put the
17   formatted content of the grob is put into a
18   Paper_system. Page-breaking handles Paper_system objects.
19   
20  */
21 class Paper_system
22 {
23   DECLARE_SMOBS (Paper_system, );
24   Stencil stencil_;
25   bool is_title_;
26 public:
27   Interval staff_refpoints_;
28   Real break_before_penalty_;
29   int number_;
30
31   Paper_system (Stencil, bool);
32   
33   Stencil to_stencil () const;
34   SCM stencils () const;
35   bool is_title () const;
36   Real break_before_penalty () const;
37 };
38 //
39 DECLARE_UNSMOB (Paper_system, paper_system);
40
41 #endif /* PAPER_SYSTEM_HH */