source file of the GNU LilyPond music typesetter
- (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "protected-scm.hh"
/**
- 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
{
+ bool verbatim_scheme_b_;
+
+
public:
- Protected_scm molecules_;
- SCM last_cons_;
- Paper_outputter ();
- void dump_onto (Paper_stream *);
+ 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_font_switch (int i);
void output_header ();
void output_comment (String s);
+ void output_string (SCM s);
void output_scheme (SCM scm);
+
+ void write_header_field_to_file (String filename, SCM, SCM);
+ void write_header_fields_to_file (Scope *);
};
#endif // PAPER_OUTPUTTER_HH