X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-outputter.hh;h=c36b38a53d5b3f118add57108b035fd92ef47a42;hb=051d7e7cbdbbe5f5337ab2b477b0bd1e72eedd04;hp=2f30e86e43842c44e65cba0ff2a7089ccffc84d6;hpb=44db43814df6d3d9d11d5f84a2b894ff386024aa;p=lilypond.git diff --git a/lily/include/paper-outputter.hh b/lily/include/paper-outputter.hh index 2f30e86e43..c36b38a53d 100644 --- a/lily/include/paper-outputter.hh +++ b/lily/include/paper-outputter.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ @@ -17,17 +17,25 @@ #include "protected-scm.hh" /** - Abstract interface for a Grob to output itself. - */ + Interface for a Grob to output itself; The Paper_score contains a + pointer to a Paper_outputter, and this enables every grob to output + itself. + + The Paper_outputter contains a reference to an output stream + (Paper_stream). */ + class Paper_outputter { bool verbatim_scheme_b_; - Paper_stream * stream_p_; + + public: - /** - Assumes responsibility for deletion of P - */ - Paper_outputter (Paper_stream*p); + + SCM output_func_ ; + Protected_scm file_; + + String basename_; + Paper_outputter (String nm); ~Paper_outputter (); void dump_scheme (SCM); @@ -35,7 +43,7 @@ public: void output_int_def (String k, int v); void output_Real_def (String k, Real v); void output_String_def (String k, String v); - void output_scope (Scope*, String prefix); + void output_scope (SCM, String prefix); void output_version (); void output_font_def (int i, String str); void output_font_switch (int i); @@ -43,8 +51,9 @@ public: void output_comment (String s); void output_string (SCM s); void output_scheme (SCM scm); - static void output_score_header_field (String filename, String key, String value); - static void output_score_header_fields (Paper_def *paper); + + void write_header_field_to_file (String filename, SCM, SCM); + void write_header_fields_to_file (SCM); }; #endif // PAPER_OUTPUTTER_HH