X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-outputter.hh;h=56defcc3b211408c523780f6d487880ed8eb1cd2;hb=f9efd2c54b174591fa42889557686c7aea356547;hp=5a17fb60f9ce37a9d08154dc12c9471a5c130c9d;hpb=82731e802565546441c401a84a13b486e54eb760;p=lilypond.git diff --git a/lily/include/paper-outputter.hh b/lily/include/paper-outputter.hh index 5a17fb60f9..56defcc3b2 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--1999 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ @@ -16,38 +16,44 @@ #include "lily-guile.hh" #include "protected-scm.hh" -#ifdef __powerpc__ -#include "protected-scm.hh" -#endif - /** - Abstract interface for a Score_element 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 { -public: - Protected_scm molecules_; - SCM last_cons_; - Paper_outputter (); + bool verbatim_scheme_b_; - void dump_onto (Paper_stream *); + +public: + SCM output_func_ ; + Protected_scm file_; + + String basename_; + Paper_outputter (String nm); + ~Paper_outputter (); + + void dump_scheme (SCM); 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 (Scheme_hash_table*, String prefix); void output_version (); void output_font_def (int i, String str); void output_font_switch (int i); void output_header (); - void output_molecule (Molecule const *, Offset, char const *); void output_comment (String s); + void output_string (SCM s); void output_scheme (SCM scm); - void start_line (Real height); - void stop_line (); - void stop_last_line (); + void write_header_field_to_file (String filename, SCM, SCM); + void write_header_fields_to_file (Scheme_hash_table *); }; #endif // PAPER_OUTPUTTER_HH