+++ /dev/null
-//
-// iffdecod.h - image handler for IFF/ILBM images
-//
-// (c) Steffen Gutmann, 2002
-//
-// Creation date: 08.01.2002
-// Last modified: 12.01.2002
-//
-
-#ifndef WX_IIF_DECODE_H
-#define WX_IIF_DECODE_H
-
-#ifdef __GNUG__
-#pragma interface "iffdecod.h"
-#endif
-
-#include "wx/setup.h"
-#define wxUSE_IFF 1
-
-#if wxUSE_STREAMS && wxUSE_IFF
-
-#include "wx/stream.h"
-#include "wx/image.h"
-
-// --------------------------------------------------------------------------
-// Constants
-// --------------------------------------------------------------------------
-
-// Error codes:
-// Note that the error code wxIFF_TRUNCATED means that the image itself
-// is most probably OK, but the decoder didn't reach the end of the data
-// stream; this means that if it was not reading directly from file,
-// the stream will not be correctly positioned.
-//
-
-enum
-{
- wxIFF_OK = 0, /* everything was OK */
- wxIFF_INVFORMAT, /* error in iff header */
- wxIFF_MEMERR, /* error allocating memory */
- wxIFF_TRUNCATED /* file appears to be truncated */
-};
-
-// --------------------------------------------------------------------------
-// wxIFFDecoder class
-// --------------------------------------------------------------------------
-
-// internal class for storing IFF image data
-class IFFImage
-{
-public:
- unsigned int w; /* width */
- unsigned int h; /* height */
- int transparent; /* transparent color (-1 = none) */
- int colors; /* number of colors */
- unsigned char *p; /* bitmap */
- unsigned char *pal; /* palette */
-
- IFFImage() : w(0), h(0), colors(0), p(0), pal(0) {}
- ~IFFImage() { delete [] p; delete [] pal; }
-};
-
-class WXDLLEXPORT wxIFFDecoder
-{
-private:
- IFFImage *m_image; // image data
- wxInputStream *m_f; // input stream
- unsigned char *databuf;
- unsigned char *picptr;
- unsigned char *decomp_mem;
-
- void Destroy();
-
-public:
- // get data of current frame
- unsigned char* GetData() const;
- unsigned char* GetPalette() const;
- int GetNumColors() const;
- unsigned int GetWidth() const;
- unsigned int GetHeight() const;
- int GetTransparentColour() const;
-
- // constructor, destructor, etc.
- wxIFFDecoder(wxInputStream *s);
- ~wxIFFDecoder() { Destroy(); }
- bool CanRead();
- int ReadIFF();
- bool ConvertToImage(wxImage *image) const;
-};
-
-
-#endif // wxUSE_STREAM && wxUSE_IFF
-#endif // _WX_IFFDECOD_H
-