mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-20 22:16:49 +01:00
riscos: Implement SDL_OpenURL()
This commit is contained in:
parent
34a82fca49
commit
59022829f4
@ -1918,6 +1918,10 @@ elseif(HAIKU)
|
||||
CheckPTHREAD()
|
||||
|
||||
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)
|
||||
set(SDL_TIMER_UNIX 1)
|
||||
file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c)
|
||||
|
3
configure
vendored
3
configure
vendored
@ -25486,6 +25486,9 @@ $as_echo "#define SDL_TIMER_UNIX 1" >>confdefs.h
|
||||
CheckPTHREAD
|
||||
CheckClockGettime
|
||||
|
||||
SOURCES="$SOURCES $srcdir/src/misc/riscos/*.c"
|
||||
have_misc=yes
|
||||
|
||||
# Set up files for the timer library
|
||||
if test x$enable_timers = xyes; then
|
||||
|
||||
|
@ -4154,6 +4154,9 @@ AS_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
|
||||
CheckPTHREAD
|
||||
CheckClockGettime
|
||||
|
||||
SOURCES="$SOURCES $srcdir/src/misc/riscos/*.c"
|
||||
have_misc=yes
|
||||
|
||||
# Set up files for the timer library
|
||||
if test x$enable_timers = xyes; then
|
||||
AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
|
||||
|
49
src/misc/riscos/SDL_sysurl.c
Normal file
49
src/misc/riscos/SDL_sysurl.c
Normal file
@ -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
Block a user