// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+/* THIS SHOULD NOT BE USED since you might include it once e.g. in window.h,
+ * then again _AFTER_ you've included windows.h, in which case it won't work
+ * a 2nd time -- JACS
#ifndef _WX_WINUNDEF_H_
#define _WX_WINUNDEF_H_
+ */
-// windows.h #defines the following identifiers which are also used in wxWin
+// ----------------------------------------------------------------------------
+// windows.h #defines the following identifiers which are also used in wxWin so
+// we replace these symbols with the corresponding inline functions and
+// undefine the macro.
+//
+// This looks quite ugly here but allows us to write clear (and correct!) code
+// elsewhere because the functions, unlike the macros, respect the scope.
+// ----------------------------------------------------------------------------
// GetCharWidth
#ifdef StartDoc
#undef StartDoc
- #ifdef __MINGW32__
+ #ifdef __GNUWIN32__
#define DOCINFOW DOCINFO
#define DOCINFOA DOCINFO
#endif
return GetObjectW(h, i, buffer);
#else
return GetObjectA(h, i, buffer);
- #endif
+ #endif
+ }
+#endif
+
+// GetMessage
+
+#ifdef GetMessage
+ #undef GetMessage
+ inline int GetMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax)
+ {
+ #ifdef _UNICODE
+ return GetMessageW(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
+ #else
+ return GetMessageA(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax);
+ #endif
}
#endif
+// LoadLibrary
+
+#ifdef LoadLibrary
+ #undef LoadLibrary
+ inline HINSTANCE LoadLibrary(LPCTSTR lpLibFileName)
+ {
+ #ifdef _UNICODE
+ return LoadLibraryW(lpLibFileName);
+ #else
+ return LoadLibraryA(lpLibFileName);
+ #endif
+ }
+#endif
+
+// For WINE
+
+#if defined(GetWindowStyle) || defined(__WXWINE__)
+ #undef GetWindowStyle
+#endif
// For ming and cygwin
// #undef GetNextChild
//endif
-#endif // _WX_WINUNDEF_H_
+// #endif // _WX_WINUNDEF_H_
+