// this defines a CASTWNDPROC macro which casts a pointer to the type of a
// window proc
-#if defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS)
+#ifdef __GNUWIN32_OLD__
# define CASTWNDPROC (long unsigned)
#else
# ifdef __BORLANDC__
# ifdef __WIN32__
+#if __BORLANDC__ > 0x530
+ typedef long (__stdcall * WndProcCast)( HWND__*, unsigned int, unsigned int, long) ;
+#else
typedef int (pascal * WndProcCast) ();
+#endif
# define CASTWNDPROC (WndProcCast)
-// # define CASTWNDPROC
# else
typedef int (pascal * WndProcCast) ();
# define CASTWNDPROC (WndProcCast)
#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
#endif // GET_X_LPARAM
+// get the current state of SHIFT/CTRL keys
+inline bool wxIsShiftDown()
+{
+ return (::GetKeyState(VK_SHIFT) & 0x100) != 0;
+}
+
+inline bool wxIsCtrlDown()
+{
+ return (::GetKeyState(VK_CONTROL) & 0x100) != 0;
+}
+
// ---------------------------------------------------------------------------
// small helper classes
// ---------------------------------------------------------------------------
#define GetHmenu() ((HMENU)GetHMenu())
#define GetHmenuOf(menu) ((HMENU)menu->GetHMenu())
+#define GetHcursor() ((HCURSOR)GetHCURSOR())
+#define GetHcursorOf(cursor) ((HCURSOR)(cursor).GetHCURSOR())
+
// ---------------------------------------------------------------------------
// global data
// ---------------------------------------------------------------------------
#if wxUSE_GUI
+// cursor stuff
+extern HCURSOR wxGetCurrentBusyCursor(); // from msw/utils.cpp
+extern const wxCursor *wxGetGlobalCursor(); // from msw/cursor.cpp
+
WXDLLEXPORT wxWindow* wxFindWinFromHandle(WXHWND hWnd);
WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y, const wxFont *the_font);