#include "SDL_internal.h"
#ifdef SDL_VIDEO_DRIVER_RISCOS
#include "SDL_riscosvideo.h"
#include "SDL_riscosmouse.h"
#include "../../events/SDL_mouse_c.h"
#include <kernel.h>
static SDL_Cursor *RISCOS_CreateDefaultCursor(void)
{
SDL_Cursor *cursor = SDL_calloc(1, sizeof(*cursor));
if (cursor) {
cursor->internal = NULL;
}
return cursor;
}
static void RISCOS_FreeCursor(SDL_Cursor *cursor)
{
SDL_free(cursor);
}
static bool RISCOS_ShowCursor(SDL_Cursor *cursor)
{
if (cursor) {
_kernel_osbyte(106, 1, 0);
} else {
_kernel_osbyte(106, 0, 0);
}
return true;
}
bool RISCOS_InitMouse(SDL_VideoDevice *_this)
{
SDL_Mouse *mouse = SDL_GetMouse();
mouse->ShowCursor = RISCOS_ShowCursor;
mouse->FreeCursor = RISCOS_FreeCursor;
SDL_SetDefaultCursor(RISCOS_CreateDefaultCursor());
return true;
}
#endif