00001 /* 00002 /-------------------------------------------------------------------- 00003 | 00004 | $Id: plgifdec_8h-source.html,v 1.4 2004/09/15 15:26:29 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 (PLBmpBase & 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_8h-source.html,v $ 00054 | Revision 1.4 2004/09/15 15:26:29 uzadow 00054 | Linux compatibility changes, doc update. 00054 | 00055 | Revision 1.7 2004/06/19 16:49:07 uzadow 00056 | Changed GetImage so it works with PLBmpBase 00057 | 00058 | Revision 1.6 2004/06/06 12:56:38 uzadow 00059 | Doxygenified documentation. 00060 | 00061 | Revision 1.5 2002/11/02 20:33:27 uzadow 00062 | Added gif transparency handling (Mark Richarme) 00063 | 00064 | Revision 1.4 2002/08/04 20:08:01 uzadow 00065 | Added PLBmpInfo class, ability to extract metainformation from images without loading the whole image and proper greyscale support. 00066 | 00067 | Revision 1.3 2002/03/31 13:36:41 uzadow 00068 | Updated copyright. 00069 | 00070 | Revision 1.2 2001/10/21 17:12:40 uzadow 00071 | Added PSD decoder beta, removed BPPWanted from all decoders, added PLFilterPixel. 00072 | 00073 | Revision 1.1 2001/09/16 19:03:22 uzadow 00074 | Added global name prefix PL, changed most filenames. 00075 | 00076 | Revision 1.2 2000/12/18 22:42:52 uzadow 00077 | Replaced RGBAPIXEL with PLPixel32. 00078 | 00079 | Revision 1.1 2000/12/08 13:41:23 uzadow 00080 | Added gif support by Michael Salzlechner. 00081 | 00082 | 00083 \-------------------------------------------------------------------- 00084 */