- int GetFrameIndex() const;
- unsigned char* GetData() const;
- unsigned char* GetPalette() const;
- unsigned int GetWidth() const;
- unsigned int GetHeight() const;
- unsigned int GetLeft() const;
- unsigned int GetTop() const;
- int GetDisposalMethod() const;
- int GetTransparentColour() const;
- long GetDelay() const;
-
- // get global data
- unsigned int GetLogicalScreenWidth() const;
- unsigned int GetLogicalScreenHeight() const;
- int GetBackgroundColour() const;
- int GetNumberOfFrames() const;
- bool IsAnimation() const;
-
- // move through the animation
- bool GoFirstFrame();
- bool GoLastFrame();
- bool GoNextFrame(bool cyclic = false);
- bool GoPrevFrame(bool cyclic = false);
- bool GoFrame(int which);
+ unsigned char* GetData(size_t frame) const;
+ unsigned char* GetPalette(size_t frame) const;
+ unsigned int GetNcolours(size_t frame) const;
+ int GetTransparentColourIndex(size_t frame) const;
+ wxColour GetTransparentColour(size_t frame) const;
+
+ virtual wxSize GetFrameSize(size_t frame) const;
+ virtual wxPoint GetFramePosition(size_t frame) const;
+ virtual wxAnimationDisposal GetDisposalMethod(size_t frame) const;
+ virtual long GetDelay(size_t frame) const;
+
+ // GIFs can contain both static images and animations
+ bool IsAnimation() const
+ { return m_nFrames > 1; }