/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Glue between the backend (grobs, systems, pages) and the output file.
proxy for Scheme backends.
*/
-class Paper_outputter
+class Paper_outputter : public Smob<Paper_outputter>
{
+public:
+ SCM mark_smob () const;
+ virtual ~Paper_outputter ();
+private:
SCM output_module_;
string file_name_;
SCM file_;
public:
- DECLARE_SMOBS (Paper_outputter);
+ Paper_outputter (SCM port, const string &format);
-public:
- SCM file () const;
+ void close ();
SCM dump_string (SCM);
- void output_scheme (SCM scm);
- Paper_outputter (SCM port, string format);
- SCM scheme_to_string (SCM);
+ SCM file () const;
+ SCM module () const;
+ SCM output_scheme (SCM scm);
void output_stencil (Stencil);
- void close ();
+ SCM scheme_to_string (SCM);
};
-Paper_outputter *get_paper_outputter (string, string);
-DECLARE_UNSMOB (Paper_outputter, outputter);
#endif /* PAPER_OUTPUTTER_HH */