Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
365 lines (320 loc) · 12.6 KB

SDL_compat.h

File metadata and controls

365 lines (320 loc) · 12.6 KB
 
Apr 8, 2011
Apr 8, 2011
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Simple DirectMedia Layer
Copyright (C) 1997-2011 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.
Oct 19, 2009
Oct 19, 2009
22
23
24
25
/**
* \defgroup Compatibility SDL 1.2 Compatibility API
*/
/*@{*/
Oct 19, 2009
Oct 19, 2009
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/**
* \file SDL_compat.h
*
* This file contains functions for backwards compatibility with SDL 1.2.
*/
/**
* \def SDL_NO_COMPAT
*
* #define SDL_NO_COMPAT to prevent SDL_compat.h from being included.
* SDL_NO_COMPAT is intended to make it easier to covert SDL 1.2 code to
* SDL 1.3/2.0.
*/
/*@}*/
Jun 4, 2009
Jun 4, 2009
42
43
44
45
46
#ifdef SDL_NO_COMPAT
#define _SDL_compat_h
#endif
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef _SDL_compat_h
#define _SDL_compat_h
#include "SDL_video.h"
#include "SDL_version.h"
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
/* *INDENT-OFF* */
extern "C" {
/* *INDENT-ON* */
#endif
Oct 19, 2009
Oct 19, 2009
61
62
63
64
65
/**
* \addtogroup Compatibility
*/
/*@{*/
Jan 21, 2011
Jan 21, 2011
66
/* Platform */
Jan 24, 2011
Jan 24, 2011
67
#ifdef __WIN32__
Jan 21, 2011
Jan 21, 2011
68
69
70
71
#undef __WIN32__
#define __WIN32__ 1
#endif
Oct 19, 2009
Oct 19, 2009
72
73
74
75
76
/**
* \name Surface flags
*/
/*@{*/
#define SDL_SWSURFACE 0x00000000 /**< \note Not used */
Aug 18, 2007
Aug 18, 2007
77
78
#define SDL_SRCALPHA 0x00010000
#define SDL_SRCCOLORKEY 0x00020000
79
80
81
82
83
84
85
#define SDL_ANYFORMAT 0x00100000
#define SDL_HWPALETTE 0x00200000
#define SDL_DOUBLEBUF 0x00400000
#define SDL_FULLSCREEN 0x00800000
#define SDL_RESIZABLE 0x01000000
#define SDL_NOFRAME 0x02000000
#define SDL_OPENGL 0x04000000
Oct 19, 2009
Oct 19, 2009
86
87
88
89
90
#define SDL_HWSURFACE 0x08000001 /**< \note Not used */
#define SDL_ASYNCBLIT 0x08000000 /**< \note Not used */
#define SDL_RLEACCELOK 0x08000000 /**< \note Not used */
#define SDL_HWACCEL 0x08000000 /**< \note Not used */
/*@}*//*Surface flags*/
91
92
93
94
95
96
97
98
#define SDL_APPMOUSEFOCUS 0x01
#define SDL_APPINPUTFOCUS 0x02
#define SDL_APPACTIVE 0x04
#define SDL_LOGPAL 0x01
#define SDL_PHYSPAL 0x02
Mar 25, 2010
Mar 25, 2010
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#define SDL_ACTIVEEVENT SDL_EVENT_COMPAT1
#define SDL_VIDEORESIZE SDL_EVENT_COMPAT2
#define SDL_VIDEOEXPOSE SDL_EVENT_COMPAT3
#define SDL_ACTIVEEVENTMASK SDL_ACTIVEEVENT, SDL_ACTIVEEVENT
#define SDL_VIDEORESIZEMASK SDL_VIDEORESIZE, SDL_VIDEORESIZE
#define SDL_VIDEOEXPOSEMASK SDL_VIDEOEXPOSE, SDL_VIDEOEXPOSE
#define SDL_WINDOWEVENTMASK SDL_WINDOWEVENT, SDL_WINDOWEVENT
#define SDL_KEYDOWNMASK SDL_KEYDOWN, SDL_KEYDOWN
#define SDL_KEYUPMASK SDL_KEYUP, SDL_KEYUP
#define SDL_KEYEVENTMASK SDL_KEYDOWN, SDL_KEYUP
#define SDL_TEXTEDITINGMASK SDL_TEXTEDITING, SDL_TEXTEDITING
#define SDL_TEXTINPUTMASK SDL_TEXTINPUT, SDL_TEXTINPUT
#define SDL_MOUSEMOTIONMASK SDL_MOUSEMOTION, SDL_MOUSEMOTION
#define SDL_MOUSEBUTTONDOWNMASK SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONDOWN
#define SDL_MOUSEBUTTONUPMASK SDL_MOUSEBUTTONUP, SDL_MOUSEBUTTONUP
#define SDL_MOUSEWHEELMASK SDL_MOUSEWHEEL, SDL_MOUSEWHEEL
#define SDL_MOUSEEVENTMASK SDL_MOUSEMOTION, SDL_MOUSEBUTTONUP
#define SDL_JOYAXISMOTIONMASK SDL_JOYAXISMOTION, SDL_JOYAXISMOTION
#define SDL_JOYBALLMOTIONMASK SDL_JOYBALLMOTION, SDL_JOYBALLMOTION
#define SDL_JOYHATMOTIONMASK SDL_JOYHATMOTION, SDL_JOYHATMOTION
#define SDL_JOYBUTTONDOWNMASK SDL_JOYBUTTONDOWN, SDL_JOYBUTTONDOWN
#define SDL_JOYBUTTONUPMASK SDL_JOYBUTTONUP, SDL_JOYBUTTONUP
#define SDL_JOYEVENTMASK SDL_JOYAXISMOTION, SDL_JOYBUTTONUP
#define SDL_QUITMASK SDL_QUIT, SDL_QUIT
#define SDL_SYSWMEVENTMASK SDL_SYSWMEVENT, SDL_SYSWMEVENT
#define SDL_PROXIMITYINMASK SDL_PROXIMITYIN, SDL_PROXIMITYIN
#define SDL_PROXIMITYOUTMASK SDL_PROXIMITYOUT, SDL_PROXIMITYOUT
#define SDL_ALLEVENTS SDL_FIRSTEVENT, SDL_LASTEVENT
127
128
129
130
#define SDL_BUTTON_WHEELUP 4
#define SDL_BUTTON_WHEELDOWN 5
Jun 16, 2007
Jun 16, 2007
131
132
133
#define SDL_DEFAULT_REPEAT_DELAY 500
#define SDL_DEFAULT_REPEAT_INTERVAL 30
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
typedef struct SDL_VideoInfo
{
Uint32 hw_available:1;
Uint32 wm_available:1;
Uint32 UnusedBits1:6;
Uint32 UnusedBits2:1;
Uint32 blit_hw:1;
Uint32 blit_hw_CC:1;
Uint32 blit_hw_A:1;
Uint32 blit_sw:1;
Uint32 blit_sw_CC:1;
Uint32 blit_sw_A:1;
Uint32 blit_fill:1;
Uint32 UnusedBits3:16;
Uint32 video_mem;
SDL_PixelFormat *vfmt;
Dec 12, 2008
Dec 12, 2008
151
152
153
int current_w;
int current_h;
154
155
} SDL_VideoInfo;
Oct 19, 2009
Oct 19, 2009
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/**
* \name Overlay formats
*
* The most common video overlay formats.
*
* For an explanation of these pixel formats, see:
* http://www.webartz.com/fourcc/indexyuv.htm
*
* For information on the relationship between color spaces, see:
* http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
*/
/*@{*/
#define SDL_YV12_OVERLAY 0x32315659 /**< Planar mode: Y + V + U (3 planes) */
#define SDL_IYUV_OVERLAY 0x56555949 /**< Planar mode: Y + U + V (3 planes) */
#define SDL_YUY2_OVERLAY 0x32595559 /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
#define SDL_UYVY_OVERLAY 0x59565955 /**< Packed mode: U0+Y0+V0+Y1 (1 plane) */
#define SDL_YVYU_OVERLAY 0x55595659 /**< Packed mode: Y0+V0+Y1+U0 (1 plane) */
/*@}*//*Overlay formats*/
/**
* The YUV hardware video overlay.
177
178
179
*/
typedef struct SDL_Overlay
{
Oct 19, 2009
Oct 19, 2009
180
181
182
183
184
185
186
187
188
189
Uint32 format; /**< Read-only */
int w, h; /**< Read-only */
int planes; /**< Read-only */
Uint16 *pitches; /**< Read-only */
Uint8 **pixels; /**< Read-write */
/**
* \name Hardware-specific surface info
*/
/*@{*/
190
191
struct private_yuvhwfuncs *hwfuncs;
struct private_yuvhwdata *hwdata;
Oct 19, 2009
Oct 19, 2009
192
/*@}*//*Hardware-specific surface info*/
Oct 19, 2009
Oct 19, 2009
194
195
196
197
198
/**
* \name Special flags
*/
/*@{*/
Uint32 hw_overlay:1; /**< Flag: This overlay hardware accelerated? */
199
Uint32 UnusedBits:31;
Oct 19, 2009
Oct 19, 2009
200
/*@}*//*Special flags*/
201
202
203
204
205
206
207
208
209
210
211
} SDL_Overlay;
typedef enum
{
SDL_GRAB_QUERY = -1,
SDL_GRAB_OFF = 0,
SDL_GRAB_ON = 1
} SDL_GrabMode;
struct SDL_SysWMinfo;
Oct 19, 2009
Oct 19, 2009
212
213
214
215
/**
* \name Obsolete or renamed key codes
*/
/*@{*/
Feb 5, 2008
Feb 5, 2008
216
Feb 7, 2011
Feb 7, 2011
217
218
219
220
#define SDL_keysym SDL_Keysym
#define SDL_KeySym SDL_Keysym
#define SDL_scancode SDL_Scancode
#define SDL_ScanCode SDL_Scancode
Feb 7, 2011
Feb 7, 2011
221
222
#define SDLKey SDL_Keycode
#define SDLMod SDL_Keymod
Jan 24, 2011
Jan 24, 2011
223
Oct 19, 2009
Oct 19, 2009
224
225
226
227
228
229
/**
* \name Renamed keys
*
* These key constants were renamed for clarity or consistency.
*/
/*@{*/
Aug 19, 2007
Aug 19, 2007
230
231
232
233
234
235
236
237
238
239
#define SDLK_KP0 SDLK_KP_0
#define SDLK_KP1 SDLK_KP_1
#define SDLK_KP2 SDLK_KP_2
#define SDLK_KP3 SDLK_KP_3
#define SDLK_KP4 SDLK_KP_4
#define SDLK_KP5 SDLK_KP_5
#define SDLK_KP6 SDLK_KP_6
#define SDLK_KP7 SDLK_KP_7
#define SDLK_KP8 SDLK_KP_8
#define SDLK_KP9 SDLK_KP_9
Feb 5, 2008
Feb 5, 2008
240
#define SDLK_NUMLOCK SDLK_NUMLOCKCLEAR
Aug 19, 2007
Aug 19, 2007
241
242
#define SDLK_SCROLLOCK SDLK_SCROLLLOCK
#define SDLK_PRINT SDLK_PRINTSCREEN
Mar 9, 2010
Mar 9, 2010
243
244
#define SDLK_LMETA SDLK_LGUI
#define SDLK_RMETA SDLK_RGUI
Oct 19, 2009
Oct 19, 2009
245
/*@}*//*Renamed keys*/
Aug 19, 2007
Aug 19, 2007
246
Oct 19, 2009
Oct 19, 2009
247
248
249
250
251
252
/**
* \name META modifier
*
* The META modifier is equivalent to the GUI modifier from the USB standard.
*/
/*@{*/
Feb 5, 2008
Feb 5, 2008
253
254
255
#define KMOD_LMETA KMOD_LGUI
#define KMOD_RMETA KMOD_RGUI
#define KMOD_META KMOD_GUI
Oct 19, 2009
Oct 19, 2009
256
257
258
259
260
261
262
263
264
265
/*@}*//*META modifier*/
/**
* \name Not in USB
*
* These keys don't appear in the USB specification (or at least not under
* those names). I'm unsure if the following assignments make sense or if these
* codes should be defined as actual additional SDLK_ constants.
*/
/*@{*/
Aug 19, 2007
Aug 19, 2007
266
267
268
269
270
#define SDLK_LSUPER SDLK_LMETA
#define SDLK_RSUPER SDLK_RMETA
#define SDLK_COMPOSE SDLK_APPLICATION
#define SDLK_BREAK SDLK_STOP
#define SDLK_EURO SDLK_2
Oct 19, 2009
Oct 19, 2009
271
/*@}*//*Not in USB*/
Aug 19, 2007
Aug 19, 2007
272
Oct 19, 2009
Oct 19, 2009
273
/*@}*//*Obsolete or renamed key codes*/
Aug 19, 2007
Aug 19, 2007
274
275
276
277
278
#define SDL_SetModuleHandle(x)
#define SDL_AllocSurface SDL_CreateRGBSurface
extern DECLSPEC const SDL_version *SDLCALL SDL_Linked_Version(void);
Feb 4, 2011
Feb 4, 2011
279
280
extern DECLSPEC const char *SDLCALL SDL_AudioDriverName(char *namebuf, int maxlen);
extern DECLSPEC const char *SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen);
281
extern DECLSPEC const SDL_VideoInfo *SDLCALL SDL_GetVideoInfo(void);
Mar 14, 2008
Mar 14, 2008
282
283
extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width,
int height,
Mar 14, 2008
Mar 14, 2008
284
int bpp, Uint32 flags);
Jan 14, 2009
Jan 14, 2009
285
286
287
extern DECLSPEC SDL_Rect **SDLCALL SDL_ListModes(const SDL_PixelFormat *
format, Uint32 flags);
extern DECLSPEC SDL_Surface *SDLCALL SDL_SetVideoMode(int width, int height,
Mar 14, 2008
Mar 14, 2008
288
int bpp, Uint32 flags);
289
290
extern DECLSPEC SDL_Surface *SDLCALL SDL_GetVideoSurface(void);
extern DECLSPEC void SDLCALL SDL_UpdateRects(SDL_Surface * screen,
Mar 14, 2008
Mar 14, 2008
291
int numrects, SDL_Rect * rects);
Mar 14, 2008
Mar 14, 2008
292
293
extern DECLSPEC void SDLCALL SDL_UpdateRect(SDL_Surface * screen,
Sint32 x,
Mar 14, 2008
Mar 14, 2008
294
Sint32 y, Uint32 w, Uint32 h);
295
extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface * screen);
Mar 14, 2008
Mar 14, 2008
296
extern DECLSPEC int SDLCALL SDL_SetAlpha(SDL_Surface * surface,
Mar 14, 2008
Mar 14, 2008
297
Uint32 flag, Uint8 alpha);
298
extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormat(SDL_Surface * surface);
Mar 14, 2008
Mar 14, 2008
299
300
extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormatAlpha(SDL_Surface *
surface);
301
302
extern DECLSPEC void SDLCALL SDL_WM_SetCaption(const char *title,
const char *icon);
Sep 24, 2006
Sep 24, 2006
303
304
extern DECLSPEC void SDLCALL SDL_WM_GetCaption(const char **title,
const char **icon);
Mar 14, 2008
Mar 14, 2008
305
extern DECLSPEC void SDLCALL SDL_WM_SetIcon(SDL_Surface * icon, Uint8 * mask);
306
307
308
extern DECLSPEC int SDLCALL SDL_WM_IconifyWindow(void);
extern DECLSPEC int SDLCALL SDL_WM_ToggleFullScreen(SDL_Surface * surface);
extern DECLSPEC SDL_GrabMode SDLCALL SDL_WM_GrabInput(SDL_GrabMode mode);
Mar 14, 2008
Mar 14, 2008
309
310
extern DECLSPEC int SDLCALL SDL_SetPalette(SDL_Surface * surface,
int flags,
311
const SDL_Color * colors,
Mar 14, 2008
Mar 14, 2008
312
int firstcolor, int ncolors);
313
314
extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface * surface,
const SDL_Color * colors,
Mar 14, 2008
Mar 14, 2008
315
int firstcolor, int ncolors);
316
317
extern DECLSPEC int SDLCALL SDL_GetWMInfo(struct SDL_SysWMinfo *info);
extern DECLSPEC Uint8 SDLCALL SDL_GetAppState(void);
Mar 14, 2008
Mar 14, 2008
318
extern DECLSPEC void SDLCALL SDL_WarpMouse(Uint16 x, Uint16 y);
319
320
321
322
323
324
325
326
327
328
extern DECLSPEC SDL_Overlay *SDLCALL SDL_CreateYUVOverlay(int width,
int height,
Uint32 format,
SDL_Surface *
display);
extern DECLSPEC int SDLCALL SDL_LockYUVOverlay(SDL_Overlay * overlay);
extern DECLSPEC void SDLCALL SDL_UnlockYUVOverlay(SDL_Overlay * overlay);
extern DECLSPEC int SDLCALL SDL_DisplayYUVOverlay(SDL_Overlay * overlay,
SDL_Rect * dstrect);
extern DECLSPEC void SDLCALL SDL_FreeYUVOverlay(SDL_Overlay * overlay);
Jul 16, 2006
Jul 16, 2006
329
extern DECLSPEC void SDLCALL SDL_GL_SwapBuffers(void);
Feb 10, 2011
Feb 10, 2011
330
331
332
333
334
335
extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue);
extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 * red,
const Uint16 * green,
const Uint16 * blue);
extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 * red, Uint16 * green,
Uint16 * blue);
Mar 14, 2008
Mar 14, 2008
336
337
extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval);
extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval);
Feb 5, 2008
Feb 5, 2008
338
extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable);
Jan 2, 2011
Jan 2, 2011
340
341
typedef SDL_Window* SDL_WindowID;
May 25, 2010
May 25, 2010
342
#define SDL_KillThread(X)
Dec 9, 2009
Dec 9, 2009
343
Jan 27, 2011
Jan 27, 2011
344
345
346
347
348
349
350
/* The timeslice and timer resolution are no longer relevant */
#define SDL_TIMESLICE 10
#define TIMER_RESOLUTION 10
typedef Uint32 (SDLCALL * SDL_OldTimerCallback) (Uint32 interval);
extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval, SDL_OldTimerCallback callback);
Dec 16, 2009
Dec 16, 2009
351
352
extern DECLSPEC int SDLCALL SDL_putenv(const char *variable);
Oct 19, 2009
Oct 19, 2009
353
354
/*@}*//*Compatibility*/
355
356
357
358
359
360
361
362
363
364
365
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
/* *INDENT-OFF* */
}
/* *INDENT-ON* */
#endif
#include "close_code.h"
#endif /* _SDL_compat_h */
/* vi: set ts=4 sw=4 expandtab: */