]>
Commit | Line | Data |
---|---|---|
631f1bfe JS |
1 | % ----------------------------------------------------------------------------- |
2 | % wxZlibInputStream | |
3 | % ----------------------------------------------------------------------------- | |
750b78ba | 4 | \section{\class{wxZlibInputStream}}\label{wxzlibinputstream} |
631f1bfe | 5 | |
301deecc | 6 | This filter stream decompresses a stream that is in zlib or gzip format. |
4c68a102 | 7 | Note that reading the gzip format requires zlib version 1.2.1 or greater, |
dbd94b75 | 8 | (the builtin version does support gzip format). |
36edded9 | 9 | |
0915d0b2 VZ |
10 | The stream is not seekable, \helpref{SeekI()}{wxinputstreamseeki} returns |
11 | {\it wxInvalidOffset}. Also \helpref{GetSize()}{wxstreambasegetsize} is | |
12 | not supported, it always returns $0$. | |
13 | ||
631f1bfe JS |
14 | \wxheading{Derived from} |
15 | ||
7376079d VZ |
16 | \helpref{wxFilterInputStream}{wxfilterinputstream}\\ |
17 | \helpref{wxInputStream}{wxinputstream}\\ | |
18 | \helpref{wxStreamBase}{wxstreambase} | |
631f1bfe | 19 | |
954b8ae6 JS |
20 | \wxheading{Include files} |
21 | ||
22 | <wx/zstream.h> | |
23 | ||
a7af285d VZ |
24 | \wxheading{Library} |
25 | ||
26 | \helpref{wxBase}{librarieslist} | |
27 | ||
631f1bfe JS |
28 | \wxheading{See also} |
29 | ||
0915d0b2 VZ |
30 | \helpref{wxInputStream}{wxinputstream}, |
31 | \helpref{wxZlibOutputStream}{wxzliboutputstream}. | |
32 | ||
33 | \latexignore{\rtfignore{\wxheading{Members}}} | |
34 | ||
6d06e061 | 35 | \membersection{wxZlibInputStream::wxZlibInputStream}\label{wxzlibinputstreamwxzlibinputstream} |
0915d0b2 | 36 | |
4c68a102 | 37 | \func{}{wxZlibInputStream}{\param{wxInputStream\&}{ stream}, \param{int}{ flags = wxZLIB\_AUTO}} |
0915d0b2 | 38 | |
716b1f70 MW |
39 | \func{}{wxZlibInputStream}{\param{wxInputStream*}{ stream}, \param{int}{ flags = wxZLIB\_AUTO}} |
40 | ||
41 | If the parent stream is passed as a pointer then the new filter stream | |
42 | takes ownership of it. If it is passed by reference then it does not. | |
43 | ||
301deecc | 44 | The {\it flags} wxZLIB\_ZLIB and wxZLIB\_GZIP specify whether the input data |
4c68a102 | 45 | is in zlib or gzip format. If wxZLIB\_AUTO is used, then zlib will |
301deecc | 46 | autodetect the stream type, this is the default. |
4c68a102 VS |
47 | |
48 | If {\it flags} is wxZLIB\_NO\_HEADER, then the data is assumed to be a raw | |
49 | deflate stream without either zlib or gzip headers. This is a lower level | |
50 | mode, which is not usually used directly. It can be used to read a raw | |
51 | deflate stream embedded in a higher level protocol. | |
52 | ||
53 | %if WXWIN_COMPATIBILITY_2_4 | |
54 | This version is not by default compatible with the output produced by | |
55 | the version of {\it wxZlibOutputStream} in wxWidgets 2.4.x. However, | |
dbd94b75 KH |
56 | there is a compatibility mode, which is switched on by passing |
57 | wxZLIB\_24COMPATIBLE for flags. Note that in when operating in compatibility | |
4c68a102 VS |
58 | mode error checking is very much reduced. |
59 | %endif | |
0915d0b2 | 60 | |
301deecc | 61 | The following symbols can be use for the flags: |
0915d0b2 VZ |
62 | |
63 | \begin{verbatim} | |
64 | // Flags | |
65 | enum { | |
4c68a102 VS |
66 | #if WXWIN_COMPATIBILITY_2_4 |
67 | wxZLIB_24COMPATIBLE = 4, // read v2.4.x data without error | |
68 | #endif | |
69 | wxZLIB_NO_HEADER = 0, // raw deflate stream, no header or checksum | |
70 | wxZLIB_ZLIB = 1, // zlib header and checksum | |
71 | wxZLIB_GZIP = 2, // gzip header and checksum, requires zlib 1.2.1+ | |
72 | wxZLIB_AUTO = 3 // autodetect header zlib or gzip | |
301deecc | 73 | }; |
0915d0b2 VZ |
74 | \end{verbatim} |
75 | ||
4c68a102 VS |
76 | \membersection{wxZlibInputStream::CanHandleGZip}\label{wxzlibinputstreamcanhandlegzip} |
77 | ||
78 | \func{static bool}{CanHandleGZip}{\void} | |
79 | ||
80 | Returns true if zlib library in use can handle gzip compressed data. | |
631f1bfe | 81 | |
631f1bfe JS |
82 | % ----------------------------------------------------------------------------- |
83 | % wxZlibOutputStream | |
84 | % ----------------------------------------------------------------------------- | |
750b78ba | 85 | \section{\class{wxZlibOutputStream}}\label{wxzliboutputstream} |
631f1bfe | 86 | |
301deecc RN |
87 | This stream compresses all data written to it. The compressed output can be |
88 | in zlib or gzip format. | |
4c68a102 | 89 | Note that writing the gzip format requires zlib version 1.2.1 or greater |
dbd94b75 | 90 | (the builtin version does support gzip format). |
36edded9 | 91 | |
0915d0b2 VZ |
92 | The stream is not seekable, \helpref{SeekO()}{wxoutputstreamseeko} returns |
93 | {\it wxInvalidOffset}. | |
94 | ||
631f1bfe JS |
95 | \wxheading{Derived from} |
96 | ||
7376079d VZ |
97 | \helpref{wxFilterOutputStream}{wxfilteroutputstream}\\ |
98 | \helpref{wxOutputStream}{wxoutputstream}\\ | |
99 | \helpref{wxStreamBase}{wxstreambase} | |
631f1bfe | 100 | |
954b8ae6 JS |
101 | \wxheading{Include files} |
102 | ||
103 | <wx/zstream.h> | |
104 | ||
a7af285d VZ |
105 | \wxheading{Library} |
106 | ||
107 | \helpref{wxBase}{librarieslist} | |
108 | ||
631f1bfe JS |
109 | \wxheading{See also} |
110 | ||
0915d0b2 VZ |
111 | \helpref{wxOutputStream}{wxoutputstream}, |
112 | \helpref{wxZlibInputStream}{wxzlibinputstream} | |
631f1bfe | 113 | |
5824f314 VS |
114 | |
115 | \latexignore{\rtfignore{\wxheading{Members}}} | |
116 | ||
6d06e061 | 117 | \membersection{wxZlibOutputStream::wxZlibOutputStream}\label{wxzliboutputstreamwxzliboutputstream} |
5824f314 | 118 | |
301deecc | 119 | \func{}{wxZlibOutputStream}{\param{wxOutputStream\&}{ stream}, \param{int}{ level = -1}, \param{int}{ flags = wxZLIB\_ZLIB}} |
5824f314 | 120 | |
716b1f70 MW |
121 | \func{}{wxZlibOutputStream}{\param{wxOutputStream*}{ stream}, \param{int}{ level = -1}, \param{int}{ flags = wxZLIB\_ZLIB}} |
122 | ||
5824f314 VS |
123 | Creates a new write-only compressed stream. {\it level} means level of |
124 | compression. It is number between 0 and 9 (including these values) where | |
125 | 0 means no compression and 9 best but slowest compression. -1 is default | |
126 | value (currently equivalent to 6). | |
0915d0b2 | 127 | |
716b1f70 MW |
128 | If the parent stream is passed as a pointer then the new filter stream |
129 | takes ownership of it. If it is passed by reference then it does not. | |
130 | ||
301deecc RN |
131 | The {\it flags} wxZLIB\_ZLIB and wxZLIB\_GZIP specify whether the output data |
132 | will be in zlib or gzip format. wxZLIB\_ZLIB is the default. | |
4c68a102 VS |
133 | |
134 | If {\it flags} is wxZLIB\_NO\_HEADER, then a raw deflate stream is output | |
135 | without either zlib or gzip headers. This is a lower level | |
136 | mode, which is not usually used directly. It can be used to embed a raw | |
137 | deflate stream in a higher level protocol. | |
0915d0b2 VZ |
138 | |
139 | The following symbols can be use for the compression level and flags: | |
140 | ||
141 | \begin{verbatim} | |
142 | // Compression level | |
143 | enum { | |
144 | wxZ_DEFAULT_COMPRESSION = -1, | |
145 | wxZ_NO_COMPRESSION = 0, | |
146 | wxZ_BEST_SPEED = 1, | |
147 | wxZ_BEST_COMPRESSION = 9 | |
301deecc | 148 | }; |
0915d0b2 VZ |
149 | |
150 | // Flags | |
151 | enum { | |
301deecc RN |
152 | wxZLIB_NO_HEADER = 0, // raw deflate stream, no header or checksum |
153 | wxZLIB_ZLIB = 1, // zlib header and checksum | |
4c68a102 | 154 | wxZLIB_GZIP = 2 // gzip header and checksum, requires zlib 1.2.1+ |
301deecc | 155 | }; |
0915d0b2 VZ |
156 | \end{verbatim} |
157 | ||
4c68a102 VS |
158 | \membersection{wxZlibOutputStream::CanHandleGZip}\label{wxoutputstreamcanhandlegzip} |
159 | ||
160 | \func{static bool}{CanHandleGZip}{\void} | |
161 | ||
162 | Returns true if zlib library in use can handle gzip compressed data. | |
163 |