2
1
mirror of https://github.com/qpdf/qpdf.git synced 2025-02-03 20:38:25 +00:00
qpdf/libqpdf/qpdf/SF_FlateLzwDecode.hh
Jay Berkenbilt 39bfa01307 Implement user-provided stream filters
Refactor QPDF_Stream to use stream filter classes to handle supported
stream filters as well.
2020-12-28 12:58:19 -05:00

31 lines
738 B
C++

#include <qpdf/QPDFStreamFilter.hh>
#include <memory>
#include <vector>
#ifndef SF_FLATELZWDECODE_HH
#define SF_FLATELZWDECODE_HH
class SF_FlateLzwDecode: public QPDFStreamFilter
{
public:
SF_FlateLzwDecode(bool lzw);
virtual ~SF_FlateLzwDecode() = default;
virtual bool setDecodeParms(QPDFObjectHandle decode_parms);
virtual Pipeline* getDecodePipeline(Pipeline* next);
static std::shared_ptr<QPDFStreamFilter> flate_factory();
static std::shared_ptr<QPDFStreamFilter> lzw_factory();
private:
bool lzw;
int predictor;
int columns;
int colors;
int bits_per_component;
bool early_code_change;
std::vector<std::shared_ptr<Pipeline>> pipelines;
};
#endif // SF_FLATELZWDECODE_HH