X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c455ab932f89cc166fc38d3f2c2f942f6a130649..f8c4475a3e579655f6a962822824596a7a9cfb66:/include/wx/msw/winundef.h diff --git a/include/wx/msw/winundef.h b/include/wx/msw/winundef.h index 4a56ddeb49..6af2f389cc 100644 --- a/include/wx/msw/winundef.h +++ b/include/wx/msw/winundef.h @@ -9,10 +9,21 @@ // 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 @@ -117,7 +128,7 @@ #ifdef StartDoc #undef StartDoc - #ifdef __MINGW32__ + #ifdef __GNUWIN32__ #define DOCINFOW DOCINFO #define DOCINFOA DOCINFO #endif @@ -148,6 +159,7 @@ } #endif +// GetMessage #ifdef GetMessage #undef GetMessage @@ -161,6 +173,20 @@ } #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__) @@ -196,4 +222,5 @@ // #undef GetNextChild //endif -#endif // _WX_WINUNDEF_H_ +// #endif // _WX_WINUNDEF_H_ +