00001 #ifndef _LZW_H_
00002 #define _LZW_H_
00003
00004 class Lzw
00005 {
00006 class LzwPrivate *d;
00007
00008 int find_match(int hash_prefix, uint hash_character);
00009 void output_code(GStream *output, uint code);
00010 int input_code(GStream *input);
00011 uchar *decode_string(unsigned char *buffer, unsigned int code);
00012
00013 public:
00014 int MeterBlock;
00015 Progress *Meter;
00016
00017 Lzw();
00018 virtual ~Lzw();
00019
00020 void SetBufSize(int i);
00021 bool Decompress(GStream *out, GStream *in);
00022 bool Compress(GStream *out, GStream *in);
00023 };
00024
00025 #endif