X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-score.hh;h=7ec8fe8ce3c2f0af591533843f980cc8d9244ca3;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=2adfdafb38b248699ba4a4831b1ff9cf0220d383;hpb=664070d837cc4855091455892cb942cdcedeef0c;p=lilypond.git diff --git a/lily/include/paper-score.hh b/lily/include/paper-score.hh index 2adfdafb38..7ec8fe8ce3 100644 --- a/lily/include/paper-score.hh +++ b/lily/include/paper-score.hh @@ -3,43 +3,44 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2004 Han-Wen Nienhuys + (c) 1996--2008 Han-Wen Nienhuys */ #ifndef PAPER_SCORE_HH #define PAPER_SCORE_HH #include "column-x-positions.hh" -#include "parray.hh" -#include "lily-proto.hh" #include "music-output.hh" -#include "lily-guile.hh" -#include "protected-scm.hh" -/* PAPER output */ +/* LAYOUT output */ class Paper_score : public Music_output { -public: - Output_def *paper_; + Output_def *layout_; System *system_; + SCM systems_; + SCM paper_systems_; - Paper_score (); - - int find_col_idx (Paper_column const *) const; - Link_array broken_col_range (Item const*, Item const*) const; - void typeset_line (System*); - void output (); - + mutable vector cols_; + mutable vector break_indices_; +public: + Paper_score (Output_def *); + + DECLARE_CLASSNAME(Paper_score); + + 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; + SCM get_paper_systems (); protected: - virtual SCM process (String); + virtual void process (); + virtual void derived_mark () const; private: - Protected_scm systems_; - - void preprocess (); - void calc_idealspacing (); - Array calc_breaking (); - void postprocess (); Paper_score (Paper_score const &); };