X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpage-spacing-result.hh;h=ccba917b077a815801a1f1d9097d498aa8203814;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=85c5f054c7159f9e2796d75144dac7ecbe069aaa;hpb=e344ae579fa1d81fc6c6f3049494697872fd39f9;p=lilypond.git diff --git a/lily/include/page-spacing-result.hh b/lily/include/page-spacing-result.hh index 85c5f054c7..ccba917b07 100644 --- a/lily/include/page-spacing-result.hh +++ b/lily/include/page-spacing-result.hh @@ -1,10 +1,20 @@ -/* - page-spacing-result.hh -- declare Page_spacing_result - - source file of the GNU LilyPond music typesetter - - (c) 2007--2008 Han-Wen Nienhuys - +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2007--2015 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef PAGE_SPACING_RESULT_HH @@ -13,16 +23,28 @@ #include "std-vector.hh" #include "lily-proto.hh" -struct Page_spacing_result { +// This enum is a bitfield: since we use one System_count_status +// to represent the system count of several pages simultaneously, +// it could be that one page has too many systems while another +// has too few. +typedef enum +{ + SYSTEM_COUNT_OK = 0, + SYSTEM_COUNT_TOO_MANY = 1, + SYSTEM_COUNT_TOO_FEW = 2 +} System_count_status; + +struct Page_spacing_result +{ vector systems_per_page_; vector force_; Real penalty_; Real demerits_; + int system_count_status_; Real average_force () const; vsize page_count () const; - vsize system_count () const; - void print () const; + void print () const; Page_spacing_result (); };