]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/optimal-page-breaking.hh
* scm/page.scm (make-page): make it friendlier to call (esp. from C++)
[lilypond.git] / lily / include / optimal-page-breaking.hh
1 /*
2   optimal-page-breaking.hh -- declare a page-breaker that
3   will break pages in such a way that both horizontal and
4   vertical spacing will be acceptable
5
6   source file of the GNU LilyPond music typesetter
7
8   (c) 2006 Joe Neeman <joeneeman@gmail.com>
9 */
10
11 #ifndef OPTIMAL_PAGE_BREAKING_HH
12 #define OPTIMAL_PAGE_BREAKING_HH
13
14 #include "page-breaking.hh"
15 #include "page-spacing.hh"
16
17 class Optimal_page_breaking: public Page_breaking
18 {
19 public:
20   virtual SCM solve ();
21
22   Optimal_page_breaking (Paper_book *pb);
23   virtual ~Optimal_page_breaking ();
24
25 private:
26   SCM make_lines (vector<vsize> line_count);
27   Spacing_result try_page_spacing (vector<vsize> line_count);
28 };
29
30 #endif /* OPTIMAL_PAGE_BREAKING_HH */