+// --------------------------------------------------------------------------
+// Constants
+// --------------------------------------------------------------------------
+
+// Error codes:
+// Note that the error code wxGIF_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. the
+//
+enum
+{
+ wxGIF_OK = 0, /* everything was OK */
+ wxGIF_INVFORMAT, /* error in gif header */
+ wxGIF_MEMERR, /* error allocating memory */
+ wxGIF_TRUNCATED /* file appears to be truncated */
+};
+
+// Disposal method
+// Experimental; subject to change.
+//
+enum
+{
+ wxGIF_D_UNSPECIFIED = -1, /* not specified */
+ wxGIF_D_DONOTDISPOSE = 0, /* do not dispose */
+ wxGIF_D_TOBACKGROUND = 1, /* restore to background colour */
+ wxGIF_D_TOPREVIOUS = 2 /* restore to previous image */
+};
+
+
+#define MAX_BLOCK_SIZE 256 /* max. block size */
+
+
+// --------------------------------------------------------------------------
+// wxGIFDecoder class
+// --------------------------------------------------------------------------
+
+// internal class for storing GIF image data
+class GIFImage