X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb65cb341bb04925a8698497e0d2d4a35986f6d4..b7d3a622aa58729f92941c2b6710c5481b16f19e:/src/os2/gdiimage.cpp diff --git a/src/os2/gdiimage.cpp b/src/os2/gdiimage.cpp index 0b356d003a..405d2221f3 100644 --- a/src/os2/gdiimage.cpp +++ b/src/os2/gdiimage.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/gdiimage.cpp +// Name: src/os2/gdiimage.cpp // Purpose: wxGDIImage implementation // Author: Vadim Zeitlin // Modified by: @@ -17,24 +17,20 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "gdiimage.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifndef WX_PRECOMP #include "wx/string.h" + #include "wx/app.h" #endif // WX_PRECOMP #include "wx/os2/private.h" -#include "wx/app.h" #include "wx/os2/gdiimage.h" #include "wx/listimpl.cpp" -WX_DEFINE_LIST(wxGDIImageHandlerList); +WX_DEFINE_LIST(wxGDIImageHandlerList) // ---------------------------------------------------------------------------- // private classes @@ -46,7 +42,7 @@ WX_DEFINE_LIST(wxGDIImageHandlerList); class WXDLLEXPORT wxBMPFileHandler : public wxBitmapHandler { public: - wxBMPFileHandler() : wxBitmapHandler(_T("Windows bitmap file"), _T("bmp"), + wxBMPFileHandler() : wxBitmapHandler(wxT("Windows bitmap file"), wxT("bmp"), wxBITMAP_TYPE_BMP) { } @@ -54,20 +50,20 @@ public: virtual bool LoadFile( wxBitmap* pBitmap ,const wxString& rName ,HPS hPs - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth ,int nDesiredHeight ); virtual bool SaveFile( wxBitmap* pBitmap ,const wxString& rName - ,int lType + ,wxBitmapType lType ,const wxPalette* pPalette = NULL ); private: inline virtual bool LoadFile( wxBitmap* pBitmap ,int nId - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth ,int nDesiredHeight ) @@ -85,7 +81,7 @@ private: class WXDLLEXPORT wxBMPResourceHandler: public wxBitmapHandler { public: - wxBMPResourceHandler() : wxBitmapHandler(_T("Windows bitmap resource"), + wxBMPResourceHandler() : wxBitmapHandler(wxT("Windows bitmap resource"), wxEmptyString, wxBITMAP_TYPE_BMP_RESOURCE) { @@ -93,7 +89,7 @@ public: virtual bool LoadFile( wxBitmap* pBitmap ,int nId - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth ,int nDesiredHeight ); @@ -107,7 +103,7 @@ class WXDLLEXPORT wxIconHandler : public wxGDIImageHandler public: wxIconHandler( const wxString& rName ,const wxString& rExt - ,long lType + ,wxBitmapType lType ) : wxGDIImageHandler( rName ,rExt ,lType @@ -117,33 +113,33 @@ public: // creating and saving icons is not supported virtual bool Create( wxGDIImage* WXUNUSED(pImage) - ,void* WXUNUSED(pData) - ,long WXUNUSED(lFlags) + ,const void* WXUNUSED(pData) + ,wxBitmapType WXUNUSED(lFlags) ,int WXUNUSED(nWidth) ,int WXUNUSED(nHeight) ,int WXUNUSED(nDepth) = 1 ) { - return(FALSE); + return false; } - virtual bool Save( wxGDIImage* WXUNUSED(pImage) - ,const wxString& WXUNUSED(rName) - ,int WXUNUSED(nType) - ) + virtual bool Save( const wxGDIImage* WXUNUSED(pImage) + ,const wxString& WXUNUSED(rName) + ,wxBitmapType WXUNUSED(nType) + ) const { - return(FALSE); + return false; } virtual bool Load( wxGDIImage* pImage ,const wxString& rName ,HPS hPs - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth ,int nDesiredHeight ) { wxIcon* pIcon = wxDynamicCast(pImage, wxIcon); - wxCHECK_MSG(pIcon, FALSE, _T("wxIconHandler only works with icons")); + wxCHECK_MSG(pIcon, false, wxT("wxIconHandler only works with icons")); return LoadIcon( pIcon ,rName @@ -158,27 +154,26 @@ protected: virtual bool LoadIcon( wxIcon* pIcon ,const wxString& rName ,HPS hPs - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth = -1 ,int nDesiredHeight = -1 ) = 0; private: - inline virtual bool Load( wxGDIImage* pImage - ,int nId - ,long lFlags - ,int nDesiredWidth - ,int nDesiredHeight - ) + inline virtual bool Load( wxGDIImage* WXUNUSED(pImage), + int WXUNUSED(nId), + wxBitmapType WXUNUSED(lFlags), + int WXUNUSED(nDesiredWidth), + int WXUNUSED(nDesiredHeight) ) { - return FALSE; + return false; } }; class WXDLLEXPORT wxICOFileHandler : public wxIconHandler { public: - wxICOFileHandler() : wxIconHandler(_T("ICO icon file"), - _T("ico"), + wxICOFileHandler() : wxIconHandler(wxT("ICO icon file"), + wxT("ico"), wxBITMAP_TYPE_ICO) { } @@ -186,7 +181,7 @@ public: virtual bool LoadIcon( wxIcon * pIcon ,const wxString& rName ,HPS hPs - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth = -1 ,int nDesiredHeight = -1 ); @@ -198,8 +193,8 @@ private: class WXDLLEXPORT wxICOResourceHandler: public wxIconHandler { public: - wxICOResourceHandler() : wxIconHandler(_T("ICO resource"), - _T("ico"), + wxICOResourceHandler() : wxIconHandler(wxT("ICO resource"), + wxT("ico"), wxBITMAP_TYPE_ICO_RESOURCE) { } @@ -207,7 +202,7 @@ public: virtual bool LoadIcon( wxIcon* pIcon ,const wxString& rName ,HPS hPs - ,long lFlags + ,wxBitmapType lFlags ,int nDesiredWidth = -1 ,int nDesiredHeight = -1 ); @@ -220,18 +215,10 @@ private: // wxWin macros // ---------------------------------------------------------------------------- -#if !USE_SHARED_LIBRARIES - IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler, wxBitmapHandler) - IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler, wxBitmapHandler) - IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler, wxObject) - IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxObject) -#endif - -// ---------------------------------------------------------------------------- -// private functions -// ---------------------------------------------------------------------------- - -static wxSize GetHiconSize(WXHICON hicon); +IMPLEMENT_DYNAMIC_CLASS(wxBMPFileHandler, wxBitmapHandler) +IMPLEMENT_DYNAMIC_CLASS(wxBMPResourceHandler, wxBitmapHandler) +IMPLEMENT_DYNAMIC_CLASS(wxICOFileHandler, wxObject) +IMPLEMENT_DYNAMIC_CLASS(wxICOResourceHandler, wxObject) // ============================================================================ // implementation @@ -243,9 +230,7 @@ wxGDIImageHandlerList wxGDIImage::ms_handlers; // wxGDIImage functions forwarded to wxGDIImageRefData // ---------------------------------------------------------------------------- -bool wxGDIImage::FreeResource( - bool WXUNUSED(bForce) -) +bool wxGDIImage::FreeResource( bool WXUNUSED(bForce) ) { if ( !IsNull() ) { @@ -253,10 +238,10 @@ bool wxGDIImage::FreeResource( GetGDIImageData()->m_hHandle = 0; } - return(TRUE); + return true; } -WXHANDLE wxGDIImage::GetResourceHandle() +WXHANDLE wxGDIImage::GetResourceHandle() const { return GetHandle(); } @@ -265,97 +250,95 @@ WXHANDLE wxGDIImage::GetResourceHandle() // wxGDIImage handler stuff // ---------------------------------------------------------------------------- -void wxGDIImage::AddHandler( - wxGDIImageHandler* pHandler -) +void wxGDIImage::AddHandler( wxGDIImageHandler* pHandler ) { ms_handlers.Append(pHandler); } -void wxGDIImage::InsertHandler( - wxGDIImageHandler* pHandler -) +void wxGDIImage::InsertHandler( wxGDIImageHandler* pHandler ) { ms_handlers.Insert(pHandler); } -bool wxGDIImage::RemoveHandler( - const wxString& rName -) +bool wxGDIImage::RemoveHandler( const wxString& rName ) { wxGDIImageHandler* pHandler = FindHandler(rName); if (pHandler) { ms_handlers.DeleteObject(pHandler); - return(TRUE); + return true; } else - return(FALSE); + return false; } wxGDIImageHandler* wxGDIImage::FindHandler( const wxString& rName ) { - wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); - while ( node ) + wxGDIImageHandlerList::compatibility_iterator pNode = ms_handlers.GetFirst(); + + while ( pNode ) { - wxGDIImageHandler *handler = node->GetData(); - if ( handler->GetName() == name ) - return handler; - node = node->GetNext(); + wxGDIImageHandler* pHandler = pNode->GetData(); + + if ( pHandler->GetName() == rName ) + return pHandler; + pNode = pNode->GetNext(); } - return((wxGDIImageHandler*)NULL); + return(NULL); } wxGDIImageHandler* wxGDIImage::FindHandler( const wxString& rExtension -, long lType +, wxBitmapType lType ) { - wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); - while ( node ) + wxGDIImageHandlerList::compatibility_iterator pNode = ms_handlers.GetFirst(); + while ( pNode ) { - wxGDIImageHandler *handler = node->GetData(); - if ( (handler->GetExtension() = extension) && - (type == -1 || handler->GetType() == type) ) + wxGDIImageHandler* pHandler = pNode->GetData(); + + if ( (pHandler->GetExtension() == rExtension) && + (lType == -1 || pHandler->GetType() == lType) ) { - return handler; + return pHandler; } - - node = node->GetNext(); + pNode = pNode->GetNext(); } - return((wxGDIImageHandler*)NULL); + return(NULL); } wxGDIImageHandler* wxGDIImage::FindHandler( - long lType + wxBitmapType lType ) { - wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); - while ( node ) + wxGDIImageHandlerList::compatibility_iterator pNode = ms_handlers.GetFirst(); + + while ( pNode ) { - wxGDIImageHandler *handler = node->GetData(); - if ( handler->GetType() == type ) - return handler; + wxGDIImageHandler* pHandler = pNode->GetData(); - node = node->GetNext(); + if ( pHandler->GetType() == lType ) + return pHandler; + pNode = pNode->GetNext(); } - - return((wxGDIImageHandler*)NULL); + return(NULL); } void wxGDIImage::CleanUpHandlers() { - wxGDIImageHandlerList::compatibility_iterator node = ms_handlers.GetFirst(); - while ( node ) + wxGDIImageHandlerList::compatibility_iterator pNode = ms_handlers.GetFirst(); + + while ( pNode ) { - wxGDIImageHandler *handler = node->GetData(); - wxGDIImageHandlerList::compatibility_iterator next = node->GetNext(); - delete handler; - ms_handlers.Erase( node ); - node = next; + wxGDIImageHandler* pHandler = pNode->GetData(); + wxGDIImageHandlerList::compatibility_iterator pNext = pNode->GetNext(); + + delete pHandler; + ms_handlers.Erase( pNode ); + pNode = pNext; } } @@ -371,13 +354,11 @@ void wxGDIImage::InitStandardHandlers() // wxBitmap handlers // ---------------------------------------------------------------------------- -bool wxBMPResourceHandler::LoadFile( - wxBitmap* pBitmap -, int nId -, long lFlags -, int nDesiredWidth -, int nDesiredHeight -) +bool wxBMPResourceHandler::LoadFile( wxBitmap* pBitmap, + int nId, + wxBitmapType WXUNUSED(lFlags), + int WXUNUSED(nDesiredWidth), + int WXUNUSED(nDesiredHeight) ) { SIZEL vSize = {0, 0}; DEVOPENSTRUC vDop = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L}; @@ -395,7 +376,7 @@ bool wxBMPResourceHandler::LoadFile( wxBitmapRefData* pData = pBitmap->GetBitmapData(); - if ( pBitmap->Ok() ) + if ( pBitmap->IsOk() ) { BITMAPINFOHEADER vBmph; @@ -404,25 +385,23 @@ bool wxBMPResourceHandler::LoadFile( pData->m_nHeight = vBmph.cy; pData->m_nDepth = vBmph.cBitCount; } - return(pBitmap->Ok()); + return(pBitmap->IsOk()); } // end of wxBMPResourceHandler::LoadFile -bool wxBMPFileHandler::LoadFile( - wxBitmap* pBitmap -, const wxString& rName -, HPS hPs -, long WXUNUSED(lFlags) -, int WXUNUSED(nDesiredWidth) -, int WXUNUSED(nDesiredHeight) -) +bool wxBMPFileHandler::LoadFile( wxBitmap* pBitmap, + const wxString& WXUNUSED(rName), + HPS WXUNUSED(hPs), + wxBitmapType WXUNUSED(lFlags), + int WXUNUSED(nDesiredWidth), + int WXUNUSED(nDesiredHeight) ) { -#if wxUSE_IMAGE_LOADING_IN_OS2 - wxPalette* pPalette = NULL; +#if defined(wxUSE_IMAGE_LOADING_IN_OS2) && wxUSE_IMAGE_LOADING_IN_OS2 + wxPalette* pPalette = NULL; - bool bSuccess = FALSE; /* wxLoadIntoBitmap( WXSTRINGCAST rName - ,pBitmap - ,&pPalette - ) != 0; */ + bool bSuccess = false; /* wxLoadIntoBitmap( WXSTRINGCAST rName + ,pBitmap + ,&pPalette + ) != 0; */ if (bSuccess && pPalette) { pBitmap->SetPalette(*pPalette); @@ -433,19 +412,18 @@ bool wxBMPFileHandler::LoadFile( return(bSuccess); #else - return(FALSE); + wxUnusedVar(pBitmap); + return false; #endif } -bool wxBMPFileHandler::SaveFile( - wxBitmap* pBitmap -, const wxString& rName -, int WXUNUSED(nType) -, const wxPalette* pPal -) +bool wxBMPFileHandler::SaveFile( wxBitmap* pBitmap, + const wxString& WXUNUSED(rName), + wxBitmapType WXUNUSED(nType), + const wxPalette* pPal ) { -#if wxUSE_IMAGE_LOADING_IN_OS2 - wxPalette* pActualPalette = (wxPalette *)pPal; +#if defined(wxUSE_IMAGE_LOADING_IN_OS2) && wxUSE_IMAGE_LOADING_IN_OS2 + wxPalette* pActualPalette = (wxPalette *)pPal; if (!pActualPalette) pActualPalette = pBitmap->GetPalette(); @@ -453,9 +431,11 @@ bool wxBMPFileHandler::SaveFile( ,pBitmap ,pActualPalette ) != 0); */ - return(FALSE); + return false; #else - return(FALSE); + wxUnusedVar(pBitmap); + wxUnusedVar(pPal); + return false; #endif } @@ -463,61 +443,39 @@ bool wxBMPFileHandler::SaveFile( // wxIcon handlers // ---------------------------------------------------------------------------- -bool wxICOFileHandler::LoadIcon( - wxIcon* pIcon -, const wxString& rName -, HPS hPs -, long lFlags -, int nDesiredWidth -, int nDesiredHeight -) +bool wxICOFileHandler::LoadIcon( wxIcon* pIcon, + const wxString& WXUNUSED(rName), + HPS WXUNUSED(hPs), + wxBitmapType WXUNUSED(lFlags), + int WXUNUSED(nDesiredWidth), + int WXUNUSED(nDesiredHeight) ) { -#if wxUSE_RESOURCE_LOADING_IN_OS2 +#if defined(wxUSE_RESOURCE_LOADING_IN_OS2) && wxUSE_RESOURCE_LOADING_IN_OS2 pIcon->UnRef(); - // actual size - wxSize vSize; - - return(FALSE); + return false; #else - return(FALSE); + wxUnusedVar(pIcon); + return false; #endif } -bool wxICOResourceHandler::LoadIcon( - wxIcon* pIcon -, const wxString& rName -, HPS hPs -, long lFlags -, int WXUNUSED(nDesiredWidth) -, int WXUNUSED(nDesiredHeight) -) +bool wxICOResourceHandler::LoadIcon( wxIcon* pIcon, + const wxString& rName, + HPS WXUNUSED(hPs), + wxBitmapType WXUNUSED(lFlags), + int WXUNUSED(nDesiredWidth), + int WXUNUSED(nDesiredHeight) ) { HPOINTER hIcon; - hIcon = ::WinLoadFileIcon( (PSZ)rName.c_str() + hIcon = ::WinLoadFileIcon( rName.c_str() ,TRUE // load for private use ); pIcon->SetSize(32, 32); // all OS/2 icons are 32 x 32 - pIcon->SetHICON((WXHICON)hIcon); - return pIcon->Ok(); + return pIcon->IsOk(); } // end of wxICOResourceHandler::LoadIcon - -// ---------------------------------------------------------------------------- -// private functions -// ---------------------------------------------------------------------------- - -static wxSize GetHiconSize( - WXHICON hicon -) -{ - wxSize vSize(32, 32); // default - - // all OS/2 icons are 32x32 - return(vSize); -} -