X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3e8711cef586042a3eb84c3faa57a7afe2fd09cd..64ea838d8f4d1853b7d850db93ee565e901d099a:/src/common/imagpnm.cpp diff --git a/src/common/imagpnm.cpp b/src/common/imagpnm.cpp index ce31404d45..731220450b 100644 --- a/src/common/imagpnm.cpp +++ b/src/common/imagpnm.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: imagpnm.cpp +// Name: src/common/imagpnm.cpp // Purpose: wxImage PNM handler // Author: Sylvain Bougnoux // RCS-ID: $Id$ @@ -7,26 +7,22 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "imagpnm.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop -#endif - -#ifndef WX_PRECOMP -# include "wx/setup.h" + #pragma hdrstop #endif #if wxUSE_IMAGE && wxUSE_PNM #include "wx/imagpnm.h" -#include "wx/log.h" -#include "wx/intl.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/log.h" +#endif + #include "wx/txtstrm.h" //----------------------------------------------------------------------------- @@ -68,12 +64,15 @@ bool wxPNMHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose switch (c) { - case wxT('2'): // ASCII Grey + case wxT('2'): // ASCII Grey case wxT('3'): // ASCII RGB case wxT('5'): // RAW Grey case wxT('6'): break; default: - if (verbose) wxLogError(_("PNM: File format is not recognized.")); + if (verbose) + { + wxLogError(_("PNM: File format is not recognized.")); + } return false; } @@ -89,63 +88,88 @@ bool wxPNMHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose if (!ptr) { if (verbose) + { wxLogError( _("PNM: Couldn't allocate memory.") ); + } return false; } - if (c=='2') // Ascii GREY - { + if (c=='2') // Ascii GREY + { wxUint32 value, size=width*height; for (wxUint32 i=0; iSetMask( false ); @@ -170,12 +194,15 @@ bool wxPNMHandler::DoCanRead( wxInputStream& stream ) { Skip_Comment(stream); + // it's ok to modify the stream position here if ( stream.GetC() == 'P' ) { - switch (stream.GetC()) + switch ( stream.GetC() ) { - case '3': - case '6': + case '2': // ASCII Grey + case '3': // ASCII RGB + case '5': // RAW Grey + case '6': // RAW RGB return true; } } @@ -186,4 +213,4 @@ bool wxPNMHandler::DoCanRead( wxInputStream& stream ) #endif // wxUSE_STREAMS -#endif // wxUSE_PNM +#endif // wxUSE_IMAGE && wxUSE_PNM