riscos: Add a basic implementation of SDL_ShowCursor()
parent
4c711d2d43
commit
6eda520f64
|
@ -23,6 +23,7 @@
|
||||||
#if SDL_VIDEO_DRIVER_RISCOS
|
#if SDL_VIDEO_DRIVER_RISCOS
|
||||||
|
|
||||||
#include "../SDL_sysvideo.h"
|
#include "../SDL_sysvideo.h"
|
||||||
|
#include "../../events/SDL_mouse_c.h"
|
||||||
|
|
||||||
#include "SDL_riscosvideo.h"
|
#include "SDL_riscosvideo.h"
|
||||||
#include "SDL_riscosmodes.h"
|
#include "SDL_riscosmodes.h"
|
||||||
|
@ -304,8 +305,8 @@ RISCOS_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode)
|
||||||
_kernel_oswrch(disable_cursor[i]);
|
_kernel_oswrch(disable_cursor[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Turn the mouse pointer on */
|
/* Update cursor visibility, since it may have been disabled by the mode change. */
|
||||||
/* _kernel_osbyte(106, 1, 0); */
|
SDL_SetCursor(NULL);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2022 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_internal.h"
|
||||||
|
|
||||||
|
#if SDL_VIDEO_DRIVER_RISCOS
|
||||||
|
|
||||||
|
#include "../../events/SDL_mouse_c.h"
|
||||||
|
|
||||||
|
#include <kernel.h>
|
||||||
|
|
||||||
|
|
||||||
|
static SDL_Cursor *
|
||||||
|
RISCOS_CreateDefaultCursor()
|
||||||
|
{
|
||||||
|
SDL_Cursor *cursor;
|
||||||
|
|
||||||
|
cursor = SDL_calloc(1, sizeof(*cursor));
|
||||||
|
if (cursor) {
|
||||||
|
/* NULL is used to indicate the default cursor */
|
||||||
|
cursor->driverdata = NULL;
|
||||||
|
} else {
|
||||||
|
SDL_OutOfMemory();
|
||||||
|
}
|
||||||
|
|
||||||
|
return cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
RISCOS_FreeCursor(SDL_Cursor * cursor)
|
||||||
|
{
|
||||||
|
SDL_free(cursor);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
RISCOS_ShowCursor(SDL_Cursor * cursor)
|
||||||
|
{
|
||||||
|
if (cursor) {
|
||||||
|
/* Turn the mouse pointer on */
|
||||||
|
_kernel_osbyte(106, 1, 0);
|
||||||
|
} else {
|
||||||
|
/* Turn the mouse pointer off */
|
||||||
|
_kernel_osbyte(106, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
RISCOS_InitMouse(_THIS)
|
||||||
|
{
|
||||||
|
SDL_Mouse *mouse = SDL_GetMouse();
|
||||||
|
|
||||||
|
/* mouse->CreateCursor = RISCOS_CreateCursor; */
|
||||||
|
/* mouse->CreateSystemCursor = RISCOS_CreateSystemCursor; */
|
||||||
|
mouse->ShowCursor = RISCOS_ShowCursor;
|
||||||
|
mouse->FreeCursor = RISCOS_FreeCursor;
|
||||||
|
/* mouse->WarpMouse = RISCOS_WarpMouse; */
|
||||||
|
/* mouse->WarpMouseGlobal = RISCOS_WarpMouseGlobal; */
|
||||||
|
/* mouse->SetRelativeMouseMode = RISCOS_SetRelativeMouseMode; */
|
||||||
|
/* mouse->CaptureMouse = RISCOS_CaptureMouse; */
|
||||||
|
/* mouse->GetGlobalMouseState = RISCOS_GetGlobalMouseState; */
|
||||||
|
|
||||||
|
SDL_SetDefaultCursor(RISCOS_CreateDefaultCursor());
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SDL_VIDEO_DRIVER_RISCOS */
|
||||||
|
|
||||||
|
/* vi: set ts=4 sw=4 expandtab: */
|
|
@ -0,0 +1,30 @@
|
||||||
|
/*
|
||||||
|
Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2022 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_internal.h"
|
||||||
|
|
||||||
|
#ifndef SDL_riscosmouse_h_
|
||||||
|
#define SDL_riscosmouse_h_
|
||||||
|
|
||||||
|
extern int RISCOS_InitMouse(_THIS);
|
||||||
|
|
||||||
|
#endif /* SDL_riscosmouse_h_ */
|
||||||
|
|
||||||
|
/* vi: set ts=4 sw=4 expandtab: */
|
|
@ -31,6 +31,7 @@
|
||||||
#include "SDL_riscosvideo.h"
|
#include "SDL_riscosvideo.h"
|
||||||
#include "SDL_riscosevents_c.h"
|
#include "SDL_riscosevents_c.h"
|
||||||
#include "SDL_riscosframebuffer_c.h"
|
#include "SDL_riscosframebuffer_c.h"
|
||||||
|
#include "SDL_riscosmouse.h"
|
||||||
#include "SDL_riscosmodes.h"
|
#include "SDL_riscosmodes.h"
|
||||||
#include "SDL_riscoswindow.h"
|
#include "SDL_riscoswindow.h"
|
||||||
|
|
||||||
|
@ -105,6 +106,10 @@ RISCOS_VideoInit(_THIS)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (RISCOS_InitMouse(_this) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (RISCOS_InitModes(_this) < 0) {
|
if (RISCOS_InitModes(_this) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue