X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05a98b6d5d201eb8edea04b1ab022e4a9a46e9f0..2c20f44d7034eb5d19b7d4459bfc72bbf95de355:/include/wx/generic/animate.h?ds=sidebyside diff --git a/include/wx/generic/animate.h b/include/wx/generic/animate.h index 09b22bd593..efc1c29446 100644 --- a/include/wx/generic/animate.h +++ b/include/wx/generic/animate.h @@ -23,28 +23,24 @@ WX_DECLARE_LIST_WITH_DECL(wxAnimationDecoder, wxAnimationDecoderList, class WXDL class WXDLLIMPEXP_ADV wxAnimation : public wxAnimationBase { public: - bool operator == (const wxAnimation& anim) const - { return m_refData == anim.m_refData; } - bool operator != (const wxAnimation& anim) const - { return m_refData != anim.m_refData; } - - bool IsOk() const + virtual bool IsOk() const { return m_refData != NULL; } - size_t GetFrameCount() const; - int GetDelay(size_t i) const; - wxImage GetFrame(size_t i) const; - wxSize GetSize() const; - - bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY); - bool Load(wxInputStream &stream, wxAnimationType type = wxANIMATION_TYPE_ANY); - -public: // extended interface used by the generic implementation of wxAnimationCtrl - - wxPoint GetFramePosition(size_t frame) const; - wxSize GetFrameSize(size_t frame) const; - wxAnimationDisposal GetDisposalMethod(size_t frame) const; - wxColour GetTransparentColour(size_t frame) const; + virtual unsigned int GetFrameCount() const; + virtual int GetDelay(unsigned int i) const; + virtual wxImage GetFrame(unsigned int i) const; + virtual wxSize GetSize() const; + + virtual bool LoadFile(const wxString& filename, + wxAnimationType type = wxANIMATION_TYPE_ANY); + virtual bool Load(wxInputStream& stream, + wxAnimationType type = wxANIMATION_TYPE_ANY); + + // extended interface used by the generic implementation of wxAnimationCtrl + wxPoint GetFramePosition(unsigned int frame) const; + wxSize GetFrameSize(unsigned int frame) const; + wxAnimationDisposal GetDisposalMethod(unsigned int frame) const; + wxColour GetTransparentColour(unsigned int frame) const; wxColour GetBackgroundColour() const; protected: @@ -108,6 +104,11 @@ public: wxAnimation GetAnimation() const { return m_animation; } + virtual void SetInactiveBitmap(const wxBitmap &bmp); + + // override base class method + virtual bool SetBackgroundColour(const wxColour& col); + public: // event handlers void OnPaint(wxPaintEvent& event); @@ -140,17 +141,19 @@ protected: // internal utilities void FitToAnimation(); // Draw the background; use this when e.g. previous frame had wxANIM_TOBACKGROUND disposal. + void DisposeToBackground(); void DisposeToBackground(wxDC& dc); void DisposeToBackground(wxDC& dc, const wxPoint &pos, const wxSize &sz); void IncrementalUpdateBackingStore(); - bool RebuildBackingStoreUpToFrame(size_t); - void DrawFrame(wxDC &dc, size_t); + bool RebuildBackingStoreUpToFrame(unsigned int); + void DrawFrame(wxDC &dc, unsigned int); + virtual void DisplayStaticImage(); virtual wxSize DoGetBestSize() const; protected: - size_t m_currentFrame; // Current frame + unsigned int m_currentFrame; // Current frame bool m_looped; // Looped, or not wxTimer m_timer; // The timer wxAnimation m_animation; // The animation