X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpage-spacing-result.hh;h=ccba917b077a815801a1f1d9097d498aa8203814;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=7b8ae88b5c651265078dbe77c636569699d944e1;hpb=651887bf80f7d060457ef46a97341eec46688b44;p=lilypond.git diff --git a/lily/include/page-spacing-result.hh b/lily/include/page-spacing-result.hh index 7b8ae88b5c..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 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,13 +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_; - vsize system_count () const; + Real average_force () const; + vsize page_count () const; + void print () const; Page_spacing_result (); };