X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16ff355beecc7c166a22797ea835475b58edbcb8..1978421a6d8b81c1f8a961da4b8ddf544fec7b1b:/src/os2/icon.cpp diff --git a/src/os2/icon.cpp b/src/os2/icon.cpp index fe662a13f8..a916c7c979 100644 --- a/src/os2/icon.cpp +++ b/src/os2/icon.cpp @@ -22,6 +22,7 @@ #include "wx/utils.h" #include "wx/app.h" #include "wx/icon.h" + #include "wx/log.h" #endif #include "wx/os2/private.h" @@ -50,6 +51,7 @@ void wxIconRefData::Free() // ---------------------------------------------------------------------------- wxIcon::wxIcon() +: m_bIsXpm(FALSE) { } @@ -58,6 +60,7 @@ wxIcon::wxIcon( , int WXUNUSED(nWidth) , int WXUNUSED(nHeight) ) +: m_bIsXpm(FALSE) { } @@ -67,6 +70,7 @@ wxIcon::wxIcon( , int nDesiredWidth , int nDesiredHeight ) +: m_bIsXpm(FALSE) { // // A very poor hack, but we have to have separate icon files from windows @@ -94,6 +98,11 @@ void wxIcon::CreateIconFromXpm( wxBitmap vBmp(ppData); CopyFromBitmap(vBmp); + if (GetHICON()) + { + m_bIsXpm = TRUE; + m_vXpmSrc = vBmp; + } } // end of wxIcon::CreateIconFromXpm void wxIcon::CopyFromBitmap( @@ -129,7 +138,7 @@ void wxIcon::CopyFromBitmap( POINTL vPoint[4] = { 0, 0, rBmp.GetWidth(), rBmp.GetHeight(), 0, 0, rBmp.GetWidth(), rBmp.GetHeight() }; - POINTL vPointMask[4] = { 0, 0, rBmp.GetWidth(), rBmp.GetHeight(), + POINTL vPointMask[4] = { 0, 0, rBmp.GetWidth(), rBmp.GetHeight() * 2, 0, 0, rBmp.GetWidth(), rBmp.GetHeight() }; @@ -185,7 +194,7 @@ void wxIcon::CopyFromBitmap( } vIconInfo.hbmColor = hBmp; - vHeader.cy = (ULONG)rBmp.GetHeight(); + vHeader.cy = (ULONG)rBmp.GetHeight() * 2; hBmpMask = ::GpiCreateBitmap( hPSDst ,&vHeader ,0L