]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/animate.cpp
make the length of string proportional to the parameter to study test time dependency...
[wxWidgets.git] / src / gtk / animate.cpp
index 820536a56489d495fce5d8e1cca98665d91cc65c..67dd5aac993de435dcdaba63c891cbca5eae6fd1 100644 (file)
@@ -22,6 +22,8 @@
     #include "wx/stream.h"
 #endif
 
+#include "wx/wfstream.h"
+
 #include <gtk/gtk.h>
 
 
 // ============================================================================
 
 void gdk_pixbuf_area_updated(GdkPixbufLoader *loader,
-                             gint             x,
-                             gint             y,
-                             gint             width,
-                             gint             height,
+                             gint             WXUNUSED(x),
+                             gint             WXUNUSED(y),
+                             gint             WXUNUSED(width),
+                             gint             WXUNUSED(height),
                              wxAnimation      *anim)
 {
     if (anim && anim->GetPixbuf() == NULL)
@@ -82,8 +84,7 @@ wxAnimation& wxAnimation::operator=(const wxAnimation& that)
 bool wxAnimation::LoadFile(const wxString &name, wxAnimationType WXUNUSED(type))
 {
     UnRef();
-    m_pixbuf = gdk_pixbuf_animation_new_from_file(
-        wxConvFileName->cWX2MB(name), NULL);
+    m_pixbuf = gdk_pixbuf_animation_new_from_file(name.fn_str(), NULL);
     return IsOk();
 }
 
@@ -210,6 +211,7 @@ bool wxAnimationCtrl::Create( wxWindow *parent, wxWindowID id,
     SetWindowStyle(style);
 
     m_widget = gtk_image_new();
+    g_object_ref(m_widget);
     gtk_widget_show(m_widget);
 
     m_parent->DoAddChild( this );
@@ -233,9 +235,15 @@ wxAnimationCtrl::~wxAnimationCtrl()
 }
 
 bool wxAnimationCtrl::LoadFile(const wxString &filename, wxAnimationType type)
+{
+    wxFileInputStream fis(filename);
+    return Load(fis, type);
+}
+
+bool wxAnimationCtrl::Load(wxInputStream& stream, wxAnimationType type)
 {
     wxAnimation anim;
-    if (!anim.LoadFile(filename, type))
+    if ( !anim.Load(stream, type) || !anim.IsOk() )
         return false;
 
     SetAnimation(anim);
@@ -421,7 +429,7 @@ bool wxAnimationCtrl::SetBackgroundColour( const wxColour &colour )
 // wxAnimationCtrl - event handlers
 //-----------------------------------------------------------------------------
 
-void wxAnimationCtrl::OnTimer(wxTimerEvent &ev)
+void wxAnimationCtrl::OnTimer(wxTimerEvent& WXUNUSED(ev))
 {
     wxASSERT(m_iter != NULL);