00001 /* 00002 /-------------------------------------------------------------------- 00003 | 00004 | $Id: plgifdec.h,v 1.5 2002/11/02 20:33:27 uzadow Exp $ 00005 | 00006 | Copyright (c) 1996-2002 Ulrich von Zadow 00007 | 00008 \-------------------------------------------------------------------- 00009 */ 00010 00011 #ifndef INCL_PLGIFDEC 00012 #define INCL_PLGIFDEC 00013 00014 00015 #if _MSC_VER > 1000 00016 #pragma once 00017 #endif // _MSC_VER > 1000 00018 00019 #include "plpicdec.h" 00020 00021 //! Compuserve gif file decoder using libungif to do the actual work. The 00022 //! bitmap returned always has 8 bpp. If the gif has a transparent color, 00023 //! the palette of the bitmap has alpha=0 for this color and HasAlpha=true. 00024 //! Does not support loading more than one image from a multi-image gif. 00025 //! (One issue with gifs is that you don't know whether the image has a 00026 //! transparent color until it's been decoded completely. For this reason, 00027 //! calling HasAlpha for the decoder before GetImage() will always return 00028 //! false.) 00029 class PLGIFDecoder : public PLPicDecoder 00030 { 00031 public: 00032 PLGIFDecoder(); 00033 virtual ~PLGIFDecoder(); 00034 00035 //! 00036 virtual void Open (PLDataSource * pDataSrc); 00037 00038 //! 00039 virtual void GetImage (PLBmp & Bmp); 00040 00041 //! 00042 virtual void Close (); 00043 00044 private: 00045 void * m_pGifFile; 00046 00047 }; 00048 00049 #endif 00050 00051 /* 00052 /-------------------------------------------------------------------- 00053 | 00054 | $Log: plgifdec.h,v $ 00055 | Revision 1.5 2002/11/02 20:33:27 uzadow 00056 | Added gif transparency handling (Mark Richarme) 00057 | 00058 | Revision 1.4 2002/08/04 20:08:01 uzadow 00059 | Added PLBmpInfo class, ability to extract metainformation from images without loading the whole image and proper greyscale support. 00060 | 00061 | Revision 1.3 2002/03/31 13:36:41 uzadow 00062 | Updated copyright. 00063 | 00064 | Revision 1.2 2001/10/21 17:12:40 uzadow 00065 | Added PSD decoder beta, removed BPPWanted from all decoders, added PLFilterPixel. 00066 | 00067 | Revision 1.1 2001/09/16 19:03:22 uzadow 00068 | Added global name prefix PL, changed most filenames. 00069 | 00070 | Revision 1.2 2000/12/18 22:42:52 uzadow 00071 | Replaced RGBAPIXEL with PLPixel32. 00072 | 00073 | Revision 1.1 2000/12/08 13:41:23 uzadow 00074 | Added gif support by Michael Salzlechner. 00075 | 00076 | 00077 \-------------------------------------------------------------------- 00078 */