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