]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/paper-stream.hh
release: 1.1.0
[lilypond.git] / lily / include / paper-stream.hh
1 #ifndef PAPER_STREAM_HH
2 #define PAPER_STREAM_HH
3
4 #include <iostream.h>
5 #include "string.hh"
6
7 /** Paper output
8   Baseclass for writing to a PostScript or TeX file.
9   It counts braces to prevent nesting errors, and
10   it will add a comment sign before each newline.
11  */
12
13 class Paper_stream
14 {
15 public:
16     bool outputting_comment;
17     ostream *os;
18     int nest_level;
19     /// to check linelen in output. TeX has limits.
20     int line_len_i_;
21     
22     /// open a file for writing
23     Paper_stream (String filename);
24
25     /// delegate conversion to scalar class
26     Paper_stream &operator <<(Scalar);
27
28     /// close the file
29     ~Paper_stream();
30
31 private:
32     Paper_stream (Paper_stream const&);
33     void break_line();
34 };
35
36 #endif // PAPER_STREAM_HH