1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 module derelict.sdl.sdlfuncs; 29 30 private 31 { 32 import derelict.util.compat; 33 import derelict.sdl.sdltypes; 34 35 version(Tango) 36 { 37 import tango.stdc.stdio; 38 } 39 else 40 { 41 import core.stdc.stdio; 42 } 43 } 44 45 SDL_AudioSpec* SDL_LoadWAV(in char* file, SDL_AudioSpec* spec, Uint8** buf, Uint32* len) 46 { 47 return SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1, spec, buf, len); 48 } 49 50 int SDL_QuitRequested() 51 { 52 SDL_PumpEvents(); 53 return SDL_PeepEvents(null, 0, SDL_PEEKEVENT, SDL_QUITMASK); 54 } 55 56 int SDL_LockMutex(SDL_mutex *mutex) 57 { 58 return SDL_mutexP(mutex); 59 } 60 61 int SDL_UnlockMutex(SDL_mutex *mutex) 62 { 63 return SDL_mutexV(mutex); 64 } 65 66 SDL_Surface* SDL_LoadBMP(in char* file) 67 { 68 return SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1); 69 } 70 71 int SDL_SaveBMP(SDL_Surface* surface, in char* file) 72 { 73 return SDL_SaveBMP_RW(surface, SDL_RWFromFile(file,"wb"), 1); 74 } 75 76 version(D_Version2) 77 { 78 mixin("alias const(SDL_VideoInfo*) SDLVIPTR;"); 79 } 80 else 81 { 82 alias SDL_VideoInfo* SDLVIPTR; 83 } 84 85 86 extern(C) 87 { 88 // SDL.h 89 alias int function(Uint32) da_SDL_Init; 90 alias int function(Uint32) da_SDL_InitSubSystem; 91 alias void function(Uint32) da_SDL_QuitSubSystem; 92 alias Uint32 function(Uint32) da_SDL_WasInit; 93 alias void function() da_SDL_Quit; 94 95 // SDL_active.h 96 alias Uint8 function() da_SDL_GetAppState; 97 98 // SDL_audio.h 99 alias int function(in char*) da_SDL_AudioInit; 100 alias void function() da_SDL_AudioQuit; 101 alias char* function(char*,int) da_SDL_AudioDriverName; 102 alias int function(SDL_AudioSpec*,SDL_AudioSpec*) da_SDL_OpenAudio; 103 alias SDL_audiostatus function() da_SDL_GetAudioStatus; 104 alias void function(int) da_SDL_PauseAudio; 105 alias SDL_AudioSpec* function(SDL_RWops*,int,SDL_AudioSpec*,Uint8**,Uint32*) da_SDL_LoadWAV_RW; 106 alias void function(Uint8*) da_SDL_FreeWAV; 107 alias int function(SDL_AudioCVT*,Uint16,Uint8,int,Uint16,Uint8,int) da_SDL_BuildAudioCVT; 108 alias int function(SDL_AudioCVT*) da_SDL_ConvertAudio; 109 alias void function(Uint8*,in Uint8*,Uint32,int) da_SDL_MixAudio; 110 alias void function() da_SDL_LockAudio; 111 alias void function() da_SDL_UnlockAudio; 112 alias void function() da_SDL_CloseAudio; 113 114 // SDL_cdrom.h 115 alias int function() da_SDL_CDNumDrives; 116 alias CCPTR function(int) da_SDL_CDName; 117 alias SDL_CD* function(int) da_SDL_CDOpen; 118 alias CDstatus function(SDL_CD*) da_SDL_CDStatus; 119 alias int function(SDL_CD*,int,int,int,int) da_SDL_CDPlayTracks; 120 alias int function(SDL_CD*,int,int) da_SDL_CDPlay; 121 alias int function(SDL_CD*) da_SDL_CDPause; 122 alias int function(SDL_CD*) da_SDL_CDResume; 123 alias int function(SDL_CD*) da_SDL_CDStop; 124 alias int function(SDL_CD*) da_SDL_CDEject; 125 alias int function(SDL_CD*) da_SDL_CDClose; 126 127 // SDL_cpuinfo.h 128 alias SDL_bool function() da_SDL_HasRDTSC; 129 alias SDL_bool function() da_SDL_HasMMX; 130 alias SDL_bool function() da_SDL_HasMMXExt; 131 alias SDL_bool function() da_SDL_Has3DNow; 132 alias SDL_bool function() da_SDL_Has3DNowExt; 133 alias SDL_bool function() da_SDL_HasSSE; 134 alias SDL_bool function() da_SDL_HasSSE2; 135 alias SDL_bool function() da_SDL_HasAltiVec; 136 137 // SDL_error.h 138 alias void function(in char*,...) da_SDL_SetError; 139 alias char* function() da_SDL_GetError; 140 alias void function() da_SDL_ClearError; 141 142 // SDL_events.h 143 alias void function() da_SDL_PumpEvents; 144 alias int function(SDL_Event*,int,SDL_eventaction,Uint32) da_SDL_PeepEvents; 145 alias int function(SDL_Event*) da_SDL_PollEvent; 146 alias int function(SDL_Event*) da_SDL_WaitEvent; 147 alias int function(SDL_Event*) da_SDL_PushEvent; 148 alias void function(SDL_EventFilter) da_SDL_SetEventFilter; 149 alias SDL_EventFilter function() da_SDL_GetEventFilter; 150 alias Uint8 function(Uint8,int) da_SDL_EventState; 151 152 // SDL_joystick.h 153 alias int function() da_SDL_NumJoysticks; 154 alias CCPTR function(int) da_SDL_JoystickName; 155 alias SDL_Joystick* function(int) da_SDL_JoystickOpen; 156 alias int function(int) da_SDL_JoystickOpened; 157 alias int function(SDL_Joystick*) da_SDL_JoystickIndex; 158 alias int function(SDL_Joystick*) da_SDL_JoystickNumAxes; 159 alias int function(SDL_Joystick*) da_SDL_JoystickNumBalls; 160 alias int function(SDL_Joystick*) da_SDL_JoystickNumHats; 161 alias int function(SDL_Joystick*) da_SDL_JoystickNumButtons; 162 alias void function() da_SDL_JoystickUpdate; 163 alias int function(int) da_SDL_JoystickEventState; 164 alias Sint16 function(SDL_Joystick*,int) da_SDL_JoystickGetAxis; 165 alias Uint8 function(SDL_Joystick*,int) da_SDL_JoystickGetHat; 166 alias int function(SDL_Joystick*,int,int*,int*) da_SDL_JoystickGetBall; 167 alias Uint8 function(SDL_Joystick*,int) da_SDL_JoystickGetButton; 168 alias void function(SDL_Joystick*) da_SDL_JoystickClose; 169 170 // SDL_keyboard.h 171 alias int function(int) da_SDL_EnableUNICODE; 172 alias int function(int,int) da_SDL_EnableKeyRepeat; 173 alias void function(int*,int*) da_SDL_GetKeyRepeat; 174 alias Uint8* function(int*) da_SDL_GetKeyState; 175 alias SDLMod function() da_SDL_GetModState; 176 alias void function(SDLMod) da_SDL_SetModState; 177 alias char* function(SDLKey key) da_SDL_GetKeyName; 178 179 // SDL_loadso.h 180 alias void* function(in char*) da_SDL_LoadObject; 181 alias void* function(in void*,char*) da_SDL_LoadFunction; 182 alias void function(void*) da_SDL_UnloadObject; 183 184 // SDL_mouse.h 185 alias Uint8 function(int*,int*) da_SDL_GetMouseState; 186 alias Uint8 function(int*,int*) da_SDL_GetRelativeMouseState; 187 alias void function(Uint16,Uint16) da_SDL_WarpMouse; 188 alias SDL_Cursor* function(Uint8*,Uint8*,int,int,int,int) da_SDL_CreateCursor; 189 alias void function(SDL_Cursor*) da_SDL_SetCursor; 190 alias SDL_Cursor* function() da_SDL_GetCursor; 191 alias void function(SDL_Cursor*) da_SDL_FreeCursor; 192 alias int function(int) da_SDL_ShowCursor; 193 194 // SDL_mutex.h 195 alias SDL_mutex* function() da_SDL_CreateMutex; 196 alias int function(SDL_mutex*) da_SDL_mutexP; 197 alias int function(SDL_mutex*) da_SDL_mutexV; 198 alias void function(SDL_mutex*) da_SDL_DestroyMutex; 199 alias SDL_sem* function(Uint32) da_SDL_CreateSemaphore; 200 alias void function(SDL_sem*) da_SDL_DestroySemaphore; 201 alias int function(SDL_sem*) da_SDL_SemWait; 202 alias int function(SDL_sem*) da_SDL_SemTryWait; 203 alias int function(SDL_sem*,Uint32) da_SDL_SemWaitTimeout; 204 alias int function(SDL_sem*) da_SDL_SemPost; 205 alias Uint32 function(SDL_sem*) da_SDL_SemValue; 206 alias SDL_cond* function() da_SDL_CreateCond; 207 alias void function(SDL_cond*) da_SDL_DestroyCond; 208 alias int function(SDL_cond*) da_SDL_CondSignal; 209 alias int function(SDL_cond*) da_SDL_CondBroadcast; 210 alias int function(SDL_cond*,SDL_mutex*) da_SDL_CondWait; 211 alias int function(SDL_cond*,SDL_mutex*,Uint32) da_SDL_CondWaitTimeout; 212 213 // SDL_rwops.h 214 alias SDL_RWops* function(in char*,in char*) da_SDL_RWFromFile; 215 alias SDL_RWops* function(FILE*,int) da_SDL_RWFromFP; 216 alias SDL_RWops* function(void*,int) da_SDL_RWFromMem; 217 alias SDL_RWops* function(in void*,int) da_SDL_RWFromConstMem; 218 alias SDL_RWops* function() da_SDL_AllocRW; 219 alias void function(SDL_RWops*) da_SDL_FreeRW; 220 alias Uint16 function(SDL_RWops*) da_SDL_ReadLE16; 221 alias Uint16 function(SDL_RWops*) da_SDL_ReadBE16; 222 alias Uint32 function(SDL_RWops*) da_SDL_ReadLE32; 223 alias Uint32 function(SDL_RWops*) da_SDL_ReadBE32; 224 alias Uint64 function(SDL_RWops*) da_SDL_ReadLE64; 225 alias Uint64 function(SDL_RWops*) da_SDL_ReadBE64; 226 alias Uint16 function(SDL_RWops*,Uint16) da_SDL_WriteLE16; 227 alias Uint16 function(SDL_RWops*,Uint16) da_SDL_WriteBE16; 228 alias Uint32 function(SDL_RWops*,Uint32) da_SDL_WriteLE32; 229 alias Uint32 function(SDL_RWops*,Uint32) da_SDL_WriteBE32; 230 alias Uint64 function(SDL_RWops*,Uint64) da_SDL_WriteLE64; 231 alias Uint64 function(SDL_RWops*,Uint64) da_SDL_WriteBE64; 232 233 // SDL_version.h 234 alias CSDLVERPTR function() da_SDL_Linked_Version; 235 236 // SDL_syswm.h 237 alias int function(SDL_SysWMinfo*) da_SDL_GetWMInfo; 238 239 // SDL_thread.h 240 alias SDL_Thread* function(int function(void*) fm, void*) da_SDL_CreateThread; 241 alias Uint32 function() da_SDL_ThreadID; 242 alias Uint32 function(SDL_Thread*) da_SDL_GetThreadID; 243 alias void function(SDL_Thread*,int*) da_SDL_WaitThread; 244 alias void function(SDL_Thread*) da_SDL_KillThread; 245 246 // SDL_timer.h 247 alias Uint32 function() da_SDL_GetTicks; 248 alias void function(Uint32) da_SDL_Delay; 249 alias int function(Uint32,SDL_TimerCallback) da_SDL_SetTimer; 250 alias SDL_TimerID function(Uint32,SDL_NewTimerCallback,void*) da_SDL_AddTimer; 251 alias SDL_bool function(SDL_TimerID) da_SDL_RemoveTimer; 252 253 // SDL_video.h 254 alias int function(in char*,Uint32) da_SDL_VideoInit; 255 alias void function() da_SDL_VideoQuit; 256 alias char* function(char*,int) da_SDL_VideoDriverName; 257 alias SDL_Surface* function() da_SDL_GetVideoSurface; 258 alias SDLVIPTR function() da_SDL_GetVideoInfo; 259 alias int function(int,int,int,Uint32) da_SDL_VideoModeOK; 260 alias SDL_Rect** function(SDL_PixelFormat*,Uint32) da_SDL_ListModes; 261 alias SDL_Surface* function(int,int,int,Uint32) da_SDL_SetVideoMode; 262 alias void function(SDL_Surface*,int,SDL_Rect*) da_SDL_UpdateRects; 263 alias void function(SDL_Surface*,Sint32,Sint32,Uint32,Uint32) da_SDL_UpdateRect; 264 alias int function(SDL_Surface*) da_SDL_Flip; 265 alias int function(float,float,float) da_SDL_SetGamma; 266 alias int function(in Uint16*,in Uint16*,in Uint16*) da_SDL_SetGammaRamp; 267 alias int function(Uint16*,Uint16*,Uint16*) da_SDL_GetGammaRamp; 268 alias int function(SDL_Surface*,SDL_Color*,int,int) da_SDL_SetColors; 269 alias int function(SDL_Surface*,int,SDL_Color*,int,int) da_SDL_SetPalette; 270 alias Uint32 function(in SDL_PixelFormat*,in Uint8,in Uint8,in Uint8) da_SDL_MapRGB; 271 alias Uint32 function(in SDL_PixelFormat*, in Uint8,in Uint8,in Uint8,in Uint8) da_SDL_MapRGBA; 272 alias void function(Uint32,SDL_PixelFormat*,Uint8*,Uint8*,Uint8*) da_SDL_GetRGB; 273 alias void function(Uint32,SDL_PixelFormat*,Uint8*,Uint8*,Uint8*,Uint8*) da_SDL_GetRGBA; 274 alias SDL_Surface* function(Uint32,int,int,int,Uint32,Uint32,Uint32,Uint32) da_SDL_CreateRGBSurface; 275 alias SDL_Surface* function(void*,int,int,int,int,Uint32,Uint32,Uint32,Uint32) da_SDL_CreateRGBSurfaceFrom; 276 alias void function(SDL_Surface*) da_SDL_FreeSurface; 277 alias int function(SDL_Surface*) da_SDL_LockSurface; 278 alias void function(SDL_Surface*) da_SDL_UnlockSurface; 279 alias SDL_Surface* function(SDL_RWops*,int) da_SDL_LoadBMP_RW; 280 alias int function(SDL_Surface*,SDL_RWops*,int) da_SDL_SaveBMP_RW; 281 alias int function(SDL_Surface*,Uint32,Uint32) da_SDL_SetColorKey; 282 alias int function(SDL_Surface*,Uint32,Uint8) da_SDL_SetAlpha; 283 alias SDL_bool function(SDL_Surface*,in SDL_Rect*) da_SDL_SetClipRect; 284 alias void function(SDL_Surface*,SDL_Rect*) da_SDL_GetClipRect; 285 alias SDL_Surface* function(SDL_Surface*,SDL_PixelFormat*,Uint32) da_SDL_ConvertSurface; 286 alias int function(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*) da_SDL_UpperBlit; 287 alias int function(SDL_Surface*,SDL_Rect*,SDL_Surface*,SDL_Rect*) da_SDL_LowerBlit; 288 alias int function(SDL_Surface*,SDL_Rect*,Uint32) da_SDL_FillRect; 289 alias SDL_Surface* function(SDL_Surface*) da_SDL_DisplayFormat; 290 alias SDL_Surface* function(SDL_Surface*) da_SDL_DisplayFormatAlpha; 291 alias SDL_Overlay* function(int,int,Uint32,SDL_Surface*) da_SDL_CreateYUVOverlay; 292 alias int function(SDL_Overlay*) da_SDL_LockYUVOverlay; 293 alias void function(SDL_Overlay*) da_SDL_UnlockYUVOverlay; 294 alias int function(SDL_Overlay*,SDL_Rect*) da_SDL_DisplayYUVOverlay; 295 alias void function(SDL_Overlay*) da_SDL_FreeYUVOverlay; 296 alias int function(in char*) da_SDL_GL_LoadLibrary; 297 alias void* function(in char*) da_SDL_GL_GetProcAddress; 298 alias int function(SDL_GLattr,int) da_SDL_GL_SetAttribute; 299 alias int function(SDL_GLattr,int*) da_SDL_GL_GetAttribute; 300 alias void function() da_SDL_GL_SwapBuffers; 301 alias void function(int,SDL_Rect*) da_SDL_GL_UpdateRects; 302 alias void function() da_SDL_GL_Lock; 303 alias void function() da_SDL_GL_Unlock; 304 alias void function(in char*,in char*) da_SDL_WM_SetCaption; 305 alias void function(char**,char**) da_SDL_WM_GetCaption; 306 alias void function(SDL_Surface*,Uint8*) da_SDL_WM_SetIcon; 307 alias int function() da_SDL_WM_IconifyWindow; 308 alias int function(SDL_Surface*) da_SDL_WM_ToggleFullScreen; 309 alias SDL_GrabMode function(SDL_GrabMode) da_SDL_WM_GrabInput; 310 } 311 312 mixin(gsharedString!() ~ 313 " 314 da_SDL_Init SDL_Init; 315 da_SDL_InitSubSystem SDL_InitSubSystem; 316 da_SDL_QuitSubSystem SDL_QuitSubSystem; 317 da_SDL_WasInit SDL_WasInit; 318 da_SDL_Quit SDL_Quit; 319 320 da_SDL_GetAppState SDL_GetAppState; 321 322 da_SDL_AudioInit SDL_AudioInit; 323 da_SDL_AudioQuit SDL_AudioQuit; 324 da_SDL_AudioDriverName SDL_AudioDriverName; 325 da_SDL_OpenAudio SDL_OpenAudio; 326 da_SDL_GetAudioStatus SDL_GetAudioStatus; 327 da_SDL_PauseAudio SDL_PauseAudio; 328 da_SDL_LoadWAV_RW SDL_LoadWAV_RW; 329 da_SDL_FreeWAV SDL_FreeWAV; 330 da_SDL_BuildAudioCVT SDL_BuildAudioCVT; 331 da_SDL_ConvertAudio SDL_ConvertAudio; 332 da_SDL_MixAudio SDL_MixAudio; 333 da_SDL_LockAudio SDL_LockAudio; 334 da_SDL_UnlockAudio SDL_UnlockAudio; 335 da_SDL_CloseAudio SDL_CloseAudio; 336 337 da_SDL_CDNumDrives SDL_CDNumDrives; 338 da_SDL_CDName SDL_CDName; 339 da_SDL_CDOpen SDL_CDOpen; 340 da_SDL_CDStatus SDL_CDStatus; 341 da_SDL_CDPlayTracks SDL_CDPlayTracks; 342 da_SDL_CDPlay SDL_CDPlay; 343 da_SDL_CDPause SDL_CDPause; 344 da_SDL_CDResume SDL_CDResume; 345 da_SDL_CDStop SDL_CDStop; 346 da_SDL_CDEject SDL_CDEject; 347 da_SDL_CDClose SDL_CDClose; 348 349 da_SDL_HasRDTSC SDL_HasRDTSC; 350 da_SDL_HasMMX SDL_HasMMX; 351 da_SDL_HasMMXExt SDL_HasMMXExt; 352 da_SDL_Has3DNow SDL_Has3DNow; 353 da_SDL_Has3DNowExt SDL_Has3DNowExt; 354 da_SDL_HasSSE SDL_HasSSE; 355 da_SDL_HasSSE2 SDL_HasSSE2; 356 da_SDL_HasAltiVec SDL_HasAltiVec; 357 358 da_SDL_SetError SDL_SetError; 359 da_SDL_GetError SDL_GetError; 360 da_SDL_ClearError SDL_ClearError; 361 362 da_SDL_PumpEvents SDL_PumpEvents; 363 da_SDL_PeepEvents SDL_PeepEvents; 364 da_SDL_PollEvent SDL_PollEvent; 365 da_SDL_WaitEvent SDL_WaitEvent; 366 da_SDL_PushEvent SDL_PushEvent; 367 da_SDL_SetEventFilter SDL_SetEventFilter; 368 da_SDL_GetEventFilter SDL_GetEventFilter; 369 da_SDL_EventState SDL_EventState; 370 371 da_SDL_NumJoysticks SDL_NumJoysticks; 372 da_SDL_JoystickName SDL_JoystickName; 373 da_SDL_JoystickOpen SDL_JoystickOpen; 374 da_SDL_JoystickOpened SDL_JoystickOpened; 375 da_SDL_JoystickIndex SDL_JoystickIndex; 376 da_SDL_JoystickNumAxes SDL_JoystickNumAxes; 377 da_SDL_JoystickNumBalls SDL_JoystickNumBalls; 378 da_SDL_JoystickNumHats SDL_JoystickNumHats; 379 da_SDL_JoystickNumButtons SDL_JoystickNumButtons; 380 da_SDL_JoystickUpdate SDL_JoystickUpdate; 381 da_SDL_JoystickEventState SDL_JoystickEventState; 382 da_SDL_JoystickGetAxis SDL_JoystickGetAxis; 383 da_SDL_JoystickGetHat SDL_JoystickGetHat; 384 da_SDL_JoystickGetBall SDL_JoystickGetBall; 385 da_SDL_JoystickGetButton SDL_JoystickGetButton; 386 da_SDL_JoystickClose SDL_JoystickClose; 387 388 da_SDL_EnableUNICODE SDL_EnableUNICODE; 389 da_SDL_EnableKeyRepeat SDL_EnableKeyRepeat; 390 da_SDL_GetKeyRepeat SDL_GetKeyRepeat; 391 da_SDL_GetKeyState SDL_GetKeyState; 392 da_SDL_GetModState SDL_GetModState; 393 da_SDL_SetModState SDL_SetModState; 394 da_SDL_GetKeyName SDL_GetKeyName; 395 396 da_SDL_LoadObject SDL_LoadObject; 397 da_SDL_LoadFunction SDL_LoadFunction; 398 da_SDL_UnloadObject SDL_UnloadObject; 399 400 da_SDL_GetMouseState SDL_GetMouseState; 401 da_SDL_GetRelativeMouseState SDL_GetRelativeMouseState; 402 da_SDL_WarpMouse SDL_WarpMouse; 403 da_SDL_CreateCursor SDL_CreateCursor; 404 da_SDL_SetCursor SDL_SetCursor; 405 da_SDL_GetCursor SDL_GetCursor; 406 da_SDL_FreeCursor SDL_FreeCursor; 407 da_SDL_ShowCursor SDL_ShowCursor; 408 409 da_SDL_CreateMutex SDL_CreateMutex; 410 da_SDL_mutexP SDL_mutexP; 411 da_SDL_mutexV SDL_mutexV; 412 da_SDL_DestroyMutex SDL_DestroyMutex; 413 da_SDL_CreateSemaphore SDL_CreateSemaphore; 414 da_SDL_DestroySemaphore SDL_DestroySemaphore; 415 da_SDL_SemWait SDL_SemWait; 416 da_SDL_SemTryWait SDL_SemTryWait; 417 da_SDL_SemWaitTimeout SDL_SemWaitTimeout; 418 da_SDL_SemPost SDL_SemPost; 419 da_SDL_SemValue SDL_SemValue; 420 da_SDL_CreateCond SDL_CreateCond; 421 da_SDL_DestroyCond SDL_DestroyCond; 422 da_SDL_CondSignal SDL_CondSignal; 423 da_SDL_CondBroadcast SDL_CondBroadcast; 424 da_SDL_CondWait SDL_CondWait; 425 da_SDL_CondWaitTimeout SDL_CondWaitTimeout; 426 427 da_SDL_RWFromFile SDL_RWFromFile; 428 da_SDL_RWFromFP SDL_RWFromFP; 429 da_SDL_RWFromMem SDL_RWFromMem; 430 da_SDL_RWFromConstMem SDL_RWFromConstMem; 431 da_SDL_AllocRW SDL_AllocRW; 432 da_SDL_FreeRW SDL_FreeRW; 433 da_SDL_ReadLE16 SDL_ReadLE16; 434 da_SDL_ReadBE16 SDL_ReadBE16; 435 da_SDL_ReadLE32 SDL_ReadLE32; 436 da_SDL_ReadBE32 SDL_ReadBE32; 437 da_SDL_ReadLE64 SDL_ReadLE64; 438 da_SDL_ReadBE64 SDL_ReadBE64; 439 da_SDL_WriteLE16 SDL_WriteLE16; 440 da_SDL_WriteBE16 SDL_WriteBE16; 441 da_SDL_WriteLE32 SDL_WriteLE32; 442 da_SDL_WriteBE32 SDL_WriteBE32; 443 da_SDL_WriteLE64 SDL_WriteLE64; 444 da_SDL_WriteBE64 SDL_WriteBE64; 445 446 da_SDL_Linked_Version SDL_Linked_Version; 447 448 da_SDL_GetWMInfo SDL_GetWMInfo; 449 450 da_SDL_CreateThread SDL_CreateThread; 451 da_SDL_ThreadID SDL_ThreadID; 452 da_SDL_GetThreadID SDL_GetThreadID; 453 da_SDL_WaitThread SDL_WaitThread; 454 da_SDL_KillThread SDL_KillThread; 455 456 da_SDL_GetTicks SDL_GetTicks; 457 da_SDL_Delay SDL_Delay; 458 da_SDL_SetTimer SDL_SetTimer; 459 da_SDL_AddTimer SDL_AddTimer; 460 da_SDL_RemoveTimer SDL_RemoveTimer; 461 462 da_SDL_VideoInit SDL_VideoInit; 463 da_SDL_VideoQuit SDL_VideoQuit; 464 da_SDL_VideoDriverName SDL_VideoDriverName; 465 da_SDL_GetVideoSurface SDL_GetVideoSurface; 466 da_SDL_GetVideoInfo SDL_GetVideoInfo; 467 da_SDL_VideoModeOK SDL_VideoModeOK; 468 da_SDL_ListModes SDL_ListModes; 469 da_SDL_SetVideoMode SDL_SetVideoMode; 470 da_SDL_UpdateRects SDL_UpdateRects; 471 da_SDL_UpdateRect SDL_UpdateRect; 472 da_SDL_Flip SDL_Flip; 473 da_SDL_SetGamma SDL_SetGamma; 474 da_SDL_SetGammaRamp SDL_SetGammaRamp; 475 da_SDL_GetGammaRamp SDL_GetGammaRamp; 476 da_SDL_SetColors SDL_SetColors; 477 da_SDL_SetPalette SDL_SetPalette; 478 da_SDL_MapRGB SDL_MapRGB; 479 da_SDL_MapRGBA SDL_MapRGBA; 480 da_SDL_GetRGB SDL_GetRGB; 481 da_SDL_GetRGBA SDL_GetRGBA; 482 da_SDL_CreateRGBSurface SDL_CreateRGBSurface; 483 da_SDL_CreateRGBSurfaceFrom SDL_CreateRGBSurfaceFrom; 484 da_SDL_FreeSurface SDL_FreeSurface; 485 da_SDL_LockSurface SDL_LockSurface; 486 da_SDL_UnlockSurface SDL_UnlockSurface; 487 da_SDL_LoadBMP_RW SDL_LoadBMP_RW; 488 da_SDL_SaveBMP_RW SDL_SaveBMP_RW; 489 da_SDL_SetColorKey SDL_SetColorKey; 490 da_SDL_SetAlpha SDL_SetAlpha; 491 da_SDL_SetClipRect SDL_SetClipRect; 492 da_SDL_GetClipRect SDL_GetClipRect; 493 da_SDL_ConvertSurface SDL_ConvertSurface; 494 da_SDL_UpperBlit SDL_UpperBlit; 495 da_SDL_LowerBlit SDL_LowerBlit; 496 da_SDL_FillRect SDL_FillRect; 497 da_SDL_DisplayFormat SDL_DisplayFormat; 498 da_SDL_DisplayFormatAlpha SDL_DisplayFormatAlpha; 499 da_SDL_CreateYUVOverlay SDL_CreateYUVOverlay; 500 da_SDL_LockYUVOverlay SDL_LockYUVOverlay; 501 da_SDL_UnlockYUVOverlay SDL_UnlockYUVOverlay; 502 da_SDL_DisplayYUVOverlay SDL_DisplayYUVOverlay; 503 da_SDL_FreeYUVOverlay SDL_FreeYUVOverlay; 504 da_SDL_GL_LoadLibrary SDL_GL_LoadLibrary; 505 da_SDL_GL_GetProcAddress SDL_GL_GetProcAddress; 506 da_SDL_GL_SetAttribute SDL_GL_SetAttribute; 507 da_SDL_GL_GetAttribute SDL_GL_GetAttribute; 508 da_SDL_GL_SwapBuffers SDL_GL_SwapBuffers; 509 da_SDL_GL_UpdateRects SDL_GL_UpdateRects; 510 da_SDL_GL_Lock SDL_GL_Lock; 511 da_SDL_GL_Unlock SDL_GL_Unlock; 512 da_SDL_WM_SetCaption SDL_WM_SetCaption; 513 da_SDL_WM_GetCaption SDL_WM_GetCaption; 514 da_SDL_WM_SetIcon SDL_WM_SetIcon; 515 da_SDL_WM_IconifyWindow SDL_WM_IconifyWindow; 516 da_SDL_WM_ToggleFullScreen SDL_WM_ToggleFullScreen; 517 da_SDL_WM_GrabInput SDL_WM_GrabInput; 518 "); 519 520 alias SDL_CreateRGBSurface SDL_AllocSurface; 521 alias SDL_UpperBlit SDL_BlitSurface;