#ifndef _WX_PRIVATE_H_
#define _WX_PRIVATE_H_
+#ifndef STRICT
+ #define STRICT 1
+#endif
+
#include <windows.h>
+#ifdef __WXMICROWIN__
+/* Extra prototypes and symbols not defined by MicroWindows */
+#include "wx/msw/microwin.h"
+#endif
+
// undefine conflicting symbols which were defined in windows.h
#include "wx/msw/winundef.h"
// this defines a CASTWNDPROC macro which casts a pointer to the type of a
// window proc
-
-#if defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__)
- #define CASTWNDPROC (long unsigned)
+#if defined(STRICT) || defined(__GNUC__)
+ typedef WNDPROC WndProcCast;
#else
- #if defined(STRICT) || defined(__GNUC__)
- typedef WNDPROC WndProcCast;
- #else
- typedef FARPROC WndProcCast;
- #endif
- #define CASTWNDPROC (WndProcCast)
-#endif // __GNUWIN32_OLD__
+ typedef FARPROC WndProcCast;
+#endif
+
+#define CASTWNDPROC (WndProcCast)
// ---------------------------------------------------------------------------
// some stuff for old Windows versions (FIXME: what does it do here??)
// ---------------------------------------------------------------------------
// a wrapper macro for ZeroMemory()
-#ifdef __WIN32__
+#if defined(__WIN32__) && !defined(__WXMICROWIN__)
#define wxZeroMemory(obj) ::ZeroMemory(&obj, sizeof(obj))
#else
#define wxZeroMemory(obj) memset((void*) & obj, 0, sizeof(obj))