From 57e3003d3f68d6cf0036711c8d7a3b8ad4929adb Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 5 Oct 2020 15:47:47 -0400 Subject: [PATCH] url: Attempt at WinRT support. --- VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj | 2 +- .../WinPhone81_VS2013/SDL-WinPhone81.vcxproj | 2 +- .../WinRT81_VS2013/SDL-WinRT81.vcxproj | 2 +- src/misc/winrt/SDL_sysurl.cpp | 43 +++++++++++++++++++ 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 src/misc/winrt/SDL_sysurl.cpp diff --git a/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj b/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj index 45fcbe87f..9d42249f8 100644 --- a/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj +++ b/VisualC-WinRT/UWP_VS2015/SDL-UWP.vcxproj @@ -255,7 +255,7 @@ - + diff --git a/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj b/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj index 93ab029b2..1195974b5 100644 --- a/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj +++ b/VisualC-WinRT/WinPhone81_VS2013/SDL-WinPhone81.vcxproj @@ -251,7 +251,7 @@ - + diff --git a/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj b/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj index f343a0aba..d11ab3a0d 100644 --- a/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj +++ b/VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj @@ -283,7 +283,7 @@ - + diff --git a/src/misc/winrt/SDL_sysurl.cpp b/src/misc/winrt/SDL_sysurl.cpp new file mode 100644 index 000000000..a2c0fc633 --- /dev/null +++ b/src/misc/winrt/SDL_sysurl.cpp @@ -0,0 +1,43 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2020 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +#include + +#include "../SDL_sysurl.h" + +int +SDL_SYS_OpenURL(const char *url) +{ + auto uri = ref new Windows::Foundation::Uri(url); + concurrency::task launchUriOperation(Windows::System::Launcher::LaunchUriAsync(uri)); + int retval = -1; + launchUriOperation.then([](bool success) { + if (success) { + retval = 0; + } else { + retval = SDL_SetError("URL failed to launch"); + } + }); + return retval; +} + +/* vi: set ts=4 sw=4 expandtab: */ +