X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-score.hh;h=e3d0813b4b0820754390a6356bd97f84ad7950ff;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=ac1b76208940b33386aacd5c4a39a960f36d98e8;hpb=f9214bac21e9926dc3248416f58190c98c4167a9;p=lilypond.git diff --git a/lily/include/paper-score.hh b/lily/include/paper-score.hh index ac1b762089..e3d0813b4b 100644 --- a/lily/include/paper-score.hh +++ b/lily/include/paper-score.hh @@ -1,9 +1,20 @@ /* - paper-score.hh -- declare Paper_score + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1996--2015 Han-Wen Nienhuys - (c) 1996--2007 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 PAPER_SCORE_HH @@ -20,28 +31,37 @@ class Paper_score : public Music_output SCM systems_; SCM paper_systems_; - mutable vector cols_; + mutable vector cols_; mutable vector break_indices_; + mutable vector break_ranks_; public: Paper_score (Output_def *); - - DECLARE_CLASSNAME(Paper_score); + + DECLARE_CLASSNAME (Paper_score); + + static Paper_score *unsmob (SCM ps) { + return dynamic_cast (Music_output::unsmob (ps)); + } + static bool is_smob (SCM ps) { + return Music_output::is_smob (ps) && unsmob (ps); + } Output_def *layout () const; System *root_system () const; void typeset_system (System *); vector calc_breaking (); - vector find_break_indices () const; vector get_break_indices () const; - vector get_columns () const; + vector get_break_ranks () const; + vector get_columns () const; SCM get_paper_systems (); protected: + void find_break_indices () const; virtual void process (); virtual void derived_mark () const; private: - Paper_score (Paper_score const &); + Paper_score (Paper_score const &); // Do not define! Not copyable! }; #endif /* PAPER_SCORE_HH */