X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-outputter.hh;h=8683b4c6d10dd5f04531e40691c3bad00228890f;hb=729c453ee49e8e43cb582089b208bb62369dced1;hp=106b6645f5eac889e9186dc0bfda2826ed772d9f;hpb=64313890b232c731d432e5b096f30bffc3f3756d;p=lilypond.git diff --git a/lily/include/paper-outputter.hh b/lily/include/paper-outputter.hh index 106b6645f5..8683b4c6d1 100644 --- a/lily/include/paper-outputter.hh +++ b/lily/include/paper-outputter.hh @@ -1,9 +1,20 @@ /* - paper-outputter.hh -- declare Paper_outputter + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2015 Han-Wen Nienhuys - (c) 1997--2006 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef PAPER_OUTPUTTER_HH @@ -19,26 +30,28 @@ Glue between the backend (grobs, systems, pages) and the output file. proxy for Scheme backends. */ -class Paper_outputter +class Paper_outputter : public Smob { +public: + static const char * const type_p_name_; // = 0 + SCM mark_smob () const; + virtual ~Paper_outputter (); +private: SCM output_module_; - std::string file_name_; + 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, std::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 (std::string, std::string); -DECLARE_UNSMOB (Paper_outputter, outputter); #endif /* PAPER_OUTPUTTER_HH */