2005-07-24 14:12:37 +00:00
|
|
|
/* $Id$ */
|
|
|
|
|
2009-08-21 20:21:05 +00:00
|
|
|
/*
|
|
|
|
* This file is part of OpenTTD.
|
|
|
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
|
|
|
* OpenTTD 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 General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2008-05-06 15:11:33 +00:00
|
|
|
/** @file sdl.h SDL support. */
|
2007-04-04 01:35:16 +00:00
|
|
|
|
2005-07-23 15:16:57 +00:00
|
|
|
#ifndef SDL_H
|
|
|
|
#define SDL_H
|
|
|
|
|
2009-01-10 00:31:47 +00:00
|
|
|
const char *SdlOpen(uint32 x);
|
2005-07-23 15:16:57 +00:00
|
|
|
void SdlClose(uint32 x);
|
|
|
|
|
|
|
|
#ifdef WIN32
|
|
|
|
#define DYNAMICALLY_LOADED_SDL
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef DYNAMICALLY_LOADED_SDL
|
2010-01-15 17:59:09 +00:00
|
|
|
#include <SDL.h>
|
2005-07-23 15:16:57 +00:00
|
|
|
|
2007-03-07 12:11:48 +00:00
|
|
|
struct SDLProcs {
|
2005-07-23 15:16:57 +00:00
|
|
|
int (SDLCALL *SDL_Init)(Uint32);
|
|
|
|
int (SDLCALL *SDL_InitSubSystem)(Uint32);
|
2007-03-07 11:47:46 +00:00
|
|
|
char *(SDLCALL *SDL_GetError)();
|
2005-07-23 15:16:57 +00:00
|
|
|
void (SDLCALL *SDL_QuitSubSystem)(Uint32);
|
|
|
|
void (SDLCALL *SDL_UpdateRect)(SDL_Surface *, Sint32, Sint32, Uint32, Uint32);
|
|
|
|
void (SDLCALL *SDL_UpdateRects)(SDL_Surface *, int, SDL_Rect *);
|
|
|
|
int (SDLCALL *SDL_SetColors)(SDL_Surface *, SDL_Color *, int, int);
|
|
|
|
void (SDLCALL *SDL_WM_SetCaption)(const char *, const char *);
|
|
|
|
int (SDLCALL *SDL_ShowCursor)(int);
|
|
|
|
void (SDLCALL *SDL_FreeSurface)(SDL_Surface *);
|
|
|
|
int (SDLCALL *SDL_PollEvent)(SDL_Event *);
|
|
|
|
void (SDLCALL *SDL_WarpMouse)(Uint16, Uint16);
|
2007-03-07 11:47:46 +00:00
|
|
|
uint32 (SDLCALL *SDL_GetTicks)();
|
2005-07-23 15:16:57 +00:00
|
|
|
int (SDLCALL *SDL_OpenAudio)(SDL_AudioSpec *, SDL_AudioSpec*);
|
|
|
|
void (SDLCALL *SDL_PauseAudio)(int);
|
2007-03-07 11:47:46 +00:00
|
|
|
void (SDLCALL *SDL_CloseAudio)();
|
2005-07-23 15:16:57 +00:00
|
|
|
int (SDLCALL *SDL_LockSurface)(SDL_Surface*);
|
|
|
|
void (SDLCALL *SDL_UnlockSurface)(SDL_Surface*);
|
2007-03-07 11:47:46 +00:00
|
|
|
SDLMod (SDLCALL *SDL_GetModState)();
|
2005-07-23 15:16:57 +00:00
|
|
|
void (SDLCALL *SDL_Delay)(Uint32);
|
2007-03-07 11:47:46 +00:00
|
|
|
void (SDLCALL *SDL_Quit)();
|
2005-07-23 15:16:57 +00:00
|
|
|
SDL_Surface *(SDLCALL *SDL_SetVideoMode)(int, int, int, Uint32);
|
|
|
|
int (SDLCALL *SDL_EnableKeyRepeat)(int, int);
|
|
|
|
void (SDLCALL *SDL_EnableUNICODE)(int);
|
|
|
|
void (SDLCALL *SDL_VideoDriverName)(char *, int);
|
|
|
|
SDL_Rect **(SDLCALL *SDL_ListModes)(void *, int);
|
|
|
|
Uint8 *(SDLCALL *SDL_GetKeyState)(int *);
|
2006-08-13 08:18:11 +00:00
|
|
|
SDL_Surface *(SDLCALL *SDL_LoadBMP_RW)(SDL_RWops *, int);
|
|
|
|
SDL_RWops *(SDLCALL *SDL_RWFromFile)(const char *, const char *);
|
|
|
|
int (SDLCALL *SDL_SetColorKey)(SDL_Surface *, Uint32, Uint32);
|
|
|
|
void (SDLCALL *SDL_WM_SetIcon)(SDL_Surface *, Uint8 *);
|
|
|
|
Uint32 (SDLCALL *SDL_MapRGB)(SDL_PixelFormat *, Uint8, Uint8, Uint8);
|
2009-01-23 17:32:01 +00:00
|
|
|
int (SDLCALL *SDL_VideoModeOK)(int, int, int, Uint32);
|
2009-10-14 08:20:42 +00:00
|
|
|
SDL_version *(SDLCALL *SDL_Linked_Version)();
|
2007-03-07 12:11:48 +00:00
|
|
|
};
|
2005-07-23 15:16:57 +00:00
|
|
|
|
|
|
|
extern SDLProcs sdl_proc;
|
|
|
|
|
|
|
|
#define SDL_CALL sdl_proc.
|
|
|
|
#else
|
|
|
|
#define SDL_CALL
|
|
|
|
#endif
|
|
|
|
|
2005-09-18 20:56:44 +00:00
|
|
|
#endif /* SDL_H */
|