39d8a1e2dc
diff from http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/aMule-wx.patch?rev=1.2 "just commit it" espie@
78 lines
2.3 KiB
Plaintext
78 lines
2.3 KiB
Plaintext
$OpenBSD: patch-src_MuleGifCtrl_cpp,v 1.1 2007/10/26 15:00:39 steven Exp $
|
|
--- src/MuleGifCtrl.cpp.orig Fri Feb 3 20:14:05 2006
|
|
+++ src/MuleGifCtrl.cpp Wed Oct 10 17:53:08 2007
|
|
@@ -24,7 +24,6 @@
|
|
|
|
#include <wx/mstream.h>
|
|
#include <wx/gifdecod.h>
|
|
-#include <wx/window.h>
|
|
#include <wx/dcbuffer.h>
|
|
|
|
#include "MuleGifCtrl.h"
|
|
@@ -35,7 +34,51 @@ BEGIN_EVENT_TABLE(MuleGifCtrl, wxControl)
|
|
EVT_ERASE_BACKGROUND(MuleGifCtrl::OnErase)
|
|
END_EVENT_TABLE()
|
|
|
|
+#if wxCHECK_VERSION(2, 7, 1)
|
|
+// Wrapper that emulates old wxGIFDecoder API
|
|
|
|
+class MuleGIFDecoder : public wxGIFDecoder {
|
|
+public:
|
|
+ MuleGIFDecoder(wxInputStream* stream, bool dummy) {
|
|
+ m_stream = stream;
|
|
+ dummy = dummy; // Unused.
|
|
+ m_nframe = 0;
|
|
+ }
|
|
+
|
|
+ ~MuleGIFDecoder() { /* don't delete the stream! */ }
|
|
+
|
|
+ wxGIFErrorCode ReadGIF() {
|
|
+ return LoadGIF(*m_stream);
|
|
+ }
|
|
+
|
|
+ void GoFirstFrame() { m_nframe = 0; }
|
|
+ void GoNextFrame(bool dummy) { m_nframe < GetFrameCount() ? m_nframe++ : m_nframe = 0; }
|
|
+ void GoLastFrame() { m_nframe = GetFrameCount(); }
|
|
+
|
|
+ void ConvertToImage(wxImage* image) { wxGIFDecoder::ConvertToImage(m_nframe, image); }
|
|
+
|
|
+ size_t GetLogicalScreenWidth() { return GetAnimationSize().GetWidth(); }
|
|
+ size_t GetLogicalScreenHeight() { return GetAnimationSize().GetHeight(); }
|
|
+
|
|
+ size_t GetLeft() { return 0; }
|
|
+ size_t GetTop() { return 0; }
|
|
+
|
|
+ long GetDelay() { return wxGIFDecoder::GetDelay(m_nframe); }
|
|
+
|
|
+private:
|
|
+ uint32_t m_nframe;
|
|
+ wxInputStream* m_stream;
|
|
+};
|
|
+
|
|
+#else
|
|
+class MuleGIFDecoder : public wxGIFDecoder {
|
|
+public:
|
|
+ MuleGIFDecoder(wxInputStream* stream, bool flag) : wxGIFDecoder(stream,flag) {};
|
|
+};
|
|
+#endif
|
|
+
|
|
+
|
|
+
|
|
MuleGifCtrl::MuleGifCtrl( wxWindow *parent, wxWindowID id, const wxPoint& pos,
|
|
const wxSize& size, long style, const wxValidator& validator,
|
|
const wxString& name )
|
|
@@ -66,7 +109,7 @@ bool MuleGifCtrl::LoadData(const char* data, int size)
|
|
}
|
|
|
|
wxMemoryInputStream stream(data, size);
|
|
- m_decoder = new wxGIFDecoder(&stream, TRUE);
|
|
+ m_decoder = new MuleGIFDecoder(&stream, TRUE);
|
|
if ( m_decoder->ReadGIF() != wxGIF_OK ) {
|
|
delete m_decoder;
|
|
m_decoder = NULL;
|
|
@@ -137,3 +180,4 @@ void MuleGifCtrl::OnPaint( wxPaintEvent& WXUNUSED(even
|
|
dc.DrawBitmap( m_frame, x + m_decoder->GetLeft(), y + m_decoder->GetTop(), true);
|
|
}
|
|
|
|
+// File_checked_for_headers
|