00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __DECODER_H_
00021 #define __DECODER_H_
00022
00023 #ifdef HAVE_CONFIG_H
00024 #include "config.h"
00025 #endif
00026
00027 #include <exception>
00028 #include "rect.h"
00029
00030 class blitter;
00031 class chunck;
00032
00038 class decoder {
00039 private:
00040 rect _r;
00041 point _p;
00042 protected:
00043 const rect & get_rect() const throw() { return _r; }
00044 const point & get_size() const throw() { return _p; }
00045 public:
00046 decoder() throw() {};
00047 virtual ~decoder() throw() {};
00048 virtual bool init_size(const point & p, const rect & r) throw(std::exception) { _p = p; _r = r; return true; };
00049 virtual bool decode(blitter &, chunck &) throw(std::exception) = 0;
00050 };
00051
00052 #endif