]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gifdecod.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / gifdecod.h
index 0a1961d2f0e306d21be4683d5901c987adf5fc2e..908f470ece38f3014b166ab3268ce58ab7775949 100644 (file)
@@ -18,6 +18,7 @@
 #include "wx/stream.h"
 #include "wx/image.h"
 #include "wx/animdecod.h"
 #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;
 
 // internal utility used to store a frame in 8bit-per-pixel format
 class GIFImage;
@@ -45,7 +46,7 @@ enum wxGIFErrorCode
 // wxGIFDecoder class
 // --------------------------------------------------------------------------
 
 // wxGIFDecoder class
 // --------------------------------------------------------------------------
 
-class WXDLLEXPORT wxGIFDecoder : public wxAnimationDecoder
+class WXDLLIMPEXP_CORE wxGIFDecoder : public wxAnimationDecoder
 {
 public:
     // constructor, destructor, etc.
 {
 public:
     // constructor, destructor, etc.
@@ -75,7 +76,6 @@ public:
     void Destroy();
 
     // implementation of wxAnimationDecoder's pure virtuals
     void Destroy();
 
     // implementation of wxAnimationDecoder's pure virtuals
-    virtual bool CanRead( wxInputStream& stream ) const;
     virtual bool Load( wxInputStream& stream )
         { return LoadGIF(stream) == wxGIF_OK; }
 
     virtual bool Load( wxInputStream& stream )
         { return LoadGIF(stream) == wxGIF_OK; }
 
@@ -87,6 +87,15 @@ public:
         { return wxANIMATION_TYPE_GIF; }
 
 private:
         { 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;
 
     // array of all frames
     wxArrayPtrVoid m_frames;
 
@@ -97,13 +106,9 @@ private:
     unsigned char m_buffer[256];    // buffer for reading
     unsigned char *m_bufp;          // pointer to next byte in buffer
 
     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_
 
 #endif // _WX_GIFDECOD_H_