X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e7c80f9e052d3d50b3d7780b21e55d8c5586cdea..9f4cc34f375fbff74006f3057e90dd01c426f580:/src/common/image.cpp diff --git a/src/common/image.cpp b/src/common/image.cpp index 9e53e054f5..2117d2a209 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -866,6 +866,16 @@ wxImage wxImage::ConvertToGreyscale( double lr, double lg, double lb ) const } } + // copy the alpha channel, if any + if (HasAlpha()) + { + const size_t alphaSize = GetWidth() * GetHeight(); + unsigned char *alpha = (unsigned char*)malloc(alphaSize); + memcpy(alpha, GetAlpha(), alphaSize); + image.InitAlpha(); + image.SetAlpha(alpha); + } + return image; } @@ -1449,7 +1459,9 @@ bool wxImage::HasOption(const wxString& name) const // image I/O // ---------------------------------------------------------------------------- -bool wxImage::LoadFile( const wxString& filename, long type, int index ) +bool wxImage::LoadFile( const wxString& WXUNUSED_UNLESS_STREAMS(filename), + long WXUNUSED_UNLESS_STREAMS(type), + int WXUNUSED_UNLESS_STREAMS(index) ) { #if wxUSE_STREAMS if (wxFileExists(filename)) @@ -1469,7 +1481,9 @@ bool wxImage::LoadFile( const wxString& filename, long type, int index ) #endif // wxUSE_STREAMS } -bool wxImage::LoadFile( const wxString& filename, const wxString& mimetype, int index ) +bool wxImage::LoadFile( const wxString& WXUNUSED_UNLESS_STREAMS(filename), + const wxString& WXUNUSED_UNLESS_STREAMS(mimetype), + int WXUNUSED_UNLESS_STREAMS(index) ) { #if wxUSE_STREAMS if (wxFileExists(filename)) @@ -1507,7 +1521,8 @@ bool wxImage::SaveFile( const wxString& filename ) const return false; } -bool wxImage::SaveFile( const wxString& filename, int type ) const +bool wxImage::SaveFile( const wxString& WXUNUSED_UNLESS_STREAMS(filename), + int WXUNUSED_UNLESS_STREAMS(type) ) const { #if wxUSE_STREAMS wxCHECK_MSG( Ok(), false, wxT("invalid image") ); @@ -1526,7 +1541,8 @@ bool wxImage::SaveFile( const wxString& filename, int type ) const return false; } -bool wxImage::SaveFile( const wxString& filename, const wxString& mimetype ) const +bool wxImage::SaveFile( const wxString& WXUNUSED_UNLESS_STREAMS(filename), + const wxString& WXUNUSED_UNLESS_STREAMS(mimetype) ) const { #if wxUSE_STREAMS wxCHECK_MSG( Ok(), false, wxT("invalid image") ); @@ -1545,22 +1561,23 @@ bool wxImage::SaveFile( const wxString& filename, const wxString& mimetype ) con return false; } -bool wxImage::CanRead( const wxString &name ) +bool wxImage::CanRead( const wxString& WXUNUSED_UNLESS_STREAMS(name) ) { #if wxUSE_STREAMS - wxFileInputStream stream(name); - return CanRead(stream); + wxFileInputStream stream(name); + return CanRead(stream); #else - return false; + return false; #endif } -int wxImage::GetImageCount( const wxString &name, long type ) +int wxImage::GetImageCount( const wxString& WXUNUSED_UNLESS_STREAMS(name), + long WXUNUSED_UNLESS_STREAMS(type) ) { #if wxUSE_STREAMS - wxFileInputStream stream(name); - if (stream.Ok()) - return GetImageCount(stream, type); + wxFileInputStream stream(name); + if (stream.Ok()) + return GetImageCount(stream, type); #endif return 0;