X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/952ae1e88b9092f493b4ea6911a2b60b378d422d..b6a20a20d010d643e52914f51aa0700df0da925f:/src/common/imagpcx.cpp diff --git a/src/common/imagpcx.cpp b/src/common/imagpcx.cpp index 2e50e2c5a5..cc45398eaf 100644 --- a/src/common/imagpcx.cpp +++ b/src/common/imagpcx.cpp @@ -8,7 +8,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "imagpcx.h" #endif @@ -21,9 +21,10 @@ #ifndef WX_PRECOMP # include "wx/defs.h" +# include "wx/palette.h" #endif -#if wxUSE_IMAGE && wxUSE_STREAMS && wxUSE_PCX +#if wxUSE_IMAGE && wxUSE_PCX #include "wx/imagpcx.h" #include "wx/wfstream.h" @@ -35,6 +36,14 @@ #include "wx/list.h" #include "wx/object.h" +//----------------------------------------------------------------------------- +// wxPCXHandler +//----------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxPCXHandler,wxImageHandler) + +#if wxUSE_STREAMS + //----------------------------------------------------------------------------- // RLE encoding and decoding //----------------------------------------------------------------------------- @@ -429,8 +438,6 @@ int SavePCX(wxImage *image, wxOutputStream& stream) // wxPCXHandler //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxPCXHandler,wxImageHandler) - bool wxPCXHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbose, int WXUNUSED(index) ) { int error; @@ -486,14 +493,15 @@ bool wxPCXHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbos bool wxPCXHandler::DoCanRead( wxInputStream& stream ) { - unsigned char c; - - c = stream.GetC(); - stream.SeekI(-1, wxFromCurrent); + unsigned char c = stream.GetC(); + if ( !stream ) + return FALSE; // not very safe, but this is all we can get from PCX header :-( - return (c == 10); + return c == 10; } -#endif // wxUSE_STREAMS && wxUSE_PCX +#endif // wxUSE_STREAMS + +#endif // wxUSE_IMAGE && wxUSE_PCX