]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/page-spacing-result.hh
Run grand replace for 2015.
[lilypond.git] / lily / include / page-spacing-result.hh
index 85c5f054c7159f9e2796d75144dac7ecbe069aaa..ccba917b077a815801a1f1d9097d498aa8203814 100644 (file)
@@ -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 <hanwen@lilypond.org>
-  
+/*
+  This file is part of LilyPond, the GNU music typesetter.
+
+  Copyright (C) 2007--2015 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+  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 <http://www.gnu.org/licenses/>.
 */
 
 #ifndef PAGE_SPACING_RESULT_HH
 #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<vsize> systems_per_page_;
   vector<Real> 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 ();
 };