// headers
// ----------------------------------------------------------------------------
+#ifdef __GNUG__
+ #pragma implementation "gdiimage.h"
+#endif
+
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#endif // WX_PRECOMP
#include "wx/os2/private.h"
-
#include "wx/app.h"
-
+#include "wx/xpmhand.h"
#include "wx/os2/gdiimage.h"
// ----------------------------------------------------------------------------
#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
// ----------------------------------------------------------------------------
wxNode* pNext = pNode->Next();
delete pHandler;
+#if (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )))
delete pNode;
+#endif
pNode = pNext;
}
}
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);
, 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