]> git.saurik.com Git - wxWidgets.git/commitdiff
added compression ratio argument to wxZlibOutputStream ctor
authorVáclav Slavík <vslavik@fastmail.fm>
Fri, 3 Mar 2000 22:52:17 +0000 (22:52 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Fri, 3 Mar 2000 22:52:17 +0000 (22:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/strmzlib.tex
include/wx/zstream.h
src/common/zstream.cpp

index ff8c49b7207f62ab652614d21a5221c911018a16..33ba7ee7086d24049f09155fd66152589fa4780e 100644 (file)
@@ -38,3 +38,14 @@ to the "filtered" stream.
 
 \helpref{wxOutputStream}{wxoutputstream}
 
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxZlibOutputStream::wxZlibOutputStream}
+
+\func{}{wxZlibOutputStream}{\param{wxOutputStream\&}{ stream},\param{int}{ level = -1}}
+
+Creates a new write-only compressed stream. {\it level} means level of 
+compression. It is number between 0 and 9 (including these values) where
+0 means no compression and 9 best but slowest compression. -1 is default
+value (currently equivalent to 6).
index fa65ee7f4e6207e34316c1cc81fae7f523072c1f..3cac08f9459c9a67f05952a580201054a7e218ce 100644 (file)
@@ -37,7 +37,7 @@ class WXDLLEXPORT wxZlibInputStream: public wxFilterInputStream {
 
 class WXDLLEXPORT wxZlibOutputStream: public wxFilterOutputStream {
  public:
-  wxZlibOutputStream(wxOutputStream& stream);
+  wxZlibOutputStream(wxOutputStream& stream, int level = -1);
   virtual ~wxZlibOutputStream();
 
   void Sync();
index a50768c912f5d5204e063514ec7d872fa2ead483..24f763bf289b6de153680790016a4dcb21c82d84 100644 (file)
@@ -104,7 +104,7 @@ size_t wxZlibInputStream::OnSysRead(void *buffer, size_t size)
 // wxZlibOutputStream
 //////////////////////
 
-wxZlibOutputStream::wxZlibOutputStream(wxOutputStream& stream)
+wxZlibOutputStream::wxZlibOutputStream(wxOutputStream& stream, int level)
  : wxFilterOutputStream(stream)
 {
   int err;
@@ -115,7 +115,10 @@ wxZlibOutputStream::wxZlibOutputStream(wxOutputStream& stream)
   m_deflate->zfree = (free_func)0;
   m_deflate->opaque = (voidpf)0;
 
-  err = deflateInit(m_deflate, Z_DEFAULT_COMPRESSION);
+  if (level == -1) level = Z_DEFAULT_COMPRESSION;
+  wxASSERT_MSG(level >= 0 && level <= 9, wxT("wxZlibOutputStream compression level must be between 0 and 9!"));
+
+  err = deflateInit(m_deflate, level);
   if (err != Z_OK) {
     deflateEnd(m_deflate);
     return;