/////////////////////////////////////////////////////////////////////////////
-// Name: imaggif.h
-// Purpose: wxImage handler for GIFs (read-only)
-// Author: Vaclav Slavik (of this header only)
+// Name: wx/imaggif.h
+// Purpose: wxImage GIF handler
+// Author: Vaclav Slavik & Guillermo Rodriguez Garcia
+// RCS-ID: $Id$
+// Copyright: (c) Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_IMAGGIF_H_
#define _WX_IMAGGIF_H_
-#ifdef __GNUG__
-#pragma interface "imaggif.h"
-#endif
+#include "wx/image.h"
-#include <wx/setup.h>
-#include <wx/object.h>
-#include <wx/string.h>
-#include <wx/gdicmn.h>
-#include <wx/stream.h>
-#include <wx/image.h>
//-----------------------------------------------------------------------------
// wxGIFHandler
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxGIFHandler : public wxImageHandler
-{
- DECLARE_DYNAMIC_CLASS(wxGIFHandler)
+#if wxUSE_GIF
+class WXDLLIMPEXP_CORE wxGIFHandler : public wxImageHandler
+{
public:
-
- inline wxGIFHandler()
- {
- m_name = "GIF file";
- m_extension = "gif";
- m_type = wxBITMAP_TYPE_GIF;
- };
-
- virtual bool LoadFile( wxImage *image, wxInputStream& stream );
- virtual bool SaveFile( wxImage *image, wxOutputStream& stream );
+ inline wxGIFHandler()
+ {
+ m_name = wxT("GIF file");
+ m_extension = wxT("gif");
+ m_type = wxBITMAP_TYPE_GIF;
+ m_mime = wxT("image/gif");
+ }
+
+#if wxUSE_STREAMS
+ virtual bool LoadFile(wxImage *image, wxInputStream& stream,
+ bool verbose = true, int index = -1);
+ virtual bool SaveFile(wxImage *image, wxOutputStream& stream,
+ bool verbose=true);
+
+protected:
+ virtual int DoGetImageCount(wxInputStream& stream);
+ virtual bool DoCanRead(wxInputStream& stream);
+#endif // wxUSE_STREAMS
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxGIFHandler)
};
-#endif
- // _WX_IMAGGIF_H_
+#endif // wxUSE_GIF
+
+#endif // _WX_IMAGGIF_H_