#include "wx/stream.h"
#include "wx/image.h"
#include "wx/animdecod.h"
+#include "wx/dynarray.h"
// internal utility used to store a frame in 8bit-per-pixel format
class GIFImage;
// wxGIFDecoder class
// --------------------------------------------------------------------------
-class WXDLLEXPORT wxGIFDecoder : public wxAnimationDecoder
+class WXDLLIMPEXP_CORE wxGIFDecoder : public wxAnimationDecoder
{
public:
// constructor, destructor, etc.
void Destroy();
// implementation of wxAnimationDecoder's pure virtuals
- virtual bool CanRead( wxInputStream& stream ) const;
virtual bool Load( wxInputStream& stream )
{ return LoadGIF(stream) == wxGIF_OK; }
{ return wxANIMATION_TYPE_GIF; }
private:
+ // wxAnimationDecoder pure virtual
+ virtual bool DoCanRead( wxInputStream& stream ) const;
+ // modifies current stream position (see wxAnimationDecoder::CanRead)
+
+ int getcode(wxInputStream& stream, int bits, int abfin);
+ wxGIFErrorCode dgif(wxInputStream& stream,
+ GIFImage *img, int interl, int bits);
+
+
// array of all frames
wxArrayPtrVoid m_frames;
unsigned char m_buffer[256]; // buffer for reading
unsigned char *m_bufp; // pointer to next byte in buffer
- int getcode(wxInputStream& stream, int bits, int abfin);
- wxGIFErrorCode dgif(wxInputStream& stream,
- GIFImage *img, int interl, int bits);
-
- DECLARE_NO_COPY_CLASS(wxGIFDecoder)
+ wxDECLARE_NO_COPY_CLASS(wxGIFDecoder);
};
-#endif // wxUSE_STREAM && wxUSE_GIF
+#endif // wxUSE_STREAMS && wxUSE_GIF
#endif // _WX_GIFDECOD_H_