X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad81651f00edc6f489d9b6a0839d316a964fd521..4b26b60fac70f89cf33935f78469e27536d8b614:/src/common/imagpnm.cpp diff --git a/src/common/imagpnm.cpp b/src/common/imagpnm.cpp index 3c34cbc822..984de04ca4 100644 --- a/src/common/imagpnm.cpp +++ b/src/common/imagpnm.cpp @@ -7,10 +7,9 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -/* - We don't put pragma implement in this file because it is already present in - src/common/image.cpp -*/ +#ifdef __GNUG__ +#pragma implementation "imagpnm.h" +#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -23,9 +22,9 @@ # include "wx/setup.h" #endif -#if wxUSE_PNM +#if wxUSE_IMAGE && wxUSE_PNM -#include "wx/image.h" +#include "wx/imagpnm.h" #include "wx/log.h" #include "wx/intl.h" #include "wx/txtstrm.h" @@ -40,12 +39,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxPNMHandler,wxImageHandler) void Skip_Comment(wxInputStream &stream) { - wxTextInputStream text_stream(stream); + wxTextInputStream text_stream(stream); - if (stream.Peek()==wxT('#')) + if (stream.Peek()==wxT('#')) { - text_stream.ReadLine(); - Skip_Comment(stream); + text_stream.ReadLine(); + Skip_Comment(stream); } } @@ -108,7 +107,7 @@ bool wxPNMHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose value=text_stream.Read32(); *ptr++=(unsigned char)value; - if (buf_stream.LastError()!=wxSTREAM_NOERROR) + if ( !buf_stream ) { if (verbose) wxLogError(_("PNM: File seems truncated.")); return FALSE; @@ -120,7 +119,8 @@ bool wxPNMHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose image->SetMask( FALSE ); - return (buf_stream.LastError()==wxStream_NOERROR || buf_stream.LastError()==wxStream_EOF); + const wxStreamError err = buf_stream.GetLastError(); + return err == wxSTREAM_NO_ERROR || err == wxSTREAM_EOF; } bool wxPNMHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool WXUNUSED(verbose) ) @@ -130,16 +130,14 @@ bool wxPNMHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool WXUNUS //text_stream << "P6" << endl //<< image->GetWidth() << " " << image->GetHeight() << endl //<< "255" << endl; - text_stream << "P6\n" << image->GetWidth() << " " << image->GetHeight() << "\n255\n"; + text_stream << wxT("P6\n") << image->GetWidth() << wxT(" ") << image->GetHeight() << wxT("\n255\n"); stream.Write(image->GetData(),3*image->GetWidth()*image->GetHeight()); - return (stream.LastError()==wxStream_NOERROR); + return stream.IsOk(); } bool wxPNMHandler::DoCanRead( wxInputStream& stream ) { - off_t pos = stream.TellI(); - Skip_Comment(stream); if ( stream.GetC() == 'P' ) @@ -148,12 +146,10 @@ bool wxPNMHandler::DoCanRead( wxInputStream& stream ) { case '3': case '6': - stream.SeekI(pos); return TRUE; } } - stream.SeekI(pos); return FALSE; }