]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/page-spacing.hh
* scm/page.scm (make-page): make it friendlier to call (esp. from C++)
[lilypond.git] / lily / include / page-spacing.hh
1 /*
2   page-spacing.hh -- routines for spacing systems
3   vertically across pages
4
5   source file of the GNU LilyPond music typesetter
6
7   (c) 2006 Joe Neeman <joeneeman@gmail.com>
8 */
9
10 #ifndef PAGE_SPACING_HH
11 #define PAGE_SPACING_HH
12
13 #include "constrained-breaking.hh"
14
15 struct Spacing_result {
16   vector<vsize> systems_per_page_;
17   vector<Real> force_;
18   Real penalty_;
19   Real demerits_;
20
21   Spacing_result ()
22   {
23     penalty_ = 0;
24     demerits_ = 0;
25   }
26 };
27
28 Spacing_result
29 space_systems_on_min_pages (vector<Line_details> const&,
30                             Real page_height,
31                             Real odd_pages_penalty);
32 Spacing_result
33 space_systems_on_best_pages (vector<Line_details> const&,
34                              Real page_height,
35                              Real odd_pages_penalty);
36
37 #endif /* PAGE_SPACING_HH */