Added preliminary support for MiNT /dev/mouse driver (disabled atm)
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401424
This commit is contained in:
parent
9deda87010
commit
e32e1fa965
8 changed files with 256 additions and 10 deletions
|
@ -55,7 +55,7 @@ III. Enjoy! :)
|
||||||
IV. What is supported:
|
IV. What is supported:
|
||||||
|
|
||||||
Keyboard (GEMDOS, BIOS, GEM, Ikbd)
|
Keyboard (GEMDOS, BIOS, GEM, Ikbd)
|
||||||
Mouse (XBIOS, GEM, Ikbd)
|
Mouse (XBIOS, GEM, Ikbd, /dev/mouse (non working atm, disabled))
|
||||||
Video (XBIOS (Fullscreen), GEM (Windowed and Fullscreen))
|
Video (XBIOS (Fullscreen), GEM (Windowed and Fullscreen))
|
||||||
Timer (VBL vector, GNU pth library)
|
Timer (VBL vector, GNU pth library)
|
||||||
Joysticks and joypads (Ikbd, Hardware)
|
Joysticks and joypads (Ikbd, Hardware)
|
||||||
|
@ -88,6 +88,8 @@ OpenGL driver always uses OSMesa.
|
||||||
|
|
||||||
(1) GEM does not report relative mouse motion, so xbios mouse driver is used
|
(1) GEM does not report relative mouse motion, so xbios mouse driver is used
|
||||||
to report this type event. Under MiNT, using XBIOS mouse driver is not possible.
|
to report this type event. Under MiNT, using XBIOS mouse driver is not possible.
|
||||||
|
A preliminary driver for /dev/mouse device driver is present, but is disabled
|
||||||
|
till it can be used with other applications simultaneously.
|
||||||
|
|
||||||
(2) If you build SDL with threads using the GNU pth library, timers are
|
(2) If you build SDL with threads using the GNU pth library, timers are
|
||||||
supported via the pth library.
|
supported via the pth library.
|
||||||
|
@ -246,4 +248,4 @@ Audio drivers:
|
||||||
|
|
||||||
--
|
--
|
||||||
Patrice Mandin <pmandin@caramail.com>
|
Patrice Mandin <pmandin@caramail.com>
|
||||||
http://membres.lycos.fr/pmandin/
|
http://pmandin.atari.org/
|
||||||
|
|
159
src/video/ataricommon/SDL_ataridevmouse.c
Normal file
159
src/video/ataricommon/SDL_ataridevmouse.c
Normal file
|
@ -0,0 +1,159 @@
|
||||||
|
/*
|
||||||
|
SDL - Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2006 Sam Lantinga
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Sam Lantinga
|
||||||
|
slouken@libsdl.org
|
||||||
|
*/
|
||||||
|
#include "SDL_config.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
MiNT /dev/mouse driver
|
||||||
|
|
||||||
|
Patrice Mandin
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include "../../events/SDL_events_c.h"
|
||||||
|
#include "SDL_ataridevmouse_c.h"
|
||||||
|
|
||||||
|
/* Defines */
|
||||||
|
|
||||||
|
#define DEVICE_NAME "/dev/mouse"
|
||||||
|
|
||||||
|
/* Local variables */
|
||||||
|
|
||||||
|
static int handle = -1;
|
||||||
|
static int mouseb, prev_mouseb;
|
||||||
|
|
||||||
|
/* Functions */
|
||||||
|
|
||||||
|
int SDL_AtariDevMouse_Open(void)
|
||||||
|
{
|
||||||
|
int r;
|
||||||
|
const char *mousedev;
|
||||||
|
|
||||||
|
/*
|
||||||
|
TODO: Fix the MiNT device driver, that locks mouse for other
|
||||||
|
applications, so this is disabled till fixed
|
||||||
|
*/
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* First, try SDL_MOUSEDEV device */
|
||||||
|
mousedev = SDL_getenv("SDL_MOUSEDEV");
|
||||||
|
if (!mousedev) {
|
||||||
|
handle = open(mousedev, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Failed, try default device */
|
||||||
|
if (handle<0) {
|
||||||
|
handle = open(DEVICE_NAME, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (handle<0) {
|
||||||
|
handle = -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set non blocking mode */
|
||||||
|
r = fcntl(handle, F_GETFL, 0);
|
||||||
|
if (r<0) {
|
||||||
|
close(handle);
|
||||||
|
handle = -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
r |= O_NDELAY;
|
||||||
|
|
||||||
|
r = fcntl(handle, F_SETFL, r);
|
||||||
|
if (r<0) {
|
||||||
|
close(handle);
|
||||||
|
handle = -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
prev_mouseb = 7;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SDL_AtariDevMouse_Close(void)
|
||||||
|
{
|
||||||
|
if (handle>0) {
|
||||||
|
close(handle);
|
||||||
|
handle = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static int atari_GetButton(int button)
|
||||||
|
{
|
||||||
|
switch(button)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return SDL_BUTTON_RIGHT;
|
||||||
|
case 1:
|
||||||
|
return SDL_BUTTON_MIDDLE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return SDL_BUTTON_LEFT;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SDL_AtariDevMouse_PostMouseEvents(_THIS, SDL_bool buttonEvents)
|
||||||
|
{
|
||||||
|
unsigned char buffer[3];
|
||||||
|
int mousex, mousey;
|
||||||
|
|
||||||
|
if (handle<0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mousex = mousey = 0;
|
||||||
|
while (read(handle, buffer, sizeof(buffer))==sizeof(buffer)) {
|
||||||
|
mouseb = buffer[0] & 7;
|
||||||
|
mousex += (char) buffer[1];
|
||||||
|
mousey += (char) buffer[2];
|
||||||
|
|
||||||
|
/* Mouse button events */
|
||||||
|
if (buttonEvents && (mouseb != prev_mouseb)) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i=0;i<3;i++) {
|
||||||
|
int curbutton, prevbutton;
|
||||||
|
|
||||||
|
curbutton = mouseb & (1<<i);
|
||||||
|
prevbutton = prev_mouseb & (1<<i);
|
||||||
|
|
||||||
|
if (curbutton && !prevbutton) {
|
||||||
|
SDL_PrivateMouseButton(SDL_RELEASED, atari_GetButton(i), 0, 0);
|
||||||
|
}
|
||||||
|
if (!curbutton && prevbutton) {
|
||||||
|
SDL_PrivateMouseButton(SDL_PRESSED, atari_GetButton(i), 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
prev_mouseb = mouseb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mouse motion event */
|
||||||
|
if (mousex || mousey) {
|
||||||
|
SDL_PrivateMouseMotion(0, 1, mousex, -mousey);
|
||||||
|
}
|
||||||
|
}
|
42
src/video/ataricommon/SDL_ataridevmouse_c.h
Normal file
42
src/video/ataricommon/SDL_ataridevmouse_c.h
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
SDL - Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2006 Sam Lantinga
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Sam Lantinga
|
||||||
|
slouken@libsdl.org
|
||||||
|
*/
|
||||||
|
#include "SDL_config.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
MiNT /dev/mouse driver
|
||||||
|
|
||||||
|
Patrice Mandin
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SDL_ATARI_DEVMOUSE_H_
|
||||||
|
#define _SDL_ATARI_DEVMOUSE_H_
|
||||||
|
|
||||||
|
#include "../SDL_sysvideo.h"
|
||||||
|
|
||||||
|
/* Hidden "this" pointer for the video functions */
|
||||||
|
#define _THIS SDL_VideoDevice *this
|
||||||
|
|
||||||
|
extern int SDL_AtariDevMouse_Open(void);
|
||||||
|
extern void SDL_AtariDevMouse_Close(void);
|
||||||
|
extern void SDL_AtariDevMouse_PostMouseEvents(_THIS, SDL_bool buttonEvents);
|
||||||
|
|
||||||
|
#endif /* _SDL_ATARI_DEVMOUSE_H_ */
|
|
@ -37,6 +37,7 @@
|
||||||
#include "SDL_atarikeys.h"
|
#include "SDL_atarikeys.h"
|
||||||
#include "SDL_atarievents_c.h"
|
#include "SDL_atarievents_c.h"
|
||||||
#include "SDL_xbiosevents_c.h"
|
#include "SDL_xbiosevents_c.h"
|
||||||
|
#include "SDL_ataridevmouse_c.h"
|
||||||
|
|
||||||
/* To save state of keyboard */
|
/* To save state of keyboard */
|
||||||
#define ATARIBIOS_MAXKEYS 128
|
#define ATARIBIOS_MAXKEYS 128
|
||||||
|
@ -44,6 +45,7 @@
|
||||||
static unsigned char bios_currentkeyboard[ATARIBIOS_MAXKEYS];
|
static unsigned char bios_currentkeyboard[ATARIBIOS_MAXKEYS];
|
||||||
static unsigned char bios_previouskeyboard[ATARIBIOS_MAXKEYS];
|
static unsigned char bios_previouskeyboard[ATARIBIOS_MAXKEYS];
|
||||||
static unsigned char bios_currentascii[ATARIBIOS_MAXKEYS];
|
static unsigned char bios_currentascii[ATARIBIOS_MAXKEYS];
|
||||||
|
static SDL_bool use_dev_mouse = SDL_FALSE;
|
||||||
|
|
||||||
/* Special keys state */
|
/* Special keys state */
|
||||||
enum {
|
enum {
|
||||||
|
@ -101,7 +103,12 @@ void AtariBios_InitOSKeymap(_THIS)
|
||||||
keymap[SCANCODE_LEFTALT] = SDLK_LALT;
|
keymap[SCANCODE_LEFTALT] = SDLK_LALT;
|
||||||
keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
|
keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
|
||||||
|
|
||||||
vectors_mask = ATARI_XBIOS_MOUSEEVENTS|ATARI_XBIOS_JOYSTICKEVENTS;
|
use_dev_mouse = (SDL_AtariDevMouse_Open()!=0) ? SDL_TRUE : SDL_FALSE;
|
||||||
|
|
||||||
|
vectors_mask = ATARI_XBIOS_JOYSTICKEVENTS; /* XBIOS joystick events */
|
||||||
|
if (!use_dev_mouse) {
|
||||||
|
vectors_mask |= ATARI_XBIOS_MOUSEEVENTS; /* XBIOS mouse events */
|
||||||
|
}
|
||||||
if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
|
if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
|
||||||
vectors_mask = 0;
|
vectors_mask = 0;
|
||||||
}
|
}
|
||||||
|
@ -146,7 +153,11 @@ void AtariBios_PumpEvents(_THIS)
|
||||||
TranslateKey(i, bios_currentascii[i], &keysym, SDL_FALSE));
|
TranslateKey(i, bios_currentascii[i], &keysym, SDL_FALSE));
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE);
|
if (use_dev_mouse) {
|
||||||
|
SDL_AtariDevMouse_PostMouseEvents(this, SDL_TRUE);
|
||||||
|
} else {
|
||||||
|
SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
/* Will be previous table */
|
/* Will be previous table */
|
||||||
SDL_memcpy(bios_previouskeyboard, bios_currentkeyboard, ATARIBIOS_MAXKEYS);
|
SDL_memcpy(bios_previouskeyboard, bios_currentkeyboard, ATARIBIOS_MAXKEYS);
|
||||||
|
@ -192,4 +203,7 @@ static SDL_keysym *TranslateKey(int scancode, int asciicode, SDL_keysym *keysym,
|
||||||
void AtariBios_ShutdownEvents(void)
|
void AtariBios_ShutdownEvents(void)
|
||||||
{
|
{
|
||||||
SDL_AtariXbios_RestoreVectors();
|
SDL_AtariXbios_RestoreVectors();
|
||||||
|
if (use_dev_mouse) {
|
||||||
|
SDL_AtariDevMouse_Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "SDL_atarikeys.h"
|
#include "SDL_atarikeys.h"
|
||||||
#include "SDL_atarievents_c.h"
|
#include "SDL_atarievents_c.h"
|
||||||
#include "SDL_xbiosevents_c.h"
|
#include "SDL_xbiosevents_c.h"
|
||||||
|
#include "SDL_ataridevmouse_c.h"
|
||||||
|
|
||||||
/* To save state of keyboard */
|
/* To save state of keyboard */
|
||||||
#define ATARIBIOS_MAXKEYS 128
|
#define ATARIBIOS_MAXKEYS 128
|
||||||
|
@ -44,6 +45,7 @@
|
||||||
static unsigned char gemdos_currentkeyboard[ATARIBIOS_MAXKEYS];
|
static unsigned char gemdos_currentkeyboard[ATARIBIOS_MAXKEYS];
|
||||||
static unsigned char gemdos_previouskeyboard[ATARIBIOS_MAXKEYS];
|
static unsigned char gemdos_previouskeyboard[ATARIBIOS_MAXKEYS];
|
||||||
static unsigned char gemdos_currentascii[ATARIBIOS_MAXKEYS];
|
static unsigned char gemdos_currentascii[ATARIBIOS_MAXKEYS];
|
||||||
|
static SDL_bool use_dev_mouse = SDL_FALSE;
|
||||||
|
|
||||||
/* Special keys state */
|
/* Special keys state */
|
||||||
enum {
|
enum {
|
||||||
|
@ -106,11 +108,15 @@ void AtariGemdos_InitOSKeymap(_THIS)
|
||||||
keymap[SCANCODE_LEFTALT] = SDLK_LALT;
|
keymap[SCANCODE_LEFTALT] = SDLK_LALT;
|
||||||
keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
|
keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
|
||||||
|
|
||||||
vectors_mask = ATARI_XBIOS_MOUSEEVENTS|ATARI_XBIOS_JOYSTICKEVENTS;
|
use_dev_mouse = (SDL_AtariDevMouse_Open()!=0) ? SDL_TRUE : SDL_FALSE;
|
||||||
|
|
||||||
|
vectors_mask = ATARI_XBIOS_JOYSTICKEVENTS; /* XBIOS joystick events */
|
||||||
|
if (!use_dev_mouse) {
|
||||||
|
vectors_mask |= ATARI_XBIOS_MOUSEEVENTS; /* XBIOS mouse events */
|
||||||
|
}
|
||||||
if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
|
if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
|
||||||
vectors_mask = 0;
|
vectors_mask = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_AtariXbios_InstallVectors(vectors_mask);
|
SDL_AtariXbios_InstallVectors(vectors_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,7 +157,11 @@ void AtariGemdos_PumpEvents(_THIS)
|
||||||
TranslateKey(i, gemdos_currentascii[i], &keysym, SDL_FALSE));
|
TranslateKey(i, gemdos_currentascii[i], &keysym, SDL_FALSE));
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE);
|
if (use_dev_mouse) {
|
||||||
|
SDL_AtariDevMouse_PostMouseEvents(this, SDL_TRUE);
|
||||||
|
} else {
|
||||||
|
SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
/* Will be previous table */
|
/* Will be previous table */
|
||||||
SDL_memcpy(gemdos_previouskeyboard, gemdos_currentkeyboard, ATARIBIOS_MAXKEYS);
|
SDL_memcpy(gemdos_previouskeyboard, gemdos_currentkeyboard, ATARIBIOS_MAXKEYS);
|
||||||
|
@ -197,4 +207,7 @@ static SDL_keysym *TranslateKey(int scancode, int asciicode, SDL_keysym *keysym,
|
||||||
void AtariGemdos_ShutdownEvents(void)
|
void AtariGemdos_ShutdownEvents(void)
|
||||||
{
|
{
|
||||||
SDL_AtariXbios_RestoreVectors();
|
SDL_AtariXbios_RestoreVectors();
|
||||||
|
if (use_dev_mouse) {
|
||||||
|
SDL_AtariDevMouse_Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "../ataricommon/SDL_atarikeys.h" /* for keyboard scancodes */
|
#include "../ataricommon/SDL_atarikeys.h" /* for keyboard scancodes */
|
||||||
#include "../ataricommon/SDL_atarievents_c.h"
|
#include "../ataricommon/SDL_atarievents_c.h"
|
||||||
#include "../ataricommon/SDL_xbiosevents_c.h"
|
#include "../ataricommon/SDL_xbiosevents_c.h"
|
||||||
|
#include "../ataricommon/SDL_ataridevmouse_c.h"
|
||||||
|
|
||||||
/* Defines */
|
/* Defines */
|
||||||
|
|
||||||
|
@ -376,7 +377,11 @@ static void do_mouse(_THIS, short mx, short my, short mb, short ks)
|
||||||
|
|
||||||
/* Mouse motion ? */
|
/* Mouse motion ? */
|
||||||
if (GEM_mouse_relative) {
|
if (GEM_mouse_relative) {
|
||||||
SDL_AtariXbios_PostMouseEvents(this, SDL_FALSE);
|
if (GEM_usedevmouse) {
|
||||||
|
SDL_AtariDevMouse_PostMouseEvents(this, SDL_FALSE);
|
||||||
|
} else {
|
||||||
|
SDL_AtariXbios_PostMouseEvents(this, SDL_FALSE);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((prevmousex!=mx) || (prevmousey!=my)) {
|
if ((prevmousex!=mx) || (prevmousey!=my)) {
|
||||||
int posx, posy;
|
int posx, posy;
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
#include "SDL_gemmouse_c.h"
|
#include "SDL_gemmouse_c.h"
|
||||||
#include "SDL_gemwm_c.h"
|
#include "SDL_gemwm_c.h"
|
||||||
#include "../ataricommon/SDL_xbiosevents_c.h"
|
#include "../ataricommon/SDL_xbiosevents_c.h"
|
||||||
|
#include "../ataricommon/SDL_ataridevmouse_c.h"
|
||||||
|
|
||||||
/* Defines */
|
/* Defines */
|
||||||
|
|
||||||
|
@ -189,8 +190,13 @@ static SDL_VideoDevice *GEM_CreateDevice(int devindex)
|
||||||
device->GL_SwapBuffers = GEM_GL_SwapBuffers;
|
device->GL_SwapBuffers = GEM_GL_SwapBuffers;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Joystick + Mouse relative motion */
|
device->hidden->use_dev_mouse =
|
||||||
vectors_mask = ATARI_XBIOS_MOUSEEVENTS|ATARI_XBIOS_JOYSTICKEVENTS;
|
(SDL_AtariDevMouse_Open()!=0) ? SDL_TRUE : SDL_FALSE;
|
||||||
|
|
||||||
|
vectors_mask = ATARI_XBIOS_JOYSTICKEVENTS; /* XBIOS joystick events */
|
||||||
|
if (!(device->hidden->use_dev_mouse)) {
|
||||||
|
vectors_mask |= ATARI_XBIOS_MOUSEEVENTS; /* XBIOS mouse events */
|
||||||
|
}
|
||||||
if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
|
if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
|
||||||
vectors_mask = 0;
|
vectors_mask = 0;
|
||||||
}
|
}
|
||||||
|
@ -1094,6 +1100,9 @@ static int GEM_ToggleFullScreen(_THIS, int on)
|
||||||
void GEM_VideoQuit(_THIS)
|
void GEM_VideoQuit(_THIS)
|
||||||
{
|
{
|
||||||
SDL_AtariXbios_RestoreVectors();
|
SDL_AtariXbios_RestoreVectors();
|
||||||
|
if (GEM_usedevmouse) {
|
||||||
|
SDL_AtariDevMouse_Close();
|
||||||
|
}
|
||||||
|
|
||||||
GEM_FreeBuffers(this);
|
GEM_FreeBuffers(this);
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,7 @@ struct SDL_PrivateVideoData {
|
||||||
SDL_bool lock_redraw; /* Prevent redraw till buffers are setup */
|
SDL_bool lock_redraw; /* Prevent redraw till buffers are setup */
|
||||||
short message[8]; /* To self-send an AES message */
|
short message[8]; /* To self-send an AES message */
|
||||||
void *menubar; /* Menu bar save buffer when going fullscreen */
|
void *menubar; /* Menu bar save buffer when going fullscreen */
|
||||||
|
SDL_bool use_dev_mouse; /* Use /dev/mouse ? */
|
||||||
|
|
||||||
SDL_bool fullscreen; /* Fullscreen or windowed mode ? */
|
SDL_bool fullscreen; /* Fullscreen or windowed mode ? */
|
||||||
SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; /* Mode list */
|
SDL_Rect *SDL_modelist[SDL_NUMMODES+1]; /* Mode list */
|
||||||
|
@ -129,6 +130,7 @@ struct SDL_PrivateVideoData {
|
||||||
#define GEM_icon (this->hidden->icon)
|
#define GEM_icon (this->hidden->icon)
|
||||||
#define GEM_fullscreen (this->hidden->fullscreen)
|
#define GEM_fullscreen (this->hidden->fullscreen)
|
||||||
#define GEM_menubar (this->hidden->menubar)
|
#define GEM_menubar (this->hidden->menubar)
|
||||||
|
#define GEM_usedevmouse (this->hidden->use_dev_mouse)
|
||||||
|
|
||||||
#define GEM_buffer1 (this->hidden->buffer1)
|
#define GEM_buffer1 (this->hidden->buffer1)
|
||||||
#define GEM_buffer2 (this->hidden->buffer2)
|
#define GEM_buffer2 (this->hidden->buffer2)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue