]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/animate.h
No real changes, just make wxWindow::CanScroll() virtual.
[wxWidgets.git] / include / wx / gtk / animate.h
index b58865029e220186d08697f023f5d8378239dcd4..1cda545a416b5e9c785b6559d74925a165a70508 100644 (file)
@@ -4,7 +4,6 @@
 // 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
 /////////////////////////////////////////////////////////////////////////////
@@ -27,31 +26,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;
 
@@ -68,9 +62,6 @@ public:     // used by GTK callbacks
 protected:
     GdkPixbufAnimation *m_pixbuf;
 
-    // used temporary by Load()
-    //bool m_bLoadComplete;
-
 private:
     void UnRef();
 
@@ -89,7 +80,7 @@ private:
 class WXDLLIMPEXP_ADV wxAnimationCtrl: public wxAnimationCtrlBase
 {
 public:
-    wxAnimationCtrl();
+    wxAnimationCtrl() { Init(); }
     wxAnimationCtrl(wxWindow *parent,
                         wxWindowID id,
                         const wxAnimation& anim = wxNullAnimation,
@@ -98,6 +89,8 @@ public:
                         long style = wxAC_DEFAULT_STYLE,
                         const wxString& name = wxAnimationCtrlNameStr)
     {
+        Init();
+
         Create(parent, id, anim, pos, size, style, name);
     }
 
@@ -117,6 +110,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
@@ -131,6 +125,7 @@ public:     // public API
 
 protected:
 
+    virtual void DisplayStaticImage();
     virtual wxSize DoGetBestSize() const;
     void FitToAnimation();
     void ClearToBackgroundColour();
@@ -148,6 +143,9 @@ protected:      // internal vars
 
 private:
     typedef wxAnimationCtrlBase base_type;
+
+    void Init();
+
     DECLARE_DYNAMIC_CLASS(wxAnimationCtrl)
     DECLARE_EVENT_TABLE()
 };