diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-08-24 01:54:08 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-08-24 02:34:21 +0200 |
commit | dac0598b94c877bec92a1edd78ae00021cfa1638 (patch) | |
tree | 70988ddf9cc7c4e9c2e7b867bb135c331e061217 /include | |
parent | bda5d26894c857a05f811a6ebd3595d26424d2ea (diff) | |
download | qpdf-dac0598b94c877bec92a1edd78ae00021cfa1638.tar.zst |
Add ability to set zlib compression level globally
Diffstat (limited to 'include')
-rw-r--r-- | include/qpdf/Pl_Flate.hh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/qpdf/Pl_Flate.hh b/include/qpdf/Pl_Flate.hh index f25adfbb..96e09d4b 100644 --- a/include/qpdf/Pl_Flate.hh +++ b/include/qpdf/Pl_Flate.hh @@ -28,6 +28,7 @@ class Pl_Flate: public Pipeline { public: static unsigned int const def_bufsize = 65536; + static int compression_level; enum action_e { a_inflate, a_deflate }; @@ -42,6 +43,15 @@ class Pl_Flate: public Pipeline QPDF_DLL virtual void finish(); + // Globally set compression level from 1 (fastest, least + // compression) to 9 (slowest, most compression). Use -1 to set + // the default compression level. This is passed directly to zlib. + // This method returns a pointer to the current Pl_Flate object so + // you can create a pipeline with + // Pl_Flate(...)->setCompressionLevel(...) + QPDF_DLL + static void setCompressionLevel(int); + private: void handleData(unsigned char* data, size_t len, int flush); void checkError(char const* prefix, int error_code); |