X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1bd2ceb57b0cc9f2b07b8bbb7d38d0e0d2381d3a..f62c55815f78f889c17c49f4375dce7104cf67ba:/src/gtk/animate.cpp diff --git a/src/gtk/animate.cpp b/src/gtk/animate.cpp index e3c6b9dc00..c6f7abe951 100644 --- a/src/gtk/animate.cpp +++ b/src/gtk/animate.cpp @@ -22,6 +22,8 @@ #include "wx/stream.h" #endif +#include "wx/wfstream.h" + #include @@ -30,10 +32,10 @@ // ============================================================================ 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(); } @@ -117,7 +118,8 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type) if (!loader) { - wxLogDebug(wxT("Could not create the loader for '%s' animation type"), anim_type); + wxLogDebug(wxT("Could not create the loader for '%s' animation type: %s"), + anim_type, error->message); return false; } @@ -134,7 +136,7 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type) if (!gdk_pixbuf_loader_write(loader, buf, stream.LastRead(), &error)) { gdk_pixbuf_loader_close(loader, &error); - wxLogDebug(wxT("Could not write to the loader")); + wxLogDebug(wxT("Could not write to the loader: %s"), error->message); return false; } } @@ -142,7 +144,7 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type) // load complete if (!gdk_pixbuf_loader_close(loader, &error)) { - wxLogDebug(wxT("Could not close the loader")); + wxLogDebug(wxT("Could not close the loader: %s"), error->message); return false; } @@ -150,7 +152,7 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type) return true; } -wxImage wxAnimation::GetFrame(size_t i) const +wxImage wxAnimation::GetFrame(unsigned int WXUNUSED(frame)) const { return wxNullImage; } @@ -199,9 +201,6 @@ bool wxAnimationCtrl::Create( wxWindow *parent, wxWindowID id, long style, const wxString& name) { - m_needParent = true; - m_acceptsFocus = true; - if (!PreCreation( parent, pos, size ) || !base_type::CreateBase(parent, id, pos, size, style & wxWINDOW_STYLE_MASK, wxDefaultValidator, name)) @@ -213,7 +212,8 @@ bool wxAnimationCtrl::Create( wxWindow *parent, wxWindowID id, SetWindowStyle(style); m_widget = gtk_image_new(); - gtk_widget_show( GTK_WIDGET(m_widget) ); + g_object_ref(m_widget); + gtk_widget_show(m_widget); m_parent->DoAddChild( this ); @@ -236,9 +236,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); @@ -424,7 +430,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);