include/SDL_compat.h
author Ryan C. Gordon <icculus@icculus.org>
Fri, 03 Jun 2011 16:03:10 -0400
changeset 5547 4ccecd0901e2
parent 5535 96594ac5fd1a
child 6138 4c64952a58fb
permissions -rw-r--r--
Assert code's stdio interface was reading from the wrong variable.

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