X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1a75e76f399bc91b3f841e7f77140e83f9bd5958..cdc059191b6e36808967b8b1efecc8f5a6cd769e:/src/os2/cursor.cpp diff --git a/src/os2/cursor.cpp b/src/os2/cursor.cpp index 73a793577c..92adc678b7 100644 --- a/src/os2/cursor.cpp +++ b/src/os2/cursor.cpp @@ -20,10 +20,10 @@ #include "wx/app.h" #include "wx/cursor.h" #include "wx/icon.h" -#include "wx/resource.h" #endif #include "wx/os2/private.h" +#include "wx/os2/wxrsc.h" #include "wx/image.h" #include "assert.h" @@ -35,7 +35,7 @@ wxCursorRefData::wxCursorRefData(void) m_nWidth = 32; m_nHeight = 32; m_hCursor = 0 ; - m_bDestroyCursor = FALSE; + m_bDestroyCursor = false; } void wxCursorRefData::Free() @@ -53,39 +53,35 @@ wxCursor::wxCursor(void) { } -wxCursor::wxCursor( - const char WXUNUSED(bits)[] -, int WXUNUSED(width) -, int WXUNUSED(height) -, int WXUNUSED(hotSpotX) -, int WXUNUSED(hotSpotY) -, const char WXUNUSED(maskBits)[] -) +wxCursor::wxCursor(const char WXUNUSED(bits)[], + int WXUNUSED(width), + int WXUNUSED(height), + int WXUNUSED(hotSpotX), + int WXUNUSED(hotSpotY), + const char WXUNUSED(maskBits)[]) { } -wxCursor::wxCursor( - const wxImage& rImage -) +wxCursor::wxCursor(const wxImage& rImage) { - wxImage vImage32 = rImage.Scale(32,32); - int nWidth = vImage32.GetWidth(); - int nHeight = vImage32.GetHeight(); + wxImage vImage32 = rImage.Scale(32,32); + int nWidth = vImage32.GetWidth(); + int nHeight = vImage32.GetHeight(); // // Need a bitmap handle somehow // - HBITMAP hBitmap = wxBitmap(vImage32).GetHBITMAP(); - int nHotSpotX = vImage32.GetOptionInt(wxCUR_HOTSPOT_X); - int nHotSpotY = vImage32.GetOptionInt(wxCUR_HOTSPOT_Y); + HBITMAP hBitmap = wxBitmap(vImage32).GetHBITMAP(); + int nHotSpotX = vImage32.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_X); + int nHotSpotY = vImage32.GetOptionInt(wxIMAGE_OPTION_CUR_HOTSPOT_Y); if (nHotSpotX < 0 || nHotSpotX >= nWidth) - nHotSpotX = 0; + nHotSpotX = 0; if (nHotSpotY < 0 || nHotSpotY >= nHeight) - nHotSpotY = 0; + nHotSpotY = 0; - wxCursorRefData* pRefData = new wxCursorRefData; + wxCursorRefData* pRefData = new wxCursorRefData; m_refData = pRefData; pRefData->m_hCursor = (WXHCURSOR) ::WinCreatePointer( HWND_DESKTOP @@ -97,18 +93,16 @@ wxCursor::wxCursor( } // end of wxCursor::wxCursor -wxCursor::wxCursor( - const wxString& rsCursorFile -, long lFlags -, int nHotSpotX -, int nHotSpotY -) +wxCursor::wxCursor( const wxString& WXUNUSED(rsCursorFile), + long lFlags, + int WXUNUSED(nHotSpotX), + int WXUNUSED(nHotSpotY) ) { - wxCursorRefData* pRefData = new wxCursorRefData; + wxCursorRefData* pRefData = new wxCursorRefData; pRefData = new wxCursorRefData; m_refData = pRefData; - pRefData->m_bDestroyCursor = FALSE; + pRefData->m_bDestroyCursor = false; if (lFlags == wxBITMAP_TYPE_CUR_RESOURCE) { pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP @@ -119,9 +113,7 @@ wxCursor::wxCursor( } // end of wxCursor::wxCursor // Cursors by stock number -wxCursor::wxCursor( - int nCursorType -) +wxCursor::wxCursor(int nCursorType) { wxCursorRefData* pRefData = new wxCursorRefData; @@ -135,6 +127,7 @@ wxCursor::wxCursor( ); break; + case wxCURSOR_WATCH: case wxCURSOR_WAIT: pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP ,(ULONG)SPTR_WAIT @@ -220,10 +213,10 @@ wxCursor::wxCursor( break; case wxCURSOR_NO_ENTRY: - pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP - ,0 - ,(ULONG)wxCURSOR_NO_ENTRY - ); + pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP + ,(ULONG)SPTR_ILLEGAL + ,FALSE + ); break; case wxCURSOR_LEFT_BUTTON: @@ -254,13 +247,6 @@ wxCursor::wxCursor( ); break; - case wxCURSOR_WATCH: - pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP - ,0 - ,(ULONG)wxCURSOR_WATCH - ); - break; - case wxCURSOR_SPRAYCAN: pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP ,0 @@ -311,6 +297,10 @@ wxCursor::wxCursor( ); break; } + // + // No need to destroy the stock cursors + // + ((wxCursorRefData *)m_refData)->m_bDestroyCursor = false; } // end of wxCursor::wxCursor // Global cursor setting @@ -326,4 +316,3 @@ void wxSetCursor(const wxCursor& cursor) (*g_globalCursor) = cursor; } } -