Browse Source

Fixed compiling Windows RT code on Visual Studio 2013

Sam Lantinga 11 years ago
parent
commit
641ba09975

+ 4 - 9
VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj

@@ -97,16 +97,10 @@
     <ClCompile Include="..\..\src\joystick\winrt\SDL_xinputjoystick.c" />
     <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
     <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11.c" />
-    <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11_winrthelpers.cpp">
-      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-      <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-    </ClCompile>
+    <ClCompile Include="..\..\src\render\direct3d11\SDL_render_winrt.cpp" />
     <ClCompile Include="..\..\src\render\opengles2\SDL_render_gles2.c" />
     <ClCompile Include="..\..\src\render\opengles2\SDL_shaders_gles2.c" />
+    <ClCompile Include="..\..\src\render\SDL_d3dmath.c" />
     <ClCompile Include="..\..\src\render\SDL_render.c" />
     <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
     <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
@@ -285,10 +279,11 @@
     <ClInclude Include="..\..\src\joystick\SDL_gamecontrollerdb.h" />
     <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
     <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
-    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_d3d11_winrthelpers_cpp.h" />
+    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_winrt.h" />
     <ClInclude Include="..\..\src\render\mmx.h" />
     <ClInclude Include="..\..\src\render\opengles2\SDL_gles2funcs.h" />
     <ClInclude Include="..\..\src\render\opengles2\SDL_shaders_gles2.h" />
+    <ClInclude Include="..\..\src\render\SDL_d3dmath.h" />
     <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
     <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
     <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />

+ 4 - 6
VisualC-WinRT/SDL/SDL-WinRT_VS2012.vcxproj.filters

@@ -280,9 +280,8 @@
     <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11.c">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11_winrthelpers.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
+    <ClCompile Include="..\..\src\render\direct3d11\SDL_render_winrt.cpp" />
+    <ClCompile Include="..\..\src\render\SDL_d3dmath.c" />
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\include\begin_code.h">
@@ -639,9 +638,8 @@
     <ClInclude Include="..\..\src\SDL_internal.h">
       <Filter>Source Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_d3d11_winrthelpers_cpp.h">
-      <Filter>Source Files</Filter>
-    </ClInclude>
+    <ClInclude Include="..\..\src\render\direct3d11\SDL_render_winrt.h" />
+    <ClInclude Include="..\..\src\render\SDL_d3dmath.h" />
   </ItemGroup>
   <ItemGroup>
     <Filter Include="Header Files">

+ 1 - 0
src/core/winrt/SDL_winrtapp_xaml.cpp

@@ -42,6 +42,7 @@
 SDL_bool WINRT_XAMLWasEnabled = SDL_FALSE;
 
 #if WINAPI_FAMILY == WINAPI_FAMILY_APP
+extern "C"
 ISwapChainBackgroundPanelNative * WINRT_GlobalSwapChainBackgroundPanelNative = NULL;
 static Windows::Foundation::EventRegistrationToken	WINRT_XAMLAppEventToken;
 #endif

+ 1 - 1
src/joystick/winrt/SDL_xinputjoystick.c

@@ -18,7 +18,7 @@
      misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 */
-#include "SDL_config.h"
+#include "../../SDL_internal.h"
 
 #if SDL_JOYSTICK_XINPUT
 

+ 1 - 1
src/render/direct3d11/SDL_render_d3d11.c

@@ -35,7 +35,7 @@
 
 #ifdef __WINRT__
 
-#include "SDL_render_d3d11_winrthelpers_cpp.h"
+#include "SDL_render_winrt.h"
 
 #if WINAPI_FAMILY == WINAPI_FAMILY_APP
 #include <windows.ui.xaml.media.dxinterop.h>

+ 25 - 22
src/render/direct3d11/SDL_render_d3d11_winrthelpers.cpp → src/render/direct3d11/SDL_render_winrt.cpp

@@ -28,12 +28,15 @@ extern "C" {
 }
 
 #include <windows.ui.core.h>
-#include <windows.foundation.h>
+#include <windows.graphics.display.h>
 
 #if WINAPI_FAMILY == WINAPI_FAMILY_APP
 #include <windows.ui.xaml.media.dxinterop.h>
 #endif
 
