00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef INCL_PLANYDEC
00012 #define INCL_PLANYDEC
00013
00014 #ifndef INCL_PLPICDEC
00015 #include "plpicdec.h"
00016 #endif
00017
00018 class CBitmap;
00019
00020 class PLPictDecoder;
00021 class PLTGADecoder;
00022 class PLTIFFDecoder;
00023 class PLJPEGDecoder;
00024 class PLPNGDecoder;
00025 class PLWEMFDecoder;
00026 class PLPCXDecoder;
00027 class PLPGMDecoder;
00028 class PLGIFDecoder;
00029 class PLBmpDecoder;
00030 class PLPPMDecoder;
00031 class PLPSDDecoder;
00032 class PLSGIDecoder;
00033 class PLIFF85Decoder;
00034
00035 #define PL_FT_UNKNOWN 0
00036 #define PL_FT_WINBMP 1
00037 #define PL_FT_MACPICT 2
00038 #define PL_FT_TARGA 3
00039 #define PL_FT_TIFF 4
00040 #define PL_FT_JPEG 5
00041 #define PL_FT_PNG 6
00042 #define PL_FT_EPSTIFF 7
00043 #define PL_FT_WMF 8
00044 #define PL_FT_EMF 9
00045 #define PL_FT_PCX 10
00046 #define PL_FT_PGM 11
00047 #define PL_FT_GIF 12
00048 #define PL_FT_PPM 13
00049 #define PL_FT_PSD 14
00050 #define PL_FT_SGI 15
00051 #define PL_FT_IFF85 16
00052
00053
00054
00055
00056
00057 class PLAnyPicDecoder : public PLPicDecoder
00058 {
00059
00060 public:
00061
00062 PLAnyPicDecoder
00063 ();
00064
00065
00066 ~PLAnyPicDecoder
00067 ();
00068
00069
00070 int GetFileFormat ();
00071
00072
00073 virtual void Open (PLDataSource * pDataSrc);
00074
00075
00076 virtual void GetImage (PLBmp & Bmp);
00077
00078
00079 virtual void Close ();
00080
00081 private:
00082
00083
00084 int getFileType
00085 ( PLBYTE * pData,
00086 int DataLen
00087 );
00088
00089 long epsLongVal
00090 ( unsigned char *p
00091 );
00092
00093
00094
00095 int m_Type;
00096 PLPicDecoder * m_pCurDec;
00097
00098 PLBmpDecoder * m_pBmpDec;
00099 PLPictDecoder * m_pPictDec;
00100 PLTGADecoder * m_pTGADec;
00101 PLTIFFDecoder * m_pTIFFDec;
00102 PLJPEGDecoder * m_pJPEGDec;
00103 PLPNGDecoder * m_pPNGDec;
00104 PLWEMFDecoder * m_pWEMFDec;
00105 PLPCXDecoder * m_pPCXDec;
00106 PLPGMDecoder * m_pPGMDec;
00107 PLGIFDecoder * m_pGIFDec;
00108 PLPPMDecoder * m_pPPMDec;
00109 PLPSDDecoder * m_pPSDDec;
00110 PLSGIDecoder * m_pSGIDec;
00111 PLIFF85Decoder* m_pIFF85Dec;
00112
00113 };
00114
00115 #endif
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173