]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/paper-system.hh
* flower
[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 class Paper_system
21 {
22   DECLARE_SMOBS (Paper_system,);
23   Stencil stencil_;
24   bool is_title_;
25 public:
26   Interval staff_refpoints_;
27   Real break_before_penalty_;
28   int number_;
29
30   Paper_system (Stencil, bool);
31
32   Stencil to_stencil () const;
33   SCM stencils () const;
34   bool is_title () const;
35   Real break_before_penalty () const;
36 };
37 //
38 DECLARE_UNSMOB (Paper_system, paper_system);
39
40 #endif /* PAPER_SYSTEM_HH */