// Author: Julian Smart and Guillermo Rodriguez Garcia
// Modified by: Francesco Montorsi
// Created: 13/8/99
-// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
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(); }
// 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;
Create(parent, id, anim, pos, size, style, name);
}
- void Init();
-
bool Create(wxWindow *parent, wxWindowID id,
const wxAnimation& anim = wxNullAnimation,
const wxPoint& pos = wxDefaultPosition,
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
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();
private:
typedef wxAnimationCtrlBase base_type;
+
+ void Init();
+
DECLARE_DYNAMIC_CLASS(wxAnimationCtrl)
DECLARE_EVENT_TABLE()
};