+#include "SDL_render_winrt.h"
+
+using namespace ABI;
 using namespace Windows::UI::Core;
 using namespace Windows::Graphics::Display;
 
@@ -75,32 +78,32 @@ D3D11_GetCoreWindowFromSDLRenderer(SDL_Renderer * renderer)
 extern "C" DXGI_MODE_ROTATION
 D3D11_GetCurrentRotation()
 {
+#if 0 /* FIXME: This doesn't compile on Visual Studio 2013 */
     switch (DisplayProperties::CurrentOrientation) {
 #if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
-        /* Windows Phone rotations */
-        case DisplayOrientations::Landscape:
-            return DXGI_MODE_ROTATION_ROTATE90;
-        case DisplayOrientations::Portrait:
-            return DXGI_MODE_ROTATION_IDENTITY;
-        case DisplayOrientations::LandscapeFlipped:
-            return DXGI_MODE_ROTATION_ROTATE270;
-        case DisplayOrientations::PortraitFlipped:
-            return DXGI_MODE_ROTATION_ROTATE180;
+    /* Windows Phone rotations */
+    case DisplayOrientations::Landscape:
+        return DXGI_MODE_ROTATION_ROTATE90;
+    case DisplayOrientations::Portrait:
+        return DXGI_MODE_ROTATION_IDENTITY;
+    case DisplayOrientations::LandscapeFlipped:
+        return DXGI_MODE_ROTATION_ROTATE270;
+    case DisplayOrientations::PortraitFlipped:
+        return DXGI_MODE_ROTATION_ROTATE180;
 #else
-        /* Non-Windows-Phone rotations (ex: Windows 8, Windows RT) */
-        case DisplayOrientations::Landscape:
-            return DXGI_MODE_ROTATION_IDENTITY;
-        case DisplayOrientations::Portrait:
-            return DXGI_MODE_ROTATION_ROTATE270;
-        case DisplayOrientations::LandscapeFlipped:
-            return DXGI_MODE_ROTATION_ROTATE180;
-        case DisplayOrientations::PortraitFlipped:
-            return DXGI_MODE_ROTATION_ROTATE90;
+    /* Non-Windows-Phone rotations (ex: Windows 8, Windows RT) */
+    case DisplayOrientations::Landscape:
+        return DXGI_MODE_ROTATION_IDENTITY;
+    case DisplayOrientations::Portrait:
+        return DXGI_MODE_ROTATION_ROTATE270;
+    case DisplayOrientations::LandscapeFlipped:
+        return DXGI_MODE_ROTATION_ROTATE180;
+    case DisplayOrientations::PortraitFlipped:
+        return DXGI_MODE_ROTATION_ROTATE90;
 #endif /* WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP */
-
-    default:
-        return DXGI_MODE_ROTATION_UNSPECIFIED;
     }
+#endif
+    return DXGI_MODE_ROTATION_IDENTITY;
 }
 
 

+ 0 - 0
src/render/direct3d11/SDL_render_d3d11_winrthelpers_cpp.h → src/render/direct3d11/SDL_render_winrt.h


+ 1 - 1
src/video/winrt/SDL_winrtevents.cpp

@@ -18,7 +18,7 @@
      misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 */
-#include "SDL_config.h"
+#include "../../SDL_internal.h"
 
 #if SDL_VIDEO_DRIVER_WINRT
 

+ 0 - 1
src/video/winrt/SDL_winrtmouse.cpp

@@ -18,7 +18,6 @@
      misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 */
-
 #include "../../SDL_internal.h"
 
 #if SDL_VIDEO_DRIVER_WINRT

+ 1 - 1
src/video/winrt/SDL_winrtopengles.cpp

@@ -18,7 +18,7 @@
      misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 */
-#include "SDL_config.h"
+#include "../../SDL_internal.h"
 
 // TODO: WinRT, make this file compile via C code
 

+ 1 - 1
src/video/winrt/SDL_winrtpointerinput.cpp

@@ -18,7 +18,7 @@
      misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
 */
-#include "SDL_config.h"
+#include "../../SDL_internal.h"
 
 #if SDL_VIDEO_DRIVER_WINRT