X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0470b1e6fe7a49bb87756006ef9fc232e3dbaaf8..479101cac1fdca97a3c130ee05a7ff4ebe177edf:/include/wx/msw/winundef.h

diff --git a/include/wx/msw/winundef.h b/include/wx/msw/winundef.h
index 04ab36ae4d..af1cc51108 100644
--- a/include/wx/msw/winundef.h
+++ b/include/wx/msw/winundef.h
@@ -25,6 +25,39 @@
 // elsewhere because the functions, unlike the macros, respect the scope.
 // ----------------------------------------------------------------------------
 
+// CreateDialog
+
+#ifdef CreateDialog
+    #undef CreateDialog
+
+    inline HWND CreateDialog(HINSTANCE hInstance,
+                             LPCTSTR pTemplate,
+                             HWND hwndParent,
+                             DLGPROC pDlgProc)
+    {
+        #ifdef _UNICODE
+            return CreateDialogW(hInstance, pTemplate, hwndParent, pDlgProc);
+        #else
+            return CreateDialogA(hInstance, pTemplate, hwndParent, pDlgProc);
+        #endif
+    }
+#endif
+
+// LoadMenu
+
+#ifdef LoadMenu
+    #undef LoadMenu
+
+    inline HMENU LoadMenu(HINSTANCE instance, LPCTSTR name)
+    {
+        #ifdef _UNICODE
+            return LoadMenuW(instance, name);
+        #else
+            return LoadMenuA(instance, name);
+        #endif
+    }
+#endif
+
 // GetCharWidth
 
 #ifdef GetCharWidth
@@ -56,6 +89,23 @@
    #endif
 #endif
 
+// PlaySound
+
+#ifdef PlaySound
+   #undef PlaySound
+   #ifdef _UNICODE
+   inline BOOL PlaySound(LPCWSTR pszSound, HMODULE hMod, DWORD fdwSound)
+   {
+      return PlaySoundW(pszSound, hMod, fdwSound);
+   }
+   #else
+   inline BOOL PlaySound(LPCSTR pszSound, HMODULE hMod, DWORD fdwSound)
+   {
+      return PlaySoundA(pszSound, hMod, fdwSound);
+   }
+   #endif
+#endif
+
 // GetClassName
 
 #ifdef GetClassName
@@ -124,23 +174,36 @@
    #endif
 #endif
 
+
+/*
+  When this file is included, sometimes the wxCHECK_W32API_VERSION macro
+  is undefined. With for example CodeWarrior this gives problems with
+  the following code:
+  #if 0 && wxCHECK_W32API_VERSION( 0, 5 )
+  Because CodeWarrior does macro expansion before test evaluation.
+  We define wxCHECK_W32API_VERSION here if it's undefined.
+*/
+#if !defined(__GNUG__) && !defined(wxCHECK_W32API_VERSION)
+    #define wxCHECK_W32API_VERSION(maj, min) (0)
+#endif
+
 // StartDoc
 
 #ifdef StartDoc
    #undef StartDoc
-   #ifdef __GNUG__
+   #if defined( __GNUG__ ) && !wxCHECK_W32API_VERSION( 0, 5 )
       #define DOCINFOW DOCINFO
       #define DOCINFOA DOCINFO
    #endif
    #ifdef _UNICODE
    inline int StartDoc(HDC h, CONST DOCINFOW* info)
    {
-      return StartDocW(h, info);
+      return StartDocW(h, (DOCINFOW*) info);
    }
    #else
    inline int StartDoc(HDC h, CONST DOCINFOA* info)
    {
-      return StartDocA(h, info);
+      return StartDocA(h, (DOCINFOA*) info);
    }
    #endif
 #endif
@@ -177,14 +240,33 @@
 
 #ifdef LoadLibrary
     #undef LoadLibrary
-    inline HINSTANCE LoadLibrary(LPCTSTR lpLibFileName)
-    {
     #ifdef _UNICODE
+    inline HINSTANCE LoadLibrary(LPCWSTR lpLibFileName)
+    {
         return LoadLibraryW(lpLibFileName);
+    }
     #else
+    inline HINSTANCE LoadLibrary(LPCSTR lpLibFileName)
+    {
         return LoadLibraryA(lpLibFileName);
+    }
     #endif
+#endif
+
+// FindResource
+#ifdef FindResource
+    #undef FindResource
+    #ifdef _UNICODE
+    inline HRSRC FindResource(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType)
+    {
+        return FindResourceW(hModule, lpName, lpType);
+    }
+    #else
+    inline HRSRC FindResource(HMODULE hModule, LPCSTR lpName, LPCSTR lpType)
+    {
+        return FindResourceA(hModule, lpName, lpType);
     }
+    #endif
 #endif
 
 // IsMaximized
@@ -254,6 +336,11 @@
    }
 #endif
 
+
+#ifdef Yield
+    #undef Yield
+#endif
+
 // GetWindowProc
 //ifdef GetWindowProc
 //   #undef GetWindowProc