+#if wxUSE_SIMPLER_DRAGIMAGE
+ m_oldCursor = window->GetCursor();
+ window->SetCursor(m_cursor);
+#else
+ if (!m_hCursorImageList)
+ {
+#ifndef SM_CXCURSOR
+ // Smartphone may not have these metric symbol
+ int cxCursor = 16;
+ int cyCursor = 16;
+#else
+ int cxCursor = ::GetSystemMetrics(SM_CXCURSOR);
+ int cyCursor = ::GetSystemMetrics(SM_CYCURSOR);
+#endif
+ m_hCursorImageList = (WXHIMAGELIST) ImageList_Create(cxCursor, cyCursor, ILC_MASK, 1, 1);
+ }
+
+ // See if we can find the cursor hotspot
+ wxPoint curHotSpot(hotspot);
+
+ // Although it seems to produce the right position, when the hotspot goeos
+ // negative it has strange effects on the image.
+ // How do we stop the cursor jumping right and below of where it should be?
+#if 0
+ ICONINFO iconInfo;
+ if (::GetIconInfo((HICON) (HCURSOR) m_cursor.GetHCURSOR(), & iconInfo) != 0)
+ {
+ curHotSpot.x -= iconInfo.xHotspot;
+ curHotSpot.y -= iconInfo.yHotspot;
+ }
+#endif
+ //wxString msg;
+ //msg.Printf("Hotspot = %d, %d", curHotSpot.x, curHotSpot.y);
+ //wxLogDebug(msg);
+