X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Fpage-spacing-result.hh;h=29146d23e93ba3efa90a67628ee1135c0977f1b3;hb=2cb02ca327fbbde256ae6712d1e968b9da5d492e;hp=870fbda7e15fd080c51b1bed79ac05133b753c29;hpb=8cab78caa0db1ba14f2e52e4c1ddbb541ea0e5cb;p=lilypond.git diff --git a/lily/include/page-spacing-result.hh b/lily/include/page-spacing-result.hh index 870fbda7e1..29146d23e9 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--2009 Han-Wen Nienhuys - +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2007--2009 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,11 +23,22 @@ #include "std-vector.hh" #include "lily-proto.hh" +// 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;