X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4676948b6814c97b93c431a8cbcd8c0352c87ba9..9d1b7527cd9713a521912045a3bd2bddbc31d841:/src/msw/gdiimage.cpp diff --git a/src/msw/gdiimage.cpp b/src/msw/gdiimage.cpp index 9ac518a065..df4910d8cc 100644 --- a/src/msw/gdiimage.cpp +++ b/src/msw/gdiimage.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/gdiimage.cpp +// Name: src/msw/gdiimage.cpp // Purpose: wxGDIImage implementation // Author: Vadim Zeitlin // Modified by: @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "gdiimage.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -31,13 +27,12 @@ #ifndef WX_PRECOMP #include "wx/string.h" #include "wx/log.h" + #include "wx/app.h" + #include "wx/bitmap.h" #endif // WX_PRECOMP #include "wx/msw/private.h" -#include "wx/app.h" - -#include "wx/bitmap.h" #include "wx/msw/gdiimage.h" #if wxUSE_WXDIB @@ -49,8 +44,10 @@ #include #endif +#include "wx/file.h" + #include "wx/listimpl.cpp" -WX_DEFINE_LIST(wxGDIImageHandlerList); +WX_DEFINE_LIST(wxGDIImageHandlerList) // ---------------------------------------------------------------------------- // private classes @@ -149,6 +146,7 @@ public: { } +protected: virtual bool LoadIcon(wxIcon *icon, const wxString& name, long flags, int desiredWidth = -1, int desiredHeight = -1); @@ -166,6 +164,7 @@ public: { } +protected: virtual bool LoadIcon(wxIcon *icon, const wxString& name, long flags, int desiredWidth = -1, int desiredHeight = -1); @@ -263,7 +262,7 @@ wxGDIImageHandler *wxGDIImage::FindHandler(const wxString& extension, while ( node ) { wxGDIImageHandler *handler = node->GetData(); - if ( (handler->GetExtension() = extension) && + if ( (handler->GetExtension() == extension) && (type == -1 || handler->GetType() == type) ) { return handler; @@ -345,6 +344,9 @@ bool wxBMPResourceHandler::LoadFile(wxBitmap *bitmap, bitmap->SetHeight(bm.bmHeight); bitmap->SetDepth(bm.bmBitsPixel); + // use 0xc0c0c0 as transparent colour by default + bitmap->SetMask(new wxMask(*bitmap, *wxLIGHT_GREY)); + return true; } @@ -360,7 +362,7 @@ bool wxBMPFileHandler::LoadFile(wxBitmap *bitmap, return dib.IsOk() && bitmap->CopyFromDIB(dib); #else - return FALSE; + return false; #endif } @@ -376,7 +378,7 @@ bool wxBMPFileHandler::SaveFile(wxBitmap *bitmap, return dib.Save(name); #else - return FALSE; + return false; #endif } @@ -563,9 +565,12 @@ bool wxICOResourceHandler::LoadIcon(wxIcon *icon, // private functions // ---------------------------------------------------------------------------- -wxSize wxGetHiconSize(HICON hicon) +wxSize wxGetHiconSize(HICON WXUNUSED_IN_WINCE(hicon)) { - wxSize size(32, 32); // default + // default icon size on this hardware + // usually 32x32 but can be other (smaller) on pocket devices + wxSize size(::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON)); + #ifndef __WXWINCE__ if ( hicon && wxGetOsVersion() != wxWIN32S ) { @@ -592,8 +597,8 @@ wxSize wxGetHiconSize(HICON hicon) } } #endif + return size; } #endif // __WXMICROWIN__ -