X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1afdfc9debf357b7d53ce60c97bfa64c983cfa64..a7689c49fe02c0c065facf736ab28b19f5997b7c:/include/wx/generic/animate.h diff --git a/include/wx/generic/animate.h b/include/wx/generic/animate.h index c053b172d6..dee5f28364 100644 --- a/include/wx/generic/animate.h +++ b/include/wx/generic/animate.h @@ -23,12 +23,16 @@ WX_DECLARE_LIST_WITH_DECL(wxAnimationDecoder, wxAnimationDecoderList, class WXDL class WXDLLIMPEXP_ADV wxAnimation : public wxAnimationBase { public: + wxAnimation() {} + wxAnimation(const wxString &name, wxAnimationType type = wxANIMATION_TYPE_ANY) + { LoadFile(name, type); } + virtual bool IsOk() const { return m_refData != NULL; } - virtual size_t GetFrameCount() const; - virtual int GetDelay(size_t i) const; - virtual wxImage GetFrame(size_t i) 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, @@ -36,12 +40,11 @@ public: virtual 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; + // 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: @@ -69,12 +72,12 @@ class WXDLLIMPEXP_ADV wxAnimationCtrl: public wxAnimationCtrlBase public: wxAnimationCtrl() { Init(); } wxAnimationCtrl(wxWindow *parent, - wxWindowID id, - const wxAnimation& anim = wxNullAnimation, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxAC_DEFAULT_STYLE, - const wxString& name = wxAnimationCtrlNameStr) + wxWindowID id, + const wxAnimation& anim = wxNullAnimation, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxAC_DEFAULT_STYLE, + const wxString& name = wxAnimationCtrlNameStr) { Init(); @@ -94,6 +97,7 @@ public: public: virtual bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY); + virtual bool Load(wxInputStream& stream, wxAnimationType type = wxANIMATION_TYPE_ANY); virtual void Stop(); virtual bool Play() @@ -105,7 +109,7 @@ public: wxAnimation GetAnimation() const { return m_animation; } - void SetInactiveBitmap(const wxBitmap &bmp); + virtual void SetInactiveBitmap(const wxBitmap &bmp); // override base class method virtual bool SetBackgroundColour(const wxColour& col); @@ -146,15 +150,15 @@ protected: // internal utilities void DisposeToBackground(wxDC& dc); void DisposeToBackground(wxDC& dc, const wxPoint &pos, const wxSize &sz); - void UpdateBackingStoreWithStaticImage(); 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