riscos: Implement SDL_OpenURL()
parent
34a82fca49
commit
59022829f4
|
@ -1918,6 +1918,10 @@ elseif(HAIKU)
|
||||||
CheckPTHREAD()
|
CheckPTHREAD()
|
||||||
|
|
||||||
elseif(RISCOS)
|
elseif(RISCOS)
|
||||||
|
file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/riscos/*.c)
|
||||||
|
set(SOURCE_FILES ${SOURCE_FILES} ${MISC_SOURCES})
|
||||||
|
set(HAVE_SDL_MISC TRUE)
|
||||||
|
|
||||||
if(SDL_TIMERS)
|
if(SDL_TIMERS)
|
||||||
set(SDL_TIMER_UNIX 1)
|
set(SDL_TIMER_UNIX 1)
|
||||||
file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
|
file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
|
||||||
|
|
|
@ -25486,6 +25486,9 @@ $as_echo "#define SDL_TIMER_UNIX 1" >>confdefs.h
|
||||||
CheckPTHREAD
|
CheckPTHREAD
|
||||||
CheckClockGettime
|
CheckClockGettime
|
||||||
|
|
||||||
|
SOURCES="$SOURCES $srcdir/src/misc/riscos/*.c"
|
||||||
|
have_misc=yes
|
||||||
|
|
||||||
# Set up files for the timer library
|
# Set up files for the timer library
|
||||||
if test x$enable_timers = xyes; then
|
if test x$enable_timers = xyes; then
|
||||||
|
|
||||||
|
|
|
@ -4154,6 +4154,9 @@ AS_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
|
||||||
CheckPTHREAD
|
CheckPTHREAD
|
||||||
CheckClockGettime
|
CheckClockGettime
|
||||||
|
|
||||||
|
SOURCES="$SOURCES $srcdir/src/misc/riscos/*.c"
|
||||||
|
have_misc=yes
|
||||||
|
|
||||||
# Set up files for the timer library
|
# Set up files for the timer library
|
||||||
if test x$enable_timers = xyes; then
|
if test x$enable_timers = xyes; then
|
||||||
AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
|
AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
|
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 "../SDL_sysurl.h"
|
||||||
|
|
||||||
|
#include <kernel.h>
|
||||||
|
#include <swis.h>
|
||||||
|
|
||||||
|
#ifndef URI_Dispatch
|
||||||
|
#define URI_Dispatch 0x4e381
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
SDL_SYS_OpenURL(const char *url)
|
||||||
|
{
|
||||||
|
_kernel_swi_regs regs;
|
||||||
|
_kernel_oserror *error;
|
||||||
|
|
||||||
|
regs.r[0] = 0;
|
||||||
|
regs.r[1] = (int)url;
|
||||||
|
regs.r[2] = 0;
|
||||||
|
error = _kernel_swi(URI_Dispatch, ®s, ®s);
|
||||||
|
if (error) {
|
||||||
|
return SDL_SetError("Couldn't open given URL: %s", error->errmess);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (regs.r[0] & 1) ? SDL_SetError("Couldn't open given URL.") : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
|
Loading…
Reference in New Issue