]> git.donarmstrong.com Git - lilypond.git/blob - lily/page-breaking-scheme.cc
2c28da917e1f579b94e7e5d2d743d5f015cd5359
[lilypond.git] / lily / page-breaking-scheme.cc
1 /*
2   page-breaking-scheme.cc -- implement bindings to the various
3   page-breakers
4
5   source file of the GNU LilyPond music typesetter
6
7   (c) 2006 Joe Neeman <joeneeman@gmail.com>
8 */
9
10 #include "paper-book.hh"
11 #include "page-turn-page-breaking.hh"
12 #include "optimal-page-breaking.hh"
13
14 LY_DEFINE (ly_page_turn_breaking, "ly:page-turn-breaking",
15            1, 0, 0, (SCM pb),
16            "Optimally break (pages and lines) the Paper_book PB such that page turns "
17            "only happen in specified places, returning its pages.")
18 {
19   Page_turn_page_breaking b (unsmob_paper_book (pb));
20   return b.solve ();
21 }
22
23 LY_DEFINE (ly_optimal_breaking, "ly:optimal-breaking",
24            1, 0, 0, (SCM pb),
25            "Optimally break (pages and lines) the Paper_book PB to minimise badness in "
26            "bother vertical and horizontal spacing.")
27 {
28   Optimal_page_breaking b (unsmob_paper_book (pb));
29   return b.solve ();
30 }