X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aa21388719bc324227895bd2f1328d533dc130e2..3e58dcb9058f177d767c6f39baa88ee5626266a9:/src/os2/gdiimage.cpp diff --git a/src/os2/gdiimage.cpp b/src/os2/gdiimage.cpp index d3b1965074..82ec08a00c 100644 --- a/src/os2/gdiimage.cpp +++ b/src/os2/gdiimage.cpp @@ -30,9 +30,8 @@ #endif // WX_PRECOMP #include "wx/os2/private.h" - #include "wx/app.h" - +#include "wx/xpmhand.h" #include "wx/os2/gdiimage.h" // ---------------------------------------------------------------------------- @@ -199,8 +198,8 @@ private: #if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler, wxBitmapHandler) IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler, wxBitmapHandler) - IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler, wxGDIImageHandler) - IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxGDIImageHandler) + IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler, wxObject) + IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxObject) #endif // ---------------------------------------------------------------------------- @@ -335,7 +334,9 @@ void wxGDIImage::CleanUpHandlers() wxNode* pNext = pNode->Next(); delete pHandler; +#if (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 ))) delete pNode; +#endif pNode = pNext; } } @@ -345,10 +346,10 @@ void wxGDIImage::InitStandardHandlers() AddHandler(new wxBMPResourceHandler); AddHandler(new wxBMPFileHandler); - // Not added by default: include xpmhand.h in your app - // and call these in your wxApp::OnInit. - // AddHandler(new wxXPMFileHandler); - // AddHandler(new wxXPMDataHandler); +#if wxUSE_XPM_IN_OS2 + AddHandler(new wxXPMFileHandler); + AddHandler(new wxXPMDataHandler); +#endif AddHandler(new wxICOResourceHandler); AddHandler(new wxICOFileHandler); @@ -518,42 +519,23 @@ bool wxICOResourceHandler::LoadIcon( , const wxString& rName , HPS hPs , long lFlags -, int nDesiredWidth -, int nDesiredHeight +, int WXUNUSED(nDesiredWidth) +, int WXUNUSED(nDesiredHeight) ) { - // TODO: load icon from a file - /* - HICON hicon; + HPOINTER hIcon; -#if defined(__WIN32__) && !defined(__SC__) - if ( desiredWidth != -1 && desiredHeight != -1 ) - { - hicon = (HICON)::LoadImage(wxGetInstance(), name, IMAGE_ICON, - desiredWidth, desiredHeight, - LR_DEFAULTCOLOR); - } - else -#endif // Win32 - { - hicon = ::LoadIcon(wxGetInstance(), name); - } + hIcon = ::WinLoadFileIcon( (PSZ)rName.c_str() + ,TRUE // load for private use + ); - wxSize size = GetHiconSize(hicon); - icon->SetSize(size.x, size.y); + pIcon->SetSize(32, 32); // all OS/2 icons are 32 x 32 - // Override the found values with desired values - if ( desiredWidth > -1 && desiredHeight > -1 ) - { - icon->SetSize(desiredWidth, desiredHeight); - } - icon->SetHICON((WXHICON)hicon); + pIcon->SetHICON((WXHICON)hIcon); - return icon->Ok(); - */ - return(FALSE); -} + return pIcon->Ok(); +} // end of wxICOResourceHandler::LoadIcon // ---------------------------------------------------------------------------- // private functions