X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e458bb53997706d4432d2dc0b9b516320709389..9fa99f045e39341d64b4ecffbaab6385d9982cee:/include/wx/gtk/animate.h diff --git a/include/wx/gtk/animate.h b/include/wx/gtk/animate.h index 56dd791cf9..20ff1d4edd 100644 --- a/include/wx/gtk/animate.h +++ b/include/wx/gtk/animate.h @@ -27,31 +27,26 @@ typedef struct _GdkPixbufAnimationIter GdkPixbufAnimationIter; class WXDLLIMPEXP_ADV wxAnimation : public wxAnimationBase { public: - wxAnimation(GdkPixbufAnimation *p = NULL) { m_pixbuf = p; } + wxAnimation(const wxString &name, wxAnimationType type = wxANIMATION_TYPE_ANY) + : m_pixbuf(NULL) { LoadFile(name, type); } + wxAnimation(GdkPixbufAnimation *p = NULL); wxAnimation(const wxAnimation&); ~wxAnimation() { UnRef(); } wxAnimation& operator= (const wxAnimation&); - bool operator == (const wxAnimation& anim) const - { return m_pixbuf == anim.m_pixbuf; } - bool operator != (const wxAnimation& anim) const - { return m_pixbuf != anim.m_pixbuf; } - virtual bool IsOk() const { return m_pixbuf != NULL; } // unfortunately GdkPixbufAnimation does not expose these info: - virtual size_t GetFrameCount() const - { return 0; } - virtual wxImage GetFrame(size_t i) const; + virtual unsigned int GetFrameCount() const { return 0; } + virtual wxImage GetFrame(unsigned int frame) const; // we can retrieve the delay for a frame only after building // a GdkPixbufAnimationIter... - virtual int GetDelay(size_t i) const - { return 0; } + virtual int GetDelay(unsigned int WXUNUSED(frame)) const { return 0; } virtual wxSize GetSize() const; @@ -100,8 +95,6 @@ public: Create(parent, id, anim, pos, size, style, name); } - void Init(); - bool Create(wxWindow *parent, wxWindowID id, const wxAnimation& anim = wxNullAnimation, const wxPoint& pos = wxDefaultPosition, @@ -118,6 +111,7 @@ public: // event handler public: // public API virtual bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY); + virtual bool Load(wxInputStream& stream, wxAnimationType type = wxANIMATION_TYPE_ANY); virtual void SetAnimation(const wxAnimation &anim); virtual wxAnimation GetAnimation() const @@ -129,14 +123,13 @@ public: // public API virtual bool IsPlaying() const; bool SetBackgroundColour( const wxColour &colour ); - void SetInactiveBitmap(const wxBitmap &bmp); protected: + virtual void DisplayStaticImage(); virtual wxSize DoGetBestSize() const; void FitToAnimation(); void ClearToBackgroundColour(); - void DisplayStaticImage(); void ResetAnim(); void ResetIter(); @@ -151,6 +144,9 @@ protected: // internal vars private: typedef wxAnimationCtrlBase base_type; + + void Init(); + DECLARE_DYNAMIC_CLASS(wxAnimationCtrl) DECLARE_EVENT_TABLE() };