00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef INCL_PLSGIDEC
00012 #define INCL_PLSGIDEC
00013
00014 #ifndef INCL_PLPICDEC
00015 #include "plpicdec.h"
00016 #endif
00017
00018
00019 class PLSGIDecoder : public PLPicDecoder
00020 {
00021 typedef struct {
00022 PLWORD Magic;
00023 PLBYTE Storage;
00024 PLBYTE bpc;
00025 PLWORD Dimension;
00026 PLWORD XSize;
00027 PLWORD YSize;
00028 PLWORD ZSize;
00029 PLULONG PixMin, PixMax;
00030 PLULONG Dummy1;
00031 char Name[80];
00032 PLULONG Colormap;
00033 } SGIHeader;
00034
00035 public:
00036
00037 PLSGIDecoder
00038 ();
00039
00040
00041 virtual ~PLSGIDecoder
00042 ();
00043
00044
00045 virtual void Open (PLDataSource * pDataSrc);
00046
00047
00048 virtual void GetImage (PLBmp & Bmp);
00049
00050 private:
00051 void readHeader
00052 ( SGIHeader * pHeader,
00053 PLDataSource * pDataSrc
00054 );
00055
00056 SGIHeader m_Header;
00057 };
00058
00059 #endif
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070