00001 /* 00002 /-------------------------------------------------------------------- 00003 | 00004 | $Id: planydec.h,v 1.1 2004/05/21 21:02:52 maxx Exp $ 00005 | 00006 | Copyright (c) 1996-2002 Ulrich von Zadow 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 00033 #define PL_FT_UNKNOWN 0 00034 #define PL_FT_WINBMP 1 00035 #define PL_FT_MACPICT 2 00036 #define PL_FT_TARGA 3 00037 #define PL_FT_TIFF 4 00038 #define PL_FT_JPEG 5 00039 #define PL_FT_PNG 6 00040 #define PL_FT_EPSTIFF 7 00041 #define PL_FT_WMF 8 00042 #define PL_FT_EMF 9 00043 #define PL_FT_PCX 10 00044 #define PL_FT_PGM 11 00045 #define PL_FT_GIF 12 00046 #define PL_FT_PPM 13 00047 #define PL_FT_PSD 14 00048 00054 class PLAnyPicDecoder : public PLPicDecoder 00055 { 00056 00057 public: 00059 PLAnyPicDecoder 00060 (); 00061 00063 ~PLAnyPicDecoder 00064 (); 00065 00067 virtual void MakeBmp 00068 ( PLDataSource * pDataSrc, 00069 PLBmp * pBmp, 00070 int BPPWanted = 0 00071 ); 00072 00074 int GetFileFormat (); 00075 00076 00077 private: 00078 // Check for file-format-specific data & return the file type if 00079 // something fits. 00080 int getFileType 00081 ( PLBYTE * pData, 00082 int DataLen 00083 ); 00084 00085 long epsLongVal 00086 ( unsigned char *p 00087 ); 00088 00090 // Member variables. 00091 int m_Type; 00092 00093 PLBmpDecoder * m_pBmpDec; 00094 PLPictDecoder * m_pPictDec; 00095 PLTGADecoder * m_pTGADec; 00096 PLTIFFDecoder * m_pTIFFDec; 00097 PLJPEGDecoder * m_pJPEGDec; 00098 PLPNGDecoder * m_pPNGDec; 00099 PLWEMFDecoder * m_pWEMFDec; 00100 PLPCXDecoder * m_pPCXDec; 00101 PLPGMDecoder * m_pPGMDec; 00102 PLGIFDecoder * m_pGIFDec; 00103 PLPPMDecoder * m_pPPMDec; 00104 PLPSDDecoder * m_pPSDDec; 00105 }; 00106 00107 #endif 00108 00109 /* 00110 /-------------------------------------------------------------------- 00111 | 00112 | $Log: planydec.h,v $ 00113 | Revision 1.1 2004/05/21 21:02:52 maxx 00114 | Initial Version of vuVolume, moderatly changed to make it compile on my windows and linux machine. 00115 | 00116 | Revision 1.1 2002/11/13 01:58:20 mspindle 00117 | *** empty log message *** 00118 | 00119 | Revision 1.6 2002/03/06 22:46:54 uzadow 00120 | Fixed major PLAnyDec bug 00121 | 00122 | Revision 1.5 2001/10/21 17:12:39 uzadow 00123 | Added PSD decoder beta, removed BPPWanted from all decoders, added PLFilterPixel. 00124 | 00125 | Revision 1.4 2001/10/16 17:51:32 uzadow 00126 | Added ppm support (Todd Harris) 00127 | 00128 | Revision 1.3 2001/10/06 22:37:08 uzadow 00129 | Linux compatibility. 00130 | 00131 | Revision 1.2 2001/10/03 13:58:21 uzadow 00132 | Removed references to config.h 00133 | 00134 | Revision 1.1 2001/09/16 19:03:22 uzadow 00135 | Added global name prefix PL, changed most filenames. 00136 | 00137 | Revision 1.12 2001/09/15 21:02:44 uzadow 00138 | Cleaned up stdpch.h and config.h to make them internal headers. 00139 | 00140 | Revision 1.11 2001/01/14 13:36:15 uzadow 00141 | Added PLAnyPicDecoder::GetFileFormat() 00142 | 00143 | Revision 1.10 2000/12/08 12:32:00 uzadow 00144 | Added gif decoder by Michael Salzlechner. 00145 | 00146 | Revision 1.9 2000/03/31 11:53:29 Ulrich von Zadow 00147 | Added quantization support. 00148 | 00149 | Revision 1.8 2000/03/16 13:56:37 Ulrich von Zadow 00150 | Added pgm decoder by Jose Miguel Buenaposada Biencinto 00151 | 00152 | Revision 1.7 2000/01/16 20:43:12 anonymous 00153 | Removed MFC dependencies 00154 | 00155 | Revision 1.6 1999/12/08 15:39:45 Ulrich von Zadow 00156 | Unix compatibility changes 00157 | 00158 | 00159 \-------------------------------------------------------------------- 00160 */