X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/03647350fc7cd141953c72e0284e928847d30f44..931d6a47c32a5b4c283243cb553ce71ee2b535d5:/src/common/imagjpeg.cpp diff --git a/src/common/imagjpeg.cpp b/src/common/imagjpeg.cpp index 1f3ed86da6..3fe43f7821 100644 --- a/src/common/imagjpeg.cpp +++ b/src/common/imagjpeg.cpp @@ -2,7 +2,6 @@ // Name: src/common/imagjpeg.cpp // Purpose: wxImage JPEG handler // Author: Vaclav Slavik -// RCS-ID: $Id$ // Copyright: (c) Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,6 +16,7 @@ #if wxUSE_IMAGE && wxUSE_LIBJPEG #include "wx/imagjpeg.h" +#include "wx/versioninfo.h" #ifndef WX_PRECOMP #include "wx/log.h" @@ -256,7 +256,7 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos } (cinfo.src->term_source)(&cinfo); jpeg_destroy_decompress(&cinfo); - if (image->Ok()) image->Destroy(); + if (image->IsOk()) image->Destroy(); return false; } @@ -290,7 +290,7 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos jpeg_start_decompress( &cinfo ); image->Create( cinfo.output_width, cinfo.output_height ); - if (!image->Ok()) { + if (!image->IsOk()) { jpeg_finish_decompress( &cinfo ); jpeg_destroy_decompress( &cinfo ); return false; @@ -333,6 +333,13 @@ bool wxJPEGHandler::LoadFile( wxImage *image, wxInputStream& stream, bool verbos image->SetOption(wxIMAGE_OPTION_RESOLUTIONUNIT, cinfo.density_unit); } + if ( cinfo.image_width != cinfo.output_width || cinfo.image_height != cinfo.output_height ) + { + // save the original image size + image->SetOption(wxIMAGE_OPTION_ORIGINAL_WIDTH, cinfo.image_width); + image->SetOption(wxIMAGE_OPTION_ORIGINAL_HEIGHT, cinfo.image_height); + } + jpeg_finish_decompress( &cinfo ); jpeg_destroy_decompress( &cinfo ); return true; @@ -491,4 +498,9 @@ bool wxJPEGHandler::DoCanRead( wxInputStream& stream ) #endif // wxUSE_STREAMS +/*static*/ wxVersionInfo wxJPEGHandler::GetLibraryVersionInfo() +{ + return wxVersionInfo("libjpeg", JPEG_LIB_VERSION/10, JPEG_LIB_VERSION%10); +} + #endif // wxUSE_LIBJPEG