Commit d95a9eaedc6981cdda811fb6af196ce765330343

Sam Lantinga 2021-01-27T21:30:13

Added WIN_IsWindows8OrGreater() for internal use

diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj
old mode 100644
new mode 100755
diff --git a/src/core/windows/SDL_windows.c b/src/core/windows/SDL_windows.c
index 3b27698..22dadd2 100644
--- a/src/core/windows/SDL_windows.c
+++ b/src/core/windows/SDL_windows.c
@@ -33,6 +33,9 @@
 #ifndef _WIN32_WINNT_WIN7
 #define _WIN32_WINNT_WIN7   0x0601
 #endif
+#ifndef _WIN32_WINNT_WIN8
+#define _WIN32_WINNT_WIN8   0x0602
+#endif
 
 
 /* Sets an error message based on an HRESULT */
@@ -135,6 +138,15 @@ BOOL WIN_IsWindows7OrGreater(void)
 #endif
 }
 
+BOOL WIN_IsWindows8OrGreater(void)
+{
+#ifdef __WINRT__
+    return TRUE;
+#else
+    return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN8), LOBYTE(_WIN32_WINNT_WIN8), 0);
+#endif
+}
+
 /*
 WAVExxxCAPS gives you 31 bytes for the device name, and just truncates if it's
 longer. However, since WinXP, you can use the WAVExxxCAPS2 structure, which
diff --git a/src/core/windows/SDL_windows.h b/src/core/windows/SDL_windows.h
index 08725e1..035538c 100644
--- a/src/core/windows/SDL_windows.h
+++ b/src/core/windows/SDL_windows.h
@@ -69,6 +69,9 @@ extern BOOL WIN_IsWindowsVistaOrGreater(void);
 /* Returns SDL_TRUE if we're running on Windows 7 and newer */
 extern BOOL WIN_IsWindows7OrGreater(void);
 
+/* Returns SDL_TRUE if we're running on Windows 8 and newer */
+extern BOOL WIN_IsWindows8OrGreater(void);
+
 /* You need to SDL_free() the result of this call. */
 extern char *WIN_LookupAudioDeviceName(const WCHAR *name, const GUID *guid);