X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpage-layout-problem.hh;h=a98d2643542895b0ab125a0e4b229907fbdfafcd;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=9f879558dc2cc2697bb6f6b6a9a1ad62a2b96383;hpb=968e4722ea19df8485b5fec506c3b2dc9a29c664;p=lilypond.git diff --git a/lily/include/page-layout-problem.hh b/lily/include/page-layout-problem.hh index 9f879558dc..a98d264354 100644 --- a/lily/include/page-layout-problem.hh +++ b/lily/include/page-layout-problem.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2009--2011 Joe Neeman + Copyright (C) 2009--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,6 +22,7 @@ #include "simple-spacer.hh" #include "skyline.hh" +#include "stencil.hh" class Page_layout_problem { @@ -40,10 +41,10 @@ public: static vsize get_footnote_count (SCM lines); static SCM get_footnotes_from_lines (SCM lines); static void add_footnotes_to_lines (SCM lines, int counter, Paper_book *pb); - static Stencil *get_footnote_separator_stencil (Output_def *paper); + static Stencil get_footnote_separator_stencil (Output_def *paper); static SCM get_spacing_spec (Grob *before, Grob *after, bool pure, int start, int end); static Real get_fixed_spacing (Grob *before, Grob *after, int spaceable_index, bool pure, int start, int end); - static void add_footnotes_to_footer (SCM footnotes, Stencil *foot, Paper_book *pb); + static Stencil add_footnotes_to_footer (SCM footnotes, Stencil foot, Paper_book *pb); protected: void append_system (System *, Spring const &, Real indent, Real padding); @@ -63,14 +64,16 @@ protected: Prob *prob; vector staves; vector min_offsets; - // Store the appropriate '*-*-spacing 'padding, - // for spacing any adjacent loose line + // Store the appropriate '*-*-spacing 'padding, and skyline-distance, + // considering indentation, from the previous system. + Real min_distance; Real padding; - Element (vector const &a, vector const &o, Real p) + Element (vector const &a, vector const &o, Real m, Real p) { staves = a; min_offsets = o; + min_distance = m; padding = p; prob = 0; } @@ -95,6 +98,7 @@ protected: vector solution_; Real force_; Skyline bottom_skyline_; + Real bottom_loose_baseline_; Real page_height_; Real header_height_; Real footer_height_;