X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b4eb4c6b55e7618095682468a0edfa7193edb421..08c4a8a9dd5d6f50a99aeca0999c7ae682ae76e5:/src/os2/gdiimage.cpp?ds=sidebyside diff --git a/src/os2/gdiimage.cpp b/src/os2/gdiimage.cpp index fcc9d4a18b..dcb5e1d4df 100644 --- a/src/os2/gdiimage.cpp +++ b/src/os2/gdiimage.cpp @@ -17,6 +17,10 @@ // headers // ---------------------------------------------------------------------------- +#ifdef __GNUG__ + #pragma implementation "gdiimage.h" +#endif + // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -26,9 +30,8 @@ #endif // WX_PRECOMP #include "wx/os2/private.h" - #include "wx/app.h" - +#include "wx/xpmhand.h" #include "wx/os2/gdiimage.h" // ---------------------------------------------------------------------------- @@ -331,7 +334,9 @@ void wxGDIImage::CleanUpHandlers() wxNode* pNext = pNode->Next(); delete pHandler; +#if (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 ))) delete pNode; +#endif pNode = pNext; } } @@ -341,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); @@ -514,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