From d8efb80536c77ef0d4598b5c036e5e7a5f9ceea2 Mon Sep 17 00:00:00 2001 From: pelya Date: Thu, 20 May 2010 14:39:14 +0300 Subject: [PATCH] Moved to SDL 1.3, it compiles but DOES NOT WORK, audio is disabled --- .../project/jni/application/src/settings.cpp | 4 +- alienblaster/project/jni/sdl/Android.mk | 24 +- alienblaster/project/jni/sdl/Borland.html | 139 - alienblaster/project/jni/sdl/CREDITS | 73 +- alienblaster/project/jni/sdl/INSTALL | 4 + alienblaster/project/jni/sdl/Makefile.dc | 111 - alienblaster/project/jni/sdl/Makefile.in | 183 - alienblaster/project/jni/sdl/Makefile.minimal | 42 - alienblaster/project/jni/sdl/NOTES | 172 + alienblaster/project/jni/sdl/README | 9 +- alienblaster/project/jni/sdl/README.AmigaOS | 12 - alienblaster/project/jni/sdl/README.BeOS | 13 - alienblaster/project/jni/sdl/README.CVS | 4 - alienblaster/project/jni/sdl/README.DC | 32 - alienblaster/project/jni/sdl/README.HG | 23 + alienblaster/project/jni/sdl/README.MacOS | 63 - alienblaster/project/jni/sdl/README.MacOSX | 186 - alienblaster/project/jni/sdl/README.MiNT | 250 - alienblaster/project/jni/sdl/README.NDS | 22 - alienblaster/project/jni/sdl/README.NanoX | 97 - alienblaster/project/jni/sdl/README.OS2 | 281 - alienblaster/project/jni/sdl/README.PS3 | 29 - alienblaster/project/jni/sdl/README.PicoGUI | 50 - alienblaster/project/jni/sdl/README.Porting | 1 + alienblaster/project/jni/sdl/README.QNX | 155 - alienblaster/project/jni/sdl/README.Qtopia | 84 - alienblaster/project/jni/sdl/README.RISCOS | 130 - alienblaster/project/jni/sdl/README.SVN | 23 - alienblaster/project/jni/sdl/README.Symbian | 23 - alienblaster/project/jni/sdl/README.Watcom | 133 - alienblaster/project/jni/sdl/README.WinCE | 55 - alienblaster/project/jni/sdl/README.wscons | 107 - alienblaster/project/jni/sdl/SDL.qpg.in | 140 - alienblaster/project/jni/sdl/SDL.spec | 113 - alienblaster/project/jni/sdl/SDL.spec.in | 113 - alienblaster/project/jni/sdl/TODO | 38 +- .../project/jni/sdl/UNDER_CONSTRUCTION.txt | 1 + alienblaster/project/jni/sdl/VisualC.html | 171 - alienblaster/project/jni/sdl/WhatsNew | 28 +- alienblaster/project/jni/sdl/autogen.sh | 19 - alienblaster/project/jni/sdl/docs.html | 629 - alienblaster/project/jni/sdl/include/SDL.h | 115 +- .../project/jni/sdl/include/SDL_active.h | 63 - .../project/jni/sdl/include/SDL_assert.h | 241 + .../project/jni/sdl/include/SDL_atomic.h | 216 + .../project/jni/sdl/include/SDL_audio.h | 544 +- .../project/jni/sdl/include/SDL_cdrom.h | 202 - .../project/jni/sdl/include/SDL_compat.h | 342 + .../project/jni/sdl/include/SDL_config.h | 20 +- .../jni/sdl/include/SDL_config.h.default | 20 +- .../project/jni/sdl/include/SDL_config.h.in | 146 +- .../jni/sdl/include/SDL_config_android.h | 56 +- .../jni/sdl/include/SDL_config_iphoneos.h | 158 + .../jni/sdl/include/SDL_config_macos.h | 112 - .../jni/sdl/include/SDL_config_macosx.h | 55 +- .../jni/sdl/include/SDL_config_minimal.h | 33 +- ...ig_dreamcast.h => SDL_config_nintendods.h} | 49 +- ...{SDL_config_nds.h => SDL_config_pandora.h} | 68 +- .../jni/sdl/include/SDL_config_symbian.h | 146 - .../jni/sdl/include/SDL_config_win32.h | 80 +- .../{SDL_config_os2.h => SDL_config_wiz.h} | 111 +- .../project/jni/sdl/include/SDL_copying.h | 3 +- .../project/jni/sdl/include/SDL_cpuinfo.h | 50 +- .../project/jni/sdl/include/SDL_endian.h | 198 +- .../project/jni/sdl/include/SDL_error.h | 44 +- .../project/jni/sdl/include/SDL_events.h | 666 +- .../project/jni/sdl/include/SDL_haptic.h | 1123 ++ .../project/jni/sdl/include/SDL_input.h | 88 + .../project/jni/sdl/include/SDL_joystick.h | 164 +- .../project/jni/sdl/include/SDL_keyboard.h | 177 +- .../project/jni/sdl/include/SDL_keysym.h | 586 +- .../project/jni/sdl/include/SDL_loadso.h | 60 +- .../project/jni/sdl/include/SDL_main.h | 80 +- .../project/jni/sdl/include/SDL_mouse.h | 180 +- .../project/jni/sdl/include/SDL_mutex.h | 212 +- .../project/jni/sdl/include/SDL_opengl.h | 3090 ++- .../project/jni/sdl/include/SDL_opengles.h | 1039 + .../project/jni/sdl/include/SDL_pixels.h | 399 + .../project/jni/sdl/include/SDL_platform.h | 66 +- .../project/jni/sdl/include/SDL_power.h | 80 + .../project/jni/sdl/include/SDL_quit.h | 24 +- .../project/jni/sdl/include/SDL_rect.h | 137 + .../project/jni/sdl/include/SDL_revision.h | 1 + .../project/jni/sdl/include/SDL_rwops.h | 213 +- .../project/jni/sdl/include/SDL_scancode.h | 399 + .../project/jni/sdl/include/SDL_stdinc.h | 343 +- .../project/jni/sdl/include/SDL_surface.h | 700 + .../project/jni/sdl/include/SDL_syswm.h | 275 +- .../project/jni/sdl/include/SDL_thread.h | 133 +- .../project/jni/sdl/include/SDL_timer.h | 148 +- .../project/jni/sdl/include/SDL_types.h | 8 +- .../project/jni/sdl/include/SDL_version.h | 127 +- .../project/jni/sdl/include/SDL_video.h | 2013 +- .../project/jni/sdl/include/begin_code.h | 119 +- .../project/jni/sdl/include/close_code.h | 28 +- alienblaster/project/jni/sdl/include/doxyfile | 1241 +- alienblaster/project/jni/sdl/sdl-config.in | 60 - alienblaster/project/jni/sdl/sdl.m4 | 183 - alienblaster/project/jni/sdl/sdl.pc.in | 15 - alienblaster/project/jni/sdl/src/SDL.c | 480 +- alienblaster/project/jni/sdl/src/SDL_assert.c | 475 + alienblaster/project/jni/sdl/src/SDL_compat.c | 1775 ++ alienblaster/project/jni/sdl/src/SDL_error.c | 337 +- .../project/jni/sdl/src/SDL_error_c.h | 43 +- alienblaster/project/jni/sdl/src/SDL_fatal.c | 122 +- alienblaster/project/jni/sdl/src/SDL_fatal.h | 4 +- .../jni/sdl/src/atomic/dummy/SDL_atomic.c | 469 + .../jni/sdl/src/atomic/linux/SDL_atomic.c | 510 + .../jni/sdl/src/atomic/macosx/SDL_atomic.c | 469 + .../jni/sdl/src/atomic/qnx/SDL_atomic.c | 505 + .../jni/sdl/src/atomic/win32/SDL_atomic.c | 512 + .../project/jni/sdl/src/audio/SDL_audio.c | 1592 +- .../project/jni/sdl/src/audio/SDL_audio_c.h | 30 +- .../project/jni/sdl/src/audio/SDL_audiocvt.c | 2302 +-- .../project/jni/sdl/src/audio/SDL_audiodev.c | 205 +- .../jni/sdl/src/audio/SDL_audiodev_c.h | 8 +- .../project/jni/sdl/src/audio/SDL_audiomem.h | 3 +- .../jni/sdl/src/audio/SDL_audiotypecvt.c | 16216 ++++++++++++++++ .../project/jni/sdl/src/audio/SDL_mixer.c | 483 +- .../project/jni/sdl/src/audio/SDL_mixer_MMX.c | 231 +- .../project/jni/sdl/src/audio/SDL_mixer_MMX.h | 8 +- .../jni/sdl/src/audio/SDL_mixer_MMX_VC.c | 15 +- .../jni/sdl/src/audio/SDL_mixer_MMX_VC.h | 11 +- .../jni/sdl/src/audio/SDL_mixer_m68k.c | 283 +- .../jni/sdl/src/audio/SDL_mixer_m68k.h | 24 +- .../project/jni/sdl/src/audio/SDL_sysaudio.h | 224 +- .../project/jni/sdl/src/audio/SDL_wave.c | 1042 +- .../project/jni/sdl/src/audio/SDL_wave.h | 41 +- .../jni/sdl/src/audio/alsa/SDL_alsa_audio.c | 1007 +- .../jni/sdl/src/audio/alsa/SDL_alsa_audio.h | 36 +- .../sdl/src/audio/android/SDL_androidaudio.c | 3 + .../jni/sdl/src/audio/arts/SDL_artsaudio.c | 513 +- .../jni/sdl/src/audio/arts/SDL_artsaudio.h | 39 +- .../jni/sdl/src/audio/baudio/SDL_beaudio.cc | 299 +- .../jni/sdl/src/audio/baudio/SDL_beaudio.h | 18 +- .../jni/sdl/src/audio/bsd/SDL_bsdaudio.c | 600 +- .../jni/sdl/src/audio/bsd/SDL_bsdaudio.h | 32 +- .../project/jni/sdl/src/audio/dart/SDL_dart.c | 441 - .../project/jni/sdl/src/audio/dart/SDL_dart.h | 63 - .../jni/sdl/src/audio/dc/SDL_dcaudio.c | 246 - .../project/jni/sdl/src/audio/dc/aica.c | 271 - .../jni/sdl/src/audio/disk/SDL_diskaudio.c | 222 +- .../jni/sdl/src/audio/disk/SDL_diskaudio.h | 18 +- .../jni/sdl/src/audio/dma/SDL_dmaaudio.c | 842 +- .../jni/sdl/src/audio/dma/SDL_dmaaudio.h | 40 +- .../jni/sdl/src/audio/dmedia/SDL_irixaudio.c | 324 +- .../jni/sdl/src/audio/dmedia/SDL_irixaudio.h | 21 +- .../jni/sdl/src/audio/dsp/SDL_dspaudio.c | 521 +- .../jni/sdl/src/audio/dsp/SDL_dspaudio.h | 31 +- .../jni/sdl/src/audio/dummy/SDL_dummyaudio.c | 129 +- .../jni/sdl/src/audio/dummy/SDL_dummyaudio.h | 18 +- .../jni/sdl/src/audio/esd/SDL_esdaudio.c | 463 +- .../jni/sdl/src/audio/esd/SDL_esdaudio.h | 38 +- .../sdl/src/audio/fusionsound/SDL_fsaudio.c | 351 + .../sdl/src/audio/fusionsound/SDL_fsaudio.h | 50 + .../src/audio/iphoneos/SDL_coreaudio_iphone.c | 340 + .../SDL_coreaudio_iphone.h} | 26 +- .../jni/sdl/src/audio/macosx/SDL_coreaudio.c | 639 +- .../jni/sdl/src/audio/macosx/SDL_coreaudio.h | 24 +- .../jni/sdl/src/audio/macrom/SDL_romaudio.c | 496 - .../jni/sdl/src/audio/macrom/SDL_romaudio.h | 50 - .../jni/sdl/src/audio/mint/SDL_mintaudio.c | 215 - .../jni/sdl/src/audio/mint/SDL_mintaudio.h | 157 - .../sdl/src/audio/mint/SDL_mintaudio_dma8.c | 361 - .../sdl/src/audio/mint/SDL_mintaudio_dma8.h | 85 - .../sdl/src/audio/mint/SDL_mintaudio_gsxb.c | 436 - .../sdl/src/audio/mint/SDL_mintaudio_gsxb.h | 108 - .../jni/sdl/src/audio/mint/SDL_mintaudio_it.S | 281 - .../sdl/src/audio/mint/SDL_mintaudio_mcsn.c | 404 - .../sdl/src/audio/mint/SDL_mintaudio_mcsn.h | 59 - .../sdl/src/audio/mint/SDL_mintaudio_stfa.c | 323 - .../sdl/src/audio/mint/SDL_mintaudio_stfa.h | 100 - .../sdl/src/audio/mint/SDL_mintaudio_xbios.c | 495 - .../jni/sdl/src/audio/mme/SDL_mmeaudio.c | 346 +- .../jni/sdl/src/audio/mme/SDL_mmeaudio.h | 36 +- .../jni/sdl/src/audio/nas/SDL_nasaudio.c | 451 +- .../jni/sdl/src/audio/nas/SDL_nasaudio.h | 33 +- .../jni/sdl/src/audio/nds/SDL_ndsaudio.c | 357 +- .../jni/sdl/src/audio/nds/SDL_ndsaudio.h | 26 +- .../project/jni/sdl/src/audio/nds/sound9.c | 61 - .../jni/sdl/src/audio/nds/soundcommon.h | 80 - .../jni/sdl/src/audio/nto/SDL_nto_audio.c | 507 - .../jni/sdl/src/audio/nto/SDL_nto_audio.h | 68 - .../jni/sdl/src/audio/paudio/SDL_paudio.c | 853 +- .../jni/sdl/src/audio/paudio/SDL_paudio.h | 37 +- .../jni/sdl/src/audio/pulse/SDL_pulseaudio.c | 534 - .../jni/sdl/src/audio/pulse/SDL_pulseaudio.h | 71 - .../sdl/src/audio/pulseaudio/SDL_pulseaudio.c | 540 + .../pulseaudio/SDL_pulseaudio.h} | 45 +- .../jni/sdl/src/audio/qsa/SDL_qsa_audio.c | 893 + .../qsa/SDL_qsa_audio.h} | 47 +- .../jni/sdl/src/audio/sdlgenaudiocvt.pl | 758 + .../jni/sdl/src/audio/sun/SDL_sunaudio.c | 566 +- .../jni/sdl/src/audio/sun/SDL_sunaudio.h | 33 +- .../sdl/src/audio/symbian/SDL_epocaudio.cpp | 614 - .../jni/sdl/src/audio/symbian/SDL_epocaudio.h | 37 - .../sdl/src/audio/symbian/streamplayer.cpp | 279 - .../jni/sdl/src/audio/symbian/streamplayer.h | 89 - .../jni/sdl/src/audio/ums/SDL_umsaudio.c | 460 +- .../jni/sdl/src/audio/ums/SDL_umsaudio.h | 8 +- .../jni/sdl/src/audio/windib/SDL_dibaudio.c | 453 +- .../jni/sdl/src/audio/windib/SDL_dibaudio.h | 32 +- .../jni/sdl/src/audio/windx5/SDL_dx5audio.c | 1015 +- .../jni/sdl/src/audio/windx5/SDL_dx5audio.h | 36 +- .../jni/sdl/src/audio/windx5/directx.h | 8 +- .../project/jni/sdl/src/cdrom/SDL_cdrom.c | 341 - .../project/jni/sdl/src/cdrom/SDL_syscdrom.h | 76 - .../jni/sdl/src/cdrom/aix/SDL_syscdrom.c | 660 - .../jni/sdl/src/cdrom/beos/SDL_syscdrom.cc | 412 - .../jni/sdl/src/cdrom/bsdi/SDL_syscdrom.c | 542 - .../jni/sdl/src/cdrom/dc/SDL_syscdrom.c | 167 - .../jni/sdl/src/cdrom/freebsd/SDL_syscdrom.c | 406 - .../jni/sdl/src/cdrom/linux/SDL_syscdrom.c | 564 - .../jni/sdl/src/cdrom/macos/SDL_syscdrom.c | 525 - .../jni/sdl/src/cdrom/macos/SDL_syscdrom_c.h | 140 - .../sdl/src/cdrom/macosx/AudioFilePlayer.c | 360 - .../sdl/src/cdrom/macosx/AudioFilePlayer.h | 178 - .../src/cdrom/macosx/AudioFileReaderThread.c | 610 - .../jni/sdl/src/cdrom/macosx/CDPlayer.c | 637 - .../jni/sdl/src/cdrom/macosx/CDPlayer.h | 69 - .../jni/sdl/src/cdrom/macosx/SDLOSXCAGuard.c | 199 - .../jni/sdl/src/cdrom/macosx/SDLOSXCAGuard.h | 116 - .../jni/sdl/src/cdrom/macosx/SDL_syscdrom.c | 514 - .../jni/sdl/src/cdrom/macosx/SDL_syscdrom_c.h | 136 - .../jni/sdl/src/cdrom/mint/SDL_syscdrom.c | 317 - .../jni/sdl/src/cdrom/openbsd/SDL_syscdrom.c | 416 - .../jni/sdl/src/cdrom/os2/SDL_syscdrom.c | 393 - .../jni/sdl/src/cdrom/osf/SDL_syscdrom.c | 444 - .../jni/sdl/src/cdrom/qnx/SDL_syscdrom.c | 551 - .../jni/sdl/src/cdrom/win32/SDL_syscdrom.c | 386 - .../project/jni/sdl/src/cpuinfo/SDL_cpuinfo.c | 666 +- .../project/jni/sdl/src/events/SDL_active.c | 95 - .../project/jni/sdl/src/events/SDL_events.c | 829 +- .../project/jni/sdl/src/events/SDL_events_c.h | 55 +- .../project/jni/sdl/src/events/SDL_expose.c | 51 - .../project/jni/sdl/src/events/SDL_keyboard.c | 1363 +- .../jni/sdl/src/events/SDL_keyboard_c.h | 65 + .../project/jni/sdl/src/events/SDL_mouse.c | 664 +- .../SDL_sysmouse.cc => events/SDL_mouse_c.h} | 56 +- .../project/jni/sdl/src/events/SDL_quit.c | 78 +- .../project/jni/sdl/src/events/SDL_resize.c | 76 - .../jni/sdl/src/events/SDL_sysevents.h | 18 +- .../jni/sdl/src/events/SDL_windowevents.c | 165 + .../SDL_windowevents_c.h} | 15 +- .../sdl/src/{video => events}/blank_cursor.h | 7 +- .../jni/sdl/src/events/default_cursor.h | 115 + .../jni/sdl/src/events/scancodes_darwin.h | 160 + .../jni/sdl/src/events/scancodes_linux.h | 264 + .../jni/sdl/src/events/scancodes_win32.h | 287 + .../jni/sdl/src/events/scancodes_xfree86.h | 330 + .../project/jni/sdl/src/file/SDL_rwops.c | 964 +- .../src/file/cocoa/SDL_rwopsbundlesupport.h | 9 + .../src/file/cocoa/SDL_rwopsbundlesupport.m | 43 + .../project/jni/sdl/src/haptic/SDL_haptic.c | 707 + .../jni/sdl/src/haptic/SDL_syshaptic.h | 201 + .../jni/sdl/src/haptic/darwin/SDL_syshaptic.c | 1321 ++ .../jni/sdl/src/haptic/dummy/SDL_syshaptic.c | 195 + .../jni/sdl/src/haptic/linux/SDL_syshaptic.c | 993 + .../jni/sdl/src/haptic/nds/SDL_syshaptic.c | 330 + .../jni/sdl/src/haptic/win32/SDL_syshaptic.c | 1379 ++ .../project/jni/sdl/src/hermes/COPYING.LIB | 438 - .../project/jni/sdl/src/hermes/HeadMMX.h | 100 - .../project/jni/sdl/src/hermes/HeadX86.h | 186 - .../project/jni/sdl/src/hermes/README | 13 - .../project/jni/sdl/src/hermes/common.inc | 9 - .../project/jni/sdl/src/hermes/mmx_main.asm | 74 - .../project/jni/sdl/src/hermes/mmxp2_32.asm | 405 - .../project/jni/sdl/src/hermes/x86_main.asm | 75 - .../project/jni/sdl/src/hermes/x86p_16.asm | 490 - .../project/jni/sdl/src/hermes/x86p_32.asm | 1045 - .../jni/sdl/src/joystick/SDL_joystick.c | 773 +- .../jni/sdl/src/joystick/SDL_joystick_c.h | 17 +- .../jni/sdl/src/joystick/SDL_sysjoystick.h | 49 +- .../sdl/src/joystick/beos/SDL_bejoystick.cc | 313 +- .../sdl/src/joystick/bsd/SDL_sysjoystick.c | 777 +- .../sdl/src/joystick/darwin/SDL_sysjoystick.c | 1239 +- .../src/joystick/darwin/SDL_sysjoystick_c.h | 88 + .../jni/sdl/src/joystick/dc/SDL_sysjoystick.c | 193 - .../sdl/src/joystick/dummy/SDL_sysjoystick.c | 40 +- .../iphoneos/SDLUIAccelerationDelegate.h | 45 + .../iphoneos/SDLUIAccelerationDelegate.m | 142 + .../src/joystick/iphoneos/SDL_sysjoystick.m | 125 + .../sdl/src/joystick/linux/SDL_sysjoystick.c | 1707 +- .../linux/SDL_sysjoystick_c.h} | 41 +- .../sdl/src/joystick/macos/SDL_sysjoystick.c | 320 - .../sdl/src/joystick/mint/SDL_sysjoystick.c | 826 - .../sdl/src/joystick/nds/SDL_sysjoystick.c | 188 +- .../sdl/src/joystick/os2/SDL_sysjoystick.c | 668 - .../project/jni/sdl/src/joystick/os2/joyos2.h | 177 - .../sdl/src/joystick/riscos/SDL_sysjoystick.c | 164 +- .../sdl/src/joystick/win32/SDL_dxjoystick.c | 802 + .../sdl/src/joystick/win32/SDL_dxjoystick_c.h | 73 + .../sdl/src/joystick/win32/SDL_mmjoystick.c | 575 +- alienblaster/project/jni/sdl/src/libm/e_log.c | 167 + alienblaster/project/jni/sdl/src/libm/e_pow.c | 342 + .../project/jni/sdl/src/libm/e_rem_pio2.c | 201 + .../sdl/src/{video/e_sqrt.h => libm/e_sqrt.c} | 229 +- alienblaster/project/jni/sdl/src/libm/k_cos.c | 100 + .../project/jni/sdl/src/libm/k_rem_pio2.c | 358 + alienblaster/project/jni/sdl/src/libm/k_sin.c | 87 + alienblaster/project/jni/sdl/src/libm/math.h | 75 + .../sdl/src/{video => libm}/math_private.h | 97 +- .../project/jni/sdl/src/libm/s_copysign.c | 42 + alienblaster/project/jni/sdl/src/libm/s_cos.c | 91 + .../project/jni/sdl/src/libm/s_fabs.c | 39 + .../project/jni/sdl/src/libm/s_floor.c | 96 + .../project/jni/sdl/src/libm/s_scalbn.c | 79 + alienblaster/project/jni/sdl/src/libm/s_sin.c | 91 + .../jni/sdl/src/loadso/beos/SDL_sysloadso.c | 6 +- .../jni/sdl/src/loadso/dlopen/SDL_sysloadso.c | 60 +- .../jni/sdl/src/loadso/dummy/SDL_sysloadso.c | 25 +- .../jni/sdl/src/loadso/macos/SDL_sysloadso.c | 106 - .../jni/sdl/src/loadso/macosx/SDL_dlcompat.c | 1860 +- .../jni/sdl/src/loadso/mint/SDL_sysloadso.c | 62 - .../jni/sdl/src/loadso/os2/SDL_sysloadso.c | 71 - .../jni/sdl/src/loadso/win32/SDL_sysloadso.c | 158 +- .../jni/sdl/src/main/beos/SDL_BeApp.cc | 113 +- .../project/jni/sdl/src/main/beos/SDL_BeApp.h | 3 +- .../jni/sdl/src/main/dummy/SDL_dummy_main.c | 12 +- .../project/jni/sdl/src/main/macos/SDL.r | 1 - .../jni/sdl/src/main/macos/SDL.shlib.r | 1 - .../project/jni/sdl/src/main/macos/SDL_main.c | 610 - .../project/jni/sdl/src/main/macos/SIZE.r | 1 - .../jni/sdl/src/main/macos/exports/Makefile | 39 - .../jni/sdl/src/main/macos/exports/SDL.x | 1 - .../jni/sdl/src/main/macos/exports/gendef.pl | 43 - .../jni/sdl/src/main/macosx/Info.plist.in | 24 - .../project/jni/sdl/src/main/macosx/SDLMain.h | 16 - .../project/jni/sdl/src/main/macosx/SDLMain.m | 381 - .../src/main/macosx/SDLMain.nib/classes.nib | 12 - .../sdl/src/main/macosx/SDLMain.nib/info.nib | 12 - .../src/main/macosx/SDLMain.nib/objects.nib | Bin 1701 -> 0 bytes .../project/jni/sdl/src/main/macosx/info.nib | 1 - .../sdl/src/main/qtopia/SDL_qtopia_main.cc | 47 - .../sdl/src/main/symbian/EKA1/SDL_main.cpp | 152 - .../sdl/src/main/symbian/EKA2/SDL_main.cpp | 1035 - .../jni/sdl/src/main/symbian/EKA2/sdlexe.cpp | 809 - .../jni/sdl/src/main/symbian/EKA2/sdllib.cpp | 12 - .../src/main/symbian/EKA2/vectorbuffer.cpp | 62 - .../sdl/src/main/symbian/EKA2/vectorbuffer.h | 240 - .../jni/sdl/src/main/win32/SDL_win32_main.c | 456 +- .../project/jni/sdl/src/main/win32/version.rc | 8 +- .../project/jni/sdl/src/power/SDL_power.c | 112 + .../jni/sdl/src/power/beos/SDL_syspower.c | 125 + .../jni/sdl/src/power/linux/SDL_syspower.c | 438 + .../jni/sdl/src/power/macosx/SDL_syspower.c | 193 + .../jni/sdl/src/power/nds/SDL_syspower.c | 45 + .../jni/sdl/src/power/uikit/SDL_syspower.m | 100 + .../jni/sdl/src/power/windows/SDL_syspower.c | 77 + .../project/jni/sdl/src/stdlib/SDL_getenv.c | 380 +- .../project/jni/sdl/src/stdlib/SDL_iconv.c | 1560 +- .../project/jni/sdl/src/stdlib/SDL_malloc.c | 4164 ++-- .../project/jni/sdl/src/stdlib/SDL_qsort.c | 276 +- .../project/jni/sdl/src/stdlib/SDL_stdlib.c | 1098 +- .../project/jni/sdl/src/stdlib/SDL_string.c | 1062 +- .../jni/sdl/src/thread/SDL_systhread.h | 15 +- .../project/jni/sdl/src/thread/SDL_thread.c | 388 +- .../project/jni/sdl/src/thread/SDL_thread_c.h | 28 +- .../jni/sdl/src/thread/beos/SDL_syssem.c | 170 +- .../jni/sdl/src/thread/beos/SDL_systhread.c | 81 +- .../jni/sdl/src/thread/beos/SDL_systhread_c.h | 8 +- .../jni/sdl/src/thread/dc/SDL_syscond.c | 215 - .../jni/sdl/src/thread/dc/SDL_sysmutex.c | 122 - .../jni/sdl/src/thread/dc/SDL_syssem.c | 173 - .../jni/sdl/src/thread/dc/SDL_systhread_c.h | 24 - .../jni/sdl/src/thread/generic/SDL_syscond.c | 258 +- .../jni/sdl/src/thread/generic/SDL_sysmutex.c | 151 +- .../sdl/src/thread/generic/SDL_sysmutex_c.h | 4 +- .../jni/sdl/src/thread/generic/SDL_syssem.c | 247 +- .../sdl/src/thread/generic/SDL_systhread.c | 30 +- .../sdl/src/thread/generic/SDL_systhread_c.h | 16 +- .../jni/sdl/src/thread/irix/SDL_syssem.c | 254 +- .../jni/sdl/src/thread/irix/SDL_systhread.c | 65 +- .../jni/sdl/src/thread/irix/SDL_systhread_c.h | 15 +- .../jni/sdl/src/thread/nds/SDL_syscond.c | 229 + .../src/thread/{dc => nds}/SDL_syscond_c.h | 7 +- .../jni/sdl/src/thread/nds/SDL_sysmutex.c | 142 + .../src/thread/{dc => nds}/SDL_sysmutex_c.h | 7 +- .../jni/sdl/src/thread/nds/SDL_syssem.c | 228 + .../sdl/src/thread/{dc => nds}/SDL_syssem_c.h | 7 +- .../src/thread/{dc => nds}/SDL_systhread.c | 45 +- .../thread/nds/SDL_systhread_c.h} | 12 +- .../jni/sdl/src/thread/os2/SDL_syscond.c | 215 - .../jni/sdl/src/thread/os2/SDL_syscond_c.h | 23 - .../jni/sdl/src/thread/os2/SDL_sysmutex.c | 108 - .../jni/sdl/src/thread/os2/SDL_syssem.c | 192 - .../jni/sdl/src/thread/os2/SDL_systhread.c | 108 - .../jni/sdl/src/thread/os2/SDL_systhread_c.h | 28 - .../jni/sdl/src/thread/pth/SDL_syscond.c | 164 - .../jni/sdl/src/thread/pth/SDL_sysmutex.c | 87 - .../jni/sdl/src/thread/pth/SDL_systhread.c | 103 - .../jni/sdl/src/thread/pth/SDL_systhread_c.h | 31 - .../jni/sdl/src/thread/pthread/SDL_syscond.c | 178 +- .../jni/sdl/src/thread/pthread/SDL_sysmutex.c | 182 +- .../sdl/src/thread/pthread/SDL_sysmutex_c.h | 8 +- .../jni/sdl/src/thread/pthread/SDL_syssem.c | 184 +- .../sdl/src/thread/pthread/SDL_systhread.c | 110 +- .../sdl/src/thread/pthread/SDL_systhread_c.h | 16 +- .../jni/sdl/src/thread/riscos/SDL_syscond.c | 177 +- .../jni/sdl/src/thread/riscos/SDL_sysmutex.c | 178 +- .../sdl/src/thread/riscos/SDL_sysmutex_c.h | 8 +- .../jni/sdl/src/thread/riscos/SDL_syssem.c | 235 +- .../jni/sdl/src/thread/riscos/SDL_systhread.c | 135 +- .../sdl/src/thread/riscos/SDL_systhread_c.h | 16 +- .../sdl/src/thread/symbian/SDL_sysmutex.cpp | 130 - .../jni/sdl/src/thread/symbian/SDL_syssem.cpp | 214 - .../sdl/src/thread/symbian/SDL_systhread.cpp | 146 - .../sdl/src/thread/symbian/SDL_systhread_c.h | 30 - .../jni/sdl/src/thread/win32/SDL_sysmutex.c | 101 +- .../jni/sdl/src/thread/win32/SDL_syssem.c | 184 +- .../jni/sdl/src/thread/win32/SDL_systhread.c | 163 +- .../sdl/src/thread/win32/SDL_systhread_c.h | 15 +- .../sdl/src/thread/win32/win_ce_semaphore.c | 262 +- .../sdl/src/thread/win32/win_ce_semaphore.h | 27 +- .../project/jni/sdl/src/timer/SDL_systimer.h | 3 +- .../project/jni/sdl/src/timer/SDL_timer.c | 399 +- .../project/jni/sdl/src/timer/SDL_timer_c.h | 3 +- .../jni/sdl/src/timer/beos/SDL_systimer.c | 75 +- .../jni/sdl/src/timer/dc/SDL_systimer.c | 100 - .../jni/sdl/src/timer/dummy/SDL_systimer.c | 73 +- .../jni/sdl/src/timer/macos/FastTimes.c | 352 - .../jni/sdl/src/timer/macos/FastTimes.h | 27 - .../jni/sdl/src/timer/macos/SDL_MPWtimer.c | 152 - .../jni/sdl/src/timer/macos/SDL_systimer.c | 186 - .../jni/sdl/src/timer/mint/SDL_systimer.c | 147 - .../jni/sdl/src/timer/mint/SDL_vbltimer.S | 159 - .../jni/sdl/src/timer/mint/SDL_vbltimer_s.h | 35 - .../jni/sdl/src/timer/nds/SDL_systimer.c | 95 +- .../jni/sdl/src/timer/os2/SDL_systimer.c | 227 - .../jni/sdl/src/timer/riscos/SDL_systimer.c | 207 +- .../sdl/src/timer/symbian/SDL_systimer.cpp | 114 - .../jni/sdl/src/timer/unix/SDL_systimer.c | 225 +- .../jni/sdl/src/timer/win32/SDL_systimer.c | 143 +- .../jni/sdl/src/timer/wince/SDL_systimer.c | 195 +- .../project/jni/sdl/src/video/SDL_RLEaccel.c | 1645 +- .../jni/sdl/src/video/SDL_RLEaccel_c.h | 15 +- .../project/jni/sdl/src/video/SDL_alphamult.c | 60 + .../project/jni/sdl/src/video/SDL_alphamult.h | 38 + .../jni/sdl/src/video/SDL_blendfillrect.c | 347 + .../project/jni/sdl/src/video/SDL_blendline.c | 780 + .../jni/sdl/src/video/SDL_blendpoint.c | 344 + .../project/jni/sdl/src/video/SDL_blendrect.c | 75 + .../project/jni/sdl/src/video/SDL_blit.c | 536 +- .../project/jni/sdl/src/video/SDL_blit.h | 347 +- .../project/jni/sdl/src/video/SDL_blit_0.c | 807 +- .../project/jni/sdl/src/video/SDL_blit_1.c | 643 +- .../project/jni/sdl/src/video/SDL_blit_A.c | 2523 +-- .../project/jni/sdl/src/video/SDL_blit_N.c | 3245 ++-- .../project/jni/sdl/src/video/SDL_blit_auto.c | 8014 ++++++++ .../project/jni/sdl/src/video/SDL_blit_auto.h | 31 + .../project/jni/sdl/src/video/SDL_blit_copy.c | 169 + .../video/SDL_blit_copy.h} | 11 +- .../project/jni/sdl/src/video/SDL_blit_slow.c | 170 + .../{dga/SDL_dgamouse_c.h => SDL_blit_slow.h} | 6 +- .../project/jni/sdl/src/video/SDL_bmp.c | 929 +- .../project/jni/sdl/src/video/SDL_cursor.c | 758 - .../project/jni/sdl/src/video/SDL_cursor_c.h | 73 - .../project/jni/sdl/src/video/SDL_draw.h | 576 + .../project/jni/sdl/src/video/SDL_drawline.c | 208 + .../project/jni/sdl/src/video/SDL_drawpoint.c | 116 + .../project/jni/sdl/src/video/SDL_drawrect.c | 74 + .../project/jni/sdl/src/video/SDL_fillrect.c | 432 + .../project/jni/sdl/src/video/SDL_gamma.c | 369 +- .../project/jni/sdl/src/video/SDL_glesfuncs.h | 229 + .../project/jni/sdl/src/video/SDL_glfuncs.h | 786 +- .../project/jni/sdl/src/video/SDL_leaks.h | 3 +- .../project/jni/sdl/src/video/SDL_pixels.c | 1307 +- .../project/jni/sdl/src/video/SDL_pixels_c.h | 30 +- .../project/jni/sdl/src/video/SDL_rect.c | 405 + .../project/jni/sdl/src/video/SDL_rect_c.h | 40 + .../jni/sdl/src/video/SDL_renderer_gl.c | 1559 ++ .../jni/sdl/src/video/SDL_renderer_gl.h | 28 + .../jni/sdl/src/video/SDL_renderer_gles.c | 977 + .../SDL_romvideo.h => SDL_renderer_gles.h} | 9 +- .../jni/sdl/src/video/SDL_renderer_sw.c | 958 + .../jni/sdl/src/video/SDL_renderer_sw.h | 31 + .../project/jni/sdl/src/video/SDL_stretch.c | 452 +- .../project/jni/sdl/src/video/SDL_stretch_c.h | 29 - .../project/jni/sdl/src/video/SDL_surface.c | 1693 +- .../project/jni/sdl/src/video/SDL_sysvideo.h | 720 +- .../project/jni/sdl/src/video/SDL_video.c | 5065 +++-- .../project/jni/sdl/src/video/SDL_yuv.c | 150 - .../project/jni/sdl/src/video/SDL_yuv_mmx.c | 606 +- .../project/jni/sdl/src/video/SDL_yuv_sw.c | 1569 +- .../project/jni/sdl/src/video/SDL_yuv_sw_c.h | 47 +- .../project/jni/sdl/src/video/SDL_yuvfuncs.h | 37 - .../project/jni/sdl/src/video/Xext/XME/xme.c | 530 +- .../sdl/src/video/Xext/Xinerama/Xinerama.c | 313 +- .../sdl/src/video/Xext/XmuStdCmap/AllCmap.c | 159 + .../sdl/src/video/Xext/XmuStdCmap/CmapAlloc.c | 337 + .../sdl/src/video/Xext/XmuStdCmap/CrCmap.c | 531 + .../sdl/src/video/Xext/XmuStdCmap/DelCmap.c | 71 + .../sdl/src/video/Xext/XmuStdCmap/Distinct.c | 90 + .../src/video/Xext/XmuStdCmap/LookupCmap.c | 323 + .../sdl/src/video/Xext/XmuStdCmap/StdCmap.c | 236 + .../sdl/src/video/Xext/XmuStdCmap/VisCmap.c | 184 + .../project/jni/sdl/src/video/Xext/Xv/Xv.c | 1774 +- .../jni/sdl/src/video/Xext/Xv/Xvlibint.h | 3 +- .../jni/sdl/src/video/Xext/Xxf86dga/XF86DGA.c | 721 - .../sdl/src/video/Xext/Xxf86dga/XF86DGA2.c | 993 - .../sdl/src/video/Xext/Xxf86vm/XF86VMode.c | 1367 +- .../sdl/src/video/Xext/extensions/StdCmap.h | 80 + .../jni/sdl/src/video/Xext/extensions/Xext.h | 20 +- .../sdl/src/video/Xext/extensions/Xinerama.h | 37 +- .../jni/sdl/src/video/Xext/extensions/Xv.h | 2 +- .../jni/sdl/src/video/Xext/extensions/Xvlib.h | 572 +- .../sdl/src/video/Xext/extensions/Xvproto.h | 814 +- .../sdl/src/video/Xext/extensions/extutil.h | 174 +- .../src/video/Xext/extensions/panoramiXext.h | 28 +- .../video/Xext/extensions/panoramiXproto.h | 232 +- .../sdl/src/video/Xext/extensions/xf86dga.h | 284 +- .../sdl/src/video/Xext/extensions/xf86dga1.h | 158 +- .../src/video/Xext/extensions/xf86dga1str.h | 274 +- .../src/video/Xext/extensions/xf86dgastr.h | 510 +- .../sdl/src/video/Xext/extensions/xf86vmode.h | 336 +- .../sdl/src/video/Xext/extensions/xf86vmstr.h | 815 +- .../jni/sdl/src/video/Xext/extensions/xme.h | 45 - .../jni/sdl/src/video/aalib/SDL_aaevents.c | 202 - .../jni/sdl/src/video/aalib/SDL_aaevents_c.h | 35 - .../jni/sdl/src/video/aalib/SDL_aavideo.c | 388 - .../jni/sdl/src/video/aalib/SDL_aavideo.h | 66 - .../sdl/src/video/android/SDL_androidinput.c | 261 +- .../sdl/src/video/android/SDL_androidvideo.c | 548 +- .../sdl/src/video/android/SDL_androidvideo.h | 5 +- .../sdl/src/video/ataricommon/SDL_ataric2p.S | 447 - .../src/video/ataricommon/SDL_ataric2p_s.h | 75 - .../src/video/ataricommon/SDL_ataridevmouse.c | 159 - .../sdl/src/video/ataricommon/SDL_atarieddi.S | 42 - .../src/video/ataricommon/SDL_atarieddi_s.h | 54 - .../src/video/ataricommon/SDL_atarievents.c | 239 - .../src/video/ataricommon/SDL_atarievents_c.h | 65 - .../sdl/src/video/ataricommon/SDL_atarigl.c | 1088 -- .../sdl/src/video/ataricommon/SDL_atarigl_c.h | 109 - .../sdl/src/video/ataricommon/SDL_atarikeys.h | 140 - .../src/video/ataricommon/SDL_biosevents.c | 131 - .../src/video/ataricommon/SDL_biosevents_c.h | 42 - .../src/video/ataricommon/SDL_gemdosevents.c | 139 - .../video/ataricommon/SDL_gemdosevents_c.h | 42 - .../src/video/ataricommon/SDL_ikbdevents.c | 126 - .../src/video/ataricommon/SDL_ikbdevents_c.h | 42 - .../src/video/ataricommon/SDL_ikbdinterrupt.S | 260 - .../video/ataricommon/SDL_ikbdinterrupt_s.h | 61 - .../src/video/ataricommon/SDL_xbiosevents.c | 154 - .../src/video/ataricommon/SDL_xbiosevents_c.h | 48 - .../video/ataricommon/SDL_xbiosinterrupt.S | 172 - .../video/ataricommon/SDL_xbiosinterrupt_s.h | 52 - .../jni/sdl/src/video/bwindow/SDL_BView.h | 167 +- .../jni/sdl/src/video/bwindow/SDL_BWin.h | 733 +- .../jni/sdl/src/video/bwindow/SDL_lowvideo.h | 26 +- .../sdl/src/video/bwindow/SDL_sysevents.cc | 369 +- .../sdl/src/video/bwindow/SDL_sysevents_c.h | 3 +- .../jni/sdl/src/video/bwindow/SDL_sysmouse.cc | 208 +- .../sdl/src/video/bwindow/SDL_sysmouse_c.h | 12 +- .../jni/sdl/src/video/bwindow/SDL_sysvideo.cc | 1425 +- .../jni/sdl/src/video/bwindow/SDL_syswm.cc | 85 +- .../jni/sdl/src/video/bwindow/SDL_syswm_c.h | 6 +- .../jni/sdl/src/video/bwindow/SDL_sysyuv.cc | 520 +- .../jni/sdl/src/video/bwindow/SDL_sysyuv.h | 37 +- .../jni/sdl/src/video/caca/SDL_cacaevents.c | 101 - .../jni/sdl/src/video/caca/SDL_cacaevents_c.h | 35 - .../jni/sdl/src/video/caca/SDL_cacavideo.c | 304 - .../jni/sdl/src/video/caca/SDL_cacavideo.h | 76 - .../SDL_cocoaevents.h} | 15 +- .../jni/sdl/src/video/cocoa/SDL_cocoaevents.m | 228 + .../cocoa/SDL_cocoakeyboard.h} | 25 +- .../sdl/src/video/cocoa/SDL_cocoakeyboard.m | 731 + .../SDL_vglmouse.c => cocoa/SDL_cocoamodes.h} | 43 +- .../jni/sdl/src/video/cocoa/SDL_cocoamodes.m | 333 + .../SDL_dgamouse.c => cocoa/SDL_cocoamouse.h} | 18 +- .../jni/sdl/src/video/cocoa/SDL_cocoamouse.m | 112 + .../SDL_macgl_c.h => cocoa/SDL_cocoaopengl.h} | 47 +- .../jni/sdl/src/video/cocoa/SDL_cocoaopengl.m | 307 + .../jni/sdl/src/video/cocoa/SDL_cocoavideo.h | 67 + .../jni/sdl/src/video/cocoa/SDL_cocoavideo.m | 178 + .../jni/sdl/src/video/cocoa/SDL_cocoawindow.h | 99 + .../jni/sdl/src/video/cocoa/SDL_cocoawindow.m | 616 + .../jni/sdl/src/video/dc/SDL_dcevents.c | 152 - .../jni/sdl/src/video/dc/SDL_dcvideo.c | 445 - .../jni/sdl/src/video/default_cursor.h | 116 - .../jni/sdl/src/video/dga/SDL_dgaevents.c | 163 - .../jni/sdl/src/video/dga/SDL_dgavideo.c | 1101 -- .../jni/sdl/src/video/dga/SDL_dgavideo.h | 124 - .../sdl/src/video/directfb/SDL_DirectFB_WM.c | 360 + .../sdl/src/video/directfb/SDL_DirectFB_WM.h | 58 + .../sdl/src/video/directfb/SDL_DirectFB_dyn.c | 112 + .../sdl/src/video/directfb/SDL_DirectFB_dyn.h | 41 + .../src/video/directfb/SDL_DirectFB_events.c | 867 +- .../src/video/directfb/SDL_DirectFB_events.h | 9 +- .../src/video/directfb/SDL_DirectFB_keys.h | 135 - .../src/video/directfb/SDL_DirectFB_modes.c | 503 + .../src/video/directfb/SDL_DirectFB_modes.h | 57 + .../src/video/directfb/SDL_DirectFB_mouse.c | 242 + .../src/video/directfb/SDL_DirectFB_mouse.h | 43 + .../src/video/directfb/SDL_DirectFB_opengl.c | 296 + .../src/video/directfb/SDL_DirectFB_opengl.h | 55 + .../src/video/directfb/SDL_DirectFB_render.c | 1102 ++ .../src/video/directfb/SDL_DirectFB_render.h | 30 + .../src/video/directfb/SDL_DirectFB_video.c | 1297 +- .../src/video/directfb/SDL_DirectFB_video.h | 150 +- .../src/video/directfb/SDL_DirectFB_window.c | 453 + .../src/video/directfb/SDL_DirectFB_window.h | 76 + .../sdl/src/video/directfb/SDL_DirectFB_yuv.c | 290 - .../jni/sdl/src/video/dummy/SDL_nullevents.c | 16 +- .../sdl/src/video/dummy/SDL_nullevents_c.h | 9 +- .../jni/sdl/src/video/dummy/SDL_nullrender.c | 344 + .../SDL_nullrender_c.h} | 9 +- .../jni/sdl/src/video/dummy/SDL_nullvideo.c | 216 +- .../jni/sdl/src/video/dummy/SDL_nullvideo.h | 15 +- .../project/jni/sdl/src/video/e_log.h | 140 - .../project/jni/sdl/src/video/e_pow.h | 302 - .../jni/sdl/src/video/fbcon/3dfx_mmio.h | 4 +- .../jni/sdl/src/video/fbcon/3dfx_regs.h | 4 +- .../jni/sdl/src/video/fbcon/SDL_fb3dfx.c | 306 +- .../jni/sdl/src/video/fbcon/SDL_fb3dfx.h | 3 +- .../jni/sdl/src/video/fbcon/SDL_fbelo.c | 524 +- .../jni/sdl/src/video/fbcon/SDL_fbelo.h | 13 +- .../jni/sdl/src/video/fbcon/SDL_fbevents.c | 2166 ++- .../jni/sdl/src/video/fbcon/SDL_fbevents_c.h | 3 +- .../jni/sdl/src/video/fbcon/SDL_fbkeys.h | 14 +- .../jni/sdl/src/video/fbcon/SDL_fbmatrox.c | 399 +- .../jni/sdl/src/video/fbcon/SDL_fbmatrox.h | 3 +- .../jni/sdl/src/video/fbcon/SDL_fbmouse.c | 8 +- .../jni/sdl/src/video/fbcon/SDL_fbmouse_c.h | 3 +- .../jni/sdl/src/video/fbcon/SDL_fbriva.c | 293 +- .../jni/sdl/src/video/fbcon/SDL_fbriva.h | 3 +- .../jni/sdl/src/video/fbcon/SDL_fbvideo.c | 3016 ++- .../jni/sdl/src/video/fbcon/SDL_fbvideo.h | 155 +- .../jni/sdl/src/video/fbcon/matrox_mmio.h | 4 +- .../jni/sdl/src/video/fbcon/matrox_regs.h | 10 +- .../jni/sdl/src/video/fbcon/riva_mmio.h | 98 +- .../jni/sdl/src/video/fbcon/riva_regs.h | 4 +- .../jni/sdl/src/video/gapi/SDL_gapivideo.c | 1287 -- .../jni/sdl/src/video/gapi/SDL_gapivideo.h | 160 - .../jni/sdl/src/video/gem/SDL_gemevents.c | 370 - .../jni/sdl/src/video/gem/SDL_gemevents_c.h | 33 - .../jni/sdl/src/video/gem/SDL_gemmouse.c | 204 - .../jni/sdl/src/video/gem/SDL_gemmouse_c.h | 34 - .../jni/sdl/src/video/gem/SDL_gemvideo.c | 1340 -- .../jni/sdl/src/video/gem/SDL_gemvideo.h | 191 - .../project/jni/sdl/src/video/gem/SDL_gemwm.c | 116 - .../jni/sdl/src/video/gem/SDL_gemwm_c.h | 37 - .../jni/sdl/src/video/ggi/SDL_ggievents.c | 264 - .../jni/sdl/src/video/ggi/SDL_ggikeys.h | 135 - .../jni/sdl/src/video/ggi/SDL_ggimouse.c | 32 - .../jni/sdl/src/video/ggi/SDL_ggimouse_c.h | 26 - .../jni/sdl/src/video/ggi/SDL_ggivideo.c | 378 - .../jni/sdl/src/video/ipod/SDL_ipodvideo.c | 733 - .../sdl/src/video/maccommon/SDL_lowvideo.h | 102 - .../sdl/src/video/maccommon/SDL_macevents.c | 746 - .../sdl/src/video/maccommon/SDL_macevents_c.h | 32 - .../jni/sdl/src/video/maccommon/SDL_macgl.c | 197 - .../jni/sdl/src/video/maccommon/SDL_mackeys.h | 140 - .../sdl/src/video/maccommon/SDL_macmouse.c | 129 - .../sdl/src/video/maccommon/SDL_macmouse_c.h | 34 - .../jni/sdl/src/video/maccommon/SDL_macwm.c | 442 - .../jni/sdl/src/video/maccommon/SDL_macwm_c.h | 41 - .../jni/sdl/src/video/macdsp/SDL_dspvideo.c | 1422 -- .../jni/sdl/src/video/macdsp/SDL_dspvideo.h | 54 - .../jni/sdl/src/video/macrom/SDL_romvideo.c | 745 - alienblaster/project/jni/sdl/src/video/mmx.h | 266 +- .../jni/sdl/src/video/nanox/SDL_nxevents.c | 382 - .../jni/sdl/src/video/nanox/SDL_nxevents_c.h | 32 - .../jni/sdl/src/video/nanox/SDL_nximage.c | 230 - .../jni/sdl/src/video/nanox/SDL_nximage_c.h | 35 - .../jni/sdl/src/video/nanox/SDL_nxmodes.c | 84 - .../jni/sdl/src/video/nanox/SDL_nxmodes_c.h | 34 - .../jni/sdl/src/video/nanox/SDL_nxmouse.c | 79 - .../jni/sdl/src/video/nanox/SDL_nxmouse_c.h | 29 - .../jni/sdl/src/video/nanox/SDL_nxvideo.c | 544 - .../jni/sdl/src/video/nanox/SDL_nxvideo.h | 96 - .../jni/sdl/src/video/nanox/SDL_nxwm.c | 61 - .../jni/sdl/src/video/nanox/SDL_nxwm_c.h | 32 - .../jni/sdl/src/video/nds/SDL_ndsevents.c | 73 +- .../jni/sdl/src/video/nds/SDL_ndsevents_c.h | 27 +- .../jni/sdl/src/video/nds/SDL_ndsmouse.c | 34 - .../jni/sdl/src/video/nds/SDL_ndsmouse_c.h | 26 - .../jni/sdl/src/video/nds/SDL_ndsrender.c | 598 + .../jni/sdl/src/video/nds/SDL_ndsrender_c.h | 28 + .../jni/sdl/src/video/nds/SDL_ndsvideo.c | 534 +- .../jni/sdl/src/video/nds/SDL_ndsvideo.h | 36 +- .../jni/sdl/src/video/os2fslib/SDL_os2fslib.c | 3018 --- .../jni/sdl/src/video/os2fslib/SDL_os2fslib.h | 71 - .../jni/sdl/src/video/os2fslib/SDL_vkeys.h | 74 - .../jni/sdl/src/video/pandora/SDL_pandora.c | 871 + .../jni/sdl/src/video/pandora/SDL_pandora.h | 110 + .../SDL_pandora_events.c} | 19 +- .../SDL_pandora_events.h} | 6 +- .../jni/sdl/src/video/photon/SDL_ph_events.c | 624 - .../jni/sdl/src/video/photon/SDL_ph_gl.c | 406 - .../jni/sdl/src/video/photon/SDL_ph_gl.h | 41 - .../jni/sdl/src/video/photon/SDL_ph_image.c | 1059 - .../jni/sdl/src/video/photon/SDL_ph_image_c.h | 59 - .../jni/sdl/src/video/photon/SDL_ph_modes.c | 390 - .../jni/sdl/src/video/photon/SDL_ph_modes_c.h | 43 - .../jni/sdl/src/video/photon/SDL_ph_mouse.c | 220 - .../jni/sdl/src/video/photon/SDL_ph_mouse_c.h | 39 - .../jni/sdl/src/video/photon/SDL_ph_video.c | 648 - .../jni/sdl/src/video/photon/SDL_ph_video.h | 157 - .../jni/sdl/src/video/photon/SDL_ph_wm.c | 118 - .../jni/sdl/src/video/photon/SDL_ph_wm_c.h | 37 - .../jni/sdl/src/video/photon/SDL_photon.c | 2852 +++ .../jni/sdl/src/video/photon/SDL_photon.h | 180 + .../sdl/src/video/photon/SDL_photon_input.c | 726 + .../SDL_photon_input.h} | 42 +- .../src/video/photon/SDL_photon_keycodes.h | 125 + .../src/video/photon/SDL_photon_pixelfmt.c | 218 + .../SDL_photon_pixelfmt.h} | 36 +- .../sdl/src/video/photon/SDL_photon_render.c | 1691 ++ .../sdl/src/video/photon/SDL_photon_render.h | 76 + .../jni/sdl/src/video/photon/SDL_phyuv.c | 504 - .../jni/sdl/src/video/photon/SDL_phyuv_c.h | 62 - .../jni/sdl/src/video/picogui/SDL_pgevents.c | 117 - .../sdl/src/video/picogui/SDL_pgevents_c.h | 37 - .../jni/sdl/src/video/picogui/SDL_pgvideo.c | 364 - .../jni/sdl/src/video/ps2gs/SDL_gsevents.c | 977 - .../jni/sdl/src/video/ps2gs/SDL_gsevents_c.h | 38 - .../jni/sdl/src/video/ps2gs/SDL_gskeys.h | 139 - .../jni/sdl/src/video/ps2gs/SDL_gsmouse.c | 146 - .../jni/sdl/src/video/ps2gs/SDL_gsvideo.c | 689 - .../jni/sdl/src/video/ps2gs/SDL_gsvideo.h | 95 - .../jni/sdl/src/video/ps2gs/SDL_gsyuv.c | 461 - .../jni/sdl/src/video/ps2gs/SDL_gsyuv_c.h | 37 - .../jni/sdl/src/video/ps3/SDL_ps3events.c | 56 +- .../jni/sdl/src/video/ps3/SDL_ps3events_c.h | 53 +- .../jni/sdl/src/video/ps3/SDL_ps3modes.c | 143 + .../jni/sdl/src/video/ps3/SDL_ps3modes_c.h | 34 + .../jni/sdl/src/video/ps3/SDL_ps3render.c | 747 + .../jni/sdl/src/video/ps3/SDL_ps3render_c.h | 29 + .../jni/sdl/src/video/ps3/SDL_ps3spe.c | 166 + .../jni/sdl/src/video/ps3/SDL_ps3spe_c.h | 87 + .../jni/sdl/src/video/ps3/SDL_ps3video.c | 773 +- .../jni/sdl/src/video/ps3/SDL_ps3video.h | 170 +- .../jni/sdl/src/video/ps3/SDL_ps3yuv.c | 340 - .../jni/sdl/src/video/ps3/SDL_ps3yuv_c.h | 44 - .../jni/sdl/src/video/ps3/spulibs/Makefile | 96 +- .../{yuv2rgb_converter.c => yuv2rgb.c} | 61 +- .../jni/sdl/src/video/qnxgf/SDL_gf_input.c | 1144 ++ .../jni/sdl/src/video/qnxgf/SDL_gf_input.h | 165 + .../jni/sdl/src/video/qnxgf/SDL_gf_opengles.c | 54 + .../jni/sdl/src/video/qnxgf/SDL_gf_opengles.h | 39 + .../jni/sdl/src/video/qnxgf/SDL_gf_pixelfmt.c | 187 + .../SDL_dcvideo.h => qnxgf/SDL_gf_pixelfmt.h} | 27 +- .../jni/sdl/src/video/qnxgf/SDL_gf_render.c | 425 + .../jni/sdl/src/video/qnxgf/SDL_gf_render.h | 57 + .../sdl/src/video/qnxgf/SDL_hiddi_joystick.h | 32 + .../sdl/src/video/qnxgf/SDL_hiddi_keyboard.h | 159 + .../jni/sdl/src/video/qnxgf/SDL_hiddi_mouse.h | 69 + .../jni/sdl/src/video/qnxgf/SDL_qnxgf.c | 1934 ++ .../jni/sdl/src/video/qnxgf/SDL_qnxgf.h | 163 + .../jni/sdl/src/video/qtopia/SDL_QPEApp.cc | 63 - .../jni/sdl/src/video/qtopia/SDL_QPEApp.h | 33 - .../jni/sdl/src/video/qtopia/SDL_QWin.cc | 527 - .../jni/sdl/src/video/qtopia/SDL_QWin.h | 110 - .../jni/sdl/src/video/qtopia/SDL_lowvideo.h | 65 - .../jni/sdl/src/video/qtopia/SDL_sysevents.cc | 269 - .../sdl/src/video/qtopia/SDL_sysevents_c.h | 31 - .../jni/sdl/src/video/qtopia/SDL_sysvideo.cc | 403 - .../project/jni/sdl/src/video/quartz/CGS.h | 84 - .../sdl/src/video/quartz/SDL_QuartzEvents.m | 996 - .../jni/sdl/src/video/quartz/SDL_QuartzGL.m | 292 - .../jni/sdl/src/video/quartz/SDL_QuartzKeys.h | 146 - .../sdl/src/video/quartz/SDL_QuartzVideo.h | 228 - .../sdl/src/video/quartz/SDL_QuartzVideo.m | 1368 -- .../jni/sdl/src/video/quartz/SDL_QuartzWM.h | 27 - .../jni/sdl/src/video/quartz/SDL_QuartzWM.m | 440 - .../sdl/src/video/quartz/SDL_QuartzWindow.h | 51 - .../sdl/src/video/quartz/SDL_QuartzWindow.m | 231 - .../video/riscos/SDL_riscosFullScreenVideo.c | 1063 +- .../sdl/src/video/riscos/SDL_riscosevents.c | 811 +- .../sdl/src/video/riscos/SDL_riscosevents_c.h | 4 +- .../sdl/src/video/riscos/SDL_riscosmouse.c | 451 +- .../sdl/src/video/riscos/SDL_riscosmouse_c.h | 26 +- .../sdl/src/video/riscos/SDL_riscossprite.c | 344 +- .../jni/sdl/src/video/riscos/SDL_riscostask.c | 313 +- .../jni/sdl/src/video/riscos/SDL_riscostask.h | 16 +- .../sdl/src/video/riscos/SDL_riscosvideo.c | 355 +- .../sdl/src/video/riscos/SDL_riscosvideo.h | 24 +- .../jni/sdl/src/video/riscos/SDL_wimppoll.c | 422 +- .../jni/sdl/src/video/riscos/SDL_wimpvideo.c | 678 +- .../project/jni/sdl/src/video/sdlgenblit.pl | 480 + .../jni/sdl/src/video/svga/SDL_svgaevents.c | 632 +- .../jni/sdl/src/video/svga/SDL_svgaevents_c.h | 5 +- .../jni/sdl/src/video/svga/SDL_svgamouse.c | 8 +- .../jni/sdl/src/video/svga/SDL_svgamouse_c.h | 3 +- .../jni/sdl/src/video/svga/SDL_svgavideo.c | 878 +- .../jni/sdl/src/video/svga/SDL_svgavideo.h | 27 +- .../src/video/symbian/EKA1/SDL_epocevents.cpp | 626 - .../src/video/symbian/EKA1/SDL_epocvideo.cpp | 1356 -- .../src/video/symbian/EKA1/SDL_epocvideo.h | 34 - .../src/video/symbian/EKA2/SDL_epocevents.cpp | 521 - .../src/video/symbian/EKA2/SDL_epocvideo.cpp | 594 - .../src/video/symbian/EKA2/SDL_epocvideo.h | 51 - .../jni/sdl/src/video/symbian/EKA2/dsa.cpp | 1505 -- .../sdl/src/video/symbian/EKA2/dsa_new.cpp | 1443 -- .../sdl/src/video/symbian/EKA2/dsa_old.cpp | 1075 - .../sdl/src/video/symbian/SDL_epocevents_c.h | 60 - .../src/video/uikit/SDL_uikitappdelegate.h | 33 + .../src/video/uikit/SDL_uikitappdelegate.m | 144 + .../SDL_uikitevents.h} | 8 +- .../jni/sdl/src/video/uikit/SDL_uikitevents.m | 57 + .../SDL_uikitkeyboard.h} | 22 +- .../sdl/src/video/uikit/SDL_uikitopengles.h | 38 + .../sdl/src/video/uikit/SDL_uikitopengles.m | 142 + .../sdl/src/video/uikit/SDL_uikitopenglview.h | 65 + .../sdl/src/video/uikit/SDL_uikitopenglview.m | 164 + .../SDL_aamouse.c => uikit/SDL_uikitvideo.h} | 18 +- .../jni/sdl/src/video/uikit/SDL_uikitvideo.m | 252 + .../jni/sdl/src/video/uikit/SDL_uikitview.h | 64 + .../jni/sdl/src/video/uikit/SDL_uikitview.m | 403 + .../SDL_uikitwindow.h} | 34 +- .../jni/sdl/src/video/uikit/SDL_uikitwindow.m | 166 + .../jni/sdl/src/video/uikit/jumphack.c | 19 + .../jni/sdl/src/video/uikit/jumphack.h | 16 + .../jni/sdl/src/video/uikit/keyinfotable.h | 175 + .../jni/sdl/src/video/vgl/SDL_vglevents.c | 299 - .../jni/sdl/src/video/vgl/SDL_vglevents_c.h | 155 - .../jni/sdl/src/video/vgl/SDL_vglmouse_c.h | 32 - .../jni/sdl/src/video/vgl/SDL_vglvideo.c | 640 - .../jni/sdl/src/video/vgl/SDL_vglvideo.h | 65 - .../sdl/src/video/win32/SDL_ceddrawrender.c | 833 + .../SDL_ceddrawrender.h} | 13 +- .../jni/sdl/src/video/win32/SDL_d3drender.c | 1531 ++ .../SDL_aamouse_c.h => win32/SDL_d3drender.h} | 8 +- .../jni/sdl/src/video/win32/SDL_gapirender.c | 670 + .../SDL_gapirender.h} | 23 +- .../sdl/src/video/win32/SDL_gapirender_c.h | 121 + .../jni/sdl/src/video/win32/SDL_gdirender.c | 1096 ++ .../SDL_syswm_c.h => win32/SDL_gdirender.h} | 10 +- .../src/video/{windib => win32}/SDL_vkeys.h | 4 +- .../jni/sdl/src/video/win32/SDL_win32events.c | 603 + .../jni/sdl/src/video/win32/SDL_win32events.h | 38 + .../jni/sdl/src/video/win32/SDL_win32gamma.c | 71 + .../jni/sdl/src/video/win32/SDL_win32gamma.h | 32 + .../sdl/src/video/win32/SDL_win32keyboard.c | 125 + .../win32/SDL_win32keyboard.h} | 25 +- .../jni/sdl/src/video/win32/SDL_win32modes.c | 279 + .../SDL_win32modes.h} | 29 +- .../jni/sdl/src/video/win32/SDL_win32mouse.c | 44 + .../SDL_syswm.cc => win32/SDL_win32mouse.h} | 17 +- .../jni/sdl/src/video/win32/SDL_win32opengl.c | 612 + .../SDL_wingl_c.h => win32/SDL_win32opengl.h} | 85 +- .../jni/sdl/src/video/win32/SDL_win32video.c | 210 + .../jni/sdl/src/video/win32/SDL_win32video.h | 82 + .../jni/sdl/src/video/win32/SDL_win32window.c | 681 + .../jni/sdl/src/video/win32/SDL_win32window.h | 57 + .../project/jni/sdl/src/video/win32/wmmsg.h | 1032 + .../sdl/src/video/wincommon/SDL_lowvideo.h | 148 - .../sdl/src/video/wincommon/SDL_sysevents.c | 865 - .../sdl/src/video/wincommon/SDL_sysmouse.c | 259 - .../sdl/src/video/wincommon/SDL_sysmouse_c.h | 33 - .../jni/sdl/src/video/wincommon/SDL_syswm.c | 297 - .../jni/sdl/src/video/wincommon/SDL_syswm_c.h | 35 - .../jni/sdl/src/video/wincommon/SDL_wingl.c | 647 - .../jni/sdl/src/video/wincommon/wmmsg.h | 1030 - .../jni/sdl/src/video/windib/SDL_dibevents.c | 705 - .../sdl/src/video/windib/SDL_dibevents_c.h | 35 - .../jni/sdl/src/video/windib/SDL_dibvideo.c | 1321 -- .../jni/sdl/src/video/windib/SDL_dibvideo.h | 59 - .../sdl/src/video/windib/SDL_gapidibvideo.h | 56 - .../jni/sdl/src/video/windx5/SDL_dx5events.c | 1008 - .../sdl/src/video/windx5/SDL_dx5events_c.h | 37 - .../jni/sdl/src/video/windx5/SDL_dx5video.c | 2536 --- .../jni/sdl/src/video/windx5/SDL_dx5video.h | 61 - .../jni/sdl/src/video/windx5/SDL_dx5yuv.c | 296 - .../jni/sdl/src/video/windx5/SDL_dx5yuv_c.h | 38 - .../jni/sdl/src/video/windx5/directx.h | 100 - .../sdl/src/video/wscons/SDL_wsconsevents.c | 233 - .../sdl/src/video/wscons/SDL_wsconsevents_c.h | 36 - .../sdl/src/video/wscons/SDL_wsconsmouse.c | 33 - .../sdl/src/video/wscons/SDL_wsconsmouse_c.h | 26 - .../sdl/src/video/wscons/SDL_wsconsvideo.c | 609 - .../sdl/src/video/wscons/SDL_wsconsvideo.h | 76 - .../jni/sdl/src/video/x11/SDL_x11dga.c | 90 - .../jni/sdl/src/video/x11/SDL_x11dga_c.h | 33 - .../jni/sdl/src/video/x11/SDL_x11dyn.c | 207 +- .../jni/sdl/src/video/x11/SDL_x11dyn.h | 44 +- .../jni/sdl/src/video/x11/SDL_x11events.c | 1668 +- .../{SDL_x11events_c.h => SDL_x11events.h} | 13 +- .../jni/sdl/src/video/x11/SDL_x11gamma.c | 300 +- .../x11/{SDL_x11gamma_c.h => SDL_x11gamma.h} | 14 +- .../project/jni/sdl/src/video/x11/SDL_x11gl.c | 570 - .../jni/sdl/src/video/x11/SDL_x11gl_c.h | 98 - .../jni/sdl/src/video/x11/SDL_x11image.c | 318 - .../jni/sdl/src/video/x11/SDL_x11image_c.h | 38 - .../jni/sdl/src/video/x11/SDL_x11keyboard.c | 288 + .../jni/sdl/src/video/x11/SDL_x11keyboard.h | 33 + .../jni/sdl/src/video/x11/SDL_x11modes.c | 1491 +- .../jni/sdl/src/video/x11/SDL_x11modes.h | 64 + .../jni/sdl/src/video/x11/SDL_x11modes_c.h | 43 - .../jni/sdl/src/video/x11/SDL_x11mouse.c | 265 +- .../SDL_x11mouse.h} | 40 +- .../jni/sdl/src/video/x11/SDL_x11mouse_c.h | 33 - .../jni/sdl/src/video/x11/SDL_x11opengl.c | 577 + .../jni/sdl/src/video/x11/SDL_x11opengl.h | 74 + .../jni/sdl/src/video/x11/SDL_x11opengles.c | 370 + .../jni/sdl/src/video/x11/SDL_x11opengles.h | 91 + .../jni/sdl/src/video/x11/SDL_x11render.c | 1147 ++ .../x11/SDL_x11render.h} | 13 +- .../jni/sdl/src/video/x11/SDL_x11sym.h | 82 +- .../jni/sdl/src/video/x11/SDL_x11video.c | 1728 +- .../jni/sdl/src/video/x11/SDL_x11video.h | 198 +- .../jni/sdl/src/video/x11/SDL_x11window.c | 1027 + .../jni/sdl/src/video/x11/SDL_x11window.h | 55 + .../project/jni/sdl/src/video/x11/SDL_x11wm.c | 434 - .../jni/sdl/src/video/x11/SDL_x11wm_c.h | 34 - .../jni/sdl/src/video/x11/SDL_x11yuv.c | 538 - .../jni/sdl/src/video/x11/SDL_x11yuv_c.h | 41 - .../project/jni/sdl/src/video/x11/imKStoUCS.c | 345 + .../project/jni/sdl/src/video/x11/imKStoUCS.h | 31 + .../jni/sdl/src/video/xbios/SDL_xbios.c | 1117 -- .../jni/sdl/src/video/xbios/SDL_xbios.h | 121 - .../sdl/src/video/xbios/SDL_xbios_blowup.c | 77 - .../sdl/src/video/xbios/SDL_xbios_blowup.h | 86 - .../src/video/xbios/SDL_xbios_centscreen.c | 104 - .../src/video/xbios/SDL_xbios_centscreen.h | 118 - .../jni/sdl/src/video/xbios/SDL_xbios_milan.c | 111 - .../jni/sdl/src/video/xbios/SDL_xbios_milan.h | 138 - .../jni/sdl/src/video/xbios/SDL_xbios_sb3.c | 83 - .../jni/sdl/src/video/xbios/SDL_xbios_sb3.h | 82 - .../sdl/src/video/xbios/SDL_xbios_tveille.c | 52 - .../sdl/src/video/xbios/SDL_xbios_tveille.h | 70 - 921 files changed, 152559 insertions(+), 151926 deletions(-) delete mode 100644 alienblaster/project/jni/sdl/Borland.html delete mode 100644 alienblaster/project/jni/sdl/Makefile.dc delete mode 100644 alienblaster/project/jni/sdl/Makefile.in delete mode 100644 alienblaster/project/jni/sdl/Makefile.minimal create mode 100644 alienblaster/project/jni/sdl/NOTES delete mode 100644 alienblaster/project/jni/sdl/README.AmigaOS delete mode 100644 alienblaster/project/jni/sdl/README.BeOS delete mode 100644 alienblaster/project/jni/sdl/README.CVS delete mode 100644 alienblaster/project/jni/sdl/README.DC create mode 100644 alienblaster/project/jni/sdl/README.HG delete mode 100644 alienblaster/project/jni/sdl/README.MacOS delete mode 100644 alienblaster/project/jni/sdl/README.MacOSX delete mode 100644 alienblaster/project/jni/sdl/README.MiNT delete mode 100644 alienblaster/project/jni/sdl/README.NDS delete mode 100644 alienblaster/project/jni/sdl/README.NanoX delete mode 100644 alienblaster/project/jni/sdl/README.OS2 delete mode 100644 alienblaster/project/jni/sdl/README.PS3 delete mode 100644 alienblaster/project/jni/sdl/README.PicoGUI delete mode 100644 alienblaster/project/jni/sdl/README.QNX delete mode 100644 alienblaster/project/jni/sdl/README.Qtopia delete mode 100644 alienblaster/project/jni/sdl/README.RISCOS delete mode 100644 alienblaster/project/jni/sdl/README.SVN delete mode 100644 alienblaster/project/jni/sdl/README.Symbian delete mode 100644 alienblaster/project/jni/sdl/README.Watcom delete mode 100644 alienblaster/project/jni/sdl/README.WinCE delete mode 100644 alienblaster/project/jni/sdl/README.wscons delete mode 100644 alienblaster/project/jni/sdl/SDL.qpg.in delete mode 100644 alienblaster/project/jni/sdl/SDL.spec delete mode 100644 alienblaster/project/jni/sdl/SDL.spec.in create mode 100644 alienblaster/project/jni/sdl/UNDER_CONSTRUCTION.txt delete mode 100644 alienblaster/project/jni/sdl/VisualC.html delete mode 100755 alienblaster/project/jni/sdl/autogen.sh delete mode 100644 alienblaster/project/jni/sdl/docs.html delete mode 100644 alienblaster/project/jni/sdl/include/SDL_active.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_assert.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_atomic.h delete mode 100644 alienblaster/project/jni/sdl/include/SDL_cdrom.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_compat.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_config_iphoneos.h delete mode 100644 alienblaster/project/jni/sdl/include/SDL_config_macos.h rename alienblaster/project/jni/sdl/include/{SDL_config_dreamcast.h => SDL_config_nintendods.h} (68%) rename alienblaster/project/jni/sdl/include/{SDL_config_nds.h => SDL_config_pandora.h} (68%) delete mode 100644 alienblaster/project/jni/sdl/include/SDL_config_symbian.h rename alienblaster/project/jni/sdl/include/{SDL_config_os2.h => SDL_config_wiz.h} (53%) create mode 100644 alienblaster/project/jni/sdl/include/SDL_haptic.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_input.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_opengles.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_pixels.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_power.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_rect.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_revision.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_scancode.h create mode 100644 alienblaster/project/jni/sdl/include/SDL_surface.h delete mode 100644 alienblaster/project/jni/sdl/sdl-config.in delete mode 100644 alienblaster/project/jni/sdl/sdl.m4 delete mode 100644 alienblaster/project/jni/sdl/sdl.pc.in create mode 100644 alienblaster/project/jni/sdl/src/SDL_assert.c create mode 100644 alienblaster/project/jni/sdl/src/SDL_compat.c create mode 100644 alienblaster/project/jni/sdl/src/atomic/dummy/SDL_atomic.c create mode 100644 alienblaster/project/jni/sdl/src/atomic/linux/SDL_atomic.c create mode 100644 alienblaster/project/jni/sdl/src/atomic/macosx/SDL_atomic.c create mode 100644 alienblaster/project/jni/sdl/src/atomic/qnx/SDL_atomic.c create mode 100644 alienblaster/project/jni/sdl/src/atomic/win32/SDL_atomic.c create mode 100644 alienblaster/project/jni/sdl/src/audio/SDL_audiotypecvt.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/dart/SDL_dart.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/dart/SDL_dart.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/dc/SDL_dcaudio.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/dc/aica.c create mode 100644 alienblaster/project/jni/sdl/src/audio/fusionsound/SDL_fsaudio.c create mode 100644 alienblaster/project/jni/sdl/src/audio/fusionsound/SDL_fsaudio.h create mode 100644 alienblaster/project/jni/sdl/src/audio/iphoneos/SDL_coreaudio_iphone.c rename alienblaster/project/jni/sdl/src/audio/{dc/SDL_dcaudio.h => iphoneos/SDL_coreaudio_iphone.h} (70%) delete mode 100644 alienblaster/project/jni/sdl/src/audio/macrom/SDL_romaudio.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/macrom/SDL_romaudio.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_dma8.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_dma8.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_gsxb.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_gsxb.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_it.S delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_mcsn.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_mcsn.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_stfa.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_stfa.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/mint/SDL_mintaudio_xbios.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/nds/sound9.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/nds/soundcommon.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/nto/SDL_nto_audio.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/nto/SDL_nto_audio.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/pulse/SDL_pulseaudio.c delete mode 100644 alienblaster/project/jni/sdl/src/audio/pulse/SDL_pulseaudio.h create mode 100644 alienblaster/project/jni/sdl/src/audio/pulseaudio/SDL_pulseaudio.c rename alienblaster/project/jni/sdl/src/{video/ataricommon/SDL_atarimxalloc.c => audio/pulseaudio/SDL_pulseaudio.h} (61%) create mode 100644 alienblaster/project/jni/sdl/src/audio/qsa/SDL_qsa_audio.c rename alienblaster/project/jni/sdl/src/{video/ps2gs/SDL_gsmouse_c.h => audio/qsa/SDL_qsa_audio.h} (56%) create mode 100755 alienblaster/project/jni/sdl/src/audio/sdlgenaudiocvt.pl delete mode 100644 alienblaster/project/jni/sdl/src/audio/symbian/SDL_epocaudio.cpp delete mode 100644 alienblaster/project/jni/sdl/src/audio/symbian/SDL_epocaudio.h delete mode 100644 alienblaster/project/jni/sdl/src/audio/symbian/streamplayer.cpp delete mode 100644 alienblaster/project/jni/sdl/src/audio/symbian/streamplayer.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/SDL_cdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/SDL_syscdrom.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/aix/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/beos/SDL_syscdrom.cc delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/bsdi/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/dc/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/freebsd/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/linux/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macos/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macos/SDL_syscdrom_c.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/AudioFilePlayer.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/AudioFilePlayer.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/AudioFileReaderThread.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/CDPlayer.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/CDPlayer.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/SDLOSXCAGuard.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/SDLOSXCAGuard.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/macosx/SDL_syscdrom_c.h delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/mint/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/openbsd/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/os2/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/osf/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/qnx/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/cdrom/win32/SDL_syscdrom.c delete mode 100644 alienblaster/project/jni/sdl/src/events/SDL_active.c delete mode 100644 alienblaster/project/jni/sdl/src/events/SDL_expose.c create mode 100644 alienblaster/project/jni/sdl/src/events/SDL_keyboard_c.h rename alienblaster/project/jni/sdl/src/{video/qtopia/SDL_sysmouse.cc => events/SDL_mouse_c.h} (53%) delete mode 100644 alienblaster/project/jni/sdl/src/events/SDL_resize.c create mode 100644 alienblaster/project/jni/sdl/src/events/SDL_windowevents.c rename alienblaster/project/jni/sdl/src/{video/dc/SDL_dcevents_c.h => events/SDL_windowevents_c.h} (74%) rename alienblaster/project/jni/sdl/src/{video => events}/blank_cursor.h (83%) create mode 100644 alienblaster/project/jni/sdl/src/events/default_cursor.h create mode 100644 alienblaster/project/jni/sdl/src/events/scancodes_darwin.h create mode 100644 alienblaster/project/jni/sdl/src/events/scancodes_linux.h create mode 100644 alienblaster/project/jni/sdl/src/events/scancodes_win32.h create mode 100644 alienblaster/project/jni/sdl/src/events/scancodes_xfree86.h create mode 100644 alienblaster/project/jni/sdl/src/file/cocoa/SDL_rwopsbundlesupport.h create mode 100644 alienblaster/project/jni/sdl/src/file/cocoa/SDL_rwopsbundlesupport.m create mode 100644 alienblaster/project/jni/sdl/src/haptic/SDL_haptic.c create mode 100644 alienblaster/project/jni/sdl/src/haptic/SDL_syshaptic.h create mode 100644 alienblaster/project/jni/sdl/src/haptic/darwin/SDL_syshaptic.c create mode 100644 alienblaster/project/jni/sdl/src/haptic/dummy/SDL_syshaptic.c create mode 100644 alienblaster/project/jni/sdl/src/haptic/linux/SDL_syshaptic.c create mode 100644 alienblaster/project/jni/sdl/src/haptic/nds/SDL_syshaptic.c create mode 100644 alienblaster/project/jni/sdl/src/haptic/win32/SDL_syshaptic.c delete mode 100644 alienblaster/project/jni/sdl/src/hermes/COPYING.LIB delete mode 100644 alienblaster/project/jni/sdl/src/hermes/HeadMMX.h delete mode 100644 alienblaster/project/jni/sdl/src/hermes/HeadX86.h delete mode 100644 alienblaster/project/jni/sdl/src/hermes/README delete mode 100644 alienblaster/project/jni/sdl/src/hermes/common.inc delete mode 100644 alienblaster/project/jni/sdl/src/hermes/mmx_main.asm delete mode 100644 alienblaster/project/jni/sdl/src/hermes/mmxp2_32.asm delete mode 100644 alienblaster/project/jni/sdl/src/hermes/x86_main.asm delete mode 100644 alienblaster/project/jni/sdl/src/hermes/x86p_16.asm delete mode 100644 alienblaster/project/jni/sdl/src/hermes/x86p_32.asm create mode 100644 alienblaster/project/jni/sdl/src/joystick/darwin/SDL_sysjoystick_c.h delete mode 100644 alienblaster/project/jni/sdl/src/joystick/dc/SDL_sysjoystick.c create mode 100644 alienblaster/project/jni/sdl/src/joystick/iphoneos/SDLUIAccelerationDelegate.h create mode 100644 alienblaster/project/jni/sdl/src/joystick/iphoneos/SDLUIAccelerationDelegate.m create mode 100644 alienblaster/project/jni/sdl/src/joystick/iphoneos/SDL_sysjoystick.m rename alienblaster/project/jni/sdl/src/{video/qtopia/SDL_sysmouse_c.h => joystick/linux/SDL_sysjoystick_c.h} (53%) delete mode 100644 alienblaster/project/jni/sdl/src/joystick/macos/SDL_sysjoystick.c delete mode 100644 alienblaster/project/jni/sdl/src/joystick/mint/SDL_sysjoystick.c delete mode 100644 alienblaster/project/jni/sdl/src/joystick/os2/SDL_sysjoystick.c delete mode 100644 alienblaster/project/jni/sdl/src/joystick/os2/joyos2.h create mode 100644 alienblaster/project/jni/sdl/src/joystick/win32/SDL_dxjoystick.c create mode 100644 alienblaster/project/jni/sdl/src/joystick/win32/SDL_dxjoystick_c.h create mode 100644 alienblaster/project/jni/sdl/src/libm/e_log.c create mode 100644 alienblaster/project/jni/sdl/src/libm/e_pow.c create mode 100644 alienblaster/project/jni/sdl/src/libm/e_rem_pio2.c rename alienblaster/project/jni/sdl/src/{video/e_sqrt.h => libm/e_sqrt.c} (78%) create mode 100644 alienblaster/project/jni/sdl/src/libm/k_cos.c create mode 100644 alienblaster/project/jni/sdl/src/libm/k_rem_pio2.c create mode 100644 alienblaster/project/jni/sdl/src/libm/k_sin.c create mode 100644 alienblaster/project/jni/sdl/src/libm/math.h rename alienblaster/project/jni/sdl/src/{video => libm}/math_private.h (54%) create mode 100644 alienblaster/project/jni/sdl/src/libm/s_copysign.c create mode 100644 alienblaster/project/jni/sdl/src/libm/s_cos.c create mode 100644 alienblaster/project/jni/sdl/src/libm/s_fabs.c create mode 100644 alienblaster/project/jni/sdl/src/libm/s_floor.c create mode 100644 alienblaster/project/jni/sdl/src/libm/s_scalbn.c create mode 100644 alienblaster/project/jni/sdl/src/libm/s_sin.c delete mode 100644 alienblaster/project/jni/sdl/src/loadso/macos/SDL_sysloadso.c delete mode 100644 alienblaster/project/jni/sdl/src/loadso/mint/SDL_sysloadso.c delete mode 100644 alienblaster/project/jni/sdl/src/loadso/os2/SDL_sysloadso.c delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/SDL.r delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/SDL.shlib.r delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/SDL_main.c delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/SIZE.r delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/exports/Makefile delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/exports/SDL.x delete mode 100644 alienblaster/project/jni/sdl/src/main/macos/exports/gendef.pl delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/Info.plist.in delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/SDLMain.h delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/SDLMain.m delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/SDLMain.nib/classes.nib delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/SDLMain.nib/info.nib delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/SDLMain.nib/objects.nib delete mode 100644 alienblaster/project/jni/sdl/src/main/macosx/info.nib delete mode 100644 alienblaster/project/jni/sdl/src/main/qtopia/SDL_qtopia_main.cc delete mode 100644 alienblaster/project/jni/sdl/src/main/symbian/EKA1/SDL_main.cpp delete mode 100644 alienblaster/project/jni/sdl/src/main/symbian/EKA2/SDL_main.cpp delete mode 100644 alienblaster/project/jni/sdl/src/main/symbian/EKA2/sdlexe.cpp delete mode 100644 alienblaster/project/jni/sdl/src/main/symbian/EKA2/sdllib.cpp delete mode 100644 alienblaster/project/jni/sdl/src/main/symbian/EKA2/vectorbuffer.cpp delete mode 100644 alienblaster/project/jni/sdl/src/main/symbian/EKA2/vectorbuffer.h create mode 100644 alienblaster/project/jni/sdl/src/power/SDL_power.c create mode 100644 alienblaster/project/jni/sdl/src/power/beos/SDL_syspower.c create mode 100644 alienblaster/project/jni/sdl/src/power/linux/SDL_syspower.c create mode 100644 alienblaster/project/jni/sdl/src/power/macosx/SDL_syspower.c create mode 100644 alienblaster/project/jni/sdl/src/power/nds/SDL_syspower.c create mode 100644 alienblaster/project/jni/sdl/src/power/uikit/SDL_syspower.m create mode 100644 alienblaster/project/jni/sdl/src/power/windows/SDL_syspower.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/dc/SDL_syscond.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/dc/SDL_sysmutex.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/dc/SDL_syssem.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/dc/SDL_systhread_c.h create mode 100644 alienblaster/project/jni/sdl/src/thread/nds/SDL_syscond.c rename alienblaster/project/jni/sdl/src/thread/{dc => nds}/SDL_syscond_c.h (83%) create mode 100644 alienblaster/project/jni/sdl/src/thread/nds/SDL_sysmutex.c rename alienblaster/project/jni/sdl/src/thread/{dc => nds}/SDL_sysmutex_c.h (83%) create mode 100644 alienblaster/project/jni/sdl/src/thread/nds/SDL_syssem.c rename alienblaster/project/jni/sdl/src/thread/{dc => nds}/SDL_syssem_c.h (83%) rename alienblaster/project/jni/sdl/src/thread/{dc => nds}/SDL_systhread.c (59%) rename alienblaster/project/jni/sdl/{include/SDL_getenv.h => src/thread/nds/SDL_systhread_c.h} (82%) delete mode 100644 alienblaster/project/jni/sdl/src/thread/os2/SDL_syscond.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/os2/SDL_syscond_c.h delete mode 100644 alienblaster/project/jni/sdl/src/thread/os2/SDL_sysmutex.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/os2/SDL_syssem.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/os2/SDL_systhread.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/os2/SDL_systhread_c.h delete mode 100644 alienblaster/project/jni/sdl/src/thread/pth/SDL_syscond.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/pth/SDL_sysmutex.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/pth/SDL_systhread.c delete mode 100644 alienblaster/project/jni/sdl/src/thread/pth/SDL_systhread_c.h delete mode 100644 alienblaster/project/jni/sdl/src/thread/symbian/SDL_sysmutex.cpp delete mode 100644 alienblaster/project/jni/sdl/src/thread/symbian/SDL_syssem.cpp delete mode 100644 alienblaster/project/jni/sdl/src/thread/symbian/SDL_systhread.cpp delete mode 100644 alienblaster/project/jni/sdl/src/thread/symbian/SDL_systhread_c.h delete mode 100644 alienblaster/project/jni/sdl/src/timer/dc/SDL_systimer.c delete mode 100644 alienblaster/project/jni/sdl/src/timer/macos/FastTimes.c delete mode 100644 alienblaster/project/jni/sdl/src/timer/macos/FastTimes.h delete mode 100644 alienblaster/project/jni/sdl/src/timer/macos/SDL_MPWtimer.c delete mode 100644 alienblaster/project/jni/sdl/src/timer/macos/SDL_systimer.c delete mode 100644 alienblaster/project/jni/sdl/src/timer/mint/SDL_systimer.c delete mode 100644 alienblaster/project/jni/sdl/src/timer/mint/SDL_vbltimer.S delete mode 100644 alienblaster/project/jni/sdl/src/timer/mint/SDL_vbltimer_s.h delete mode 100644 alienblaster/project/jni/sdl/src/timer/os2/SDL_systimer.c delete mode 100644 alienblaster/project/jni/sdl/src/timer/symbian/SDL_systimer.cpp create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_alphamult.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_alphamult.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blendfillrect.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blendline.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blendpoint.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blendrect.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blit_auto.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blit_auto.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blit_copy.c rename alienblaster/project/jni/sdl/{include/SDL_byteorder.h => src/video/SDL_blit_copy.h} (83%) create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_blit_slow.c rename alienblaster/project/jni/sdl/src/video/{dga/SDL_dgamouse_c.h => SDL_blit_slow.h} (87%) delete mode 100644 alienblaster/project/jni/sdl/src/video/SDL_cursor.c delete mode 100644 alienblaster/project/jni/sdl/src/video/SDL_cursor_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_draw.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_drawline.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_drawpoint.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_drawrect.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_fillrect.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_glesfuncs.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_rect.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_rect_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_renderer_gl.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_renderer_gl.h create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_renderer_gles.c rename alienblaster/project/jni/sdl/src/video/{macrom/SDL_romvideo.h => SDL_renderer_gles.h} (84%) create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_renderer_sw.c create mode 100644 alienblaster/project/jni/sdl/src/video/SDL_renderer_sw.h delete mode 100644 alienblaster/project/jni/sdl/src/video/SDL_stretch_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/SDL_yuv.c delete mode 100644 alienblaster/project/jni/sdl/src/video/SDL_yuvfuncs.h create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/AllCmap.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/CmapAlloc.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/CrCmap.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/DelCmap.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/Distinct.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/LookupCmap.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/StdCmap.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/XmuStdCmap/VisCmap.c delete mode 100644 alienblaster/project/jni/sdl/src/video/Xext/Xxf86dga/XF86DGA.c delete mode 100644 alienblaster/project/jni/sdl/src/video/Xext/Xxf86dga/XF86DGA2.c create mode 100644 alienblaster/project/jni/sdl/src/video/Xext/extensions/StdCmap.h delete mode 100644 alienblaster/project/jni/sdl/src/video/Xext/extensions/xme.h delete mode 100644 alienblaster/project/jni/sdl/src/video/aalib/SDL_aaevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/aalib/SDL_aaevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/aalib/SDL_aavideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/aalib/SDL_aavideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ataric2p.S delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ataric2p_s.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ataridevmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarieddi.S delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarieddi_s.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarievents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarievents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarigl.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarigl_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_atarikeys.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_biosevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_biosevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_gemdosevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_gemdosevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ikbdevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ikbdevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_ikbdinterrupt_s.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_xbiosevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_xbiosevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S delete mode 100644 alienblaster/project/jni/sdl/src/video/ataricommon/SDL_xbiosinterrupt_s.h delete mode 100644 alienblaster/project/jni/sdl/src/video/caca/SDL_cacaevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/caca/SDL_cacaevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/caca/SDL_cacavideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/caca/SDL_cacavideo.h rename alienblaster/project/jni/sdl/src/video/{dummy/SDL_nullmouse.c => cocoa/SDL_cocoaevents.h} (78%) create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoaevents.m rename alienblaster/project/jni/sdl/src/{audio/dc/aica.h => video/cocoa/SDL_cocoakeyboard.h} (65%) create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoakeyboard.m rename alienblaster/project/jni/sdl/src/video/{vgl/SDL_vglmouse.c => cocoa/SDL_cocoamodes.h} (58%) create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoamodes.m rename alienblaster/project/jni/sdl/src/video/{dga/SDL_dgamouse.c => cocoa/SDL_cocoamouse.h} (74%) create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoamouse.m rename alienblaster/project/jni/sdl/src/video/{maccommon/SDL_macgl_c.h => cocoa/SDL_cocoaopengl.h} (50%) create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoaopengl.m create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoavideo.h create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoavideo.m create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoawindow.h create mode 100644 alienblaster/project/jni/sdl/src/video/cocoa/SDL_cocoawindow.m delete mode 100644 alienblaster/project/jni/sdl/src/video/dc/SDL_dcevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/dc/SDL_dcvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/default_cursor.h delete mode 100644 alienblaster/project/jni/sdl/src/video/dga/SDL_dgaevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/dga/SDL_dgavideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/dga/SDL_dgavideo.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_WM.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_WM.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_dyn.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_dyn.h delete mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_keys.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_modes.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_modes.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_mouse.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_mouse.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_opengl.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_opengl.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_render.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_render.h create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_window.c create mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_window.h delete mode 100644 alienblaster/project/jni/sdl/src/video/directfb/SDL_DirectFB_yuv.c create mode 100644 alienblaster/project/jni/sdl/src/video/dummy/SDL_nullrender.c rename alienblaster/project/jni/sdl/src/video/{ggi/SDL_ggievents_c.h => dummy/SDL_nullrender_c.h} (83%) mode change 100755 => 100644 delete mode 100644 alienblaster/project/jni/sdl/src/video/e_log.h delete mode 100644 alienblaster/project/jni/sdl/src/video/e_pow.h delete mode 100644 alienblaster/project/jni/sdl/src/video/gapi/SDL_gapivideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/gapi/SDL_gapivideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemmouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemwm.c delete mode 100644 alienblaster/project/jni/sdl/src/video/gem/SDL_gemwm_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ggi/SDL_ggievents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ggi/SDL_ggikeys.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ggi/SDL_ggimouse.c delete mode 100755 alienblaster/project/jni/sdl/src/video/ggi/SDL_ggimouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ggi/SDL_ggivideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ipod/SDL_ipodvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_lowvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macgl.c delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_mackeys.h delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macmouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macwm.c delete mode 100644 alienblaster/project/jni/sdl/src/video/maccommon/SDL_macwm_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/macdsp/SDL_dspvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/macdsp/SDL_dspvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/macrom/SDL_romvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nximage.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nximage_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxmodes.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxmodes_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxmouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxwm.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nanox/SDL_nxwm_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/nds/SDL_ndsmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/nds/SDL_ndsmouse_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/nds/SDL_ndsrender.c create mode 100644 alienblaster/project/jni/sdl/src/video/nds/SDL_ndsrender_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/os2fslib/SDL_os2fslib.c delete mode 100644 alienblaster/project/jni/sdl/src/video/os2fslib/SDL_os2fslib.h delete mode 100644 alienblaster/project/jni/sdl/src/video/os2fslib/SDL_vkeys.h create mode 100644 alienblaster/project/jni/sdl/src/video/pandora/SDL_pandora.c create mode 100644 alienblaster/project/jni/sdl/src/video/pandora/SDL_pandora.h rename alienblaster/project/jni/sdl/src/video/{dc/SDL_dcmouse.c => pandora/SDL_pandora_events.c} (76%) rename alienblaster/project/jni/sdl/src/video/{dc/SDL_dcmouse_c.h => pandora/SDL_pandora_events.h} (88%) delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_events.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_gl.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_gl.h delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_image.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_image_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_modes.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_modes_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_mouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_mouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_video.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_video.h delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_wm.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_ph_wm_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon.c create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon.h create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon_input.c rename alienblaster/project/jni/sdl/src/video/{picogui/SDL_pgvideo.h => photon/SDL_photon_input.h} (58%) create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon_keycodes.h create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon_pixelfmt.c rename alienblaster/project/jni/sdl/src/video/{ggi/SDL_ggivideo.h => photon/SDL_photon_pixelfmt.h} (61%) create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon_render.c create mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_photon_render.h delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_phyuv.c delete mode 100644 alienblaster/project/jni/sdl/src/video/photon/SDL_phyuv_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/picogui/SDL_pgevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/picogui/SDL_pgevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/picogui/SDL_pgvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gskeys.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsyuv.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ps2gs/SDL_gsyuv_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3modes.c create mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3modes_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3render.c create mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3render_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3spe.c create mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3spe_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3yuv.c delete mode 100644 alienblaster/project/jni/sdl/src/video/ps3/SDL_ps3yuv_c.h rename alienblaster/project/jni/sdl/src/video/ps3/spulibs/{yuv2rgb_converter.c => yuv2rgb.c} (94%) create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_input.c create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_input.h create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_opengles.c create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_opengles.h create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_pixelfmt.c rename alienblaster/project/jni/sdl/src/video/{dc/SDL_dcvideo.h => qnxgf/SDL_gf_pixelfmt.h} (67%) create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_render.c create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_gf_render.h create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_hiddi_joystick.h create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_hiddi_keyboard.h create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_hiddi_mouse.h create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_qnxgf.c create mode 100644 alienblaster/project/jni/sdl/src/video/qnxgf/SDL_qnxgf.h delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_QPEApp.cc delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_QPEApp.h delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_QWin.cc delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_QWin.h delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_lowvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_sysevents.cc delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_sysevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/qtopia/SDL_sysvideo.cc delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/CGS.h delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzEvents.m delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzGL.m delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzKeys.h delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzVideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzVideo.m delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzWM.h delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzWM.m delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzWindow.h delete mode 100644 alienblaster/project/jni/sdl/src/video/quartz/SDL_QuartzWindow.m create mode 100755 alienblaster/project/jni/sdl/src/video/sdlgenblit.pl delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA1/SDL_epocevents.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA1/SDL_epocvideo.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA1/SDL_epocvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA2/SDL_epocevents.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA2/SDL_epocvideo.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA2/SDL_epocvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA2/dsa.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA2/dsa_new.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/EKA2/dsa_old.cpp delete mode 100644 alienblaster/project/jni/sdl/src/video/symbian/SDL_epocevents_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitappdelegate.h create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitappdelegate.m rename alienblaster/project/jni/sdl/src/video/{dummy/SDL_nullmouse_c.h => uikit/SDL_uikitevents.h} (85%) create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitevents.m rename alienblaster/project/jni/sdl/src/video/{photon/SDL_ph_events_c.h => uikit/SDL_uikitkeyboard.h} (68%) create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitopengles.h create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitopengles.m create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitopenglview.h create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitopenglview.m rename alienblaster/project/jni/sdl/src/video/{aalib/SDL_aamouse.c => uikit/SDL_uikitvideo.h} (76%) create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitvideo.m create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitview.h create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitview.m rename alienblaster/project/jni/sdl/src/video/{ataricommon/SDL_ataridevmouse_c.h => uikit/SDL_uikitwindow.h} (65%) create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/SDL_uikitwindow.m create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/jumphack.c create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/jumphack.h create mode 100644 alienblaster/project/jni/sdl/src/video/uikit/keyinfotable.h delete mode 100644 alienblaster/project/jni/sdl/src/video/vgl/SDL_vglevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/vgl/SDL_vglevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/vgl/SDL_vglmouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/vgl/SDL_vglvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/vgl/SDL_vglvideo.h create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_ceddrawrender.c rename alienblaster/project/jni/sdl/src/video/{dga/SDL_dgaevents_c.h => win32/SDL_ceddrawrender.h} (81%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_d3drender.c rename alienblaster/project/jni/sdl/src/video/{aalib/SDL_aamouse_c.h => win32/SDL_d3drender.h} (85%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_gapirender.c rename alienblaster/project/jni/sdl/src/video/{ipod/SDL_ipodvideo.h => win32/SDL_gapirender.h} (78%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_gapirender_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_gdirender.c rename alienblaster/project/jni/sdl/src/video/{qtopia/SDL_syswm_c.h => win32/SDL_gdirender.h} (81%) rename alienblaster/project/jni/sdl/src/video/{windib => win32}/SDL_vkeys.h (96%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32events.c create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32events.h create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32gamma.c create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32gamma.h create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32keyboard.c rename alienblaster/project/jni/sdl/src/{cdrom/dummy/SDL_syscdrom.c => video/win32/SDL_win32keyboard.h} (71%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32modes.c rename alienblaster/project/jni/sdl/src/video/{directfb/SDL_DirectFB_yuv.h => win32/SDL_win32modes.h} (59%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32mouse.c rename alienblaster/project/jni/sdl/src/video/{qtopia/SDL_syswm.cc => win32/SDL_win32mouse.h} (79%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32opengl.c rename alienblaster/project/jni/sdl/src/video/{wincommon/SDL_wingl_c.h => win32/SDL_win32opengl.h} (63%) create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32video.c create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32video.h create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32window.c create mode 100644 alienblaster/project/jni/sdl/src/video/win32/SDL_win32window.h create mode 100644 alienblaster/project/jni/sdl/src/video/win32/wmmsg.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_lowvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_sysevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_sysmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_sysmouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_syswm.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_syswm_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/SDL_wingl.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wincommon/wmmsg.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windib/SDL_dibevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/windib/SDL_dibevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windib/SDL_dibvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/windib/SDL_dibvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windib/SDL_gapidibvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/SDL_dx5events.c delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/SDL_dx5events_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/SDL_dx5video.c delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/SDL_dx5video.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/SDL_dx5yuv.c delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/SDL_dx5yuv_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/windx5/directx.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wscons/SDL_wsconsevents.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wscons/SDL_wsconsevents_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wscons/SDL_wsconsmouse.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wscons/SDL_wsconsmouse_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/wscons/SDL_wsconsvideo.c delete mode 100644 alienblaster/project/jni/sdl/src/video/wscons/SDL_wsconsvideo.h delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11dga.c delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11dga_c.h rename alienblaster/project/jni/sdl/src/video/x11/{SDL_x11events_c.h => SDL_x11events.h} (81%) rename alienblaster/project/jni/sdl/src/video/x11/{SDL_x11gamma_c.h => SDL_x11gamma.h} (64%) delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11gl.c delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11gl_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11image.c delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11image_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11keyboard.c create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11keyboard.h create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11modes.h delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11modes_c.h rename alienblaster/project/jni/sdl/src/video/{ataricommon/SDL_atarimxalloc_c.h => x11/SDL_x11mouse.h} (63%) delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11mouse_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11opengl.c create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11opengl.h create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11opengles.c create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11opengles.h create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11render.c rename alienblaster/project/jni/sdl/src/{thread/pth/SDL_sysmutex_c.h => video/x11/SDL_x11render.h} (81%) create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11window.c create mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11window.h delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11wm.c delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11wm_c.h delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11yuv.c delete mode 100644 alienblaster/project/jni/sdl/src/video/x11/SDL_x11yuv_c.h create mode 100644 alienblaster/project/jni/sdl/src/video/x11/imKStoUCS.c create mode 100644 alienblaster/project/jni/sdl/src/video/x11/imKStoUCS.h delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios.c delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios.h delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_blowup.c delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_blowup.h delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_centscreen.c delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_centscreen.h delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_milan.c delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_milan.h delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_sb3.c delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_sb3.h delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_tveille.c delete mode 100644 alienblaster/project/jni/sdl/src/video/xbios/SDL_xbios_tveille.h diff --git a/alienblaster/project/jni/application/src/settings.cpp b/alienblaster/project/jni/application/src/settings.cpp index c582adb6a..fd9883082 100644 --- a/alienblaster/project/jni/application/src/settings.cpp +++ b/alienblaster/project/jni/application/src/settings.cpp @@ -409,8 +409,8 @@ void Settings::getNewKeyFromUser() { const PlayerKeys Settings::getPlayerKeys(unsigned int player) const { assert( player < playerKeys.size() ); PlayerKeys pk; - for(int i=SDLK_FIRST; i <= SDLK_LAST; ++i) { - pk[ (SDLKey)i ] = PE_UNKNOWN; + for( std::map< SDLKey, std::string > :: const_iterator i = keyName.begin(); i != keyName.end(); ++i ) { + pk[ i->first ] = PE_UNKNOWN; } std::map< PlayerEvent, SDLKey >::const_iterator pkiter; for(pkiter = playerKeys[player].begin(); pkiter != playerKeys[player].end(); ++pkiter) { diff --git a/alienblaster/project/jni/sdl/Android.mk b/alienblaster/project/jni/sdl/Android.mk index dea3fbe56..de477f6d5 100644 --- a/alienblaster/project/jni/sdl/Android.mk +++ b/alienblaster/project/jni/sdl/Android.mk @@ -17,22 +17,34 @@ LOCAL_CFLAGS := -I$(LOCAL_PATH)/include \ SDL_SRCS := \ src/*.c \ src/audio/*.c \ - src/cdrom/*.c \ src/cpuinfo/*.c \ src/events/*.c \ src/file/*.c \ + src/haptic/*.c \ src/joystick/*.c \ src/stdlib/*.c \ src/thread/*.c \ src/timer/*.c \ src/video/*.c \ - src/audio/android/*.c \ - src/video/android/*.c \ - src/joystick/dummy/*.c \ - src/cdrom/dummy/*.c \ + src/main/*.c \ + src/power/*.c \ src/thread/pthread/*.c \ src/timer/unix/*.c \ - src/loadso/dummy/*.c \ + src/audio/android/*.c \ + src/audio/dummy/*.c \ + src/video/android/*.c \ + src/joystick/dummy/*.c \ + src/haptic/dummy/*.c \ + src/loadso/dlopen/*.c \ + src/atomic/dummy/*.c \ + +# TODO: use libcutils for atomic operations, but it's not included in NDK + +# src/atomic/linux/*.c \ +# src/power/linux/*.c \ +# src/joystick/android/*.c \ +# src/haptic/android/*.c \ +# src/libm/*.c \ LOCAL_CPP_EXTENSION := .cpp diff --git a/alienblaster/project/jni/sdl/Borland.html b/alienblaster/project/jni/sdl/Borland.html deleted file mode 100644 index eaf82099d..000000000 --- a/alienblaster/project/jni/sdl/Borland.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - Building SDL with Borland's C++ compilers - - - - - -

Building SDL with Borland's C++ compilers.

- by David Snopek - and updated by Dominique - Louis ( Last updated : 30th June 2003 ).
-
- These instructions cover how to compile SDL and its included test -programs using either Borland C++ Builder 5, 6 for Windows, - C++ Builder for Linux ( AKA Kylix 3 ) or the free Borland C++ command-line compiler.
- -

Extract the files

- -

Unzip the Borland.zip archive into this directory. Do not unzip - it into any other directory because the makefiles ( *.mak ) and project - files ( *.bpr ) use relative paths to refer to the SDL sources. This should - create a directory named "Borland" inside of the top level SDL source directory. -

- -

Using Borland C++ Builder 5, 6 for Windows -

- -

Inside of the "Borland" directory there is a "bcb6" directory that contains - a number of Builder project files. Double-click on the "libSDL.bpg" file - icon. Once Builder has started click on the "Projects" menu on -the menu-bar and go down to "Build All Projects" option.
- This will proceed to build SDL ( with Borland's calling convention ), -SDLmain, and all the test programs. Currently, all -the test programs are dynamically linked to Sam Lantinga's -SDL.dll.

- -

NOTE : Borland's "lib" format and Microsoft's "lib" format are incompatible. - 
- If you wish to dynamically link to the SDL library supplied by Sam Lantinga - in each release, I have created the correct *.libs for SDL 1.2.4 and they - exist in the "/lib" directory.
- If you would like to create the *.lib files yourself, you will need to -make use of Borland's "implib.exe" utility.
-

- -

IMPLIB works like this:

- -
    IMPLIB (destination lib name) (source dll)
- -

For example,

- -
    IMPLIB SDL.lib SDL.dll
- -

This assumes that SDL.dll was compiled with Visual C++ or similar.
-

- -

To learn more about the difference between Borland's and Microsoft's *.lib - format please read the article here.
-

- -


- NOTE :
The C++ Builder for Windows project format, is not compatible - with the Kylix 3 project format, hence the reason why they are in separate - directories.

- -

Using the free Borland C++ command-line compiler -

- -

The free Borland compiler can be downloaded at no charge from the Borland website - . Make sure that it is installed and properly configured.

- -

Open an MS-DOS Prompt. Change to the "Borland\freebcc" directory under - the SDL source directory. Type "make -f SDL.mak" to build SDL and "make - -f SDLmain.mak". There are also makefiles for all of the test programs, if you wish to build them. All .exes and -DLLs are created in the "test" SDL directory. Ify ou would like to create -the DLL and all the test applications, I have thrown together a basic batchfile -called "makeall.bat" which should create everything in the right order.

- -

Output files

- No matter which compiler you used, three important files should have - been produced: - - Both of the *.lib files will need to be added to all the projects -that use SDL and SDL.dll must be placed some where the Windows dynamic -linker can find it (either in your project directory or on the system -path, C:\WINDOWS\SYSTEM). -

Using Borland C++ Builder for Linux ( AKA Kylix - 3 )

- -

Inside of the "Borland" directory there is a "k3" directory that contains - a number of Builder project files. Double-click on the "libSDL.bpg" file - icon. Once Builder has started click on the "Projects" menu on -the menu-bar and go down to "Build All Projects" option. This will -proceed to build all the test programs
- Linux users do not need *.lib files as the Shared Object is linked right - into the project ( very neat actually, Windows should do this sort of thing - as it is a lot easier for the developer ).
- NOTE : The C++ Builder for Windows project format, is not - compatible with the Kylix 3 project format, hence the reason why they are - in separate directories.

- -

On Mandrake 8.1 the shared objects for SDL are located in the /usr/lib - directory as libSDL_*.so and the Mesa OpenGL shared objects are located -in /usr/X11R6/lib as libGL*.so
-
- So if your setup is different you may need to change the project file - so that they re-link to the ones on your system.
-
- On Mandrake 8.1 the headers files are located at /usr/include/SDL/. - So if you you have not installed the development RPMs ( usually named libSDL-devel* - ) for SDL ( not included ) you may have to change the include directory - within some of the projects.
-

- -

Known Problems

- The only known problem is that I ( Dominique Louis ), was unable to -create the projects that rebuilt the SDL shared objects under Linux, due -to time constraints and my lack of intimate knowledge of Linux. -

Test programs

- Some of the test programs require included media files ( *.wav; *.bmp -etc ). All the test programs are now created in the "test" directory, where -the media files are ( usually ) so they should be ready to go.
-
-
-
- - diff --git a/alienblaster/project/jni/sdl/CREDITS b/alienblaster/project/jni/sdl/CREDITS index efdcfa4d7..29dd032c9 100644 --- a/alienblaster/project/jni/sdl/CREDITS +++ b/alienblaster/project/jni/sdl/CREDITS @@ -5,72 +5,51 @@ Thanks to everyone who made this possible, including: * Cliff Matthews, for giving me a reason to start this project. :) -- Executor rocks! *grin* -* Scott Call, for making a home for SDL on the 'Net... Thanks! :) - * The Linux Fund, C Magazine, Educational Technology Resources Inc., Gareth Noyce, Jesse Pavel, Keith Kitchin, Jeremy Horvath, Thomas Nicholson, Hans-Peter Gygax, the Eternal Lands Development Team, Lars Brubaker, and Phoenix Kokido for financial contributions +* Edgar "bobbens" Simo for his force feedback API development during the + Google Summer of Code 2008 + +* Aaron Wishnick for his work on audio resampling and pitch shifting during + the Google Summer of Code 2008 + +* Holmes Futrell for port of SDL to the iPhone and iPod Touch during the + Google Summer of Code 2008 + +* Darren Alton for port of SDL to the Nintendo DS during the Google Summer + of Code 2008 + +* Szymon "Wilku" Wilczek for adding support for multiple mice and tablets + during the Google Summer of Code 2008 + +* Marty Leisner, Andrew, Will, Edgar Simo, Donny Viszneki, Andrea Mazzoleni, + Dmytro Bogovych, and Couriersud for helping find SDL 1.3 bugs in the great + SDL Bug Hunt of January 2009! + +* Donny Viszneki for helping fix SDL 1.3 bugs in the great SDL Bug Hunt of + January 2009! + +* Luke Benstead for OpenGL 3.0 support + * Gaëtan de Menten for writing the PHP and SQL behind the SDL website * Tim Jones for the new look of the SDL website -* Marco Kraus for setting up SDL merchandise - -* Martin Donlon for his work on the SDL Documentation Project - * Ryan Gordon for helping everybody out and keeping the dream alive. :) -* IBM R&D Lab for their PS3 SPE video acceleration code - * Mattias Engdegård, for help with the Solaris port and lots of other help -* Max Watson, Matt Slot, and Kyle for help with the MacOS Classic port - -* Stan Shebs, for the initial Mac OS X port - * Eric Wing, Max Horn, and Darrell Walisser for unflagging work on the Mac OS X port -* Patrick Trainor, Jim Boucher, and Mike Gorchak for the QNX Neutrino port +* David Carré, for the Pandora port -* Carsten Griwodz for the AIX port - -* Gabriele Greco, for the Amiga port - -* Patrice Mandin, for the Atari port - -* Hannu Viitala for the EPOC port - -* Marcus Mertama for the S60 port. - -* Peter Valchev for nagging me about the OpenBSD port until I got it right. :) - -* Kent B Mein, for a place to do the IRIX port - -* Ash, for a place to do the OSF/1 Alpha port - -* David Sowsy, for help with the BeOS port - -* Eugenia Loli, for endless work on porting SDL games to BeOS - -* Jon Taylor for the GGI front-end - -* Paulus Esterhazy, for the Visual C++ testing and libraries - -* Brenda Tantzen, for Metrowerks CodeWarrior on MacOS - -* Chris Nentwich, for the Hermes assembly blitters - -* Michael Vance and Jim Kutter for the X11 OpenGL support - -* Stephane Peter, for the AAlib front-end and multi-threaded timer idea. +* Couriersud for the DirectFB driver * Jon Atkins for SDL_image, SDL_mixer and SDL_net documentation -* Peter Wiklund, for the 1998 winning SDL logo, - and Arto Hamara, Steven Wong, and Kent Mein for other logo entries. - * Arne Claus, for the 2004 winning SDL logo, and Shandy Brown, Jac, Alex Lyman, Mikkel Gjoel, #Guy, Jonas Hartmann, Daniel Liljeberg, Ronald Sowa, DocD, Pekka Jaervinen, Patrick Avella, diff --git a/alienblaster/project/jni/sdl/INSTALL b/alienblaster/project/jni/sdl/INSTALL index 1a30fba00..2f40e0c41 100644 --- a/alienblaster/project/jni/sdl/INSTALL +++ b/alienblaster/project/jni/sdl/INSTALL @@ -1,6 +1,10 @@ To compile and install SDL: + 0. If you have downloaded this from the website, skip to the next step. + If you have checked this out from subversion, you'll need to run + ./autogen.sh to build the configure script. + 1. Run './configure; make; make install' If you are compiling for Windows using gcc, read the FAQ at: diff --git a/alienblaster/project/jni/sdl/Makefile.dc b/alienblaster/project/jni/sdl/Makefile.dc deleted file mode 100644 index 58d6e712d..000000000 --- a/alienblaster/project/jni/sdl/Makefile.dc +++ /dev/null @@ -1,111 +0,0 @@ -#GL=1 - -CC = sh-elf-gcc -AR = sh-elf-ar - -ifdef GL -DEFS += -DSDL_VIDEO_OPENGL=1 -TARGET = libSDL_gl.a -else -TARGET = libSDL.a -endif - -CFLAGS=$(KOS_CFLAGS) $(DEFS) -Iinclude - -SRCS = \ - src/audio/dc/SDL_dcaudio.c \ - src/audio/dc/aica.c \ - src/audio/dummy/SDL_dummyaudio.c \ - src/audio/SDL_audio.c \ - src/audio/SDL_audiocvt.c \ - src/audio/SDL_audiodev.c \ - src/audio/SDL_mixer.c \ - src/audio/SDL_wave.c \ - src/cdrom/dc/SDL_syscdrom.c \ - src/cdrom/SDL_cdrom.c \ - src/events/SDL_active.c \ - src/events/SDL_events.c \ - src/events/SDL_expose.c \ - src/events/SDL_keyboard.c \ - src/events/SDL_mouse.c \ - src/events/SDL_quit.c \ - src/events/SDL_resize.c \ - src/file/SDL_rwops.c \ - src/joystick/dc/SDL_sysjoystick.c \ - src/joystick/SDL_joystick.c \ - src/loadso/dummy/SDL_sysloadso.c \ - src/SDL.c \ - src/SDL_error.c \ - src/SDL_fatal.c \ - src/stdlib/SDL_getenv.c \ - src/stdlib/SDL_iconv.c \ - src/stdlib/SDL_malloc.c \ - src/stdlib/SDL_qsort.c \ - src/stdlib/SDL_stdlib.c \ - src/stdlib/SDL_string.c \ - src/thread/dc/SDL_syscond.c \ - src/thread/dc/SDL_sysmutex.c \ - src/thread/dc/SDL_syssem.c \ - src/thread/dc/SDL_systhread.c \ - src/thread/SDL_thread.c \ - src/timer/dc/SDL_systimer.c \ - src/timer/SDL_timer.c \ - src/video/dc/SDL_dcevents.c \ - src/video/dc/SDL_dcvideo.c \ - src/video/dummy/SDL_nullevents.c \ - src/video/dummy/SDL_nullmouse.c \ - src/video/dummy/SDL_nullvideo.c \ - src/video/SDL_blit.c \ - src/video/SDL_blit_0.c \ - src/video/SDL_blit_1.c \ - src/video/SDL_blit_A.c \ - src/video/SDL_blit_N.c \ - src/video/SDL_bmp.c \ - src/video/SDL_cursor.c \ - src/video/SDL_gamma.c \ - src/video/SDL_pixels.c \ - src/video/SDL_RLEaccel.c \ - src/video/SDL_stretch.c \ - src/video/SDL_surface.c \ - src/video/SDL_video.c \ - src/video/SDL_yuv.c \ - src/video/SDL_yuv_sw.c \ - -OBJS = $(SRCS:.c=.o) - -TEST = \ - test/checkkeys.c \ - test/graywin.c \ - test/loopwave.c \ - test/testalpha.c \ - test/testbitmap.c \ - test/testcdrom.c \ - test/testerror.c \ - test/testgamma.c \ - test/testgl.c \ - test/testhread.c \ - test/testjoystick.c \ - test/testkeys.c \ - test/testlock.c \ - test/testoverlay.c \ - test/testpalette.c \ - test/testsem.c \ - test/testsprite.c \ - test/testtimer.c \ - test/testtypes.c \ - test/testver.c \ - test/testvidinfo.c \ - test/testwin.c \ - test/testwm.c \ - test/threadwin.c \ - test/torturethread.c \ - -$(TARGET): copy_config \ - $(OBJS) - $(AR) rcs $(TARGET) $(OBJS) - -copy_config: - @cp include/SDL_config.h.default include/SDL_config.h - -clean: - rm -f include/SDL_config.h $(OBJS) diff --git a/alienblaster/project/jni/sdl/Makefile.in b/alienblaster/project/jni/sdl/Makefile.in deleted file mode 100644 index e29dc6db4..000000000 --- a/alienblaster/project/jni/sdl/Makefile.in +++ /dev/null @@ -1,183 +0,0 @@ -# Makefile to build and install the SDL library - -top_builddir = . -srcdir = @srcdir@ -objects = build -depend = build-deps -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -includedir = @includedir@ -datarootdir = @datarootdir@ -datadir = @datadir@ -mandir = @mandir@ -auxdir = @ac_aux_dir@ -distpath = $(srcdir)/.. -distdir = SDL-@SDL_VERSION@ -distfile = $(distdir).tar.gz - -@SET_MAKE@ -SHELL = @SHELL@ -CC = @CC@ -INCLUDE = @INCLUDE@ -CFLAGS = @BUILD_CFLAGS@ -EXTRA_CFLAGS = @EXTRA_CFLAGS@ -LDFLAGS = @BUILD_LDFLAGS@ -EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ -LIBTOOL = @LIBTOOL@ -INSTALL = @INSTALL@ -NASM = @NASM@ @NASMFLAGS@ -AR = @AR@ -RANLIB = @RANLIB@ -WINDRES = @WINDRES@ - -TARGET = libSDL.la -SOURCES = @SOURCES@ -OBJECTS = @OBJECTS@ - -SDLMAIN_TARGET = libSDLmain.a -SDLMAIN_SOURCES = @SDLMAIN_SOURCES@ -SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@ - -DIST = acinclude autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 sdl.pc.in SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE.zip VisualC.html VisualC.zip Watcom-OS2.zip Watcom-Win32.zip symbian.zip WhatsNew Xcode.tar.gz - -HDRS = SDL.h SDL_active.h SDL_audio.h SDL_byteorder.h SDL_cdrom.h SDL_cpuinfo.h SDL_endian.h SDL_error.h SDL_events.h SDL_getenv.h SDL_joystick.h SDL_keyboard.h SDL_keysym.h SDL_loadso.h SDL_main.h SDL_mouse.h SDL_mutex.h SDL_name.h SDL_opengl.h SDL_platform.h SDL_quit.h SDL_rwops.h SDL_stdinc.h SDL_syswm.h SDL_thread.h SDL_timer.h SDL_types.h SDL_version.h SDL_video.h begin_code.h close_code.h - -LT_AGE = @LT_AGE@ -LT_CURRENT = @LT_CURRENT@ -LT_RELEASE = @LT_RELEASE@ -LT_REVISION = @LT_REVISION@ -LT_LDFLAGS = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) - -all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) - -$(srcdir)/configure: $(srcdir)/configure.in - @echo "Warning, configure.in is out of date" - #(cd $(srcdir) && sh autogen.sh && sh configure) - @sleep 3 - -Makefile: $(srcdir)/Makefile.in - $(SHELL) config.status $@ - -$(objects): - $(SHELL) $(auxdir)/mkinstalldirs $@ - -.PHONY: all depend install install-bin install-hdrs install-lib install-data install-man uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man clean distclean dist -depend: - @SOURCES="$(SOURCES)" INCLUDE="$(INCLUDE)" output="$(depend)" \ - $(SHELL) $(auxdir)/makedep.sh - @for src in $(SDLMAIN_SOURCES); do \ - obj=`echo $$src | sed -e 's|.*/||' -e 's|\.[^\.]*$$|.o|'`; \ - echo "\$$(objects)/$$obj: $$src" >>$(depend); \ - echo " \$$(CC) \$$(CFLAGS) \$$(EXTRA_CFLAGS) -c $$src -o \$$@" >>$(depend); \ - done - -include $(depend) - -$(objects)/$(TARGET): $(OBJECTS) - $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) - -$(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS) - $(AR) cru $@ $(SDLMAIN_OBJECTS) - $(RANLIB) $@ - -install: all install-bin install-hdrs install-lib install-data install-man -install-bin: - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir) - $(INSTALL) -m 755 sdl-config $(DESTDIR)$(bindir)/sdl-config -install-hdrs: - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL - for file in $(HDRS); do \ - $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL/$$file; \ - done - $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL/SDL_config.h -install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir) - $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET) - $(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) - $(RANLIB) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) -install-data: - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal - $(INSTALL) -m 644 $(srcdir)/sdl.m4 $(DESTDIR)$(datadir)/aclocal/sdl.m4 - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig - $(INSTALL) -m 644 sdl.pc $(DESTDIR)$(libdir)/pkgconfig -install-man: - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(mandir)/man3 - for src in $(srcdir)/docs/man3/*.3; do \ - file=`echo $$src | sed -e 's|^.*/||'`; \ - $(INSTALL) -m 644 $$src $(DESTDIR)$(mandir)/man3/$$file; \ - done - -uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man -uninstall-bin: - rm -f $(DESTDIR)$(bindir)/sdl-config -uninstall-hdrs: - for file in $(HDRS); do \ - rm -f $(DESTDIR)$(includedir)/SDL/$$file; \ - done - rm -f $(DESTDIR)$(includedir)/SDL/SDL_config.h - -rmdir $(DESTDIR)$(includedir)/SDL -uninstall-lib: - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET) - rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) -uninstall-data: - rm -f $(DESTDIR)$(datadir)/aclocal/sdl.m4 - rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl.pc -uninstall-man: - for src in $(srcdir)/docs/man3/*.3; do \ - file=`echo $$src | sed -e 's|^.*/||'`; \ - rm -f $(DESTDIR)$(mandir)/man3/$$file; \ - done - -clean: - rm -rf $(objects) - if test -f test/Makefile; then (cd test; $(MAKE) $@); fi - -distclean: clean - rm -f Makefile include/SDL_config.h sdl-config - rm -f SDL.qpg - rm -f config.status config.cache config.log libtool $(depend) - rm -rf $(srcdir)/autom4te* - rm -rf $(srcdir)/test/autom4te* - find $(srcdir) \( \ - -name '*~' -o \ - -name '*.bak' -o \ - -name '*.old' -o \ - -name '*.rej' -o \ - -name '*.orig' -o \ - -name '.#*' \) \ - -exec rm -f {} \; - cp $(srcdir)/include/SDL_config.h.default $(srcdir)/include/SDL_config.h - if test -f test/Makefile; then (cd test; $(MAKE) $@); fi - -dist $(distfile): - $(SHELL) $(auxdir)/mkinstalldirs $(distdir) - tar cf - $(DIST) | (cd $(distdir); tar xf -) - cp $(distdir)/include/SDL_config.h.default $(distdir)/include/SDL_config.h - rm -rf `find $(distdir) -name .svn` - rm -rf $(distdir)/test/autom4te* - find $(distdir) \( \ - -name '*~' -o \ - -name '*.bak' -o \ - -name '*.old' -o \ - -name '*.rej' -o \ - -name '*.orig' -o \ - -name '.#*' \) \ - -exec rm -f {} \; - if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi - tar cvf - $(distdir) | gzip --best >$(distfile) - rm -rf $(distdir) - -rpm: $(distfile) - rpmbuild -ta $? - -# Create a SVN snapshot that people can run update on -snapshot: - svn co http://svn.libsdl.org/branches/SDL-1.2 - (cd SDL-1.2 && ./autogen.sh && rm -rf autom4te.cache) - cp SDL-1.2/include/SDL_config.h.default SDL-1.2/include/SDL_config.h - tar zcf $(HOME)/SDL-1.2.tar.gz SDL-1.2 - rm -f $(HOME)/SDL-1.2.zip - zip -r $(HOME)/SDL-1.2.zip SDL-1.2 - rm -rf SDL-1.2 diff --git a/alienblaster/project/jni/sdl/Makefile.minimal b/alienblaster/project/jni/sdl/Makefile.minimal deleted file mode 100644 index 4fe03e9ef..000000000 --- a/alienblaster/project/jni/sdl/Makefile.minimal +++ /dev/null @@ -1,42 +0,0 @@ -# Makefile to build the SDL library - -INCLUDE = -I./include -CFLAGS = -g -O2 $(INCLUDE) -AR = ar -RANLIB = ranlib - -CONFIG_H = include/SDL_config.h -TARGET = libSDL.a -SOURCES = \ - src/*.c \ - src/audio/*.c \ - src/cdrom/*.c \ - src/cpuinfo/*.c \ - src/events/*.c \ - src/file/*.c \ - src/joystick/*.c \ - src/stdlib/*.c \ - src/thread/*.c \ - src/timer/*.c \ - src/video/*.c \ - src/audio/oss/*.c \ - src/video/fbcon/*.c \ - src/joystick/dummy/*.c \ - src/cdrom/dummy/*.c \ - src/thread/pthread/*.c \ - src/timer/unix/*.c \ - src/loadso/dummy/*.c \ - -OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g') - -all: $(TARGET) - -$(TARGET): $(CONFIG_H) $(OBJECTS) - $(AR) crv $@ $^ - $(RANLIB) $@ - -$(CONFIG_H): - cp $(CONFIG_H).default $(CONFIG_H) - -clean: - rm -f $(TARGET) $(OBJECTS) diff --git a/alienblaster/project/jni/sdl/NOTES b/alienblaster/project/jni/sdl/NOTES new file mode 100644 index 000000000..49dd2d058 --- /dev/null +++ b/alienblaster/project/jni/sdl/NOTES @@ -0,0 +1,172 @@ + +Sam - Mon Aug 6 23:02:37 PDT 2007 +------ +Add color modulation to blitting +Blit convert format X -> format Y (needed for texture upload) +Blit copy / blend / modulate format X -> format X (needed for software renderer) + +Create full software renderer for framebuffer interfaces. + +Create texture for surface, keep surface around as pixel source, allow +copying / blending / modulating from surface to display (automatically +generate texture?) + +At that point, should anyone be using anything besides textures for display? + +IRC - Mon Aug 6 23:50:44 PDT 2007 +----- +[11:07pm] icculus: so we're clear, "textures" replace "surfaces" from 1.2 when you want to get stuff to the screen? So you have a definitely point where it stops being pixels in memory and starts being an object on the graphics card? +[11:07pm] icculus: Upload once, blit many +[11:07pm] icculus: something like that? +[11:07pm] slouken: That's the idea, yes +[11:07pm] icculus: ok, just making sure +[11:08pm] slouken: Many drivers retain the "texture" as a surface and blit to opaque bits which then get copied into a framebuffer. +[11:08pm] slouken: retain -> would retain +[11:08pm] icculus: yeah, I figured +[11:08pm] slouken: That's why the features for surface blitting need to match the features for texture display. +[11:08pm] icculus: But it gives an abstraction where the app has to make a conscious action: the upload is slow, but then the blit is fast. +[11:09pm] icculus: This couldn't just map to LockSurface, though? +[11:09pm] slouken: Yes, exactly. I wasn't sure whether to make that clear, e.g. can you display any surface, and automatically generate a texture (if necessary)? +[11:09pm] slouken: If not, it simplifies the framebuffer case. +[11:10pm] slouken: But even the framebuffer case will probably still want to convert the bits to the optimal format. +[11:10pm] slouken: And at that point, the non-optimal bits can be thrown away. +[11:11pm] slouken: e.g. SDL_DisplayFormat() +[11:10pm] icculus: oh, that's a good point. +[11:10pm] icculus: hmm +[11:11pm] icculus: yeah, okay +[11:11pm] icculus: I was thinking about if the separation is really necessary, or if LockSurface would imply a texture creation (and you just have much more strict locking requirements than most 1.2 targets had) +[11:11pm] slouken: That's also why I separated the conversion blits from the copy / blend / modulate blits. +[11:12pm] icculus: But I like that the app has to be conscious of when that's happening +[11:12pm] slouken: Yeah, I was really leaning towards making it implicit, but the memory savings is pretty significant for artwork. +[11:12pm] icculus: SDL_compat can wrap the difference for people that can't get their head around it. +[11:13pm] icculus: At the performance cost, that can be a totally external layer that manages it like 1.2's locking. +[11:13pm] slouken: Well, SDL_compat is entirely software on top of a single texture that represents the screen. +[11:14pm] slouken: Yeah, that's the way it's implemented right now. +[11:14pm] slouken: a HWSURFACE is one that is backed by a texture, and lock/unlock is used to synchronize the bits. +[11:14pm] slouken: I'm not sure if that's worth keeping though, if SDL_compat is software only. +[11:15pm] slouken: It would minimize code migration though. +[11:15pm] icculus: yeah +[11:15pm] icculus: I expect SDL_compat to be a complete cesspool +[11:15pm] icculus: just a black box that no one touches or looks at more than necessary +[11:15pm] slouken: more or less, but it's actually pretty clean right now... I think as a side effect of the new API being pretty clean. +[11:15pm] slouken: I'm just unsure how much to use texture vs HWSURFACE +[11:16pm] icculus: Besides, you'd be surprised how quickly you can get people to move if you flag functions as deprecated so that GCC bitches when you use them. +[11:16pm] slouken: +[11:16pm] icculus: how much to use texture vs HWSURFACE in 1.3, or in SDL_compat? +[11:16pm] slouken: in 1.3 +[11:17pm] icculus: Pick one or the other, I would say. +[11:17pm] icculus: I don't think it's good to confuse people with both terms +[11:17pm] slouken: yeah +[11:17pm] icculus: Everything is software until it's a texture. +[11:17pm] slouken: I'm just not sure which +[11:17pm] slouken: that's certainly cleanest. +[11:18pm] slouken: and what's currently implemented +[11:18pm] slouken: Let's think through the migration process... +[11:18pm] icculus: Plus dropping the term HWSURFACE gets the point across that a) this isn't 1.2 and b) this is probably going to a 3D api that you should be using anyhow. +[11:18pm] • slouken nods +[11:18pm] icculus: I mean, "texture" is what every API calls these things +[11:18pm] slouken: Yep +[11:19pm] slouken: So let's work through a migration case... +[11:19pm] icculus: ok +[11:19pm] slouken: FooBall loads a big background and a bunch of sprites. They are png, loaded into SDL_Surface with SDL_image, then converted with SDL_DisplayFormat() +[11:20pm] slouken: Then the background is blitted every frame and the sprites are blended on top. +[11:20pm] slouken: In the compat case: +[11:21pm] slouken: SDL_SetVideoMode() creates a single lockable texture for the display. DisplayFormat() converts the bits into the optimal format, all blitting is done in software, and SDL_UpdateRects() pushes the bits into the texture and the texture is rendered. +[11:21pm] slouken: In the 1.3 case: +[11:22pm] slouken: The background and sprites are converted to textures using SDL_CreateTextureFromSurface(), and the appropriate blending flags are set. Each frame copies the textures into place and then the display is presented. +[11:23pm] slouken: compat is software only, 1.3 can be 3D accelerated. +[11:23pm] icculus: wait, why does all blitting have to be done in software in the SDL_compat case? +[11:23pm] icculus: I don't understand why SDL_compat can't move things between surfaces and textures at Lock/Unlock time +[11:24pm] slouken: Because by default the screen isn't created with HWSURFACE, since apps expect to be able to munge the bits. Therefore, the blits to it have to be done locally. +[11:24pm] icculus: And all the surfaces are flagged HWSURFACE, so ->pixels is NULL until locked. +[11:24pm] icculus: oh +[11:24pm] icculus: It wasn't possible to have a HWSURFACE screen? +[11:25pm] slouken: Yes, it was, just nobody did it because alpha blending needs to read from video memory, and poking pixels across the bus is slow. +[11:25pm] slouken: Even in 1.3, the Xlib case needs to be software renderer if you want to do any alpha blending. +[11:26pm] icculus: But arguably there's no reason that can't all be HWSURFACE (that is, they need to get moved to a texture, even if that's still a software renderer on the backend) +[11:26pm] icculus: That sounds like it's only a problem when an app touches SDL_GetVideoSurface()->pixels without checking if they should lock it. +[11:26pm] icculus: Which might be quite common +[11:27pm] slouken: Yep, in 1.2 the app was able to specify it, and most explicitly don't because it's either not available or bad for alpha blending and direct pixel poking. +[11:27pm] icculus: hmm. +[11:28pm] slouken: You see why I've been going round and round for months on this? +[11:28pm] icculus: Well, we're talking about a compatibility layer; if it's going to crash without LockSurface() on the screen, make them lock it. If that makes it slow, so be it. +[11:29pm] icculus: The options are make small changes and take a performance hit, or make bigger changes and get a big performance win. +[11:29pm] icculus: (if touching the framebuffer directly, that is) +[11:29pm] slouken: Well, at that point it's a compatibility layer, why not just leave it software? (devil's advocate here) +[11:29pm] icculus: That's a good point. +[11:30pm] slouken: Unless we leave everything surfaces to get the best of both worlds... +[11:30pm] • slouken gets dizzy +[11:30pm] icculus: From a technical elegance viewpoint, I can see a good mapping between HWSURFACE and textures, but realistically, you want to motivate people to move away from old APIs. +[11:31pm] slouken: Yeah probably. There's a certain attraction to retaining the SDL_Surface usage even for hardware surfaces, simply because of code reuse. You don't have to have separate code for your software composition and your rendering. You also get to keep your old image loading code, etc. +[11:31pm] icculus: man, this really is a pain in the ass, I see what you mean. +[11:32pm] slouken: Yeah. +[11:32pm] icculus: hmm, let me think on this awhile. +[11:32pm] slouken: On the other hand, separating the Texture API for rendering is clearer and allows extension in the future. +[11:32pm] slouken: We could potentially allow you to create a software renderer pointed at an SDL surface.... +[11:32pm] slouken: Hmmm +[11:33pm] icculus: well, that's what you have now for something like Doom +[11:33pm] icculus: you render to a shadow surface, and throw a hail-mary with SDL_Flip() +[11:34pm] slouken: Yep. I mean a 1.3 "renderer" with an SDL_Surface or another texture as the target. +[11:34pm] icculus: More or less, that doesn't change. The only important thing there is not generating a new texture every time, but being able to discard what's currently in it for a fresh upload. +[11:34pm] slouken: Yep +[11:34pm] icculus: oh, I see +[11:35pm] icculus: render-to-surface +[11:35pm] slouken: lol +[11:35pm] slouken: yeah +[11:36pm] slouken: So... where to draw the line with surface vs texture... +[11:37pm] icculus: I don't know, I would think that basically you want to get out of surfaces as fast as possible +[11:37pm] icculus: (disregarding SDL_compat for the moment) +[11:37pm] slouken: Yeah, I think so. +[11:37pm] slouken: Load the bits up, throw them into a texture, and go +[11:37pm] icculus: And basically all you really need for that is an "upload" function. +[11:38pm] slouken: Yep +[11:38pm] icculus: I'd even be inclined to not allow "Locking," so there's no readback. +[11:38pm] icculus: well, I'm sure that would cause a fight +[11:38pm] • slouken thinks +[11:40pm] slouken: Let me see where I use SDL_LockTexture() right now. +[11:42pm] slouken: The only time that's useful is to avoid a buffer copy when you're already writing the bits in the correct format. +[11:42pm] slouken: e.g. lock -> software render into bits -> unlock (upload) +[11:43pm] slouken: that may already be taken care of by the upload though. +[11:43pm] slouken: e.g. software render into bits -> upload +[11:44pm] slouken: Oh yeah, there's probably a memory copy of the bits though, so it's: upload = copy into cached bits, copy cached bits to video memory as needed. In that case if you lock to get access to the cached bits directly that's a win. +[11:44pm] icculus: ah, okay +[11:47pm] icculus: I don't know, my head hurts. +[11:47pm] slouken: Yeah, mine too. +[11:47pm] slouken: I was pretty happy with the current setup until I noticed that it's really hard to write a framebuffer driver right now. +[11:49pm] slouken: I think maybe if I clean that up and separate conversion blit and copy / blend / modulate blit, then it may work pretty cleanly. +[11:49pm] icculus: yeah + +[11:54pm] slouken: So recapping... SDL_Surface is only used for loading and app composition. +[11:55pm] slouken: SDL surface blitting is enhanced to maintain parity with the renderer features, since it's used as the core of the software renderer. +[11:56pm] slouken: The software renderer is adapted to be a standalone module targeting either an SDL_Surface or an SDL_Texture. +[11:56pm] slouken: SDL_HWSURFACE goes away +[11:57pm] slouken: Anything I'm missing? +[11:58pm] icculus: no, sounds good +[11:58pm] slouken: This means we have the new 1.3 texture API pretty much as it stands. +[11:59pm] slouken: Right? +[11:59pm] icculus: yeah, I think so + +[12:00am] slouken: I was trying to see if it was possible to make a pluggable blit API, but I was going insane with trying to figure out how to make it fast. +[12:01am] slouken: If it were software only I could just say, write your own and register it here, but you'd have to maintain parity with the OpenGL and Direct3D renderers as well. +[12:01am] slouken: At that point you might as well be working in surfaces and uploading to texture. +[12:02am] icculus: yeah + +TODO +---- +Change textures to static/streaming. Static textures are not lockable, +streaming textures are lockable and may have system memory pixels available. +SDL_compat will use a streaming video texture, and will never be HWSURFACE, +but may be PREALLOC, if system memory pixels are available. +*** DONE Thu Aug 16 14:18:42 PDT 2007 + +The software renderer will be abstracted so the surface management can be +used by any renderer that provides functions to copy surfaces to the window. + +Blitters... +---- +Copy blit and fill rect are optimized with MMX and SSE now. + +Here are the pieces we still need: +- Merging SDL texture capabilities into the SDL surface system +- Generic fallback blitter architecture +- Custom fast path blitters diff --git a/alienblaster/project/jni/sdl/README b/alienblaster/project/jni/sdl/README index 7c0dd5890..f2667e95c 100644 --- a/alienblaster/project/jni/sdl/README +++ b/alienblaster/project/jni/sdl/README @@ -12,11 +12,10 @@ This is the Simple DirectMedia Layer, a general API that provides low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D framebuffer across multiple platforms. -The current version supports Linux, Windows CE/95/98/ME/XP/Vista, BeOS, -MacOS Classic, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, -and QNX. The code contains support for Dreamcast, Atari, AIX, OSF/Tru64, -RISC OS, SymbianOS, Nintendo DS, and OS/2, but these are not officially -supported. +The current version supports Linux, Windows, Windows CE, BeOS, MacOS, +Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. +The code contains support for AIX, OSF/Tru64, RISC OS, and SymbianOS, +but these are not officially supported. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, diff --git a/alienblaster/project/jni/sdl/README.AmigaOS b/alienblaster/project/jni/sdl/README.AmigaOS deleted file mode 100644 index e0d890640..000000000 --- a/alienblaster/project/jni/sdl/README.AmigaOS +++ /dev/null @@ -1,12 +0,0 @@ -The AmigaOS code has been removed from SDL, since it had been broken for a - long time and had a few bits of fairly invasive code #ifdef'd into the - SDL core. - -However, there is an OS4 version of SDL here: - http://www.rcdrummond.net/amiga/index.html - -And a MorphOS version here: - http://www.lehtoranta.net/powersdl/ - ---ryan. - diff --git a/alienblaster/project/jni/sdl/README.BeOS b/alienblaster/project/jni/sdl/README.BeOS deleted file mode 100644 index ccdccf598..000000000 --- a/alienblaster/project/jni/sdl/README.BeOS +++ /dev/null @@ -1,13 +0,0 @@ - -SDL on BeOS R5 -============== - -You can build SDL on BeOS like any other GNU style package. -e.g. ./configure && make && make install -By default it is installed in /boot/develop/tools/gnupro/{bin,lib,etc.} - -Once you install SDL, you need to copy libSDL.so to /boot/home/config/lib, -so it can be found by the dynamic linker. - -Enjoy! - Sam Lantinga (slouken@libsdl.org) diff --git a/alienblaster/project/jni/sdl/README.CVS b/alienblaster/project/jni/sdl/README.CVS deleted file mode 100644 index 7664e9181..000000000 --- a/alienblaster/project/jni/sdl/README.CVS +++ /dev/null @@ -1,4 +0,0 @@ - -SDL is no longer hosted in a CVS repository. Please see README.SVN for -information on accessing our Subversion repository. - diff --git a/alienblaster/project/jni/sdl/README.DC b/alienblaster/project/jni/sdl/README.DC deleted file mode 100644 index e2fb1d651..000000000 --- a/alienblaster/project/jni/sdl/README.DC +++ /dev/null @@ -1,32 +0,0 @@ -SDL for Dreamcast (beta2) - - BERO - berobero@users.sourceforge.net - - http://www.geocities.co.jp/Playtown/2004/ - -this work with kos-newlib -http://sourceforge.net/projects/dcquake/ - -compile -- source environ.sh (from the KOS distribution) -- make -f Makefile.dc - -compile with gl support -- install latest libgl from http://sourceforge.net/projects/dcquake/ -- uncomment GL=1 in Makefile.dc -- make -f Makefile.dc clean -- make -f Makefile.dc - -install -- copy include/*.h and libSDL.a or libSDL_gl.a for your enviroment - -changelog: - -beta2 -- OpenGL support -- Hardware page flip support - -beta -- thread, timer don't tested so much. -- not support OpenGL diff --git a/alienblaster/project/jni/sdl/README.HG b/alienblaster/project/jni/sdl/README.HG new file mode 100644 index 000000000..a69f5e39e --- /dev/null +++ b/alienblaster/project/jni/sdl/README.HG @@ -0,0 +1,23 @@ + +The latest development version of SDL is available via Mercurial. +Mercurial allows you to get up-to-the-minute fixes and enhancements; +as a developer works on a source tree, you can use "hg" to mirror that +source tree instead of waiting for an official release. Please look +at the Mercurial website ( http://mercurial.selenic.com/ ) for more +information on using hg, where you can also download software for +Mac OS X, Windows, and Unix systems. + + hg clone http://hg.libsdl.org/SDL + +If you are building SDL with an IDE, you will need to copy the file +include/SDL_config.h.default to include/SDL_config.h before building. + +If you are building SDL via configure, you will need to run autogen.sh +before running configure. + +There is a web interface to the subversion repository at: + http://hg.libsdl.org/SDL/ + +There is an RSS feed available at that URL, for those that want to +track commits in real time. + diff --git a/alienblaster/project/jni/sdl/README.MacOS b/alienblaster/project/jni/sdl/README.MacOS deleted file mode 100644 index acfd93578..000000000 --- a/alienblaster/project/jni/sdl/README.MacOS +++ /dev/null @@ -1,63 +0,0 @@ - -============================================================================== -Using the Simple DirectMedia Layer with MacOS 7,8,9 on PPC -============================================================================== - -These instructions are for people using the Apple MPW environment: -http://developer.apple.com/tools/mpw-tools/ - -CodeWarrior projects are available in the CWprojects directory. - -============================================================================== -I. Building the Simple DirectMedia Layer libraries: - (This step isn't necessary if you have the SDL binary distribution) - - First, unpack the MPWmake.sea.hqx archive and move SDL.make into the - SDL directory. - - Start MPW - - Set the current directory within MPW to the SDL toplevel directory. - - Build "SDL" (Type Command-B and enter "SDL" in the dialog) - - If everything compiles successfully, you now have the PPC libraries - "SDL" and "SDLmain.o" in the 'lib' subdirectory. - -============================================================================== -II. Building the Simple DirectMedia Layer test programs: - - First, unpack the MPWmake.sea.hqx archive, move the new rsrc directory to - the main SDL directory, and move the makefiles in the new test subdirectory - to the SDL 'test' subdirectory. - - Start MPW - - Set the current directory within MPW to the SDL 'test' subdirectory. - - Build the programs that have an associated MPW makefile (file ending - with .make), including "testwin", "testalpha", and "graywin". - - Copy the SDL library file into the test directory, and run! - -============================================================================== -III. Building the Simple DirectMedia Layer demo programs: - - Copy one of the test program Makefiles to the demo directory - and modify it to match the sources in the demo. - -============================================================================== -IV. Enjoy! :) - - If you have a project you'd like me to know about, or want to ask questions, - go ahead and join the SDL developer's mailing list by sending e-mail to: - - sdl-request@libsdl.org - - and put "subscribe" into the subject of the message. Or alternatively you - can use the web interface: - - http://www.libsdl.org/mailman/listinfo/sdl - -============================================================================== - diff --git a/alienblaster/project/jni/sdl/README.MacOSX b/alienblaster/project/jni/sdl/README.MacOSX deleted file mode 100644 index 3bc421371..000000000 --- a/alienblaster/project/jni/sdl/README.MacOSX +++ /dev/null @@ -1,186 +0,0 @@ -============================================================================== -Using the Simple DirectMedia Layer with Mac OS X -============================================================================== - -These instructions are for people using Apple's Mac OS X (pronounced -"ten"). - -From the developer's point of view, OS X is a sort of hybrid Mac and -Unix system, and you have the option of using either traditional -command line tools or Apple's IDE Xcode. - -To build SDL using the command line, use the standard configure and make -process: - - ./configure - make - sudo make install - -You can also build SDL as a Universal library (a single binary for both -PowerPC and Intel architectures), on Mac OS X 10.4 and newer, by using -the fatbuild.sh script in build-scripts: - sh build-scripts/fatbuild.sh - sudo build-scripts/fatbuild.sh install -This script builds SDL with 10.2 ABI compatibility on PowerPC and 10.4 -ABI compatibility on Intel architectures. For best compatibility you -should compile your application the same way. A script which wraps -gcc to make this easy is provided in test/gcc-fat.sh - -To use the library once it's built, you essential have two possibilities: -use the traditional autoconf/automake/make method, or use Xcode. - -============================================================================== -Using the Simple DirectMedia Layer with a traditional Makefile -============================================================================== - -An existing autoconf/automake build system for your SDL app has good chances -to work almost unchanged on OS X. However, to produce a "real" Mac OS X binary -that you can distribute to users, you need to put the generated binary into a -so called "bundle", which basically is a fancy folder with a name like -"MyCoolGame.app". - -To get this build automatically, add something like the following rule to -your Makefile.am: - -bundle_contents = APP_NAME.app/Contents -APP_NAME_bundle: EXE_NAME - mkdir -p $(bundle_contents)/MacOS - mkdir -p $(bundle_contents)/Resources - echo "APPL????" > $(bundle_contents)/PkgInfo - $(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/ - -You should replace EXE_NAME with the name of the executable. APP_NAME is what -will be visible to the user in the Finder. Usually it will be the same -as EXE_NAME but capitalized. E.g. if EXE_NAME is "testgame" then APP_NAME -usually is "TestGame". You might also want to use @PACKAGE@ to use the package -name as specified in your configure.in file. - -If your project builds more than one application, you will have to do a bit -more. For each of your target applications, you need a seperate rule. - -If you want the created bundles to be installed, you may want to add this -rule to your Makefile.am: - -install-exec-hook: APP_NAME_bundle - rm -rf $(DESTDIR)$(prefix)/Applications/APP_NAME.app - mkdir -p $(DESTDIR)$(prefix)/Applications/ - cp -r $< /$(DESTDIR)$(prefix)Applications/ - -This rule takes the Bundle created by the rule from step 3 and installs them -into $(DESTDIR)$(prefix)/Applications/. - -Again, if you want to install multiple applications, you will have to augment -the make rule accordingly. - - -But beware! That is only part of the story! With the above, you end up with -a bare bone .app bundle, which is double clickable from the Finder. But -there are some more things you should do before shipping yor product... - -1) The bundle right now probably is dynamically linked against SDL. That - means that when you copy it to another computer, *it will not run*, - unless you also install SDL on that other computer. A good solution - for this dilemma is to static link against SDL. On OS X, you can - achieve that by linkinag against the libraries listed by - sdl-config --static-libs - instead of those listed by - sdl-config --libs - Depending on how exactly SDL is integrated into your build systems, the - way to achieve that varies, so I won't describe it here in detail -2) Add an 'Info.plist' to your application. That is a special XML file which - contains some meta-information about your application (like some copyright - information, the version of your app, the name of an optional icon file, - and other things). Part of that information is displayed by the Finder - when you click on the .app, or if you look at the "Get Info" window. - More information about Info.plist files can be found on Apple's homepage. - - -As a final remark, let me add that I use some of the techniques (and some -variations of them) in Exult and ScummVM; both are available in source on -the net, so feel free to take a peek at them for inspiration! - - -============================================================================== -Using the Simple DirectMedia Layer with Xcode -============================================================================== - -These instructions are for using Apple's Xcode IDE to build SDL applications. - -- First steps - -The first thing to do is to unpack the Xcode.tar.gz archive in the -top level SDL directory (where the Xcode.tar.gz archive resides). -Because Stuffit Expander will unpack the archive into a subdirectory, -you should unpack the archive manually from the command line: - cd [path_to_SDL_source] - tar zxf Xcode.tar.gz -This will create a new folder called Xcode, which you can browse -normally from the Finder. - -- Building the Framework - -The SDL Library is packaged as a framework bundle, an organized -relocatable folder heirarchy of executible code, interface headers, -and additional resources. For practical purposes, you can think of a -framework as a more user and system-friendly shared library, whose library -file behaves more or less like a standard UNIX shared library. - -To build the framework, simply open the framework project and build it. -By default, the framework bundle "SDL.framework" is installed in -/Library/Frameworks. Therefore, the testers and project stationary expect -it to be located there. However, it will function the same in any of the -following locations: - - ~/Library/Frameworks - /Local/Library/Frameworks - /System/Library/Frameworks - -- Build Options - There are two "Build Styles" (See the "Targets" tab) for SDL. - "Deployment" should be used if you aren't tweaking the SDL library. - "Development" should be used to debug SDL apps or the library itself. - -- Building the Testers - Open the SDLTest project and build away! - -- Using the Project Stationary - Copy the stationary to the indicated folders to access it from - the "New Project" and "Add target" menus. What could be easier? - -- Setting up a new project by hand - Some of you won't want to use the Stationary so I'll give some tips: - * Create a new "Cocoa Application" - * Add src/main/macosx/SDLMain.m , .h and .nib to your project - * Remove "main.c" from your project - * Remove "MainMenu.nib" from your project - * Add "$(HOME)/Library/Frameworks/SDL.framework/Headers" to include path - * Add "$(HOME)/Library/Frameworks" to the frameworks search path - * Add "-framework SDL -framework Foundation -framework AppKit" to "OTHER_LDFLAGS" - * Set the "Main Nib File" under "Application Settings" to "SDLMain.nib" - * Add your files - * Clean and build - -- Building from command line - Use pbxbuild in the same directory as your .pbproj file - -- Running your app - You can send command line args to your app by either invoking it from - the command line (in *.app/Contents/MacOS) or by entering them in the - "Executibles" panel of the target settings. - -- Implementation Notes - Some things that may be of interest about how it all works... - * Working directory - As defined in the SDL_main.m file, the working directory of your SDL app - is by default set to its parent. You may wish to change this to better - suit your needs. - * You have a Cocoa App! - Your SDL app is essentially a Cocoa application. When your app - starts up and the libraries finish loading, a Cocoa procedure is called, - which sets up the working directory and calls your main() method. - You are free to modify your Cocoa app with generally no consequence - to SDL. You cannot, however, easily change the SDL window itself. - Functionality may be added in the future to help this. - - -Known bugs are listed in the file "BUGS" diff --git a/alienblaster/project/jni/sdl/README.MiNT b/alienblaster/project/jni/sdl/README.MiNT deleted file mode 100644 index eabe3eb1b..000000000 --- a/alienblaster/project/jni/sdl/README.MiNT +++ /dev/null @@ -1,250 +0,0 @@ -============================================================================== -Using the Simple DirectMedia Layer on Atari -============================================================================== - - - If you want to build SDL from sources to create SDL programs on Atari: - see sections I - II. - - If you want to create SDL programs on Atari using SDL binary build, - download it from my web site (URL at end of this file). - - If you want to configure a program using SDL on Atari, - see sections IV - VI. - - -============================================================================== -I. Building the Simple DirectMedia Layer libraries: - (This step isn't necessary if you have the SDL binary distribution) - - Do the classic configure, with --disable-shared --enable-static and: - - Tos version (should run everywhere): - --disable-threads - Tos does not support threads. - - MiNT version (maybe Magic, only for multitasking OS): - --disable-pthreads --enable-pth - Mint and Magic may supports threads, so audio can be used with current - devices, like Sun audio, or disk-writing support. Like Tos, interrupt - audio without threads is more suited for Atari machines. - - Then you can make ; make install it. - -============================================================================== -II. Building the Simple DirectMedia Layer test programs: - - Do the classic configure, then make. - - Run them ! - -============================================================================== -III. Enjoy! :) - - If you have a project you'd like me to know about, or want to ask questions, - go ahead and join the SDL developer's mailing list by sending e-mail to: - - sdl-request@libsdl.org - - and put "subscribe" into the subject of the message. Or alternatively you - can use the web interface: - - http://www.libsdl.org/mailman/listinfo/sdl - -============================================================================== -IV. What is supported: - -Keyboard (GEMDOS, BIOS, GEM, Ikbd) -Mouse (XBIOS, GEM, Ikbd, /dev/mouse (non working atm, disabled)) -Video (XBIOS (Fullscreen), GEM (Windowed and Fullscreen)) -Timer (VBL vector, GNU pth library) -Joysticks and joypads (Ikbd, Hardware) -Audio (Hardware, XBIOS, GSXB, MCSN, STFA, /dev/audio if threads enabled) -Threads (Multitasking OS only via GNU pth library) -Shared object loader (using LDG library from http://ldg.atari.org/) -Audio CD (MetaDOS) -OpenGL (using Mesa offscreen rendering driver) - -- Dependent driver combinations: -Video Kbd Mouse Timer Joysticks -xbios ikbd ikbd vbl(2) ikbd -xbios gemdos xbios vbl(2) xbios -xbios bios xbios vbl(2) xbios -gem gem gem(1) vbl(2) xbios - -Audio O/S Misc -dma8 All Uses MFP Timer A interrupt -xbios TOS Uses MFP Timer A interrupt -xbios MiNT Uses MFP Timer A interrupt -xbios Magic Uses MFP Timer A interrupt -stfa All Uses MFP interrupt -mcsn TOS Uses MFP Timer A interrupt -mcsn MiNT Uses MiNT thread -mcsn Magic Disabled -gsxb All Uses GSXB callback - -Joypad driver always uses hardware access. -OpenGL driver always uses OSMesa. - -(1) GEM does not report relative mouse motion, so xbios mouse driver is used -to report this type event. -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 -supported via the pth library. - -============================================================================== -V. Environment variables: - -SDL_VIDEODRIVER: - Set to 'xbios' to force xbios video driver - Set to 'gem' to force gem video driver - -SDL_VIDEO_GL_DRIVER: - Set to filename to load as OpenGL library, if you use SDL_GL_LoadLibrary() - -SDL_AUDIODRIVER: - Set to 'mint_gsxb' to force Atari GSXB audio driver - Set to 'mint_mcsn' to force Atari MCSN audio driver - Set to 'mint_stfa' to force Atari STFA audio driver - Set to 'mint_xbios' to force Atari Xbios audio driver - Set to 'mint_dma8' to force Atari 8 bits DMA audio driver - Set to 'audio' to force Sun /dev/audio audio driver - Set to 'disk' to force disk-writing audio driver - -SDL_ATARI_EVENTSDRIVER - Set to 'ikbd' to force IKBD 6301 keyboard driver - Set to 'gemdos' to force gemdos keyboard driver - Set to 'bios' to force bios keyboard driver - -SDL_JOYSTICK_ATARI: - Use any of these strings in the environment variable to enable or - disable a joystick: - - 'ikbd-joy1-[on|off]' for IKBD joystick on port 1 (hardware access) - 'xbios-joy1-[on|off]' for IKBD joystick on port 1 (xbios access) - 'porta-pad-[on|off]' for joypad and/or teamtap on port A - 'porta-joy0-[on|off]' for joystick 0 on port A - 'porta-joy1-[on|off]' for joystick 1 on port A - 'porta-lp-[on|off]' for lightpen on port A - 'porta-anpad-[on|off]' for analog paddle on port A - 'portb-pad-[on|off]' for joypad and/or teamtap on port B - 'portb-joy0-[on|off]' for joystick 0 on port B - 'portb-joy1-[on|off]' for joystick 1 on port B - 'portb-anpad-[on|off]' for analog paddle on port B - - Default configuration is: - 'ikbd-joy1-on' (if IKBD events driver enabled) - 'xbios-joy1-on' (if gemdos/bios/gem events driver enabled) - 'porta-pad-on portb-pad-on' (if available on the machine) - - port[a|b]-[pad|joy?|lp|anpad]-* strings are mutually exclusives. - On such a port, you can only use a joypad OR 1 or 2 joysticks OR - a lightpen OR an analog paddle. You must disable joypad before - setting another controller. - - The second joystick port on IKBD is used by the mouse, so not usable. - Another problem with the IKBD: mouse buttons and joystick fire buttons - are wired together at the hardware level, it means: - port 0 port 0 port 1 - mouse left button = joystick fire 0 = joystick fire 1 - mouse right button = joystick fire 1 = joystick fire 0 - - Descriptions of joysticks/joypads: - - Joypads: 1 hat, 17 buttons (Atari Jaguar console-like). - - Joysticks: 1 hat, 1 button. - - Lightpen, analog paddles: 2 axis, 2 buttons. The 2 buttons are those - affected to 1 button joysticks on the same port. - -============================================================================== -VI. More informations about drivers: - -OpenGL: - The default is to use the Mesa offscreen driver (osmesa.ldg). If you want - to use an older OpenGL implementation, like mesa_gl.ldg or tiny_gl.ldg, - your program must use SDL_GL_LoadLibrary() to do so, and retrieve the - needed function pointers with SDL_LoadFunction(). In all cases, the OpenGL - context is taken care of by SDL itself, you just have to use gl* functions. - - However, there is one OpenGL call that has a different prototype in the old - implementations: glOrtho(). In the old implementations, it has 6 float as - parameters, in the standard one, it has 6 double parameters. If you want - to compile testdyngl, or any other SDL program that loads its OpenGL - library, you must change the glOrtho() prototype used in this program. In - osmesa.ldg, you can retrieve a glOrtho() with double parameters, by - searching for the function "glOrtho6d". - -Xbios video: - Video chip is detected using the _VDO cookie. - Screen enhancers are not supported, but could be if you know how to - use them. - - ST, STE, Mega ST, Mega STE: - 320x200x4 bits, shades of grey, available only for the purpose - of testing SDL. - TT: - 320x480x8 and 320x240x8 (software double-lined mode). - Falcon: - All modes supported by the current monitor (RVB or VGA). - BlowUp and Centscreen extended modes, ScreenBlaster 3 current mode. - Milan: - Experimental support - Clones and any machine with monochrome monitor: - Not supported. - -Gem video: - Automatically used if xbios not available. - - All machines: - Only the current resolution, if 8 bits or higher depth. - -IKBD keyboard, mouse and joystick driver: - Available if _MCH cookie is ST, Mega ST, STE, Mega STE, TT or Falcon. - - Hades has an IKBD, but xbios is not available for video, so IKBD - driver is disabled. - -Gemdos and bios keyboard driver: - Available on all machines. - -Mouse and joystick xbios driver: - Available on all machines (I think). - -Joypad driver: - Available if _MCH cookie is STE or Falcon. Supports teamtap. - -PTH timer driver: - Available with multitasking OS. - -VBL timer driver: - Available on all machines (I think). - -Audio drivers: - Cookies _SND, MCSN, STFA and GSXB used to detect supported audio - capabilities. - - STE, Mega STE, TT: - 8 bits DMA (hardware access) - STFA, MCSN or GSXB driver if installed - Falcon: - 8 bits DMA (hardware access) - Xbios functions - STFA, MCSN or GSXB driver if installed - Other machines: - STFA, MCSN or GSXB driver if installed - - STFA driver: - http://removers.free.fr/softs/stfa.html - GSXB driver: - http://assemsoft.atari.org/gsxb/ - MacSound driver: - http://jf.omnis.ch/software/tos/ - MagicSound driver (MCSN,GSXB compatible): - http://perso.wanadoo.fr/didierm/ - X-Sound driver (GSXB compatible): - http://www.uni-ulm.de/~s_thuth/atari/xsound_e.html - --- -Patrice Mandin -http://pmandin.atari.org/ diff --git a/alienblaster/project/jni/sdl/README.NDS b/alienblaster/project/jni/sdl/README.NDS deleted file mode 100644 index e96a9eeec..000000000 --- a/alienblaster/project/jni/sdl/README.NDS +++ /dev/null @@ -1,22 +0,0 @@ -The SDL port to the Nintendo DS - -This port uses the devKitPro toolchain, available from: -http://www.devkitpro.org - -Precompiled tools for cross-compiling on Linux are available from: -http://www.libsdl.org/extras/nds/devkitPro-20070503-linux.tar.gz - -todo: -add ds console specific features/optimizations -mouse/keyboard support -dual screen support - -build with: -cp include/SDL_config_nds.h include/SDL_config.h -make -f Makefile.ds - -included is an arm9/arm7 template to allow for sound streaming support. - -Enjoy, fix the source and share :) -Troy Davis(GPF) -http://gpf.dcemu.co.uk/ diff --git a/alienblaster/project/jni/sdl/README.NanoX b/alienblaster/project/jni/sdl/README.NanoX deleted file mode 100644 index 8418ff332..000000000 --- a/alienblaster/project/jni/sdl/README.NanoX +++ /dev/null @@ -1,97 +0,0 @@ - ================================================================= - Patch version 0.9 of SDL(Simple DirectMedia Layer) for Nano-X API - ================================================================= - - Authors: Hsieh-Fu Tsai, clare@setabox.com - Greg Haerr, greg@censoft.com - - This patch is against SDL version 1.2.4. - It enhances previous patch 0.8 by providing direct framebuffer - access as well as dynamic hardware pixel type support, not - requiring a compile-time option setting for different framebuffer - modes. - Tested against Microwindows version 0.89pre9. - - Older Microwindows versions - =========================== - If running on a version older than Microwindows 0.89pre9, - the following items might need to be patched in Microwindows. - - 1. Patch src/nanox/client.c::GrClose() - It fixes the client side GrClose(). In the original version, - GrOpen() can only be called once. When the GrOpen() is called at - the second time, the program will terminate. In order to prevent - this situation, we need to insert "nxSocket = -1" after - "close(nxSocket)" in GrClose(). If you do not have this problem, - you may skip this step. - - 2. Patch src/nanox/clientfb.c to return absolute x,y coordinates - when using GrGetWindowFBInfo(). Copy the version 0.89pre9 - of src/nanox/clientfb.c to your system, or configure - using --disable-nanox-direct-fb. - - ============= - Quick Install - ============= - - 1. ./configure --disable-video-x11 --disable-video-fbcon \ - --enable-video-nanox \ - --with-nanox-pixel-type=[rgb/0888/888/565/555/332/pal] - 2. make clean - 3. make - 4. make install (as root) - - ============ - Nitty-gritty - ============ - - --enable-nanox-direct-fb Use direct framebuffer access - --enable-nanox-debug Show debug messages - --enable-nanox-share-memory Use shared-memory to speed up - - When running multi-threaded applications using SDL, such - as SMPEG, set THREADSAFE=Y in Microwindows' config file, - to enable GrXXX() system call critical section support. - - ============================================= - Some programs can be used to test this patch. - ============================================= - - 1. http://www.cs.berkeley.edu/~weimer/atris (a tetris-like game) - 2. http://www.libsdl.org/projects/newvox/ - 3. http://www.libsdl.org/projects/xflame/ - 4. http://www.libsdl.org/projects/optimum/ - 5. http://www.gnugeneration.com/software/loop/ - 6: http://www.lokigames.com/development/smpeg.php3 (SMPEG version 0.4.4) - - ========= - Todo List - ========= - - 1. Create hardware surface - 2. Create YUVOverlay on hardware - 3. Use OpenGL - 4. Gamma correction - 5. Hide/Change mouse pointer - 6. Better window movement control with direct fb access - 7. Palette handling in 8bpp could be improved - - ===================== - Supporting Institutes - ===================== - - Many thanks to go to Setabox Co., Ltd. and CML (Communication and - Multimedia Laboratory, http://www.cmlab.csie.ntu.edu.tw/) in the - Department of Computer Science and Information Engineering of - National Taiwan University for supporting this porting project. - - Century Embedded Technologies (http://embedded.censoft.com) - for this patch. - - =================== - Contact Information - =================== - - Welcome to give me any suggestion and to report bugs. - My e-mail address : clare@setabox.com or niky@cmlab.csie.ntu.edu.tw - or greg@censoft.com diff --git a/alienblaster/project/jni/sdl/README.OS2 b/alienblaster/project/jni/sdl/README.OS2 deleted file mode 100644 index 424b3739c..000000000 --- a/alienblaster/project/jni/sdl/README.OS2 +++ /dev/null @@ -1,281 +0,0 @@ - -=========== -SDL on OS/2 -=========== - -Last updated on May. 17, 2006. - - -1. How to compile? ------------------- - -To compile this, you'll need the followings installed: -- The OS/2 Developer's Toolkit -- The OpenWatcom compiler - (http://www.openwatcom.org) - -First of all, you have to unzip the Watcom-OS2.zip file. This will result in a -file called "makefile" and a file called "setvars.cmd" in this folder (and some -more files...). - -Please edit the second, fourth and fifth lines of setvars.cmd file -to set the folders where the toolkit, the OW compiler and the FSLib are. -You won't need NASM yet (The Netwide Assembler), you can leave that line. -Run setvars.cmd, and you should get a shell in which you can -compile SDL. - -Check the "makefile" file. There is a line in there which determines if the -resulting SDL.DLL will be a 'debug' or a 'release' build. The 'debug' version -is full of printf()'s, so if something goes wrong, its output can help a lot -for debugging. - -Then run "wmake". -This should create the SDL12.DLL and the corresponding SDL12.LIB file here. - -To test applications, it's a good idea to use the 'debug' build of SDL, and -redirect the standard output and standard error output to files, to see what -happens internally in SDL. -(like: testsprite >stdout.txt 2>stderr.txt) - -To rebuild SDL, use the following commands in this folder: -wmake clean -wmake - - - -2. How to compile the testapps? -------------------------------- - -Once you have SDL12.DLL compiled, navigate into the 'test' folder, copy in -there the newly built SDL12.DLL, and copy in there FSLib.DLL. - -Then run "wmake" in there to compile some of the testapps. - - - -3. What is missing? -------------------- - -The following things are missing from this SDL implementation: -- MMX, SSE and 3DNOW! optimized video blitters? -- HW Video surfaces -- OpenGL support - - - -4. Special Keys / Full-Screen support -------------------------------------- - -There are two special hot-keys implemented: -- Alt+Home switches between fullscreen and windowed mode -- Alt+End simulates closing the window (can be used as a Panic key) -Only the LEFT Alt key will work. - - - -5. Joysticks on SDL/2 ---------------------- - -The Joystick detection only works for standard joysticks (2 buttons, 2 axes -and the like). Therefore, if you use a non-standard joystick, you should -specify its features in the SDL_OS2_JOYSTICK environment variable in a batch -file or CONFIG.SYS, so SDL applications can provide full capability to your -device. The syntax is: - -SET SDL_OS2_JOYSTICK=[JOYSTICK_NAME] [AXES] [BUTTONS] [HATS] [BALLS] - -So, it you have a Gravis GamePad with 4 axes, 2 buttons, 2 hats and 0 balls, -the line should be: - -SET SDL_OS2_JOYSTICK=Gravis_GamePad 4 2 2 0 - -If you want to add spaces in your joystick name, just surround it with -quotes or double-quotes: - -SET SDL_OS2_JOYSTICK='Gravis GamePad' 4 2 2 0 - -or - -SET SDL_OS2_JOYSTICK="Gravis GamePad" 4 2 2 0 - - Notive However that Balls and Hats are not supported under OS/2, and the -value will be ignored... but it is wise to define these correctly because -in the future those can be supported. - Also the number of buttons is limited to 2 when using two joysticks, -4 when using one joystick with 4 axes, 6 when using a joystick with 3 axes -and 8 when using a joystick with 2 axes. Notice however these are limitations -of the Joystick Port hardware, not OS/2. - - - -6. Proportional windows ------------------------ - -For some SDL applications it can be handy to have proportional windows, so -the windows will keep their aspect ratio when resized. -This can be achieved in two ways: - -- Before starting the given SDL application, set the - SDL_USE_PROPORTIONAL_WINDOW environment variable to something, e.g.: - - SET SDL_USE_PROPORTIONAL_WINDOW=1 - dosbox.exe - -- If you have a HOME environment variable set, then SDL will look for a file - in there called ".sdl.proportionals". If that file contains the name of the - currently running SDL executable, then that process will have proportional - windows automatically. - - Please note that this file is created automatically with default values - at the first run. - - - -7. Audio in SDL applications ----------------------------- - -Audio effects are one of the most important features in games. Creating audio -effects in sync with the game and without hickups and pauses in the audio are -very important things. - -However there are multithreaded SDL applications that have tight loops as their -main logic loop. This kills performance in OS/2, and takes too much CPU from -other threads in the same process, for example from the thread to create the -sound effects. - -For this reason, the OS/2 port of SDL can be instructed to run the audio thread -in high priority, which makes sure that there will be enough time for the -processing of the audio data. - -At default, SDL/2 runs the audio thread at ForegroundServer+0 priority. Well -written and well behaving SDL applications should work well in this mode. -For other applications, you can tell SDL/2 to run the audio thread at -TimeCritical priority by setting an env.variable before starting the SDL app: - - SET SDL_USE_TIMECRITICAL_AUDIO=1 - -Please note that this is a bit risky, because if the SDL application runs a -tight infinite loop in this thread, this will make the whole system -unresponsive, so use it with care, and only for applications that need it! - - - -8. Next steps... ----------------- - -Things to do: -- Implement missing stuffs (look for 'TODO' string in source code!) -- Finish video driver (the 'wincommon' can be a good example for missing - things like application icon and so on...) -- Enable MMX/SSE/SSE2 acceleration functions -- Rewrite CDROM support using DOS Ioctl for better support. - - - -9. Contacts ------------ - - You can contact the developers for bugs: - - Area Developer email - General (Audio/Video/System) Doodle doodle@scenergy.dfmk.hu - CDROM and Joystick Caetano daniel@caetano.eng.br - - Notice however that SDL/2 is 'in development' stage so ... if you want to help, -please, be our guest and contact us! - - - -10. Changelog of the OS/2 port ------------------------------- - -Version 1.2.10 - 2006-05-17 - Doodle - - Small modifications for v1.2.10 release - - Changed DLL name to include version info (currently SDL12.dll) - -Version 1.2 - 2006-05-01 - Doodle - - Modified makefile system to have only one makefile - - Included FSLib headers, DLL and LIB file - -Version 1.2 - 2006-02-26 - Doodle - - Updated the official SDL version with the OS/2 specific changes. - - Added support for real unicode keycode conversion. - -Version 1.2.7 - 2006-01-20 - Doodle - - Added support for selectively using timecritical priority for - audio threads by SDL_USE_TIMECRITICAL_AUDIO environment variable. - (e.g.: - SET SDL_USE_TIMECRITICAL_AUDIO=1 - dosbox.exe - ) - -Version 1.2.7 - 2005-12-22 - Doodle - - Added support for proportional SDL windows. - There are two ways to have proportional (aspect-keeping) windows for - a given SDL application: Either set the SDL_USE_PROPORTIONAL_WINDOW - environment variable to something before starting the application - (e.g.: - SET SDL_USE_PROPORTIONAL_WINDOW=1 - dosbox.exe - ) - or, if you have the HOME environment variable set, then SDL12.DLL will - create a file in that directory called .sdl.proportionals, and you can - put there the name of executable files that will be automatically made - proportional. - -Version 1.2.7 - 2005-10-14 - Doodle - - Enabled Exception handler code in FSLib to be able to restore original - desktop video mode in case the application crashes. - - Added the missing FSLib_Uninitialize() call into SDL. - (The lack of it did not cause problems, but it's cleaner this way.) - - Fixed a mouse problem in Fullscreen mode where any mouse click - re-centered the mouse. - -Version 1.2.7 - 2005-10-09 - Doodle - - Implemented window icon support - -Version 1.2.7 - 2005-10-03 - Doodle - - Reworked semaphore support again - - Tuned thread priorities - -Version 1.2.7 - 2005-10-02 - Doodle - - Added support for custom mouse pointers - - Fixed WM_CLOSE processing: give a chance to SDL app to ask user... - - Added support for MMX-accelerated audio mixers - - Other small fixes - -Version 1.2.7 - 2005-09-12 - Doodle - - Small fixes for DosBox incorporated into public release - - Fixed semaphore support (SDL_syssem.c) - - Fixed FSLib to have good clipping in scaled window mode, - and to prevent occasional desktop freezes. - -Version 1.2.7 - 2004-09-08a - Caetano - - Improved joystick support (general verifications about hardware). - - Added support up to 8 buttons in 2 axes joysticks and 6 buttons in 3 axes joysticks. - - Added support to environment variable SDL_OS2_JOYSTICK to specify a joystick. - - Improved Joystick test to handle every type of joystick and display only relevant information. - - Merged with Doodle 2004-09-08 - - Little tid up in README.OS2 - - Added explanation about SDL_OS2_JOYSTICK environment variable on README.OS2 - -Version 1.2.7 - 2004-09-07 - Caetano - - Merged with changes in headers for GCC compiling. - - Added Joystick support using basic IBM GAME$ support, allowing it to work with all joystick drivers since OS/2 2.1. - - Improved joystick detection (hacked!). OS/2 do not allow real joystick detection, so... - - Modified makefile in test to compile "testjoystick". Anyway, it's useless, since it seems to cause a lot of trouble in OS/2 (because os video routines, not Joystick support). - - Created separated Joystick test program to test only joystick functions. - - Improved joystick auto-centering. - - Improved the coordinate correction routine to use two scale factors for each axis. - -Version 1.2.7 - 2004-07-05 - Caetano - - Corrected the time returned by status in CDROM support (it was incorrect) - - Added the testcdrom.c and corrected the linking directive (it was causing an error) - -Version 1.2.7 - 2004-07-02a - Caetano - - Corrected a little problem in a comment at SDL-1.2.7\test\torturethread.c, line 18 (missing */, nested comment) - - Added CDROM support to tree (SDL-1.2.7\src\cdrom\os2\SDL_syscdrom.c) - - Modified makefile (SDL-1.2.7\src\makefiles.wat and SDL-1.2.7\watcom.mif) to build with CDROM support - - Added the "extra" SDL_types.h forgotten in 2004-07-02 version. - - diff --git a/alienblaster/project/jni/sdl/README.PS3 b/alienblaster/project/jni/sdl/README.PS3 deleted file mode 100644 index c66467d39..000000000 --- a/alienblaster/project/jni/sdl/README.PS3 +++ /dev/null @@ -1,29 +0,0 @@ - -SDL on Sony Playstation3 ------------------------- - -Installation: - First, you have to install the Cell SDK - - Download the Cell SDK installer RPM and ISO images to - a temporary directory such as /tmp/cellsdk. - - Mount the image: mount -o loop CellSDK-Devel-Fedora_3.1.0.0.0.iso /tmp/cellsdk - - Install the SDK installer: rpm -ivh cell-install-3.1.0-0.0.noarch.rpm - - Install the SDK: cd /opt/cell && ./cellsdk --iso /tmp/cellsdkiso install - - You need to install the SPU-libs before installing SDL - - Go to SDL-1.2/src/video/ps3/spulibs/ - - Run make && make install - - Finally, install SDL - - Go to SDL-1.2/ and build SDL like any other GNU style package. - e.g. - - Build the configure-script with ./autogen.sh - - Configure SDL for your needs: ./configure --enable-video-ps3 ... - - Build and install it: make && make install - - -Todo: - - mouse/keyboard/controller support - -Have fun! - Dirk Herrendoerfer diff --git a/alienblaster/project/jni/sdl/README.PicoGUI b/alienblaster/project/jni/sdl/README.PicoGUI deleted file mode 100644 index cdb6bedae..000000000 --- a/alienblaster/project/jni/sdl/README.PicoGUI +++ /dev/null @@ -1,50 +0,0 @@ - ======================== - Using SDL with PicoGUI - ======================== - -- Originally contributed by Micah Dowty - -PicoGUI is a scalable GUI system with a unique architecture, primarily focused -on scalability to various embedded systems. You can find more information -including a FAQ at http://picogui.org - -To use the patch: - - 1. When compiling, add the "--enable-video-picogui" switch to ./configure - - 2. When running your program, ensure that the picogui driver for SDL - is in use by setting the SDL_VIDEODRIVER environment variable - to "picogui". - - 3. The program must also be linked to the C client library for PicoGUI - (libpgui.so). If the program is being compiled with a patched SDL - installed this should be done automatically. If you want to use an - existing binary with PicoGUI, you can set the LD_PRELOAD environment - variable to the path of your libpgui.so file. - -Capabilities: - - So far only basic functionality is provided on true color (linear16/24/32) - devices. Accessing a memory mapped bitmap, updating the display, and handling - mouse/keyboard input. This functionality has been tested with several - applications, including mplayer, Xine, sldroids, and Abuse. - -TODO list: - - - YUV overlays will be helpful for watching video on set top boxes or other - embedded devices that have some graphics acceleration hardware - - - Account for rotated bitmap storage in pgserver - - - Support for hiding or changing the cursor - - - The display should be centered when the SDL application is smaller - than the PicoGUI panel - - - Fullscreen or any other special modes - - - Support for indexed and grayscale modes - - - Probably much more... - ---- The End --- diff --git a/alienblaster/project/jni/sdl/README.Porting b/alienblaster/project/jni/sdl/README.Porting index df619934f..9bb4613e0 100644 --- a/alienblaster/project/jni/sdl/README.Porting +++ b/alienblaster/project/jni/sdl/README.Porting @@ -37,6 +37,7 @@ There are two basic ways of building SDL at the moment: src/timer/*.c src/video/*.c src/audio/disk/*.c + src/audio/dummy/*.c src/video/dummy/*.c src/joystick/dummy/*.c src/cdrom/dummy/*.c diff --git a/alienblaster/project/jni/sdl/README.QNX b/alienblaster/project/jni/sdl/README.QNX deleted file mode 100644 index 995afbec0..000000000 --- a/alienblaster/project/jni/sdl/README.QNX +++ /dev/null @@ -1,155 +0,0 @@ -README.QNX by Mike Gorchak , -Last changed at 24 Apr 2004. - -====================================================================== -Table of Contents: - -1. OpenGL. -2. Wheel and multi-button mouses. -3. CDROM handling issues. -4. Hardware video overlays. -5. Shared library building. -6. Some building issues. -7. Environment variables. - -====================================================================== -1. OpenGL: - - OpenGL works well and is stable, but fullscreen mode has not been -heavily tested yet. - If you have QNX RtP version 6.1.0 or above you must download the -Photon3D runtime from http://developers.qnx.com or install it from the -public repository or from the public CD, available with QNX. OS versi- -ons below 6.1.0 are not supported. - When creating an OpenGL context, software renderer mode is artifi- -cially selected (QSSL made acceleration only for Voodoo boards in -fullscreen mode, sorry but I don't have this board to test OpenGL - -maybe it works or maybe not :)). If you want acceleration - you can -remove one line in the source code: find the file SDL_ph_image.c and -remove the following - - OGLAttrib[OGLargc++]=PHOGL_ATTRIB_FORCE_SW; - -line in the ph_SetupOpenGLContext() function or change the argument to -PHOGL_ATTRIB_FORCE_HW or PHOGL_ATTRIB_FAVOR_HW. - -====================================================================== -2. Wheel and multi-button mouses: - - Photon emits keyboard events (key up and down) when the mouse -wheel is moved. The key_scan field appears valid, and it contains zero. -That is a basic method of detecting mouse wheel events under Photon. -It looks like a hack, but it works for me :) on various PC configura- -tions. - -I've tested it on: - -1. Genius Optical NetScroll/+ PS/2 (1 wheel) -2. A4Tech Optical GreatEye WheelMouse PS/2, model: WOP-35. (2 wheels - + 2 additional buttons). The wheel for vertical scrolling works as - usual, but the second wheel for horizontal scrolling emits two se- - quential events up or down, so it can provide faster scrolling than - the first wheel. Additional buttons don't emit any events, but it - looks like they're handled by photon in an unusual way - like click - to front, but works not with any window, looks like a fun bug-o-fe- - ature :). - -====================================================================== -3. CDROM handling issues: - - Access to CDROM can only be provided with 'root' privileges. I -can't do anything about that, /dev/cd0 has brw------- permissions and -root:root rights. - -====================================================================== -4. Hardware video overlays: - - Overlays can flicker during window movement, resizing, etc. It -happens because the photon driver updates the real window contents be- -hind the overlay, then draws the temporary chroma key color over the -window contents. It can be done without using the chroma key but that -causes the overlay to always be on top. So flickering during window -movement is preferred instead. - Double buffering code is temporarily disabled in the photon driver -code, because on my GF2-MX it can accidentally cause a buffer switch, -which causes the old frame to show. S3 Savage4 has the same problem, -but ATI Rage 128 doesn't. I think it can be fixed later. Current code -works very well, so maybe double buffering is not needed right now. - Something strange happens when you try to move the window with the -overlay beyond the left border of the screen. The overlay tries to -stay at position x=0, but when attempting to move it a bit more it -jumps to position x=-60 (on GF2-MX, on ATI Rage128 this value a bit -smaller). It's really strange, looks like the overlay doesn't like -negative coordinates. - -======================================================================= -5. Shared library building: - - A shared library can be built, but before running the autogen.sh -script you must manually delete the libtool.m4 stuff from the acinclu- -de.m4 file (it comes after the ESD detection code up to the end of the -file), because the libtool stuff in the acinclude.m4 file was very old -in SDL distribution before the version 1.2.7 and doesn't knew anything -about QNX. SDL 1.2.7 distribution contains the new libtool.m4 script, -but anyway it is broken :), Just remove it, then run "libtoolize ---force --copy", delete the file aclocal.m4 if it is exists and after -that run the autogen.sh script. SDL 1.2.8 contains fixed libtool.m4, -ltmain.sh and config.sub files, so you can just run the autogen.sh -script. - -====================================================================== -6. Some building issues: - - Feel free to not use the --disable-shared configure option if you' -ve read the above comment about 'Shared library building'. Otherwise -this option is strongly recommended, as without it the sdl-config -script will be broken. - - Run the configure script without x11 support, e.g.: - - a) for OpenGL support: - ./configure --prefix=/usr \ - --disable-video-x11 \ - --disable-shared - - b) without OpenGL support: - ./configure --prefix=/usr \ - --disable-video-x11 \ - --disable-shared \ - --disable-video-opengl - - And of course dont forget to specify --disable-debug, which is on -by default, to disable debug and enable the expensive optimizations. - - In the test directory also run the ./configure script without -x11 support, e.g.: - - ./configure --with-sdl-prefix=/usr \ - --with-sdl-exec-prefix=/usr \ - --prefix=/usr --without-x - -====================================================================== -7. Environment variables: - - Please note that the photon driver is sensible to the following -environmental variables: - - * SDL_PHOTON_FULLSCREEN_REFRESH - this environment variable controls -the refresh rate in all fullscreen modes. Be carefull !!! Photon -drivers usually do not checking the maximum refresh rate, which video -adapter or monitor supports. - - * SDL_VIDEO_WINDOW_POS - can be set in the "X,Y" format. If X and Y -coordinates are bigger than the current desktop resolution, then win- -dow positioning across virtual consoles is activated. If X and Y are -smaller than the desktop resolution then window positioning in the -current console is activated. The word "center" can be used instead of -coordinates, it produces the same behavior as SDL_VIDEO_CENTERED -environmental variable. - - * SDL_VIDEO_CENTERED - if this environmental variable exists then the -window centering is perfomed in the current virtual console. - -Notes: The SDL_VIDEO_CENTERED enviromental variable has greater pri- -ority than the SDL_VIDEO_WINDOW_POS in case if both variables are sup- -plied to the application. diff --git a/alienblaster/project/jni/sdl/README.Qtopia b/alienblaster/project/jni/sdl/README.Qtopia deleted file mode 100644 index 01627d1fb..000000000 --- a/alienblaster/project/jni/sdl/README.Qtopia +++ /dev/null @@ -1,84 +0,0 @@ - -============================================================================== -Using the Simple DirectMedia Layer with Qtopia/OPIE -============================================================================== - -============================================================================== -I. Setting up the Qtopia development environment. - - This document will not explain how to setup the Qtopia development - environment. That is outside the scope of the document. You can read - more on this subject in this excellent howto: - - http://www.zauruszone.com/howtos/linux_compiler_setup_howto.html - -============================================================================== -II. Building the Simple DirectMedia Layer libraries using the arm - cross-compiler - - This is somewhat tricky since the name of the compiler binaries - differ from the standard. Also you should disable features not - needed. The command below works for me. Note that it's all one - line. You can also set the NM, LD etc environment variables - separately. - - NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --enable-video-qtopia --disable-video-dummy --disable-video-fbcon --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --prefix=/opt/Qtopia/sharp/ arm-unknown-linux-gnu - - One thing to note is that the above configure will include joystick - support, even though you can't have joysticks on the Zaurus. The - reason for this is to avoid link / compile / runtime errors with - applications that have joystick support. - -============================================================================== -III. Building the Simple DirectMedia Layer test programs: - - After installing, making sure the correct sdl-config is in your - path, run configure like this: - - NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar ./configure arm-unknown-linux-gnu - -============================================================================== -IV. Application porting notes - - One thing I have noticed is that applications sometimes don't exit - correctly. Their icon remains in the taskbar and they tend to - relaunch themselves automatically. I believe this problem doesn't - occur if you exit your application using the exit() method. However, - if you end main() with 'return 0;' or so, this seems to happen. - - Also note that when running in landscape mode - i.e requesting a - window that is HEIGHT pixels wide and WIDTH pixels high, where WIDTH - and HEIGHT normally is 240 and 320 - the image is blitted so that - the hardware buttons are on the left side of the display. This might - not always be desirable but such is the code today. - - -============================================================================== -V. Enjoy! :) - - If you have a project you'd like me to know about, or want to ask questions, - go ahead and join the SDL developer's mailing list by sending e-mail to: - - sdl-request@libsdl.org - - and put "subscribe" into the subject of the message. Or alternatively you - can use the web interface: - - http://www.libsdl.org/mailman/listinfo/sdl - -============================================================================== -VI. What is supported: - -Keyboard (Sharp Zaurus) -Hardware buttons -Stylus input (mouse) -Video. Allows fullscreen both in portrait mode (up to WIDTHxHEIGHT -size window) and in landscape mode (up to HEIGHTxWIDTH). - -All other SDL functionality works like a normal Linux system (threads, -audio etc). - --- -David Hedbor -http://david.hedbor.org/ http://eongames.com/ - diff --git a/alienblaster/project/jni/sdl/README.RISCOS b/alienblaster/project/jni/sdl/README.RISCOS deleted file mode 100644 index 1ab85984a..000000000 --- a/alienblaster/project/jni/sdl/README.RISCOS +++ /dev/null @@ -1,130 +0,0 @@ -Readme for RISC OS port of SDL -============================== - -This document last updated on 2nd Februrary 2006 - -This is a RISC OS port of the Simple Direct Media Layer (SDL) by Alan Buckley with contributions from Peter Naulls. - -Details of the SDL can be found at http://www.libsdl.org. - -The source code including the RISC OS version can be obtained from: - -http://www.libsdl.org. - -Pre built libraries and many games and applications compiled for RISC OS using this library can be downloaded from The Unix Porting Project at http://www.riscos.info/unix/. - -This is released under the LGPL see the file COPYING for details. - - -Compiling applications under RISC OS -==================================== - -Add -ISDL: for the C compiler flags if you include the files in the SDL directory. e.g. #include "SDL/SDL.h" -Add -ISDL:SDL for the C compiler flags if you include the files directly. e.g. #include "SDL/SDL.h" - -Add -LSDL: -lSDL to the link stage of compilation. - -For example, to compile the testbitmap.c sample you could use: - -gcc -ISDL:SDL -LSDL: -lSDL testbitmap.c -otestbitmap - - -RISC OS port of SDL runtime information -======================================= - -Runtime requirements --------------------- - -This library currently needs a minimum of RISC OS 3.6. The source code for the library (and a lot of the programs built with it) also need long file names. - -To use the audio you also need 16 bit sound and to have installed the DigitalRender module by Andreas Dehmel version 0.51 available from his -web site: http://home.t-online.de/~zarquon -This is loaded when needed by UnixLib. - -Note: As most programs ported from other OSes use high resolution graphics and a memory back buffer a machine with a StrongARM processor and 1 or 2MB of VRAM (or a better machine) is recomended. - - -RISC OS runtime parameters --------------------------- - -Several environmental variables have been defined to make porting programs easier (i.e. By setting these variable you do not need to have source code differences between OSes). - -They are all defined on an application basis. - -The used below is found as follows: -1. Use the name of the program unless it is !RunImage -2. Check the folder specification for the folder !RunImage is run from. If it is a folder name use that name, otherwise if it is an environmental variable of the form use the value of XXX. - -The variables are: - -SDL$$TaskName - -The name of the task for RISC OS. If omitted then is used for the task name, - -SDL$$BackBuffer - -Set to 1 to use a system memory back buffer for the screen in full screen mode. Some programs on other systems assume their is always a back buffer even though the SDL specification specifies this is not the case. The current RISC OS implementation uses direct writes to the screen if a hardware fullscreen is requested. - -Set to 2 to use an ARM code full word copy. This is faster than the standard back buffer, but uses aligned words only so it is possible (but unlikely) for it to corrupt the screen for 8bpp and 16bpp modes. - -Set to 3 to use a RISC OS sprite as the back buffer. This is usually the slowest for most SDL applications, however it may be useful in the future as Sprite acceleration is added to various hardware that runs RISC OS. - -SDL$$CloseAction - set the action for the close icon. Again as programs don't match the specification you can set this to 0 to remove the close icon from the main window for applications where this does not affect the program. - - -RISC OS SDL port API notes -========================== - -Current level of implementation -------------------------------- - -The following list is an overview of how much of the SDL is implemented. The areas match the main areas of the SDL. - -video - Mostly done. Doesn't cover gamma, YUV-overlay or OpenGL. -Window Manager - Mostly done. SetIcon/IconifyWindow not implemented. -Events - Mostly done. Resize and some joystick events missing. -Joystick - Currently assumes a single joystick with 4 buttons. -Audio - Done -CDROM - Not implemented. -Threads - Done -Timers - Done - -Thread support can be removed by defining DISABLE_THREADS and recompiling the library. - -SDL API notes -------------- - -This section contains additional notes on some specific commands. - -SDL_SetVideoMode - On RISC OS a fullscreen mode directly accesses the screen. This can be modified by the environmental variable (SDL$$BackBuffer) or by using the SDL_SWSURFACE flag to write to an offscreen buffer that is updated using SDL_UpdateRects. - Open GL is not supported so SDL_OPENGL and SDL_OPENGLBLIT flags fail. - SDL_RESIZEABLE and SDL_NOFRAME flags are not supported. - -SDL_SetColors - In a wimp mode the screen colours are not changed for a hardware palette instead the RISC OS sprite colour mapping is used to get the best matching colours. - -SDL_CreateCursor - Inverted colour is not supported. - -SDL_WM_ToggleFullScreen - Currently this won't work if the application starts up in Fullscreen mode. - Toggling to fullscreen will only work if the monitor is set up to support the exact screen size requested. - -SDL_EnableUNICODE - Unicode translation used here is only really accurate for 7 bit characters. - -SDL_NumJoysticks/JoystickName etc. - Hardcoded to expect only 1 joystick with 4 buttons if the Joystick module is loaded. - -SDL_GetTicks - Timer used has only a centisecond accuracy. This applies to other time related functions. - -SDL_Delay - Modified to poll keyboard/mouse during the delay on the event thread. - - -Notes on current implementation -------------------------------- - -Keyboard and mouse are polled so if too long a time is spent between a call to SDL_PumpEvents, functions that use it, or SDL_Delay events can be missed. diff --git a/alienblaster/project/jni/sdl/README.SVN b/alienblaster/project/jni/sdl/README.SVN deleted file mode 100644 index 65c5c427e..000000000 --- a/alienblaster/project/jni/sdl/README.SVN +++ /dev/null @@ -1,23 +0,0 @@ - -The latest development version of SDL is available via Subversion. -Subversion allows you to get up-to-the-minute fixes and enhancements; -as a developer works on a source tree, you can use svn to mirror that -source tree instead of waiting for an official release. Please look -at the Subversion website ( http://subversion.tigris.org/ ) for more -information on using svn, where you can also download software for -MacOS, Windows, and Unix systems. - - svn checkout http://svn.libsdl.org/branches/SDL-1.2 - -If you are building SDL with an IDE, you will need to copy the file -include/SDL_config.h.default to include/SDL_config.h before building. - -If you are building SDL via configure, you will need to run autogen.sh -before running configure. - -There is a web interface to the subversion repository at: - http://www.libsdl.org/cgi/viewvc.cgi - -There is an RSS feed available at that URL, for those that want to -track commits in real time. - diff --git a/alienblaster/project/jni/sdl/README.Symbian b/alienblaster/project/jni/sdl/README.Symbian deleted file mode 100644 index 32d925a00..000000000 --- a/alienblaster/project/jni/sdl/README.Symbian +++ /dev/null @@ -1,23 +0,0 @@ -============================================================================== -Using the Simple DirectMedia Layer with S60 3.x / Symbian 9.x -============================================================================== - -These instuctions are for people developing for S60 3.x. S60 3.x -uses Symbian OS so you need S60 SDK. - -extract "symbian.zip" into this folder. - -go to symbian folder - -bldmake bldfiles -abld build - -That produces WINSCW and ARMV5 versions of sdl.dll runtime library -and sdl.lib for development. -The sdlexe.dll/sdlexe.lib and sdlmain.lib are for easy SDL S60 -integration, please see http://www.mbnet.fi/~mertama/sdl.html -for further info. - - - - diff --git a/alienblaster/project/jni/sdl/README.Watcom b/alienblaster/project/jni/sdl/README.Watcom deleted file mode 100644 index 2849a11c0..000000000 --- a/alienblaster/project/jni/sdl/README.Watcom +++ /dev/null @@ -1,133 +0,0 @@ - -Using SDL under Windows with the OpenWatcom compiler -==================================================== - -Prerequisites -------------- - -I have done the port under Windows XP Home with SP2 installed. Windows -2000 should also be working. I'm not so sure about ancient Windows NT, -since only DirectX 3 is available there. Building should be possible, -but running the compiled applications will probalbly fail with -SDL_VIDEODRIVER=directx. The windib driver should work, though. - -To compile and use the SDL with Open Watcom you will need the following: -- Open Watcom compiler. I used version 1.5. The environment variables - PATH, WATCOM and INCLUDE need to be set appropriately - please consult - the OpenWatcom documentation and instructions given during the - installation of the compiler. - My setup looks like this in owvars.bat: - set WATCOM=C:\watcom - set INCLUDE=%WATCOM%\h;%WATCOM%\h\nt - set PATH=%PATH%;%WATCOM%\binnt;%WATCOM%\binw -- A fairly recent DirectX SDK. The original unmodified DX8 SDK works, as - well as the minimal DirectX 7 SDK from the Allegro download site - (). -- The SDL sources from Subversion -- The file Watcom-Win32.zip (now available in Subversion) - - -Building the Library --------------------- - -1) In the SDL base directory extract the archive Watcom-Win32.zip. This - creates a subdirectory named 'watcom'. -2) The makefile expects the environment variable DXDIR to be set to the - base directory of a DirectX SDK. I have tried a stock DX8 SDK from - Microsoft as well as the minimal DirectX 7 SDK from the Allegro - download site. - You can also edit the makefile directly and hard code your path to - the SDK on your system. - I have this in my setup: - set DXDIR=D:\devel\DX8_SDK -3) Enter the watcom directory and run - wmake sdl -4) All tests from the test directory are working and can be built by - running - wmake tests - -Notes: - - The makefile offers some options to tweak the way the library is built. - You have at your disposal the option to build a static (default) - library, or a DLL (with tgt=dll). You can also choose whether to build - a Release (default) or a Debug version (with build=debug) of the tests - and library. Please consult the usage comment at the top of the - makefile for usage instructions. - - If you specify a test target (i.e. 'wmake tests' for all tests, or - selected targets like 'wmake testgl testvidinfo testoverlay2'), the - tests are always freshly compiled and linked. This is done to - minimise hassle when switching between library versions (static vs. - DLL), because they require subtly different options. - Also, the test executables are put directly into the test directory, - so they can find their data files. The clean target of the makefile - removes the test executables and the SDL.dll file from the test - directory. - - To use the library in your own projects with Open Watcom, you can use - the way the tests are built as base of your own build environment. - - The library can also be built with the stack calling convention of the - compiler (-6s instead of -6r). - - -Test applications ------------------ - -I've tried to make all tests work. The following table gives an overview -of the current status. - - Testname Status -~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -checkkeys + -graywin + -loopwave + -testalpha + -testbitmap + -testdyngl + -testerror + -testfile + -testgamma + -testgl + -testhread + -testiconv - (all failed) -testkeys + -testlock + -testoverlay + (needs 'set SDL_VIDEODRIVER=directx') -testoverlay2 + (needs 'set SDL_VIDEODRIVER=directx') -testpalette + -testplatform + -testsem + -testsprite + -testtimer + -testver + -testvidinfo + -testwin ? (fading doesn't seem right) -testwm + -torturethread + -testcdrom + -testjoystick not tested -threadwin + -testcursor + - - -TODO ----- - -There is room for further improvement: -- Test joystick functionality. -- Investigate fading issue in 'testwin' test. -- Fix the UTF-8 support. -- Adapt the makefile/object file list to support more target systems -- Use "#pragma aux" syntax for the CPU info functions. - - -Questions and Comments ----------------------- - -Please direct any questions or comments to me: - - Happy Coding! - - Marc Peter diff --git a/alienblaster/project/jni/sdl/README.WinCE b/alienblaster/project/jni/sdl/README.WinCE deleted file mode 100644 index 6f8799ef8..000000000 --- a/alienblaster/project/jni/sdl/README.WinCE +++ /dev/null @@ -1,55 +0,0 @@ - -Project files for embedded Visual C++ 3.0, 4.0 and -Visual Studio 2005 can be found in VisualCE.zip - -SDL supports GAPI and WinDib output for Windows CE. - -GAPI driver supports: - -- all possible WinCE devices (Pocket PC, Smartphones, HPC) - with different orientations of video memory and resolutions. -- 4, 8 and 16 bpp devices -- special handling of 8bpp on 8bpp devices -- VGA mode, you can even switch between VGA and GAPI in runtime - (between 240x320 and 480x640 for example). On VGA devices you can - use either GAPI or VGA. -- Landscape mode and automatic rotation of buttons and stylus coordinates. - To enable landscape mode make width of video screen bigger than height. - For example: - SDL_SetVideoMode(320,240,16,SDL_FULLSCREEN) -- WM2005 -- SDL_ListModes - -NOTE: -There are several SDL features not available in the WinCE port of SDL. - -- DirectX is not yet available -- Semaphores are not available -- Joystick support is not available -- CD-ROM control is not available - -In addition, there are several features that run in "degraded" mode: - -Preprocessor Symbol Effect -=================== ================================= - -SDL_systimer.c: -USE_GETTICKCOUNT Less accurate values for SDL time functions -USE_SETTIMER Use only a single marginally accurate timer - -SDL_syswm.c: -DISABLE_ICON_SUPPORT Can't set the runtime window icon - -SDL_sysmouse.c: -USE_STATIC_CURSOR Only the arrow cursor is available - -SDL_sysevents.c: -NO_GETKEYBOARDSTATE Can't get modifier state on keyboard focus - -SDL_dibevents.c: -NO_GETKEYBOARDSTATE Very limited keycode translation - -SDL_dibvideo.c: -NO_GETDIBITS Can't distinguish between 15 bpp and 16 bpp -NO_CHANGEDISPLAYSETTINGS No fullscreen support -NO_GAMMA_SUPPORT Gamma correction not available diff --git a/alienblaster/project/jni/sdl/README.wscons b/alienblaster/project/jni/sdl/README.wscons deleted file mode 100644 index 349c89c99..000000000 --- a/alienblaster/project/jni/sdl/README.wscons +++ /dev/null @@ -1,107 +0,0 @@ -============================================================================== -Using the Simple DirectMedia Layer with OpenBSD/wscons -============================================================================== - -The wscons SDL driver can be used to run SDL programs on OpenBSD -without running X. So far, the driver only runs on the Sharp Zaurus, -but the driver is written to be easily extended for other machines. -The main missing pieces are blitting routines for anything but 16 bit -displays, and keycode maps for other keyboards. Also, there is no -support for hardware palettes. - -There is currently no mouse support. - -To compile SDL with support for wscons, use the -"--enable-video-wscons" option when running configure. I used the -following command line: - -./configure --disable-oss --disable-ltdl --enable-pthread-sem \ - --disable-esd --disable-arts --disable-video-aalib \ - --enable-openbsdaudio --enable-video-wscons \ - --prefix=/usr/local --sysconfdir=/etc - - -Setting the console device to use -================================= - -When starting an SDL program on a wscons console, the driver uses the -current virtual terminal (usually /dev/ttyC0). To force the driver to -use a specific terminal device, set the environment variable -SDL_WSCONSDEV: - -bash$ SDL_WSCONSDEV=/dev/ttyC1 ./some-sdl-program - -This is especially useful when starting an SDL program from a remote -login prompt (which is great for development). If you do this, and -want to use keyboard input, you should avoid having some other program -reading from the used virtual console (i.e., do not have a getty -running). - - -Rotating the display -==================== - -The display can be rotated by the wscons SDL driver. This is useful -for the Sharp Zaurus, since the display hardware is wired so that it -is correctly rotated only when the display is folded into "PDA mode." -When using the Zaurus in "normal," or "keyboard" mode, the hardware -screen is rotated 90 degrees anti-clockwise. - -To let the wscons SDL driver rotate the screen, set the environment -variable SDL_VIDEO_WSCONS_ROTATION to "CW", "CCW", or "UD", for -clockwise, counter clockwise, and upside-down rotation respectively. -"CW" makes the screen appear correct on a Sharp Zaurus SL-C3100. - -When using rotation in the driver, a "shadow" frame buffer is used to -hold the intermediary display, before blitting it to the actual -hardware frame buffer. This slows down performance a bit. - -For completeness, the rotation "NONE" can be specified to use a shadow -frame buffer without actually rotating. Unsetting -SDL_VIDEO_WSCONS_ROTATION, or setting it to '' turns off the shadow -frame buffer for maximum performance. - - -Running MAME -============ - -Since my main motivation for writing the driver was playing MAME on -the Zaurus, I'll give a few hints: - -XMame compiles just fine under OpenBSD. - -I'm not sure this is strictly necessary, but set - -MY_CPU = arm - -in makefile.unix, and - -CFLAGS.arm = -DLSB_FIRST -DALIGN_INTS -DALIGN_SHORTS - -in src/unix/unix.max - -to be sure. - -The latest XMame (0.101 at this writing) is a very large program. -Either tinker with the make files to compile a version without support -for all drivers, or, get an older version of XMame. My recommendation -would be 0.37b16. - -When running MAME, DO NOT SET SDL_VIDEO_WSCONS_ROTATION! Performace -is MUCH better without this, and it is COMPLETELY UNNECESSARY, since -MAME can rotate the picture itself while drawing, and does so MUCH -FASTER. - -Use the Xmame command line option "-ror" to rotate the picture to the -right. - - -Acknowledgments -=============== - -I studied the wsfb driver for XFree86/Xorg quite a bit before writing -this, so there ought to be some similarities. - - --- -Staffan Ulfberg diff --git a/alienblaster/project/jni/sdl/SDL.qpg.in b/alienblaster/project/jni/sdl/SDL.qpg.in deleted file mode 100644 index 8e1ff8da8..000000000 --- a/alienblaster/project/jni/sdl/SDL.qpg.in +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - QNX.ORG.RU Community - - - QNX.ORG.RU Team - Mike Gorchak - mike@malva.ua - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Library - SDL - 1 - http://qnx.org.ru/repository - 2.6 - - - - Simple DirectMedia Layer (SDL) - SDL - slouken@libsdl.org - Public - public - http://www.libsdl.org - - slouken@libsdl.org - Sam Lantinga - http://www.libsdl.org - - slouken@libsdl.org - - - This is the Simple DirectMedia Layer (SDL), a generic API that provides low level access to audio, keyboard, mouse, and display framebuffer across multiple platforms. - This is the Simple DirectMedia Layer (SDL), a generic API that provides low level access to audio, keyboard, mouse, and display framebuffer across multiple platforms. This is the libraries, include files and other resources you can use to develop and run SDL applications. - http://www.libsdl.org - - - - - @VERSION@ - Medium - Stable - - - 1 - - GNU Lesser General Public License - - - - Software Development/Libraries and Extensions/C Libraries - SDL,audio,graphics,demos,games,emulators,direct,media,layer - qnx6 - none - Photon - Console - Developer - User - - repdata://LicenseUrl/COPYING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/alienblaster/project/jni/sdl/SDL.spec b/alienblaster/project/jni/sdl/SDL.spec deleted file mode 100644 index fb505310b..000000000 --- a/alienblaster/project/jni/sdl/SDL.spec +++ /dev/null @@ -1,113 +0,0 @@ -Summary: Simple DirectMedia Layer -Name: SDL -Version: 1.2.14 -Release: 1 -Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz -URL: http://www.libsdl.org/ -License: LGPL -Group: System Environment/Libraries -BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot -Prefix: %{_prefix} -%ifos linux -Provides: libSDL-1.2.so.0 -%endif - -%define __defattr %defattr(-,root,root) -%define __soext so - -%description -This is the Simple DirectMedia Layer, a generic API that provides low -level access to audio, keyboard, mouse, and display framebuffer across -multiple platforms. - -%package devel -Summary: Libraries, includes and more to develop SDL applications. -Group: Development/Libraries -Requires: %{name} = %{version} - -%description devel -This is the Simple DirectMedia Layer, a generic API that provides low -level access to audio, keyboard, mouse, and display framebuffer across -multiple platforms. - -This is the libraries, include files and other resources you can use -to develop SDL applications. - - -%prep -%setup -q - -%build -%ifos linux -CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} --disable-video-aalib --disable-video-directfb --disable-video-ggi --disable-video-svga -%else -%configure -%endif -make - -%install -rm -rf $RPM_BUILD_ROOT -%ifos linux -make install prefix=$RPM_BUILD_ROOT%{prefix} \ - bindir=$RPM_BUILD_ROOT%{_bindir} \ - libdir=$RPM_BUILD_ROOT%{_libdir} \ - includedir=$RPM_BUILD_ROOT%{_includedir} \ - datadir=$RPM_BUILD_ROOT%{_datadir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} -ln -s libSDL-1.2.so.0 $RPM_BUILD_ROOT%{_libdir}/libSDL-1.1.so.0 -%else -%makeinstall -%endif - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%{__defattr} -%doc README-SDL.txt COPYING CREDITS BUGS -%{_libdir}/lib*.%{__soext}.* - -%files devel -%{__defattr} -%doc README README-SDL.txt COPYING CREDITS BUGS WhatsNew docs.html -%doc docs/index.html docs/html -%{_bindir}/*-config -%{_libdir}/lib*.a -%{_libdir}/lib*.la -%{_libdir}/lib*.%{__soext} -%dir %{_includedir}/SDL -%{_includedir}/SDL/*.h -%{_libdir}/pkgconfig/sdl.pc -%{_datadir}/aclocal/* -%{_mandir}/man3/* - -%changelog -* Tue May 16 2006 Sam Lantinga -- Removed support for Darwin, due to build problems on ps2linux - -* Mon Jan 03 2004 Anders Bjorklund -- Added support for Darwin, updated spec file - -* Wed Jan 19 2000 Sam Lantinga -- Re-integrated spec file into SDL distribution -- 'name' and 'version' come from configure -- Some of the documentation is devel specific -- Removed SMP support from %build - it doesn't work with libtool anyway - -* Tue Jan 18 2000 Hakan Tandogan -- Hacked Mandrake sdl spec to build 1.1 - -* Sun Dec 19 1999 John Buswell -- Build Release - -* Sat Dec 18 1999 John Buswell -- Add symlink for libSDL-1.0.so.0 required by sdlbomber -- Added docs - -* Thu Dec 09 1999 Lenny Cartier -- v 1.0.0 - -* Mon Nov 1 1999 Chmouel Boudjnah -- First spec file for Mandrake distribution. - -# end of file diff --git a/alienblaster/project/jni/sdl/SDL.spec.in b/alienblaster/project/jni/sdl/SDL.spec.in deleted file mode 100644 index dbda11210..000000000 --- a/alienblaster/project/jni/sdl/SDL.spec.in +++ /dev/null @@ -1,113 +0,0 @@ -Summary: Simple DirectMedia Layer -Name: SDL -Version: @SDL_VERSION@ -Release: 1 -Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz -URL: http://www.libsdl.org/ -License: LGPL -Group: System Environment/Libraries -BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot -Prefix: %{_prefix} -%ifos linux -Provides: libSDL-1.2.so.0 -%endif - -%define __defattr %defattr(-,root,root) -%define __soext so - -%description -This is the Simple DirectMedia Layer, a generic API that provides low -level access to audio, keyboard, mouse, and display framebuffer across -multiple platforms. - -%package devel -Summary: Libraries, includes and more to develop SDL applications. -Group: Development/Libraries -Requires: %{name} = %{version} - -%description devel -This is the Simple DirectMedia Layer, a generic API that provides low -level access to audio, keyboard, mouse, and display framebuffer across -multiple platforms. - -This is the libraries, include files and other resources you can use -to develop SDL applications. - - -%prep -%setup -q - -%build -%ifos linux -CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{prefix} --disable-video-aalib --disable-video-directfb --disable-video-ggi --disable-video-svga -%else -%configure -%endif -make - -%install -rm -rf $RPM_BUILD_ROOT -%ifos linux -make install prefix=$RPM_BUILD_ROOT%{prefix} \ - bindir=$RPM_BUILD_ROOT%{_bindir} \ - libdir=$RPM_BUILD_ROOT%{_libdir} \ - includedir=$RPM_BUILD_ROOT%{_includedir} \ - datadir=$RPM_BUILD_ROOT%{_datadir} \ - mandir=$RPM_BUILD_ROOT%{_mandir} -ln -s libSDL-1.2.so.0 $RPM_BUILD_ROOT%{_libdir}/libSDL-1.1.so.0 -%else -%makeinstall -%endif - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%{__defattr} -%doc README-SDL.txt COPYING CREDITS BUGS -%{_libdir}/lib*.%{__soext}.* - -%files devel -%{__defattr} -%doc README README-SDL.txt COPYING CREDITS BUGS WhatsNew docs.html -%doc docs/index.html docs/html -%{_bindir}/*-config -%{_libdir}/lib*.a -%{_libdir}/lib*.la -%{_libdir}/lib*.%{__soext} -%dir %{_includedir}/SDL -%{_includedir}/SDL/*.h -%{_libdir}/pkgconfig/sdl.pc -%{_datadir}/aclocal/* -%{_mandir}/man3/* - -%changelog -* Tue May 16 2006 Sam Lantinga -- Removed support for Darwin, due to build problems on ps2linux - -* Mon Jan 03 2004 Anders Bjorklund -- Added support for Darwin, updated spec file - -* Wed Jan 19 2000 Sam Lantinga -- Re-integrated spec file into SDL distribution -- 'name' and 'version' come from configure -- Some of the documentation is devel specific -- Removed SMP support from %build - it doesn't work with libtool anyway - -* Tue Jan 18 2000 Hakan Tandogan -- Hacked Mandrake sdl spec to build 1.1 - -* Sun Dec 19 1999 John Buswell -- Build Release - -* Sat Dec 18 1999 John Buswell -- Add symlink for libSDL-1.0.so.0 required by sdlbomber -- Added docs - -* Thu Dec 09 1999 Lenny Cartier -- v 1.0.0 - -* Mon Nov 1 1999 Chmouel Boudjnah -- First spec file for Mandrake distribution. - -# end of file diff --git a/alienblaster/project/jni/sdl/TODO b/alienblaster/project/jni/sdl/TODO index 65bb01c17..f310ce227 100644 --- a/alienblaster/project/jni/sdl/TODO +++ b/alienblaster/project/jni/sdl/TODO @@ -1,25 +1,19 @@ -Wish list for the 1.3 development branch: -http://bugzilla.libsdl.org/ +1.3 release checklist: + * http://wiki.libsdl.org/moin.cgi/Roadmap - * Add mousewheel events (new unified event architecture?) - * DirectInput joystick support needs to be implemented - * Be able to enumerate and select available audio and video drivers - * Fullscreen video mode support for Mac OS X - * Explicit vertical retrace wait (maybe separate from SDL_Flip?) - * Shaped windows, windows without borders - * Multiple windows, multiple display support - * SDL_INIT_EVENTTHREAD on Windows and MacOS? - * Add a timestamp to events - * Add audio input API - * Add hardware accelerated scaled blit - * Add hardware accelerated alpha blits - * Redesign blitting architecture to allow blit plugins + * See why windows are being rearranged. Is the shield window not up? + * Make sure you can create and show a fullscreen window in one step + * Figure out how to handle OpenGL context lost on Mac OS X (does it happen?) + * Write automated test case for multi-draw APIs + * Make sure you can build SDL without the renderer to slim it down a bunch + * Implement assertion code on iPhone + * Add __WINDOWS__ in addition to __WIN32__ -In the jump from 1.2 to 1.3, we should change the SDL_Rect members to -int and evaluate all the rest of the datatypes. This is the only place -we should do it though, since the 1.2 series should not break binary -compatibility in this way. - -Requests: - * PCM and CDROM volume control (deprecated, but possible) + * Check 1.2 revisions: + 3554 - Need to resolve semantics for locking keys on different platforms + 4874 - Do we want screen rotation? At what level? + 4974 - Windows file code needs to convert UTF-8 to Unicode, but we don't need to tap dance for Windows 95/98 + 4484, 4485 - Verify that SDL's Windows keyboard handling works correctly + 4865 - See if this is still needed (mouse coordinate clamping) + 4866 - See if this is still needed (blocking window repositioning) diff --git a/alienblaster/project/jni/sdl/UNDER_CONSTRUCTION.txt b/alienblaster/project/jni/sdl/UNDER_CONSTRUCTION.txt new file mode 100644 index 000000000..cf92fce06 --- /dev/null +++ b/alienblaster/project/jni/sdl/UNDER_CONSTRUCTION.txt @@ -0,0 +1 @@ +WARNING: This code is under construction, may not build, and is unstable! diff --git a/alienblaster/project/jni/sdl/VisualC.html b/alienblaster/project/jni/sdl/VisualC.html deleted file mode 100644 index ad2ed97a6..000000000 --- a/alienblaster/project/jni/sdl/VisualC.html +++ /dev/null @@ -1,171 +0,0 @@ - - - Using SDL with Microsoft Visual C++ - - -

- Using SDL with Microsoft Visual C++ 5,6 and 7 -

-

- by Lion Kimbro and additions by - James Turk -

-

- You can either use the precompiled libraries from - the SDL Download web site , or you can build SDL yourself. -

-

- Building SDL -

-

- Unzip the VisualC.zip file into the directory that contains this - file (VisualC.html). -

-

- Be certain that you unzip the zip file for your compiler into this - directory and not any other directory. If you are using WinZip, be careful to - make sure that it extracts to this folder, because it's - convenient feature of unzipping to a folder with the name of the file currently - being unzipped will get you in trouble if you use it right now. And that's all - I have to say about that. -

-

- Now that it's unzipped, go into the VisualC - directory that is created, and double-click on the VC++ file "SDL.dsw" - ("SDL.sln"). This should open up the IDE. -

-

- You may be prompted at this point to upgrade the workspace, should you be using - a more recent version of Visual C++. If so, allow the workspace to be upgraded. -

-

- Build the .dll and .lib files. -

-

- This is done by right clicking on each project in turn (Projects are listed in - the Workspace panel in the FileView tab), and selecting "Build". -

-

- If you get an error about SDL_config.h being missing, you should - copy include/SDL_config.h.default to include/SDL_config.h and try again. -

-

- You may get a few warnings, but you should not get any errors. You do have to - have at least the DirectX 5 SDK installed, however. The latest - version of DirectX can be downloaded or purchased on a cheap CD (my - recommendation) from Microsoft . -

-

- Later, we will refer to the following .lib and .dll files that have just been - generated: -

-
    -
  • SDL.dll
  • -
  • SDL.lib
  • -
  • SDLmain.lib
  • -
-

- Search for these using the Windows Find (Windows-F) utility, if you don't - already know where they should be. For those of you with a clue, look inside - the Debug or Release directories of the subdirectories of the Project folder. - (It might be easier to just use Windows Find if this sounds confusing. And - don't worry about needing a clue; we all need visits from the clue fairy - frequently.) -

-

- Creating a Project with SDL -

-

- Create a project as a Win32 Application. -

-

- Create a C++ file for your project. -

-

- Set the C runtime to "Multi-threaded DLL" in the menu: Project|Settings|C/C++ - tab|Code Generation|Runtime Library . -

-

- Add the SDL include directory to your list of includes in the - menu: Project|Settings|C/C++ tab|Preprocessor|Additional include directories - . -
- VC7 Specific: Instead of doing this I find it easier to - add the include and library directories to the list that VC7 keeps. Do this by - selecting Tools|Options|Projects|VC++ Directories and under the "Show - Directories For:" dropbox select "Include Files", and click the "New Directory - Icon" and add the [SDLROOT]\include directory (ex. If you installed to - c:\SDL-1.2.5\ add c:\SDL-1.2.5\include). Proceed to change the - dropbox selection to "Library Files" and add [SDLROOT]\lib. -

-

- The "include directory" I am referring to is the include folder - within the main SDL directory (the one that this HTML file located within). -

-

- Now we're going to use the files that we had created earlier in the Build SDL - step. -

-

- Copy the following files into your Project directory: -

-
    -
  • SDL.dll
  • -
-

- Add the following files to your project (It is not necessary to copy them to - your project directory): -

-
    -
  • SDL.lib
  • -
  • SDLmain.lib
  • -
-

- (To add them to your project, right click on your project, and select "Add - files to project") -

-

Instead of adding the files to your project it is more - desireable to add them to the linker options: Project|Properties|Linker|Command - Line and type the names of the libraries to link with in the "Additional - Options:" box.  Note: This must be done for each build - configuration (eg. Release,Debug).

-

- SDL 101, First Day of Class -

-

- Now create the basic body of your project. The body of your program should take - the following form: -

-#include "SDL.h"
-
-int main( int argc, char* argv[] )
-{
-  // Body of the program goes here.
-  return 0;
-}
-
- -

-

- That's it! -

-

- I hope that this document has helped you get through the most difficult part of - using the SDL: installing it. Suggestions for improvements to this document - should be sent to the writers of this document. -

-

- Thanks to Paulus Esterhazy (pesterhazy@gmx.net), for the work on VC++ port. -

-

- This document was originally called "VisualC.txt", and was written by - Sam Lantinga. -

-

- Later, it was converted to HTML and expanded into the document that you see - today by Lion Kimbro. -

-

Minor Fixes and Visual C++ 7 Information (In Green) was added by James Turk -

- - diff --git a/alienblaster/project/jni/sdl/WhatsNew b/alienblaster/project/jni/sdl/WhatsNew index 927fdd264..64f669284 100644 --- a/alienblaster/project/jni/sdl/WhatsNew +++ b/alienblaster/project/jni/sdl/WhatsNew @@ -1,25 +1,11 @@ This is a list of API changes in SDL's version history. -Version 1.0: - -1.2.14: - Added cast macros for correct usage with C++: - SDL_reinterpret_cast(type, expression) - SDL_static_cast(type, expression) - - Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for - SDL_VIDEO_FULLSCREEN_HEAD on X11. - - Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal - up/down events for Caps-Lock and Num-Lock keys. - -1.2.13: - Added SDL_BUTTON_X1 and SDL_BUTTON_X2 constants. - -1.2.12: - Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling - of the screensaver on Mac OS X and X11. +1.3.0: + Added SDL_GetNumVideoDrivers() and SDL_GetVideoDriver(). + Replaced SDL_VideoDriverName() with SDL_GetCurrentVideoDriver() + Added SDL_GetNumAudioDrivers() and SDL_GetAudioDriver(). + Replaced SDL_AudioDriverName() with SDL_GetCurrentAudioDriver() 1.2.10: If SDL_OpenAudio() is passed zero for the desired format @@ -434,8 +420,6 @@ Version 1.0: 1.0.0: New public release -Version 0.11: - 0.11.5: A new function SDL_GetVideoSurface() has been added, and returns a pointer to the current display surface. @@ -454,8 +438,6 @@ Version 0.11: installing fatal signal handlers on operating systems that support them. -Version 0.9: - 0.9.15: SDL_CreateColorCursor() has been removed. Color cursors should be implemented as sprites, blitted by the application when the diff --git a/alienblaster/project/jni/sdl/autogen.sh b/alienblaster/project/jni/sdl/autogen.sh deleted file mode 100755 index 649d7b31e..000000000 --- a/alienblaster/project/jni/sdl/autogen.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# -echo "Generating build information using autoconf" -echo "This may take a while ..." - -# Regenerate configuration files -cat acinclude/* >aclocal.m4 -found=false -for autoconf in autoconf autoconf259 autoconf-2.59 -do if which $autoconf >/dev/null 2>&1; then $autoconf && found=true; break; fi -done -if test x$found = xfalse; then - echo "Couldn't find autoconf, aborting" - exit 1 -fi -(cd test; sh autogen.sh) - -# Run configure for this platform -echo "Now you are ready to run ./configure" diff --git a/alienblaster/project/jni/sdl/docs.html b/alienblaster/project/jni/sdl/docs.html deleted file mode 100644 index 66ca9235a..000000000 --- a/alienblaster/project/jni/sdl/docs.html +++ /dev/null @@ -1,629 +0,0 @@ - -SDL Stable Release - - -[separator] -

-This source is stable, and is fully tested on all supported platforms.
-Please send bug reports or questions to the SDL mailing list:
-http://www.libsdl.org/mailing-list.php
-The latest stable release may be found on the - SDL website. -

- -

API Documentation

- -[separator] - -

SDL 1.2.14 Release Notes

-

-SDL 1.2.14 is a significant bug fix release and a recommended update. -

- -

General Notes

- -
-

- Fixed flicker when resizing the SDL window -

-

- Fixed crash in SDL_SetGammaRamp() -

-

- Fixed freeze in SDL_memset() with 0 length when assembly code is disabled. -

-

- Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal up/down events for Caps-Lock and Num-Lock keys. -

-

- Fixed audio quality problem when converting between 22050 Hz and 44100 Hz. -

-

- Fixed a threading crash when a few threads are rapidly created and complete. -

-

- Increased accuracy of alpha blending routines. -

-

- Fixed crash loading BMP files saved with the scanlines inverted. -

-

- Fixed mouse coordinate clamping if SDL_SetVideoMode() isn't called in response to SDL_VIDEORESIZE event. -

-

- Added doxygen documentation for the SDL API headers. -

-
- -

Unix Notes

- -
-

- Fixed potential memory corruption due to assembly bug with SDL_revcpy() -

-

- Fixed crashes trying to detect SSE features on x86_64 architecture. -

-

- Fixed assembly for GCC optimized 50% alpha blending blits. -

-

- Added configure option --enable-screensaver, to allow enabling the screensaver by default. -

-

- Use XResetScreenSaver() instead of disabling screensaver entirely. -

-

- Removed the maximum window size limitation on X11. -

-

- Fixed SDL_GL_SWAP_CONTROL on X11. -

-

- Fixed setting the X11 window input hint. -

-

- Fixed distorted X11 window icon for some visuals. -

-

- Fixed detecting X11 libraries for dynamic loading on 64-bit Linux. -

-

- SDL_GL_GetAttribute(SDL_GL_SWAP_CONTROL) returns the correct value with GLX_SGI_swap_control. -

-

- Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for SDL_VIDEO_FULLSCREEN_HEAD on X11. -

-

- The SDL_VIDEO_FULLSCREEN_DISPLAY environment variable can be set to 0 to place fullscreen SDL windows on the first Xinerama screen. -

-

- Added the SDL_VIDEO_FBCON_ROTATION environment variable to control output orientation on the framebuffer console. -
- Valid values are: -

    -
  • not set - Not rotating, no shadow. -
  • "NONE" - Not rotating, but still using shadow. -
  • "CW" - Rotating screen clockwise. -
  • "UD" - Rotating screen upside down. -
  • "CCW" - Rotating screen counter clockwise. -
-

-

- Fixed DirectFB detection on some Linux distributions. -

-

- Added code to use the PS3 SPE processors for YUV conversion on Linux. -

-

- Updated ALSA support to the latest stable API -

-

- ALSA is now preferred over OSS audio. (SDL_AUDIODRIVER=dsp will restore the previous behavior.) -

-

- Improved support for PulseAudio -

-

- The Network Audio System support is now dynamically loaded at runtime. -

-

- Fixed crash with the MP-8866 Dual USB Joypad on newer Linux kernels. -

-

- Fixed crash in SDL_Quit() when a joystick has been unplugged. -

-
- -

Windows Notes

- -
-

- Verified 100% compatibility with Windows 7. -

-

- Prevent loss of OpenGL context when setting the video mode in response to a window resize event. -

-

- Fixed video initialization with SDL_WINDOWID on Windows XP. -

-

- Improved mouse input responsiveness for first-person-shooter games. -

-

- IME messages are now generated for localized input. -

-

- SDL_RWFromFile() takes a UTF-8 filename when opening a file. -

-

- The SDL_STDIO_REDIRECT environment variable can be used to override whether SDL redirects stdio to stdout.txt and stderr.txt. -

-

- Fixed dynamic object loading on Windows CE. -

-
- -

Mac OS X Notes

- -
-

- SDL now builds on Mac OS X 10.6 (Snow Leopard). -
- Eric Wing posted a good rundown on the numerous changes here: http://playcontrol.net/ewing/jibberjabber/big_behind-the-scenes_chang.html -

-

- The X11 video driver is built by default. -

-

- Fixed SDL_VIDEO_WINDOW_POS environment variable for Quartz target. -

-

- Fixed setting the starting working directory in release builds. -

-
- -[separator] - -

SDL 1.2.13 Release Notes

-

-SDL 1.2.13 is a minor bug fix release. -

- -

General Notes

- -
-

- Fixed link error when building with Intel Compiler 10. -

-

- Removed stray C++ comment from public headers. -

-
- -

Unix Notes

- -
-

- Fixed crash in SDL_SoftStretch() on secure operating systems. -

-

- Fixed undefined symbol on X11 implementations without UTF-8 support. -

-

- Worked around BadAlloc error when using XVideo on the XFree86 Intel Integrated Graphics driver. -

-

- Scan for all joysticks on Linux instead of stopping at one that was removed. -

-

- Fixed use of sdl-config arguments in sdl.m4 -

-
- -

Windows Notes

- -
-

- Fixed crash when a video driver reports higher than 32 bpp video modes. -

-

- Fixed restoring the desktop after setting a 24-bit OpenGL video mode. -

-

- Fixed window titles on Windows 95/98/ME. -

-

- Added SDL_BUTTON_X1 and SDL_BUTTON_X2 constants for extended mouse buttons. -

-

- Added support for quoted command line arguments. -

-
- -

Mac OS X Notes

- -
-

- SDL now builds on Mac OS X 10.5 (Leopard). -

-

- Fixed high frequency crash involving text input. -

-

- Fixed beeping when the escape key is pressed and UNICODE translation is enabled. -

-

- Improved trackpad scrolling support. -

-

- Fixed joystick hat reporting for certain joysticks. -

-
- -[separator] - -

SDL 1.2.12 Release Notes

-

-SDL 1.2.12 is a minor bug fix release. -

- -

General Notes

- -
-

- Added support for the PulseAudio sound server: http://www.pulseaudio.org/ -

-

- Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling of the screensaver on Mac OS X, Windows, and X11. -

-

- Fixed buffer overrun crash when resampling audio rates. -

-

- Fixed audio bug where converting to mono was doubling the volume. -

-

- Fixed off-by-one error in the C implementation of SDL_revcpy() -

-

- Fixed compiling with Sun Studio. -

-

- Support for AmigaOS has been removed from the main SDL code. -

-

- Support for Nokia 9210 "EPOC" driver has been removed from the main SDL code. -

-

- Unofficial support for the S60/SymbianOS platform has been added. -

-

- Unofficial support for the Nintendo DS platform has been added. -

-

- Reenabled MMX assembly for YUV overlay processing (GNU C Compiler only). -

-
- -

Unix Notes

- -
-

- Fixed detection of X11 DGA mouse support. -

-

- Improved XIM support for asian character sets. -

-

- The GFX_Display has been added to the X11 window information in SDL_syswm.h. -

-

- Fixed PAGE_SIZE compile error in the fbcon video driver on newer Linux kernels. -

-

- Fixed hang or crash at startup if aRts can't access the hardware. -

-

- Fixed relative mouse mode when the cursor starts outside the X11 window. -

-

- Fixed accidental free of stack memory in X11 mouse acceleration code. -

-

- Closed minor memory leak in XME code. -

-

- Fixed TEXTRELs in the library to resolve some PIC issues. -

-
- -

Windows Notes

- -
-

- The GDI video driver makes better use of the palette in 8-bit modes. -

-

- The windib driver now supports more mouse buttons with WM_XBUTTON events. -

-

- On Windows, SDL_SetVideoMode() will re-create the window instead of failing if the multisample settings are changed. -

-

- Added support for UTF-8 window titles on Windows. -

-

- Fixed joystick detection on Windows. -

-

- Improved performance with Win32 file I/O. -

-

- Fixed HBITMAP leak in GAPI driver. -

-
- -

Mac OS X Notes

- -
-

- Added support for multi-axis controllers like 3Dconnxion's SpaceNavigator on Mac OS X. -

-

- Fixed YUV overlay crash inside Quicktime on Intel Mac OS X. -

-

- Fixed blitting alignment in Altivec alpha blit functions. -

-

- Keys F13, F14, and F15 are now usable on Apple keyboards under Mac OS X. -

-

- Fixed joystick calibration code on Mac OS X. -

-

- Fixed mouse jitter when multiple motion events are queued up in Mac OS X. -

-

- Fixed changing the cursor in fullscreen mode on Mac OS X. -

-
- -

Mac OS Classic Notes

- -
-

- Added support for gamma ramps to both toolbox and DrawSprocket video drivers. -

-
- -

BeOS Notes

- -
-

- Implemented mouse grabbing and mouse relative mode on BeOS. -

-
- -[separator] - -

SDL 1.2.11 Release Notes

-

-SDL 1.2.11 is a minor bug fix release. -

- -

Unix Notes

- -
-

- Dynamic X11 loading is only enabled with gcc 4 supporting -fvisibility=hidden. This fixes crashes related to symbol collisions, and allows building on Solaris and IRIX. -

-

- Fixed building SDL with Xinerama disabled. -

-

- Fixed DRI OpenGL library loading, using RTLD_GLOBAL in dlopen(). -

-

- Added pkgconfig configuration support. -

-
- -

Windows Notes

- -
-

- Setting SDL_GL_SWAP_CONTROL now works with Windows OpenGL. -

-

- The Win32 window positioning code works properly for windows with menus. -

-

- DirectSound audio quality has been improved on certain sound cards. -

-

- Fixed 5.1 audio channel ordering on Windows and Mac OS X. -

-

- Plugged a couple of minor memory leaks in the windib video driver. -

-

- Fixed type collision with stdint.h when building with gcc on Win32. -

-

- Fixed building with the Digital Mars Compiler on Win32. -

-
- -

Mac OS X Notes

- -
-

- The Quartz video driver supports 32x32 cursors on Mac OS X 10.3 and above. -

-
- -[separator] - -

SDL 1.2.10 Release Notes

-

-SDL 1.2.10 is a major release, featuring a revamp of the build system and many API improvements and bug fixes. -

-

API enhancements

-
    -
  • - If SDL_OpenAudio() is passed zero for the desired format - fields, the following environment variables will be used - to fill them in: -
    
    -		SDL_AUDIO_FREQUENCY
    -		SDL_AUDIO_FORMAT
    -		SDL_AUDIO_CHANNELS
    -		SDL_AUDIO_SAMPLES
    -
    - If an environment variable is not specified, it will be set - to a reasonable default value. -
  • - SDL_SetVideoMode() now accepts 0 for width or height and will use - the current video mode (or the desktop mode if no mode has been set.) -
  • - Added current_w and current_h to the SDL_VideoInfo structure, - which is set to the desktop resolution during video intialization, - and then set to the current resolution when a video mode is set. -
  • - SDL_GL_LoadLibrary() will load the system default OpenGL library - if it is passed NULL as a parameter. -
  • - Added SDL_GL_SWAP_CONTROL to wait for vsync in OpenGL applications. -
  • - Added SDL_GL_ACCELERATED_VISUAL to guarantee hardware acceleration. -
  • - SDL_WM_SetCaption() now officially takes UTF-8 title and icon strings, and displays international characters on supported platforms. -
  • - Added SDL_GetKeyRepeat() to query the key repeat settings. -
  • - Added the "dummy" audio driver, which can be used to emulate audio - output without a sound card. -
  • - Added SDL_config.h, with defaults for various build environments. -
- -

General Notes

- -
-

- The SDL website now has an RSS feed! -

- The SDL development source code is now managed with Subversion. -

- SDL now uses the Bugzilla bug tracking system, hosted by icculus.org. -

- SDL is licensed under version 2.1 of the GNU Lesser General Public License. -

- The entire build system has been revamped to make it much more portable, including versions of C library functions to make it possible to run SDL on a minimal embedded environment. See README.Porting in the SDL source distribution for information on how to port SDL to a new platform. -

- SDL_opengl.h has been updated with the latest glext.h from http://oss.sgi.com/projects/ogl-sample/registry/ -

- Alex Volkov contributed highly optimized RGB <-> RGBA blitters. -

- -

Unix Notes

- -
-

- The X11 libraries are dynamically loaded at runtime by default. This allows the distributed version of SDL to run on systems without X11 libraries installed. -

- The XiG XME extension code is now included in the X11 video driver by default. -

- XRandR support for video mode switching has been added to the X11 driver, but is disabled because of undesired interactions with window managers. You can enable this by setting the environment variable SDL_VIDEO_X11_XRANDR to 1. -

- Xinerama multi-head displays are properly handled now, and the SDL_VIDEO_FULLSCREEN_HEAD environment variable can be used to select the screen used for fullscreen video modes. Note that changing the video modes only works on screen 0. -

- XVidMode video modes are now sorted so they maintain the refresh rates specified in the X11 configuration file. -

- SDL windows are no longer transparent in X11 compositing systems like XGL. -

- The mouse is properly released by the X11 video driver if the fullscreen window loses focus. -

- The X11 input driver now uses XIM to handle international input. -

- The screensaver and DPMS monitor blanking are disabled while SDL games are running under the X11 and DGA video drivers. This behavior will be formalized and selectable in SDL 1.3. -

- Fixed a bug preventing stereo OpenGL contexts from being selected on the X11 driver. -

- The DGA video driver now waits for pending blits involving surfaces before they are freed. This prevents display oddities when using SDL_DisplayFormat() to convert many images. -

- The framebuffer console video driver now has a parser for /etc/fb.modes for improved video mode handling. -

- The framebuffer console video driver now allows asynchronous VT switching, and restores the full contents of the screen when switched back. -

- The framebuffer console now uses CTRL-ALT-FN to switch virtual terminals, to avoid collisions with application key bindings. -

- The framebuffer console input driver correctly sets IMPS/2 mode for wheel mice. It also properly detects when gpm is in IMPS/2 protocol mode, or passing raw protocol from an IMPS/2 mouse. -

- The SVGAlib video driver now has support for banked (non-linear) video modes. -

- A video driver for OpenBSD on the Sharp Zaurus has been contributed by Staffan Ulfberg. See the file README.wscons in the SDL source distribution for details. -

- Many patches have been incorporated from *BSD ports. -

- -

Windows Notes

- -
-

- The "windib" video driver is the default now, to prevent problems with certain laptops, 64-bit Windows, and Windows Vista. The DirectX driver is still available, and can be selected by setting the environment variable SDL_VIDEODRIVER to "directx". -

- SDL has been ported to 64-bit Windows. -

- Dmitry Yakimov contributed a GAPI video driver for Windows CE. -

- The default fullscreen refresh rate has been increased to match the desktop refresh rate, when using equivalent resolutions. A full API for querying and selecting refresh rates is planned for SDL 1.3. -

- Dialog boxes are now shown when SDL is in windowed OpenGL mode. -

- The SDL window is recreated when necessary to maintain OpenGL context attributes, when switching between windowed and fullscreen modes. -

- An SDL_VIDEORESIZE event is properly sent when the SDL window is maximized and restored. -

- Window positions are retained when switching between fullscreen and windowed modes. -

- ToUnicode() is used, when available, for improved handling of international keyboard input. -

- The PrtScrn is now treated normally with both key down and key up events. -

- Pressing ALT-F4 now delivers an SDL_QUIT event to SDL applications. -

- Joystick names are now correct for joysticks which have been unplugged and then plugged back in since booting. -

- An MCI error when playing the last track on a CD-ROM has been fixed. -

- OpenWatcom projects for building SDL have been provided by Marc Peter. -

- -

Mac OS X Notes

- -
-

- SDL now supports building Universal binaries, both through Xcode projects and when using configure/make. See README.MacOSX in the SDL source archive for details. -

- The X11 video driver with GLX support can be built on Mac OS X, if the X11 development SDK is installed. -

- Transitions between fullscreen resolutions and windowed mode now use a much faster asynchronous fade to hide desktop flicker. -

- Icons set with SDL_WM_SetIcon() now have the proper colors on Intel Macs. -

- -

OS/2 Notes

- -
-

- Projects for building SDL on OS/2 with OpenWatcom have been contributed by Doodle. See the file README.OS2 in the SDL source distribution for details. -

- -[separator] - - - diff --git a/alienblaster/project/jni/sdl/include/SDL.h b/alienblaster/project/jni/sdl/include/SDL.h index 119ed7ff1..21c0cbe62 100644 --- a/alienblaster/project/jni/sdl/include/SDL.h +++ b/alienblaster/project/jni/sdl/include/SDL.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,82 +20,145 @@ slouken@libsdl.org */ -/** @file SDL.h +/** + * \file SDL.h + * * Main include header for the SDL library */ +/** + * \mainpage Simple DirectMedia Layer (SDL) + * + * http://www.libsdl.org/ + * + * \section intro_sec Introduction + * + * This is the Simple DirectMedia Layer, a general API that provides low + * level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, + * and 2D framebuffer across multiple platforms. + * + * The current version supports Windows, Windows CE, Mac OS X, Linux, + * FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, and QNX. The code contains + * support for other operating systems but those are not officially supported. + * + * SDL is written in C, but works with C++ natively, and has bindings to + * several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, + * Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, + * Pike, Pliant, Python, Ruby, and Smalltalk. + * + * This library is distributed under GNU LGPL version 2, which can be + * found in the file "COPYING". This license allows you to use SDL + * freely in commercial programs as long as you link with the dynamic + * library. + * + * The best way to learn how to use SDL is to check out the header files in + * the "include" subdirectory and the programs in the "test" subdirectory. + * The header files and test programs are well commented and always up to date. + * More documentation is available in HTML format in "docs/index.html", and + * a documentation wiki is available online at: + * http://www.libsdl.org/cgi/docwiki.cgi + * + * The test programs in the "test" subdirectory are in the public domain. + * + * Frequently asked questions are answered online: + * http://www.libsdl.org/faq.php + * + * If you need help with the library, or just want to discuss SDL related + * issues, you can join the developers mailing list: + * http://www.libsdl.org/mailing-list.php + * + * Enjoy! + * Sam Lantinga (slouken@libsdl.org) + */ + #ifndef _SDL_H #define _SDL_H #include "SDL_main.h" #include "SDL_stdinc.h" +#include "SDL_atomic.h" #include "SDL_audio.h" -#include "SDL_cdrom.h" #include "SDL_cpuinfo.h" #include "SDL_endian.h" #include "SDL_error.h" #include "SDL_events.h" #include "SDL_loadso.h" #include "SDL_mutex.h" +#include "SDL_power.h" #include "SDL_rwops.h" #include "SDL_thread.h" #include "SDL_timer.h" -#include "SDL_video.h" #include "SDL_version.h" +#include "SDL_video.h" +#include "SDL_compat.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** @file SDL.h - * @note As of version 0.5, SDL is loaded dynamically into the application - */ +/* As of version 0.5, SDL is loaded dynamically into the application */ -/** @name SDL_INIT Flags - * These are the flags which may be passed to SDL_Init() -- you should +/** + * \name SDL_INIT_* + * + * These are the flags which may be passed to SDL_Init(). You should * specify the subsystems which you will be using in your application. */ /*@{*/ -#define SDL_INIT_TIMER 0x00000001 -#define SDL_INIT_AUDIO 0x00000010 -#define SDL_INIT_VIDEO 0x00000020 -#define SDL_INIT_CDROM 0x00000100 -#define SDL_INIT_JOYSTICK 0x00000200 -#define SDL_INIT_NOPARACHUTE 0x00100000 /**< Don't catch fatal signals */ -#define SDL_INIT_EVENTTHREAD 0x01000000 /**< Not supported on all OS's */ -#define SDL_INIT_EVERYTHING 0x0000FFFF +#define SDL_INIT_TIMER 0x00000001 +#define SDL_INIT_AUDIO 0x00000010 +#define SDL_INIT_VIDEO 0x00000020 +#define SDL_INIT_JOYSTICK 0x00000200 +#define SDL_INIT_HAPTIC 0x00001000 +#define SDL_INIT_NOPARACHUTE 0x00100000 /**< Don't catch fatal signals */ +#define SDL_INIT_EVENTTHREAD 0x01000000 /**< Not supported on all OS's */ +#define SDL_INIT_EVERYTHING 0x0000FFFF /*@}*/ -/** This function loads the SDL dynamically linked library and initializes - * the subsystems specified by 'flags' (and those satisfying dependencies) - * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup - * signal handlers for some commonly ignored fatal signals (like SIGSEGV) +/** + * This function loads the SDL dynamically linked library and initializes + * the subsystems specified by \c flags (and those satisfying dependencies). + * Unless the ::SDL_INIT_NOPARACHUTE flag is set, it will install cleanup + * signal handlers for some commonly ignored fatal signals (like SIGSEGV). */ extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); -/** This function initializes specific SDL subsystems */ +/** + * This function initializes specific SDL subsystems + */ extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); -/** This function cleans up specific SDL subsystems */ +/** + * This function cleans up specific SDL subsystems + */ extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); -/** This function returns mask of the specified subsystems which have +/** + * This function returns mask of the specified subsystems which have * been initialized. - * If 'flags' is 0, it returns a mask of all initialized subsystems. + * + * If \c flags is 0, it returns a mask of all initialized subsystems. */ extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); -/** This function cleans up all initialized subsystems and unloads the +/** + * This function cleans up all initialized subsystems and unloads the * dynamically linked library. You should call it upon all exit conditions. */ extern DECLSPEC void SDLCALL SDL_Quit(void); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_H */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_active.h b/alienblaster/project/jni/sdl/include/SDL_active.h deleted file mode 100644 index 0ae92f2d5..000000000 --- a/alienblaster/project/jni/sdl/include/SDL_active.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 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 -*/ - -/** - * @file SDL_active.h - * Include file for SDL application focus event handling - */ - -#ifndef _SDL_active_h -#define _SDL_active_h - -#include "SDL_stdinc.h" -#include "SDL_error.h" - -#include "begin_code.h" -/* Set up for C function definitions, even when using C++ */ -#ifdef __cplusplus -extern "C" { -#endif - -/** @name The available application states */ -/*@{*/ -#define SDL_APPMOUSEFOCUS 0x01 /**< The app has mouse coverage */ -#define SDL_APPINPUTFOCUS 0x02 /**< The app has input focus */ -#define SDL_APPACTIVE 0x04 /**< The application is active */ -/*@}*/ - -/* Function prototypes */ -/** - * This function returns the current state of the application, which is a - * bitwise combination of SDL_APPMOUSEFOCUS, SDL_APPINPUTFOCUS, and - * SDL_APPACTIVE. If SDL_APPACTIVE is set, then the user is able to - * see your application, otherwise it has been iconified or disabled. - */ -extern DECLSPEC Uint8 SDLCALL SDL_GetAppState(void); - - -/* Ends C function definitions when using C++ */ -#ifdef __cplusplus -} -#endif -#include "close_code.h" - -#endif /* _SDL_active_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_assert.h b/alienblaster/project/jni/sdl/include/SDL_assert.h new file mode 100644 index 000000000..6c72fa18e --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_assert.h @@ -0,0 +1,241 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +#ifndef _SDL_assert_h +#define _SDL_assert_h + +#include "SDL_config.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +#ifndef SDL_ASSERT_LEVEL +#ifdef SDL_DEFAULT_ASSERT_LEVEL +#define SDL_ASSERT_LEVEL SDL_DEFAULT_ASSERT_LEVEL +#elif defined(_DEBUG) || defined(DEBUG) || \ + (defined(__GNUC__) && !defined(__OPTIMIZE__)) +#define SDL_ASSERT_LEVEL 2 +#else +#define SDL_ASSERT_LEVEL 1 +#endif +#endif /* SDL_ASSERT_LEVEL */ + +/* +These are macros and not first class functions so that the debugger breaks +on the assertion line and not in some random guts of SDL, and so each +assert can have unique static variables associated with it. +*/ + +#if (defined(_MSC_VER) && ((_M_IX86) || (_M_X64))) + #define SDL_TriggerBreakpoint() __asm { int 3 } +#elif (defined(__GNUC__) && ((__i386__) || (__x86_64__))) + #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" ) +#elif defined(HAVE_SIGNAL_H) + #include + #define SDL_TriggerBreakpoint() raise(SIGTRAP) +#else + /* How do we trigger breakpoints on this platform? */ + #define SDL_TriggerBreakpoint() +#endif + +#if (__STDC_VERSION__ >= 199901L) /* C99 supports __func__ as a standard. */ +# define SDL_FUNCTION __func__ +#elif ((__GNUC__ >= 2) || defined(_MSC_VER)) +# define SDL_FUNCTION __FUNCTION__ +#else +# define SDL_FUNCTION "???" +#endif +#define SDL_FILE __FILE__ +#define SDL_LINE __LINE__ + +/* +sizeof (x) makes the compiler still parse the expression even without +assertions enabled, so the code is always checked at compile time, but +doesn't actually generate code for it, so there are no side effects or +expensive checks at run time, just the constant size of what x WOULD be, +which presumably gets optimized out as unused. +This also solves the problem of... + + int somevalue = blah(); + SDL_assert(somevalue == 1); + +...which would cause compiles to complain that somevalue is unused if we +disable assertions. +*/ + +#define SDL_disabled_assert(condition) \ + do { (void) sizeof ((condition)); } while (0) + +#if (SDL_ASSERT_LEVEL > 0) + +typedef enum +{ + SDL_ASSERTION_RETRY, /**< Retry the assert immediately. */ + SDL_ASSERTION_BREAK, /**< Make the debugger trigger a breakpoint. */ + SDL_ASSERTION_ABORT, /**< Terminate the program. */ + SDL_ASSERTION_IGNORE, /**< Ignore the assert. */ + SDL_ASSERTION_ALWAYS_IGNORE, /**< Ignore the assert from now on. */ +} SDL_assert_state; + +typedef struct SDL_assert_data +{ + int always_ignore; + unsigned int trigger_count; + const char *condition; + const char *filename; + int linenum; + const char *function; + const struct SDL_assert_data *next; +} SDL_assert_data; + +/* Never call this directly. Use the SDL_assert* macros. */ +extern DECLSPEC SDL_assert_state SDLCALL SDL_ReportAssertion(SDL_assert_data *, + const char *, + const char *, int); + +/* the do {} while(0) avoids dangling else problems: + if (x) SDL_assert(y); else blah(); + ... without the do/while, the "else" could attach to this macro's "if". + We try to handle just the minimum we need here in a macro...the loop, + the static vars, and break points. The heavy lifting is handled in + SDL_ReportAssertion(), in SDL_assert.c. +*/ +#define SDL_enabled_assert(condition) \ + do { \ + while ( !(condition) ) { \ + static struct SDL_assert_data assert_data = { \ + 0, 0, #condition, 0, 0, 0, 0 \ + }; \ + const SDL_assert_state state = SDL_ReportAssertion(&assert_data, \ + SDL_FUNCTION, \ + SDL_FILE, \ + SDL_LINE); \ + if (state == SDL_ASSERTION_RETRY) { \ + continue; /* go again. */ \ + } else if (state == SDL_ASSERTION_BREAK) { \ + SDL_TriggerBreakpoint(); \ + } \ + break; /* not retrying. */ \ + } \ + } while (0) + +#endif /* enabled assertions support code */ + +/* Enable various levels of assertions. */ +#if SDL_ASSERT_LEVEL == 0 /* assertions disabled */ +# define SDL_assert(condition) SDL_disabled_assert(condition) +# define SDL_assert_release(condition) SDL_disabled_assert(condition) +# define SDL_assert_paranoid(condition) SDL_disabled_assert(condition) +#elif SDL_ASSERT_LEVEL == 1 /* release settings. */ +# define SDL_assert(condition) SDL_disabled_assert(condition) +# define SDL_assert_release(condition) SDL_enabled_assert(condition) +# define SDL_assert_paranoid(condition) SDL_disabled_assert(condition) +#elif SDL_ASSERT_LEVEL == 2 /* normal settings. */ +# define SDL_assert(condition) SDL_enabled_assert(condition) +# define SDL_assert_release(condition) SDL_enabled_assert(condition) +# define SDL_assert_paranoid(condition) SDL_disabled_assert(condition) +#elif SDL_ASSERT_LEVEL == 3 /* paranoid settings. */ +# define SDL_assert(condition) SDL_enabled_assert(condition) +# define SDL_assert_release(condition) SDL_enabled_assert(condition) +# define SDL_assert_paranoid(condition) SDL_enabled_assert(condition) +#else +# error Unknown assertion level. +#endif + + +typedef SDL_assert_state (SDLCALL *SDL_AssertionHandler)( + const SDL_assert_data *, void *userdata); + +/** + * \brief Set an application-defined assertion handler. + * + * This allows an app to show its own assertion UI and/or force the + * response to an assertion failure. If the app doesn't provide this, SDL + * will try to do the right thing, popping up a system-specific GUI dialog, + * and probably minimizing any fullscreen windows. + * + * This callback may fire from any thread, but it runs wrapped in a mutex, so + * it will only fire from one thread at a time. + * + * Setting the callback to NULL restores SDL's original internal handler. + * + * This callback is NOT reset to SDL's internal handler upon SDL_Quit()! + * + * \return SDL_assert_state value of how to handle the assertion failure. + * + * \param handler Callback function, called when an assertion fails. + * \param userdata A pointer passed to the callback as-is. + */ +extern DECLSPEC void SDLCALL SDL_SetAssertionHandler( + SDL_AssertionHandler handler, + void *userdata); + +/** + * \brief Get a list of all assertion failures. + * + * Get all assertions triggered since last call to SDL_ResetAssertionReport(), + * or the start of the program. + * + * The proper way to examine this data looks something like this: + * + * + * const SDL_assert_data *item = SDL_GetAssertionReport(); + * while (item->condition) { + * printf("'%s', %s (%s:%d), triggered %u times, always ignore: %s.\n", + * item->condition, item->function, item->filename, + * item->linenum, item->trigger_count, + * item->always_ignore ? "yes" : "no"); + * item = item->next; + * } + * + * + * \return List of all assertions. This never returns NULL, + * even if there are no items. + * \sa SDL_ResetAssertionReport + */ +extern DECLSPEC const SDL_assert_data * SDLCALL SDL_GetAssertionReport(void); + +/** + * \brief Reset the list of all assertion failures. + * + * Reset list of all assertions triggered. + * + * \sa SDL_GetAssertionReport + */ +extern DECLSPEC void SDLCALL SDL_ResetAssertionReport(void); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_assert_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_atomic.h b/alienblaster/project/jni/sdl/include/SDL_atomic.h new file mode 100644 index 000000000..cd620c314 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_atomic.h @@ -0,0 +1,216 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 + + Contributed by Bob Pendleton, bob@pendleton.com + */ + +/** + * \file SDL_atomic.h + * + * Atomic operations. + * + * These operations may, or may not, actually be implemented using + * processor specific atomic operations. When possible they are + * implemented as true processor specific atomic operations. When that + * is not possible the are implemented using locks that *do* use the + * available atomic operations. + * + * At the very minimum spin locks must be implemented. Without spin + * locks it is not possible (AFAICT) to emulate the rest of the atomic + * operations. + */ + +#ifndef _SDL_atomic_h_ +#define _SDL_atomic_h_ + +#include "SDL_stdinc.h" +#include "SDL_platform.h" + +#include "begin_code.h" + +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/* Function prototypes */ + +/** + * \name SDL AtomicLock + * + * The spin lock functions and type are required and can not be + * emulated because they are used in the emulation code. + */ +/*@{*/ + +typedef volatile Uint32 SDL_SpinLock; + +/** + * \brief Lock a spin lock by setting it to a none zero value. + * + * \param lock Points to the lock. + */ +extern DECLSPEC void SDLCALL SDL_AtomicLock(SDL_SpinLock *lock); + +/** + * \brief Unlock a spin lock by setting it to 0. Always returns immediately + * + * \param lock Points to the lock. + */ +extern DECLSPEC void SDLCALL SDL_AtomicUnlock(SDL_SpinLock *lock); + +/*@}*//*SDL AtomicLock*/ + +/** + * \name 32 bit atomic operations + */ +/*@{*/ + +/** + * \brief Check to see if \c *ptr == 0 and set it to 1. + * + * \return SDL_True if the value pointed to by \c ptr was zero and + * SDL_False if it was not zero + * + * \param ptr Points to the value to be tested and set. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_AtomicTestThenSet32(volatile Uint32 * ptr); + +/** + * \brief Set the value pointed to by \c ptr to be zero. + * + * \param ptr Address of the value to be set to zero + */ +extern DECLSPEC void SDLCALL SDL_AtomicClear32(volatile Uint32 * ptr); + +/** + * \brief Fetch the current value of \c *ptr and then increment that + * value in place. + * + * \return The value before it was incremented. + * + * \param ptr Address of the value to fetch and increment + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicFetchThenIncrement32(volatile Uint32 * ptr); + +/** + * \brief Fetch \c *ptr and then decrement the value in place. + * + * \return The value before it was decremented. + * + * \param ptr Address of the value to fetch and drement + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicFetchThenDecrement32(volatile Uint32 * ptr); + +/** + * \brief Fetch the current value at \c ptr and then add \c value to \c *ptr. + * + * \return \c *ptr before the addition took place. + * + * \param ptr The address of data we are changing. + * \param value The value to add to \c *ptr. + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicFetchThenAdd32(volatile Uint32 * ptr, Uint32 value); + +/** + * \brief Fetch \c *ptr and then subtract \c value from it. + * + * \return \c *ptr before the subtraction took place. + * + * \param ptr The address of the data being changed. + * \param value The value to subtract from \c *ptr. + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicFetchThenSubtract32(volatile Uint32 * ptr, Uint32 value); + +/** + * \brief Add one to the data pointed to by \c ptr and return that value. + * + * \return The incremented value. + * + * \param ptr The address of the data to increment. + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicIncrementThenFetch32(volatile Uint32 * ptr); + +/** + * \brief Subtract one from data pointed to by \c ptr and return the new value. + * + * \return The decremented value. + * + * \param ptr The address of the data to decrement. + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicDecrementThenFetch32(volatile Uint32 * ptr); + +/** + * \brief Add \c value to the data pointed to by \c ptr and return result. + * + * \return The sum of \c *ptr and \c value. + * + * \param ptr The address of the data to be modified. + * \param value The value to be added. + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicAddThenFetch32(volatile Uint32 * ptr, Uint32 value); + +/** + * \brief Subtract \c value from the data pointed to by \c ptr and return the result. + * + * \return The difference between \c *ptr and \c value. + * + * \param ptr The address of the data to be modified. + * \param value The value to be subtracted. + */ +extern DECLSPEC Uint32 SDLCALL SDL_AtomicSubtractThenFetch32(volatile Uint32 * ptr, Uint32 value); + +/*@}*//*32 bit atomic operations*/ + +/** + * \name 64 bit atomic operations + */ +/*@{*/ +#ifdef SDL_HAS_64BIT_TYPE + +extern DECLSPEC SDL_bool SDLCALL SDL_AtomicTestThenSet64(volatile Uint64 * ptr); +extern DECLSPEC void SDLCALL SDL_AtomicClear64(volatile Uint64 * ptr); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicFetchThenIncrement64(volatile Uint64 * ptr); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicFetchThenDecrement64(volatile Uint64 * ptr); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicFetchThenAdd64(volatile Uint64 * ptr, Uint64 value); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicFetchThenSubtract64(volatile Uint64 * ptr, Uint64 value); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicIncrementThenFetch64(volatile Uint64 * ptr); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicDecrementThenFetch64(volatile Uint64 * ptr); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicAddThenFetch64(volatile Uint64 * ptr, Uint64 value); +extern DECLSPEC Uint64 SDLCALL SDL_AtomicSubtractThenFetch64(volatile Uint64 * ptr, Uint64 value); +#endif /* SDL_HAS_64BIT_TYPE */ + +/*@}*//*64 bit atomic operations*/ + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif + +#include "close_code.h" + +#endif /* _SDL_atomic_h_ */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_audio.h b/alienblaster/project/jni/sdl/include/SDL_audio.h index 3a8e7fa8b..fc55c5217 100644 --- a/alienblaster/project/jni/sdl/include/SDL_audio.h +++ b/alienblaster/project/jni/sdl/include/SDL_audio.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,8 +21,9 @@ */ /** - * @file SDL_audio.h - * Access to the raw audio mixing buffer for the SDL library + * \file SDL_audio.h + * + * Access to the raw audio mixing buffer for the SDL library. */ #ifndef _SDL_audio_h @@ -38,113 +39,192 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif /** - * When filling in the desired audio spec structure, - * - 'desired->freq' should be the desired audio frequency in samples-per-second. - * - 'desired->format' should be the desired audio format. - * - 'desired->samples' is the desired size of the audio buffer, in samples. - * This number should be a power of two, and may be adjusted by the audio - * driver to a value more suitable for the hardware. Good values seem to - * range between 512 and 8096 inclusive, depending on the application and - * CPU speed. Smaller values yield faster response time, but can lead - * to underflow if the application is doing heavy processing and cannot - * fill the audio buffer in time. A stereo sample consists of both right - * and left channels in LR ordering. - * Note that the number of samples is directly related to time by the - * following formula: ms = (samples*1000)/freq - * - 'desired->size' is the size in bytes of the audio buffer, and is - * calculated by SDL_OpenAudio(). - * - 'desired->silence' is the value used to set the buffer to silence, - * and is calculated by SDL_OpenAudio(). - * - 'desired->callback' should be set to a function that will be called - * when the audio device is ready for more data. It is passed a pointer - * to the audio buffer, and the length in bytes of the audio buffer. - * This function usually runs in a separate thread, and so you should - * protect data structures that it accesses by calling SDL_LockAudio() - * and SDL_UnlockAudio() in your code. - * - 'desired->userdata' is passed as the first parameter to your callback - * function. - * - * @note The calculated values in this structure are calculated by SDL_OpenAudio() - * + * \brief Audio format flags. + * + * These are what the 16 bits in SDL_AudioFormat currently mean... + * (Unspecified bits are always zero). + * + * \verbatim + ++-----------------------sample is signed if set + || + || ++-----------sample is bigendian if set + || || + || || ++---sample is float if set + || || || + || || || +---sample bit size---+ + || || || | | + 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 + \endverbatim + * + * There are macros in SDL 1.3 and later to query these bits. */ -typedef struct SDL_AudioSpec { - int freq; /**< DSP frequency -- samples per second */ - Uint16 format; /**< Audio data format */ - Uint8 channels; /**< Number of channels: 1 mono, 2 stereo */ - Uint8 silence; /**< Audio buffer silence value (calculated) */ - Uint16 samples; /**< Audio buffer size in samples (power of 2) */ - Uint16 padding; /**< Necessary for some compile environments */ - Uint32 size; /**< Audio buffer size in bytes (calculated) */ - /** - * This function is called when the audio device needs more data. - * - * @param[out] stream A pointer to the audio data buffer - * @param[in] len The length of the audio buffer in bytes. - * - * Once the callback returns, the buffer will no longer be valid. - * Stereo samples are stored in a LRLRLR ordering. - */ - void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len); - void *userdata; -} SDL_AudioSpec; +typedef Uint16 SDL_AudioFormat; /** - * @name Audio format flags - * defaults to LSB byte order + * \name Audio flags */ /*@{*/ -#define AUDIO_U8 0x0008 /**< Unsigned 8-bit samples */ -#define AUDIO_S8 0x8008 /**< Signed 8-bit samples */ -#define AUDIO_U16LSB 0x0010 /**< Unsigned 16-bit samples */ -#define AUDIO_S16LSB 0x8010 /**< Signed 16-bit samples */ -#define AUDIO_U16MSB 0x1010 /**< As above, but big-endian byte order */ -#define AUDIO_S16MSB 0x9010 /**< As above, but big-endian byte order */ + +#define SDL_AUDIO_MASK_BITSIZE (0xFF) +#define SDL_AUDIO_MASK_DATATYPE (1<<8) +#define SDL_AUDIO_MASK_ENDIAN (1<<12) +#define SDL_AUDIO_MASK_SIGNED (1<<15) +#define SDL_AUDIO_BITSIZE(x) (x & SDL_AUDIO_MASK_BITSIZE) +#define SDL_AUDIO_ISFLOAT(x) (x & SDL_AUDIO_MASK_DATATYPE) +#define SDL_AUDIO_ISBIGENDIAN(x) (x & SDL_AUDIO_MASK_ENDIAN) +#define SDL_AUDIO_ISSIGNED(x) (x & SDL_AUDIO_MASK_SIGNED) +#define SDL_AUDIO_ISINT(x) (!SDL_AUDIO_ISFLOAT(x)) +#define SDL_AUDIO_ISLITTLEENDIAN(x) (!SDL_AUDIO_ISBIGENDIAN(x)) +#define SDL_AUDIO_ISUNSIGNED(x) (!SDL_AUDIO_ISSIGNED(x)) + +/** + * \name Audio format flags + * + * Defaults to LSB byte order. + */ +/*@{*/ +#define AUDIO_U8 0x0008 /**< Unsigned 8-bit samples */ +#define AUDIO_S8 0x8008 /**< Signed 8-bit samples */ +#define AUDIO_U16LSB 0x0010 /**< Unsigned 16-bit samples */ +#define AUDIO_S16LSB 0x8010 /**< Signed 16-bit samples */ +#define AUDIO_U16MSB 0x1010 /**< As above, but big-endian byte order */ +#define AUDIO_S16MSB 0x9010 /**< As above, but big-endian byte order */ #define AUDIO_U16 AUDIO_U16LSB #define AUDIO_S16 AUDIO_S16LSB +/*@}*/ /** - * @name Native audio byte ordering + * \name int32 support + * + * New to SDL 1.3. + */ +/*@{*/ +#define AUDIO_S32LSB 0x8020 /**< 32-bit integer samples */ +#define AUDIO_S32MSB 0x9020 /**< As above, but big-endian byte order */ +#define AUDIO_S32 AUDIO_S32LSB +/*@}*/ + +/** + * \name float32 support + * + * New to SDL 1.3. + */ +/*@{*/ +#define AUDIO_F32LSB 0x8120 /**< 32-bit floating point samples */ +#define AUDIO_F32MSB 0x9120 /**< As above, but big-endian byte order */ +#define AUDIO_F32 AUDIO_F32LSB +/*@}*/ + +/** + * \name Native audio byte ordering */ /*@{*/ #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define AUDIO_U16SYS AUDIO_U16LSB #define AUDIO_S16SYS AUDIO_S16LSB +#define AUDIO_S32SYS AUDIO_S32LSB +#define AUDIO_F32SYS AUDIO_F32LSB #else #define AUDIO_U16SYS AUDIO_U16MSB #define AUDIO_S16SYS AUDIO_S16MSB +#define AUDIO_S32SYS AUDIO_S32MSB +#define AUDIO_F32SYS AUDIO_F32MSB #endif /*@}*/ +/** + * \name Allow change flags + * + * Which audio format changes are allowed when opening a device. + */ +/*@{*/ +#define SDL_AUDIO_ALLOW_FREQUENCY_CHANGE 0x00000001 +#define SDL_AUDIO_ALLOW_FORMAT_CHANGE 0x00000002 +#define SDL_AUDIO_ALLOW_CHANNELS_CHANGE 0x00000004 +#define SDL_AUDIO_ALLOW_ANY_CHANGE (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE) /*@}*/ +/*@}*//*Audio flags*/ -/** A structure to hold a set of audio conversion filters and buffers */ -typedef struct SDL_AudioCVT { - int needed; /**< Set to 1 if conversion possible */ - Uint16 src_format; /**< Source audio format */ - Uint16 dst_format; /**< Target audio format */ - double rate_incr; /**< Rate conversion increment */ - Uint8 *buf; /**< Buffer to hold entire audio data */ - int len; /**< Length of original audio buffer */ - int len_cvt; /**< Length of converted audio buffer */ - int len_mult; /**< buffer must be len*len_mult big */ - double len_ratio; /**< Given len, final size is len*len_ratio */ - void (SDLCALL *filters[10])(struct SDL_AudioCVT *cvt, Uint16 format); - int filter_index; /**< Current audio conversion function */ +/** + * This function is called when the audio device needs more data. + * + * \param userdata An application-specific parameter saved in + * the SDL_AudioSpec structure + * \param stream A pointer to the audio data buffer. + * \param len The length of that buffer in bytes. + * + * Once the callback returns, the buffer will no longer be valid. + * Stereo samples are stored in a LRLRLR ordering. + */ +typedef void (SDLCALL * SDL_AudioCallback) (void *userdata, Uint8 * stream, + int len); + +/** + * The calculated values in this structure are calculated by SDL_OpenAudio(). + */ +typedef struct SDL_AudioSpec +{ + int freq; /**< DSP frequency -- samples per second */ + SDL_AudioFormat format; /**< Audio data format */ + Uint8 channels; /**< Number of channels: 1 mono, 2 stereo */ + Uint8 silence; /**< Audio buffer silence value (calculated) */ + Uint16 samples; /**< Audio buffer size in samples (power of 2) */ + Uint16 padding; /**< Necessary for some compile environments */ + Uint32 size; /**< Audio buffer size in bytes (calculated) */ + SDL_AudioCallback callback; + void *userdata; +} SDL_AudioSpec; + + +struct SDL_AudioCVT; +typedef void (SDLCALL * SDL_AudioFilter) (struct SDL_AudioCVT * cvt, + SDL_AudioFormat format); + +/** + * A structure to hold a set of audio conversion filters and buffers. + */ +typedef struct SDL_AudioCVT +{ + int needed; /**< Set to 1 if conversion possible */ + SDL_AudioFormat src_format; /**< Source audio format */ + SDL_AudioFormat dst_format; /**< Target audio format */ + double rate_incr; /**< Rate conversion increment */ + Uint8 *buf; /**< Buffer to hold entire audio data */ + int len; /**< Length of original audio buffer */ + int len_cvt; /**< Length of converted audio buffer */ + int len_mult; /**< buffer must be len*len_mult big */ + double len_ratio; /**< Given len, final size is len*len_ratio */ + SDL_AudioFilter filters[10]; /**< Filter list */ + int filter_index; /**< Current audio conversion function */ } SDL_AudioCVT; /* Function prototypes */ /** - * @name Audio Init and Quit - * These functions are used internally, and should not be used unless you - * have a specific need to specify the audio driver you want to use. - * You should normally use SDL_Init() or SDL_InitSubSystem(). + * \name Driver discovery functions + * + * These functions return the list of built in audio drivers, in the + * order that they are normally initialized by default. + */ +/*@{*/ +extern DECLSPEC int SDLCALL SDL_GetNumAudioDrivers(void); +extern DECLSPEC const char *SDLCALL SDL_GetAudioDriver(int index); +/*@}*/ + +/** + * \name Initialization and cleanup + * + * \internal These functions are used internally, and should not be used unless + * you have a specific need to specify the audio driver you want to + * use. You should normally use SDL_Init() or SDL_InitSubSystem(). */ /*@{*/ extern DECLSPEC int SDLCALL SDL_AudioInit(const char *driver_name); @@ -152,133 +232,279 @@ extern DECLSPEC void SDLCALL SDL_AudioQuit(void); /*@}*/ /** - * This function fills the given character buffer with the name of the - * current audio driver, and returns a pointer to it if the audio driver has - * been initialized. It returns NULL if no driver has been initialized. + * This function returns the name of the current audio driver, or NULL + * if no driver has been initialized. */ -extern DECLSPEC char * SDLCALL SDL_AudioDriverName(char *namebuf, int maxlen); +extern DECLSPEC const char *SDLCALL SDL_GetCurrentAudioDriver(void); /** - * This function opens the audio device with the desired parameters, and - * returns 0 if successful, placing the actual hardware parameters in the - * structure pointed to by 'obtained'. If 'obtained' is NULL, the audio - * data passed to the callback function will be guaranteed to be in the - * requested format, and will be automatically converted to the hardware - * audio format if necessary. This function returns -1 if it failed - * to open the audio device, or couldn't set up the audio thread. - * - * The audio device starts out playing silence when it's opened, and should - * be enabled for playing by calling SDL_PauseAudio(0) when you are ready - * for your audio callback function to be called. Since the audio driver - * may modify the requested size of the audio buffer, you should allocate - * any local mixing buffers after you open the audio device. - * - * @sa SDL_AudioSpec + * This function opens the audio device with the desired parameters, and + * returns 0 if successful, placing the actual hardware parameters in the + * structure pointed to by \c obtained. If \c obtained is NULL, the audio + * data passed to the callback function will be guaranteed to be in the + * requested format, and will be automatically converted to the hardware + * audio format if necessary. This function returns -1 if it failed + * to open the audio device, or couldn't set up the audio thread. + * + * When filling in the desired audio spec structure, + * - \c desired->freq should be the desired audio frequency in samples-per- + * second. + * - \c desired->format should be the desired audio format. + * - \c desired->samples is the desired size of the audio buffer, in + * samples. This number should be a power of two, and may be adjusted by + * the audio driver to a value more suitable for the hardware. Good values + * seem to range between 512 and 8096 inclusive, depending on the + * application and CPU speed. Smaller values yield faster response time, + * but can lead to underflow if the application is doing heavy processing + * and cannot fill the audio buffer in time. A stereo sample consists of + * both right and left channels in LR ordering. + * Note that the number of samples is directly related to time by the + * following formula: \code ms = (samples*1000)/freq \endcode + * - \c desired->size is the size in bytes of the audio buffer, and is + * calculated by SDL_OpenAudio(). + * - \c desired->silence is the value used to set the buffer to silence, + * and is calculated by SDL_OpenAudio(). + * - \c desired->callback should be set to a function that will be called + * when the audio device is ready for more data. It is passed a pointer + * to the audio buffer, and the length in bytes of the audio buffer. + * This function usually runs in a separate thread, and so you should + * protect data structures that it accesses by calling SDL_LockAudio() + * and SDL_UnlockAudio() in your code. + * - \c desired->userdata is passed as the first parameter to your callback + * function. + * + * The audio device starts out playing silence when it's opened, and should + * be enabled for playing by calling \c SDL_PauseAudio(0) when you are ready + * for your audio callback function to be called. Since the audio driver + * may modify the requested size of the audio buffer, you should allocate + * any local mixing buffers after you open the audio device. */ -extern DECLSPEC int SDLCALL SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained); - -typedef enum { - SDL_AUDIO_STOPPED = 0, - SDL_AUDIO_PLAYING, - SDL_AUDIO_PAUSED -} SDL_audiostatus; - -/** Get the current audio state */ -extern DECLSPEC SDL_audiostatus SDLCALL SDL_GetAudioStatus(void); +extern DECLSPEC int SDLCALL SDL_OpenAudio(SDL_AudioSpec * desired, + SDL_AudioSpec * obtained); /** - * This function pauses and unpauses the audio callback processing. - * It should be called with a parameter of 0 after opening the audio - * device to start playing sound. This is so you can safely initialize - * data for your callback function after opening the audio device. - * Silence will be written to the audio device during the pause. + * SDL Audio Device IDs. + * + * A successful call to SDL_OpenAudio() is always device id 1, and legacy + * SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls + * always returns devices >= 2 on success. The legacy calls are good both + * for backwards compatibility and when you don't care about multiple, + * specific, or capture devices. */ +typedef Uint32 SDL_AudioDeviceID; + +/** + * Get the number of available devices exposed by the current driver. + * Only valid after a successfully initializing the audio subsystem. + * Returns -1 if an explicit list of devices can't be determined; this is + * not an error. For example, if SDL is set up to talk to a remote audio + * server, it can't list every one available on the Internet, but it will + * still allow a specific host to be specified to SDL_OpenAudioDevice(). + * + * In many common cases, when this function returns a value <= 0, it can still + * successfully open the default device (NULL for first argument of + * SDL_OpenAudioDevice()). + */ +extern DECLSPEC int SDLCALL SDL_GetNumAudioDevices(int iscapture); + +/** + * Get the human-readable name of a specific audio device. + * Must be a value between 0 and (number of audio devices-1). + * Only valid after a successfully initializing the audio subsystem. + * The values returned by this function reflect the latest call to + * SDL_GetNumAudioDevices(); recall that function to redetect available + * hardware. + * + * The string returned by this function is UTF-8 encoded, read-only, and + * managed internally. You are not to free it. If you need to keep the + * string for any length of time, you should make your own copy of it, as it + * will be invalid next time any of several other SDL functions is called. + */ +extern DECLSPEC const char *SDLCALL SDL_GetAudioDeviceName(int index, + int iscapture); + + +/** + * Open a specific audio device. Passing in a device name of NULL requests + * the most reasonable default (and is equivalent to calling SDL_OpenAudio()). + * + * The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but + * some drivers allow arbitrary and driver-specific strings, such as a + * hostname/IP address for a remote audio server, or a filename in the + * diskaudio driver. + * + * \return 0 on error, a valid device ID that is >= 2 on success. + * + * SDL_OpenAudio(), unlike this function, always acts on device ID 1. + */ +extern DECLSPEC SDL_AudioDeviceID SDLCALL SDL_OpenAudioDevice(const char + *device, + int iscapture, + const + SDL_AudioSpec * + desired, + SDL_AudioSpec * + obtained, + int + allowed_changes); + + + +/** + * \name Audio state + * + * Get the current audio state. + */ +/*@{*/ +typedef enum +{ + SDL_AUDIO_STOPPED = 0, + SDL_AUDIO_PLAYING, + SDL_AUDIO_PAUSED +} SDL_AudioStatus; +extern DECLSPEC SDL_AudioStatus SDLCALL SDL_GetAudioStatus(void); + +extern DECLSPEC SDL_AudioStatus SDLCALL +SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev); +/*@}*//*Audio State*/ + +/** + * \name Pause audio functions + * + * These functions pause and unpause the audio callback processing. + * They should be called with a parameter of 0 after opening the audio + * device to start playing sound. This is so you can safely initialize + * data for your callback function after opening the audio device. + * Silence will be written to the audio device during the pause. + */ +/*@{*/ extern DECLSPEC void SDLCALL SDL_PauseAudio(int pause_on); +extern DECLSPEC void SDLCALL SDL_PauseAudioDevice(SDL_AudioDeviceID dev, + int pause_on); +/*@}*//*Pause audio functions*/ /** - * This function loads a WAVE from the data source, automatically freeing - * that source if 'freesrc' is non-zero. For example, to load a WAVE file, - * you could do: - * @code SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); @endcode + * This function loads a WAVE from the data source, automatically freeing + * that source if \c freesrc is non-zero. For example, to load a WAVE file, + * you could do: + * \code + * SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); + * \endcode * - * If this function succeeds, it returns the given SDL_AudioSpec, - * filled with the audio data format of the wave data, and sets - * 'audio_buf' to a malloc()'d buffer containing the audio data, - * and sets 'audio_len' to the length of that audio buffer, in bytes. - * You need to free the audio buffer with SDL_FreeWAV() when you are - * done with it. + * If this function succeeds, it returns the given SDL_AudioSpec, + * filled with the audio data format of the wave data, and sets + * \c *audio_buf to a malloc()'d buffer containing the audio data, + * and sets \c *audio_len to the length of that audio buffer, in bytes. + * You need to free the audio buffer with SDL_FreeWAV() when you are + * done with it. * - * This function returns NULL and sets the SDL error message if the - * wave file cannot be opened, uses an unknown data format, or is - * corrupt. Currently raw and MS-ADPCM WAVE files are supported. + * This function returns NULL and sets the SDL error message if the + * wave file cannot be opened, uses an unknown data format, or is + * corrupt. Currently raw and MS-ADPCM WAVE files are supported. */ -extern DECLSPEC SDL_AudioSpec * SDLCALL SDL_LoadWAV_RW(SDL_RWops *src, int freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len); +extern DECLSPEC SDL_AudioSpec *SDLCALL SDL_LoadWAV_RW(SDL_RWops * src, + int freesrc, + SDL_AudioSpec * spec, + Uint8 ** audio_buf, + Uint32 * audio_len); -/** Compatibility convenience function -- loads a WAV from a file */ +/** + * Loads a WAV from a file. + * Compatibility convenience function. + */ #define SDL_LoadWAV(file, spec, audio_buf, audio_len) \ SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len) /** - * This function frees data previously allocated with SDL_LoadWAV_RW() + * This function frees data previously allocated with SDL_LoadWAV_RW() */ -extern DECLSPEC void SDLCALL SDL_FreeWAV(Uint8 *audio_buf); +extern DECLSPEC void SDLCALL SDL_FreeWAV(Uint8 * audio_buf); /** - * This function takes a source format and rate and a destination format - * and rate, and initializes the 'cvt' structure with information needed - * by SDL_ConvertAudio() to convert a buffer of audio data from one format - * to the other. - * - * @return This function returns 0, or -1 if there was an error. + * This function takes a source format and rate and a destination format + * and rate, and initializes the \c cvt structure with information needed + * by SDL_ConvertAudio() to convert a buffer of audio data from one format + * to the other. + * + * \return -1 if the format conversion is not supported, 0 if there's + * no conversion needed, or 1 if the audio filter is set up. */ -extern DECLSPEC int SDLCALL SDL_BuildAudioCVT(SDL_AudioCVT *cvt, - Uint16 src_format, Uint8 src_channels, int src_rate, - Uint16 dst_format, Uint8 dst_channels, int dst_rate); +extern DECLSPEC int SDLCALL SDL_BuildAudioCVT(SDL_AudioCVT * cvt, + SDL_AudioFormat src_format, + Uint8 src_channels, + int src_rate, + SDL_AudioFormat dst_format, + Uint8 dst_channels, + int dst_rate); /** - * Once you have initialized the 'cvt' structure using SDL_BuildAudioCVT(), - * created an audio buffer cvt->buf, and filled it with cvt->len bytes of - * audio data in the source format, this function will convert it in-place - * to the desired format. - * The data conversion may expand the size of the audio data, so the buffer - * cvt->buf should be allocated after the cvt structure is initialized by - * SDL_BuildAudioCVT(), and should be cvt->len*cvt->len_mult bytes long. + * Once you have initialized the \c cvt structure using SDL_BuildAudioCVT(), + * created an audio buffer \c cvt->buf, and filled it with \c cvt->len bytes of + * audio data in the source format, this function will convert it in-place + * to the desired format. + * + * The data conversion may expand the size of the audio data, so the buffer + * \c cvt->buf should be allocated after the \c cvt structure is initialized by + * SDL_BuildAudioCVT(), and should be \c cvt->len*cvt->len_mult bytes long. */ -extern DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT *cvt); - +extern DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT * cvt); #define SDL_MIX_MAXVOLUME 128 /** - * This takes two audio buffers of the playing audio format and mixes - * them, performing addition, volume adjustment, and overflow clipping. - * The volume ranges from 0 - 128, and should be set to SDL_MIX_MAXVOLUME - * for full audio volume. Note this does not change hardware volume. - * This is provided for convenience -- you can mix your own audio data. + * This takes two audio buffers of the playing audio format and mixes + * them, performing addition, volume adjustment, and overflow clipping. + * The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME + * for full audio volume. Note this does not change hardware volume. + * This is provided for convenience -- you can mix your own audio data. */ -extern DECLSPEC void SDLCALL SDL_MixAudio(Uint8 *dst, const Uint8 *src, Uint32 len, int volume); +extern DECLSPEC void SDLCALL SDL_MixAudio(Uint8 * dst, const Uint8 * src, + Uint32 len, int volume); /** - * @name Audio Locks - * The lock manipulated by these functions protects the callback function. - * During a LockAudio/UnlockAudio pair, you can be guaranteed that the - * callback function is not running. Do not call these from the callback - * function or you will cause deadlock. + * This works like SDL_MixAudio(), but you specify the audio format instead of + * using the format of audio device 1. Thus it can be used when no audio + * device is open at all. + */ +extern DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 * dst, + const Uint8 * src, + SDL_AudioFormat format, + Uint32 len, int volume); + +/** + * \name Audio lock functions + * + * The lock manipulated by these functions protects the callback function. + * During a SDL_LockAudio()/SDL_UnlockAudio() pair, you can be guaranteed that + * the callback function is not running. Do not call these from the callback + * function or you will cause deadlock. */ /*@{*/ extern DECLSPEC void SDLCALL SDL_LockAudio(void); +extern DECLSPEC void SDLCALL SDL_LockAudioDevice(SDL_AudioDeviceID dev); extern DECLSPEC void SDLCALL SDL_UnlockAudio(void); -/*@}*/ +extern DECLSPEC void SDLCALL SDL_UnlockAudioDevice(SDL_AudioDeviceID dev); +/*@}*//*Audio lock functions*/ /** - * This function shuts down audio processing and closes the audio device. + * This function shuts down audio processing and closes the audio device. */ extern DECLSPEC void SDLCALL SDL_CloseAudio(void); +extern DECLSPEC void SDLCALL SDL_CloseAudioDevice(SDL_AudioDeviceID dev); + +/** + * \return 1 if audio device is still functioning, zero if not, -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_AudioDeviceConnected(SDL_AudioDeviceID dev); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_audio_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_cdrom.h b/alienblaster/project/jni/sdl/include/SDL_cdrom.h deleted file mode 100644 index fff5cfa15..000000000 --- a/alienblaster/project/jni/sdl/include/SDL_cdrom.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 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 -*/ - -/** - * @file SDL_cdrom.h - * This is the CD-audio control API for Simple DirectMedia Layer - */ - -#ifndef _SDL_cdrom_h -#define _SDL_cdrom_h - -#include "SDL_stdinc.h" -#include "SDL_error.h" - -#include "begin_code.h" -/* Set up for C function definitions, even when using C++ */ -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @file SDL_cdrom.h - * In order to use these functions, SDL_Init() must have been called - * with the SDL_INIT_CDROM flag. This causes SDL to scan the system - * for CD-ROM drives, and load appropriate drivers. - */ - -/** The maximum number of CD-ROM tracks on a disk */ -#define SDL_MAX_TRACKS 99 - -/** @name Track Types - * The types of CD-ROM track possible - */ -/*@{*/ -#define SDL_AUDIO_TRACK 0x00 -#define SDL_DATA_TRACK 0x04 -/*@}*/ - -/** The possible states which a CD-ROM drive can be in. */ -typedef enum { - CD_TRAYEMPTY, - CD_STOPPED, - CD_PLAYING, - CD_PAUSED, - CD_ERROR = -1 -} CDstatus; - -/** Given a status, returns true if there's a disk in the drive */ -#define CD_INDRIVE(status) ((int)(status) > 0) - -typedef struct SDL_CDtrack { - Uint8 id; /**< Track number */ - Uint8 type; /**< Data or audio track */ - Uint16 unused; - Uint32 length; /**< Length, in frames, of this track */ - Uint32 offset; /**< Offset, in frames, from start of disk */ -} SDL_CDtrack; - -/** This structure is only current as of the last call to SDL_CDStatus() */ -typedef struct SDL_CD { - int id; /**< Private drive identifier */ - CDstatus status; /**< Current drive status */ - - /** The rest of this structure is only valid if there's a CD in drive */ - /*@{*/ - int numtracks; /**< Number of tracks on disk */ - int cur_track; /**< Current track position */ - int cur_frame; /**< Current frame offset within current track */ - SDL_CDtrack track[SDL_MAX_TRACKS+1]; - /*@}*/ -} SDL_CD; - -/** @name Frames / MSF Conversion Functions - * Conversion functions from frames to Minute/Second/Frames and vice versa - */ -/*@{*/ -#define CD_FPS 75 -#define FRAMES_TO_MSF(f, M,S,F) { \ - int value = f; \ - *(F) = value%CD_FPS; \ - value /= CD_FPS; \ - *(S) = value%60; \ - value /= 60; \ - *(M) = value; \ -} -#define MSF_TO_FRAMES(M, S, F) ((M)*60*CD_FPS+(S)*CD_FPS+(F)) -/*@}*/ - -/* CD-audio API functions: */ - -/** - * Returns the number of CD-ROM drives on the system, or -1 if - * SDL_Init() has not been called with the SDL_INIT_CDROM flag. - */ -extern DECLSPEC int SDLCALL SDL_CDNumDrives(void); - -/** - * Returns a human-readable, system-dependent identifier for the CD-ROM. - * Example: - * - "/dev/cdrom" - * - "E:" - * - "/dev/disk/ide/1/master" - */ -extern DECLSPEC const char * SDLCALL SDL_CDName(int drive); - -/** - * Opens a CD-ROM drive for access. It returns a drive handle on success, - * or NULL if the drive was invalid or busy. This newly opened CD-ROM - * becomes the default CD used when other CD functions are passed a NULL - * CD-ROM handle. - * Drives are numbered starting with 0. Drive 0 is the system default CD-ROM. - */ -extern DECLSPEC SDL_CD * SDLCALL SDL_CDOpen(int drive); - -/** - * This function returns the current status of the given drive. - * If the drive has a CD in it, the table of contents of the CD and current - * play position of the CD will be stored in the SDL_CD structure. - */ -extern DECLSPEC CDstatus SDLCALL SDL_CDStatus(SDL_CD *cdrom); - -/** - * Play the given CD starting at 'start_track' and 'start_frame' for 'ntracks' - * tracks and 'nframes' frames. If both 'ntrack' and 'nframe' are 0, play - * until the end of the CD. This function will skip data tracks. - * This function should only be called after calling SDL_CDStatus() to - * get track information about the CD. - * For example: - * @code - * // Play entire CD: - * if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) - * SDL_CDPlayTracks(cdrom, 0, 0, 0, 0); - * // Play last track: - * if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) { - * SDL_CDPlayTracks(cdrom, cdrom->numtracks-1, 0, 0, 0); - * } - * // Play first and second track and 10 seconds of third track: - * if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) - * SDL_CDPlayTracks(cdrom, 0, 0, 2, 10); - * @endcode - * - * @return This function returns 0, or -1 if there was an error. - */ -extern DECLSPEC int SDLCALL SDL_CDPlayTracks(SDL_CD *cdrom, - int start_track, int start_frame, int ntracks, int nframes); - -/** - * Play the given CD starting at 'start' frame for 'length' frames. - * @return It returns 0, or -1 if there was an error. - */ -extern DECLSPEC int SDLCALL SDL_CDPlay(SDL_CD *cdrom, int start, int length); - -/** Pause play - * @return returns 0, or -1 on error - */ -extern DECLSPEC int SDLCALL SDL_CDPause(SDL_CD *cdrom); - -/** Resume play - * @return returns 0, or -1 on error - */ -extern DECLSPEC int SDLCALL SDL_CDResume(SDL_CD *cdrom); - -/** Stop play - * @return returns 0, or -1 on error - */ -extern DECLSPEC int SDLCALL SDL_CDStop(SDL_CD *cdrom); - -/** Eject CD-ROM - * @return returns 0, or -1 on error - */ -extern DECLSPEC int SDLCALL SDL_CDEject(SDL_CD *cdrom); - -/** Closes the handle for the CD-ROM drive */ -extern DECLSPEC void SDLCALL SDL_CDClose(SDL_CD *cdrom); - - -/* Ends C function definitions when using C++ */ -#ifdef __cplusplus -} -#endif -#include "close_code.h" - -#endif /* _SDL_video_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_compat.h b/alienblaster/project/jni/sdl/include/SDL_compat.h new file mode 100644 index 000000000..3b7a7acf7 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_compat.h @@ -0,0 +1,342 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + + /** + * \defgroup Compatibility SDL 1.2 Compatibility API + */ +/*@{*/ + +/** + * \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. + */ + + /*@}*/ + +#ifdef SDL_NO_COMPAT +#define _SDL_compat_h +#endif + +#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 + +/** + * \addtogroup Compatibility + */ +/*@{*/ + +/** + * \name Surface flags + */ +/*@{*/ +#define SDL_SWSURFACE 0x00000000 /**< \note Not used */ +#define SDL_SRCALPHA 0x00010000 +#define SDL_SRCCOLORKEY 0x00020000 +#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 +#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*/ + +#define SDL_APPMOUSEFOCUS 0x01 +#define SDL_APPINPUTFOCUS 0x02 +#define SDL_APPACTIVE 0x04 + +#define SDL_LOGPAL 0x01 +#define SDL_PHYSPAL 0x02 + +#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 + +#define SDL_BUTTON_WHEELUP 4 +#define SDL_BUTTON_WHEELDOWN 5 + +#define SDL_DEFAULT_REPEAT_DELAY 500 +#define SDL_DEFAULT_REPEAT_INTERVAL 30 + +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; + + int current_w; + int current_h; +} SDL_VideoInfo; + +/** + * \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. + */ +typedef struct SDL_Overlay +{ + 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 + */ + /*@{*/ + struct private_yuvhwfuncs *hwfuncs; + struct private_yuvhwdata *hwdata; + /*@}*//*Hardware-specific surface info*/ + + /** + * \name Special flags + */ + /*@{*/ + Uint32 hw_overlay:1; /**< Flag: This overlay hardware accelerated? */ + Uint32 UnusedBits:31; + /*@}*//*Special flags*/ +} SDL_Overlay; + +typedef enum +{ + SDL_GRAB_QUERY = -1, + SDL_GRAB_OFF = 0, + SDL_GRAB_ON = 1 +} SDL_GrabMode; + +struct SDL_SysWMinfo; + +/** + * \name Obsolete or renamed key codes + */ +/*@{*/ + +/** + * \name Renamed keys + * + * These key constants were renamed for clarity or consistency. + */ +/*@{*/ +#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 +#define SDLK_NUMLOCK SDLK_NUMLOCKCLEAR +#define SDLK_SCROLLOCK SDLK_SCROLLLOCK +#define SDLK_PRINT SDLK_PRINTSCREEN +#define SDLK_LMETA SDLK_LGUI +#define SDLK_RMETA SDLK_RGUI +/*@}*//*Renamed keys*/ + +/** + * \name META modifier + * + * The META modifier is equivalent to the GUI modifier from the USB standard. + */ +/*@{*/ +#define KMOD_LMETA KMOD_LGUI +#define KMOD_RMETA KMOD_RGUI +#define KMOD_META KMOD_GUI +/*@}*//*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. + */ +/*@{*/ +#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 +/*@}*//*Not in USB*/ + +/*@}*//*Obsolete or renamed key codes*/ + +#define SDL_SetModuleHandle(x) +#define SDL_AllocSurface SDL_CreateRGBSurface + +extern DECLSPEC const SDL_version *SDLCALL SDL_Linked_Version(void); +extern DECLSPEC char *SDLCALL SDL_AudioDriverName(char *namebuf, int maxlen); +extern DECLSPEC char *SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen); +extern DECLSPEC const SDL_VideoInfo *SDLCALL SDL_GetVideoInfo(void); +extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, + int height, + int bpp, Uint32 flags); +extern DECLSPEC SDL_Rect **SDLCALL SDL_ListModes(const SDL_PixelFormat * + format, Uint32 flags); +extern DECLSPEC SDL_Surface *SDLCALL SDL_SetVideoMode(int width, int height, + int bpp, Uint32 flags); +extern DECLSPEC SDL_Surface *SDLCALL SDL_GetVideoSurface(void); +extern DECLSPEC void SDLCALL SDL_UpdateRects(SDL_Surface * screen, + int numrects, SDL_Rect * rects); +extern DECLSPEC void SDLCALL SDL_UpdateRect(SDL_Surface * screen, + Sint32 x, + Sint32 y, Uint32 w, Uint32 h); +extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface * screen); +extern DECLSPEC int SDLCALL SDL_SetAlpha(SDL_Surface * surface, + Uint32 flag, Uint8 alpha); +extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormat(SDL_Surface * surface); +extern DECLSPEC SDL_Surface *SDLCALL SDL_DisplayFormatAlpha(SDL_Surface * + surface); +extern DECLSPEC void SDLCALL SDL_WM_SetCaption(const char *title, + const char *icon); +extern DECLSPEC void SDLCALL SDL_WM_GetCaption(const char **title, + const char **icon); +extern DECLSPEC void SDLCALL SDL_WM_SetIcon(SDL_Surface * icon, Uint8 * mask); +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); +extern DECLSPEC int SDLCALL SDL_SetPalette(SDL_Surface * surface, + int flags, + const SDL_Color * colors, + int firstcolor, int ncolors); +extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface * surface, + const SDL_Color * colors, + int firstcolor, int ncolors); +extern DECLSPEC int SDLCALL SDL_GetWMInfo(struct SDL_SysWMinfo *info); +extern DECLSPEC Uint8 SDLCALL SDL_GetAppState(void); +extern DECLSPEC void SDLCALL SDL_WarpMouse(Uint16 x, Uint16 y); +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); +extern DECLSPEC void SDLCALL SDL_GL_SwapBuffers(void); +extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval); +extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval); +extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable); + +#define SDL_TextureID SDL_Texture* +#define SDL_WindowID SDL_Window* +#define SDL_RenderPoint SDL_RenderDrawPoint +#define SDL_RenderLine SDL_RenderDrawLine +#define SDL_RenderFill(X) (X) ? SDL_RenderFillRect(X) : SDL_RenderClear() + +extern DECLSPEC int SDLCALL SDL_putenv(const char *variable); + +/*@}*//*Compatibility*/ + +/* 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: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config.h b/alienblaster/project/jni/sdl/include/SDL_config.h index ce02af211..74ff4f2e3 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config.h +++ b/alienblaster/project/jni/sdl/include/SDL_config.h @@ -25,19 +25,21 @@ #include "SDL_platform.h" -/* Add any platform that doesn't build using the configure system */ -#if defined(__DREAMCAST__) -#include "SDL_config_dreamcast.h" -#elif defined(__MACOS__) -#include "SDL_config_macos.h" +/** + * \file SDL_config.h.default + * + * SDL_config.h for any platform that doesn't build using the configure system. + */ + +/* Add any platform that doesn't build using the configure system. */ +#if defined(__NINTENDODS__) +#include "SDL_config_nintendods.h" +#elif defined(__IPHONEOS__) +#include "SDL_config_iphoneos.h" #elif defined(__MACOSX__) #include "SDL_config_macosx.h" -#elif defined(__SYMBIAN32__) -#include "SDL_config_symbian.h" /* must be before win32! */ #elif defined(__WIN32__) #include "SDL_config_win32.h" -#elif defined(__OS2__) -#include "SDL_config_os2.h" #elif defined(ANDROID) #include "SDL_config_android.h" #else diff --git a/alienblaster/project/jni/sdl/include/SDL_config.h.default b/alienblaster/project/jni/sdl/include/SDL_config.h.default index a50810169..87fd742ea 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config.h.default +++ b/alienblaster/project/jni/sdl/include/SDL_config.h.default @@ -25,19 +25,21 @@ #include "SDL_platform.h" -/* Add any platform that doesn't build using the configure system */ -#if defined(__DREAMCAST__) -#include "SDL_config_dreamcast.h" -#elif defined(__MACOS__) -#include "SDL_config_macos.h" +/** + * \file SDL_config.h.default + * + * SDL_config.h for any platform that doesn't build using the configure system. + */ + +/* Add any platform that doesn't build using the configure system. */ +#if defined(__NINTENDODS__) +#include "SDL_config_nintendods.h" +#elif defined(__IPHONEOS__) +#include "SDL_config_iphoneos.h" #elif defined(__MACOSX__) #include "SDL_config_macosx.h" -#elif defined(__SYMBIAN32__) -#include "SDL_config_symbian.h" /* must be before win32! */ #elif defined(__WIN32__) #include "SDL_config_win32.h" -#elif defined(__OS2__) -#include "SDL_config_os2.h" #else #include "SDL_config_minimal.h" #endif /* platform config */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config.h.in b/alienblaster/project/jni/sdl/include/SDL_config.h.in index 58593ca2a..5c47f11b2 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config.h.in +++ b/alienblaster/project/jni/sdl/include/SDL_config.h.in @@ -23,7 +23,11 @@ #ifndef _SDL_config_h #define _SDL_config_h -/* This is a set of defines to configure the SDL features */ +/** + * \file SDL_config.h.in + * + * This is a set of defines to configure the SDL features + */ /* General platform specific identifiers */ #include "SDL_platform.h" @@ -39,6 +43,7 @@ #undef volatile /* C datatypes */ +#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) #undef size_t #undef int8_t #undef uint8_t @@ -49,10 +54,10 @@ #undef int64_t #undef uint64_t #undef uintptr_t -#undef SDL_HAS_64BIT_TYPE +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ -/* Endianness */ -#undef SDL_BYTEORDER +#undef SIZEOF_VOIDP +#undef SDL_HAS_64BIT_TYPE /* Comment this if you want to build without any C library requirements */ #undef HAVE_LIBC @@ -85,6 +90,7 @@ #undef HAVE_ALLOCA #ifndef _WIN32 /* Don't use C runtime versions of these on Windows */ #undef HAVE_GETENV +#undef HAVE_SETENV #undef HAVE_PUTENV #undef HAVE_UNSETENV #endif @@ -129,10 +135,24 @@ #undef HAVE_SSCANF #undef HAVE_SNPRINTF #undef HAVE_VSNPRINTF -#undef HAVE_ICONV +#undef HAVE_M_PI +#undef HAVE_CEIL +#undef HAVE_COPYSIGN +#undef HAVE_COS +#undef HAVE_COSF +#undef HAVE_FABS +#undef HAVE_FLOOR +#undef HAVE_LOG +#undef HAVE_POW +#undef HAVE_SCALBN +#undef HAVE_SIN +#undef HAVE_SINF +#undef HAVE_SQRT #undef HAVE_SIGACTION #undef HAVE_SETJMP #undef HAVE_NANOSLEEP +#undef HAVE_SYSCONF +#undef HAVE_SYSCTLBYNAME #undef HAVE_CLOCK_GETTIME #undef HAVE_GETPAGESIZE #undef HAVE_MPROTECT @@ -142,80 +162,68 @@ #include #endif /* HAVE_LIBC */ +/* SDL internal assertion support */ +#undef SDL_DEFAULT_ASSERT_LEVEL + /* Allow disabling of core subsystems */ #undef SDL_AUDIO_DISABLED -#undef SDL_CDROM_DISABLED #undef SDL_CPUINFO_DISABLED #undef SDL_EVENTS_DISABLED #undef SDL_FILE_DISABLED #undef SDL_JOYSTICK_DISABLED +#undef SDL_HAPTIC_DISABLED #undef SDL_LOADSO_DISABLED #undef SDL_THREADS_DISABLED #undef SDL_TIMERS_DISABLED #undef SDL_VIDEO_DISABLED +#undef SDL_POWER_DISABLED /* Enable various audio drivers */ #undef SDL_AUDIO_DRIVER_ALSA #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC #undef SDL_AUDIO_DRIVER_ARTS #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC -#undef SDL_AUDIO_DRIVER_BAUDIO +#undef SDL_AUDIO_DRIVER_PULSEAUDIO +#undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC +#undef SDL_AUDIO_DRIVER_BEOSAUDIO #undef SDL_AUDIO_DRIVER_BSD #undef SDL_AUDIO_DRIVER_COREAUDIO -#undef SDL_AUDIO_DRIVER_DART -#undef SDL_AUDIO_DRIVER_DC #undef SDL_AUDIO_DRIVER_DISK #undef SDL_AUDIO_DRIVER_DUMMY #undef SDL_AUDIO_DRIVER_DMEDIA #undef SDL_AUDIO_DRIVER_DSOUND -#undef SDL_AUDIO_DRIVER_PULSE -#undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC #undef SDL_AUDIO_DRIVER_ESD #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC -#undef SDL_AUDIO_DRIVER_MINT #undef SDL_AUDIO_DRIVER_MMEAUDIO #undef SDL_AUDIO_DRIVER_NAS #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC +#undef SDL_AUDIO_DRIVER_NDS #undef SDL_AUDIO_DRIVER_OSS #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H -#undef SDL_AUDIO_DRIVER_PAUD -#undef SDL_AUDIO_DRIVER_QNXNTO -#undef SDL_AUDIO_DRIVER_SNDMGR +#undef SDL_AUDIO_DRIVER_PAUDIO +#undef SDL_AUDIO_DRIVER_QSA #undef SDL_AUDIO_DRIVER_SUNAUDIO -#undef SDL_AUDIO_DRIVER_WAVEOUT - -/* Enable various cdrom drivers */ -#undef SDL_CDROM_AIX -#undef SDL_CDROM_BEOS -#undef SDL_CDROM_BSDI -#undef SDL_CDROM_DC -#undef SDL_CDROM_DUMMY -#undef SDL_CDROM_FREEBSD -#undef SDL_CDROM_LINUX -#undef SDL_CDROM_MACOS -#undef SDL_CDROM_MACOSX -#undef SDL_CDROM_MINT -#undef SDL_CDROM_OPENBSD -#undef SDL_CDROM_OS2 -#undef SDL_CDROM_OSF -#undef SDL_CDROM_QNX -#undef SDL_CDROM_WIN32 +#undef SDL_AUDIO_DRIVER_WINWAVEOUT +#undef SDL_AUDIO_DRIVER_FUSIONSOUND +#undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC /* Enable various input drivers */ #undef SDL_INPUT_LINUXEV #undef SDL_INPUT_TSLIB #undef SDL_JOYSTICK_BEOS -#undef SDL_JOYSTICK_DC +#undef SDL_JOYSTICK_DINPUT #undef SDL_JOYSTICK_DUMMY #undef SDL_JOYSTICK_IOKIT #undef SDL_JOYSTICK_LINUX -#undef SDL_JOYSTICK_MACOS -#undef SDL_JOYSTICK_MINT -#undef SDL_JOYSTICK_OS2 +#undef SDL_JOYSTICK_NDS #undef SDL_JOYSTICK_RISCOS #undef SDL_JOYSTICK_WINMM #undef SDL_JOYSTICK_USBHID #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H +#undef SDL_HAPTIC_DUMMY +#undef SDL_HAPTIC_LINUX +#undef SDL_HAPTIC_IOKIT +#undef SDL_HAPTIC_DINPUT /* Enable various shared object loading systems */ #undef SDL_LOADSO_BEOS @@ -223,15 +231,11 @@ #undef SDL_LOADSO_DLOPEN #undef SDL_LOADSO_DUMMY #undef SDL_LOADSO_LDG -#undef SDL_LOADSO_MACOS -#undef SDL_LOADSO_OS2 #undef SDL_LOADSO_WIN32 /* Enable various threading systems */ #undef SDL_THREAD_BEOS -#undef SDL_THREAD_DC -#undef SDL_THREAD_OS2 -#undef SDL_THREAD_PTH +#undef SDL_THREAD_NDS #undef SDL_THREAD_PTHREAD #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP @@ -240,71 +244,69 @@ /* Enable various timer systems */ #undef SDL_TIMER_BEOS -#undef SDL_TIMER_DC #undef SDL_TIMER_DUMMY -#undef SDL_TIMER_MACOS -#undef SDL_TIMER_MINT -#undef SDL_TIMER_OS2 +#undef SDL_TIMER_NDS #undef SDL_TIMER_RISCOS #undef SDL_TIMER_UNIX #undef SDL_TIMER_WIN32 #undef SDL_TIMER_WINCE /* Enable various video drivers */ -#undef SDL_VIDEO_DRIVER_AALIB #undef SDL_VIDEO_DRIVER_BWINDOW -#undef SDL_VIDEO_DRIVER_CACA -#undef SDL_VIDEO_DRIVER_DC -#undef SDL_VIDEO_DRIVER_DDRAW -#undef SDL_VIDEO_DRIVER_DGA +#undef SDL_VIDEO_DRIVER_COCOA #undef SDL_VIDEO_DRIVER_DIRECTFB -#undef SDL_VIDEO_DRIVER_DRAWSPROCKET +#undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC #undef SDL_VIDEO_DRIVER_DUMMY #undef SDL_VIDEO_DRIVER_FBCON -#undef SDL_VIDEO_DRIVER_GAPI -#undef SDL_VIDEO_DRIVER_GEM -#undef SDL_VIDEO_DRIVER_GGI -#undef SDL_VIDEO_DRIVER_IPOD -#undef SDL_VIDEO_DRIVER_NANOX -#undef SDL_VIDEO_DRIVER_OS2FS +#undef SDL_VIDEO_DRIVER_NDS #undef SDL_VIDEO_DRIVER_PHOTON -#undef SDL_VIDEO_DRIVER_PICOGUI -#undef SDL_VIDEO_DRIVER_PS2GS +#undef SDL_VIDEO_DRIVER_QNXGF #undef SDL_VIDEO_DRIVER_PS3 -#undef SDL_VIDEO_DRIVER_QTOPIA -#undef SDL_VIDEO_DRIVER_QUARTZ #undef SDL_VIDEO_DRIVER_RISCOS #undef SDL_VIDEO_DRIVER_SVGALIB -#undef SDL_VIDEO_DRIVER_TOOLBOX -#undef SDL_VIDEO_DRIVER_VGL -#undef SDL_VIDEO_DRIVER_WINDIB -#undef SDL_VIDEO_DRIVER_WSCONS +#undef SDL_VIDEO_DRIVER_WIN32 #undef SDL_VIDEO_DRIVER_X11 -#undef SDL_VIDEO_DRIVER_X11_DGAMOUSE #undef SDL_VIDEO_DRIVER_X11_DYNAMIC #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER +#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT +#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS #undef SDL_VIDEO_DRIVER_X11_VIDMODE #undef SDL_VIDEO_DRIVER_X11_XINERAMA -#undef SDL_VIDEO_DRIVER_X11_XME #undef SDL_VIDEO_DRIVER_X11_XRANDR +#undef SDL_VIDEO_DRIVER_X11_XINPUT +#undef SDL_VIDEO_DRIVER_X11_SCRNSAVER #undef SDL_VIDEO_DRIVER_X11_XV -#undef SDL_VIDEO_DRIVER_XBIOS + +#undef SDL_VIDEO_RENDER_D3D +#undef SDL_VIDEO_RENDER_GDI +#undef SDL_VIDEO_RENDER_OGL +#undef SDL_VIDEO_RENDER_OGL_ES +#undef SDL_VIDEO_RENDER_X11 +#undef SDL_VIDEO_RENDER_GAPI +#undef SDL_VIDEO_RENDER_DDRAW /* Enable OpenGL support */ #undef SDL_VIDEO_OPENGL +#undef SDL_VIDEO_OPENGL_ES +#undef SDL_VIDEO_OPENGL_BGL +#undef SDL_VIDEO_OPENGL_CGL #undef SDL_VIDEO_OPENGL_GLX #undef SDL_VIDEO_OPENGL_WGL #undef SDL_VIDEO_OPENGL_OSMESA #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC -/* Disable screensaver */ -#undef SDL_VIDEO_DISABLE_SCREENSAVER +/* Enable system power support */ +#undef SDL_POWER_LINUX +#undef SDL_POWER_WINDOWS +#undef SDL_POWER_MACOSX +#undef SDL_POWER_BEOS +#undef SDL_POWER_NINTENDODS +#undef SDL_POWER_HARDWIRED /* Enable assembly routines */ #undef SDL_ASSEMBLY_ROUTINES -#undef SDL_HERMES_BLITTERS #undef SDL_ALTIVEC_BLITTERS #endif /* _SDL_config_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_android.h b/alienblaster/project/jni/sdl/include/SDL_config_android.h index 2b8a7fa10..eca12ebf6 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_android.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_android.h @@ -20,8 +20,8 @@ slouken@libsdl.org */ -#ifndef _SDL_config_minimal_h -#define _SDL_config_minimal_h +#ifndef _SDL_config_android_h +#define _SDL_config_android_h #include "SDL_platform.h" @@ -31,22 +31,37 @@ #include #include -#define SDL_AUDIO_DRIVER_ANDROID 1 +#define SDL_VIDEO_DRIVER_ANDROID 1 +#define SDL_VIDEO_OPENGL_ES 1 +#define SDL_VIDEO_RENDER_OGL_ES 1 -#define SDL_CDROM_DISABLED 1 +// #define SDL_AUDIO_DRIVER_ANDROID 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 // TODO: fix audio and remove that -#define SDL_JOYSTICK_DISABLED 1 +#define SDL_CDROM_DISABLED 1 -#define SDL_LOADSO_DISABLED 1 +#define SDL_JOYSTICK_DUMMY 1 // TODO: add joystick and remove that +#define SDL_JOYSTICK_ANDROID 1 -#define SDL_THREAD_PTHREAD 1 -#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 +#define SDL_HAPTIC_DUMMY 1 // TODO: add vibrator and remove that +#define SDL_HAPTIC_ANDROID 1 -#define SDL_TIMER_UNIX 1 +#define SDL_POWER_DISABLED 1 // TODO: add battery meter and remove that +#define SDL_POWER_ANDROID 1 +#undef SDL_POWER_LINUX -#define SDL_VIDEO_DRIVER_ANDROID 1 +#define SDL_LOADSO_DLOPEN 1 -#define HAVE_STDIO_H 1 +#define SDL_THREAD_PTHREAD 1 +#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 + +#define SDL_TIMER_UNIX 1 + +#define HAVE_STDIO_H 1 + + +#define SIZEOF_VOIDP 4 +#define SDL_HAS_64BIT_TYPE 1 /* FireSlash found that SDL native memcpy crashes sometimes, these defines fix it (and they are faster) */ #define HAVE_LIBC 1 @@ -126,4 +141,23 @@ #define HAVE_GETPAGESIZE 1 #define HAVE_MPROTECT 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_M_PI 1 +#define HAVE_POW 1 +#define HAVE_SCALBN 1 +#define HAVE_SETENV 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 +#define HAVE_SYSCONF 1 +#undef HAVE_SYSCTLBYNAME +#undef SDL_ALTIVEC_BLITTERS +#define SDL_ASSEMBLY_ROUTINES 1 // There is no assembly code for Arm CPU yet + #endif /* _SDL_config_minimal_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_iphoneos.h b/alienblaster/project/jni/sdl/include/SDL_config_iphoneos.h new file mode 100644 index 000000000..f9271766c --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_config_iphoneos.h @@ -0,0 +1,158 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +#ifndef _SDL_config_iphoneos_h +#define _SDL_config_iphoneos_h + +#include "SDL_platform.h" + +#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +typedef unsigned long uintptr_t; +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ + +#ifdef __LP64__ +#define SIZEOF_VOIDP 8 +#else +#define SIZEOF_VOIDP 4 +#endif + +#define SDL_HAS_64BIT_TYPE 1 + +#define HAVE_ALLOCA_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_STDIO_H 1 +#define STDC_HEADERS 1 +#define HAVE_STRING_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_CTYPE_H 1 +#define HAVE_MATH_H 1 +#define HAVE_SIGNAL_H 1 + +/* C library functions */ +#define HAVE_MALLOC 1 +#define HAVE_CALLOC 1 +#define HAVE_REALLOC 1 +#define HAVE_FREE 1 +#define HAVE_ALLOCA 1 +#define HAVE_GETENV 1 +#define HAVE_SETENV 1 +#define HAVE_PUTENV 1 +#define HAVE_SETENV 1 +#define HAVE_UNSETENV 1 +#define HAVE_QSORT 1 +#define HAVE_ABS 1 +#define HAVE_BCOPY 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMCMP 1 +#define HAVE_STRLEN 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRLCAT 1 +#define HAVE_STRDUP 1 +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_STRTOD 1 +#define HAVE_ATOI 1 +#define HAVE_ATOF 1 +#define HAVE_STRCMP 1 +#define HAVE_STRNCMP 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRNCASECMP 1 +#define HAVE_SSCANF 1 +#define HAVE_SNPRINTF 1 +#define HAVE_VSNPRINTF 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_POW 1 +#define HAVE_SCALBN 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 +#define HAVE_SIGACTION 1 +#define HAVE_SETJMP 1 +#define HAVE_NANOSLEEP 1 +#define HAVE_SYSCONF 1 +#define HAVE_SYSCTLBYNAME 1 + +/* enable iPhone version of Core Audio driver */ +#define SDL_AUDIO_DRIVER_COREAUDIOIPHONE 1 +/* Enable the dummy audio driver (src/audio/dummy/\*.c) */ +#define SDL_AUDIO_DRIVER_DUMMY 1 + +/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */ +#define SDL_HAPTIC_DISABLED 1 + +/* Enable Unix style SO loading */ +/* Technically this works, but it violates the iPhone developer agreement */ +/* #define SDL_LOADSO_DLOPEN 1 */ + +/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ +#define SDL_LOADSO_DISABLED 1 + +/* Enable various threading systems */ +#define SDL_THREAD_PTHREAD 1 +#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 + +/* Enable various timer systems */ +#define SDL_TIMER_UNIX 1 + +/* Supported video drivers */ +#define SDL_VIDEO_DRIVER_UIKIT 1 +#define SDL_VIDEO_DRIVER_DUMMY 1 + +/* enable OpenGL ES */ +#define SDL_VIDEO_OPENGL_ES 1 +#define SDL_VIDEO_RENDER_OGL_ES 1 + +/* Enable system power support */ +#define SDL_POWER_UIKIT 1 + +/* enable iPhone keyboard support */ +#define SDL_IPHONE_KEYBOARD 0 + +/* Enable emulation of multiple mice through multi-touch */ +#define SDL_IPHONE_MULTIPLE_MICE 1 + +/* Set max recognized G-force from acceleromter + See src/joystick/uikit/SDLUIAccelerationDelegate.m for notes on why this is needed + */ +#define SDL_IPHONE_MAX_GFORCE 5.0 + +#endif /* _SDL_config_iphoneos_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_macos.h b/alienblaster/project/jni/sdl/include/SDL_config_macos.h deleted file mode 100644 index 4ba5c22c3..000000000 --- a/alienblaster/project/jni/sdl/include/SDL_config_macos.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 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 -*/ - -#ifndef _SDL_config_macos_h -#define _SDL_config_macos_h - -#include "SDL_platform.h" - -/* This is a set of defines to configure the SDL features */ - -#include - -typedef SInt8 int8_t; -typedef UInt8 uint8_t; -typedef SInt16 int16_t; -typedef UInt16 uint16_t; -typedef SInt32 int32_t; -typedef UInt32 uint32_t; -typedef SInt64 int64_t; -typedef UInt64 uint64_t; -typedef unsigned long uintptr_t; - -#define SDL_HAS_64BIT_TYPE 1 - -/* Useful headers */ -#define HAVE_STDIO_H 1 -#define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 -#define HAVE_SIGNAL_H 1 - -/* C library functions */ -#define HAVE_MALLOC 1 -#define HAVE_CALLOC 1 -#define HAVE_REALLOC 1 -#define HAVE_FREE 1 -#define HAVE_ALLOCA 1 -#define HAVE_ABS 1 -#define HAVE_MEMSET 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMCMP 1 -#define HAVE_STRLEN 1 -#define HAVE_STRCHR 1 -#define HAVE_STRRCHR 1 -#define HAVE_STRSTR 1 -#define HAVE_ITOA 1 -#define HAVE_STRTOL 1 -#define HAVE_STRTOD 1 -#define HAVE_ATOI 1 -#define HAVE_ATOF 1 -#define HAVE_STRCMP 1 -#define HAVE_STRNCMP 1 -#define HAVE_SSCANF 1 - -/* Enable various audio drivers */ -#define SDL_AUDIO_DRIVER_SNDMGR 1 -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 - -/* Enable various cdrom drivers */ -#if TARGET_API_MAC_CARBON -#define SDL_CDROM_DUMMY 1 -#else -#define SDL_CDROM_MACOS 1 -#endif - -/* Enable various input drivers */ -#if TARGET_API_MAC_CARBON -#define SDL_JOYSTICK_DUMMY 1 -#else -#define SDL_JOYSTICK_MACOS 1 -#endif - -/* Enable various shared object loading systems */ -#define SDL_LOADSO_MACOS 1 - -/* Enable various threading systems */ -#define SDL_THREADS_DISABLED 1 - -/* Enable various timer systems */ -#define SDL_TIMER_MACOS 1 - -/* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_DUMMY 1 -#define SDL_VIDEO_DRIVER_DRAWSPROCKET 1 -#define SDL_VIDEO_DRIVER_TOOLBOX 1 - -/* Enable OpenGL support */ -#define SDL_VIDEO_OPENGL 1 - -#endif /* _SDL_config_macos_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_macosx.h b/alienblaster/project/jni/sdl/include/SDL_config_macosx.h index 295b87245..b650068ad 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_macosx.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_macosx.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -30,6 +30,12 @@ /* This is a set of defines to configure the SDL features */ +#ifdef __LP64__ + #define SIZEOF_VOIDP 8 +#else + #define SIZEOF_VOIDP 4 +#endif + #define SDL_HAS_64BIT_TYPE 1 /* Useful headers */ @@ -54,6 +60,7 @@ #define HAVE_FREE 1 #define HAVE_ALLOCA 1 #define HAVE_GETENV 1 +#define HAVE_SETENV 1 #define HAVE_PUTENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 @@ -84,28 +91,35 @@ #define HAVE_SSCANF 1 #define HAVE_SNPRINTF 1 #define HAVE_VSNPRINTF 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_POW 1 +#define HAVE_SCALBN 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 +#define HAVE_SYSCONF 1 +#define HAVE_SYSCTLBYNAME 1 /* Enable various audio drivers */ #define SDL_AUDIO_DRIVER_COREAUDIO 1 #define SDL_AUDIO_DRIVER_DISK 1 #define SDL_AUDIO_DRIVER_DUMMY 1 -/* Enable various cdrom drivers */ -#define SDL_CDROM_MACOSX 1 - /* Enable various input drivers */ #define SDL_JOYSTICK_IOKIT 1 +#define SDL_HAPTIC_IOKIT 1 /* Enable various shared object loading systems */ -#ifdef __ppc__ -/* For Mac OS X 10.2 compatibility */ -#define SDL_LOADSO_DLCOMPAT 1 -#else #define SDL_LOADSO_DLOPEN 1 -#endif /* Enable various threading systems */ #define SDL_THREAD_PTHREAD 1 @@ -115,31 +129,32 @@ #define SDL_TIMER_UNIX 1 /* Enable various video drivers */ +#define SDL_VIDEO_DRIVER_COCOA 1 #define SDL_VIDEO_DRIVER_DUMMY 1 -#if ((defined TARGET_API_MAC_CARBON) && (TARGET_API_MAC_CARBON)) -#define SDL_VIDEO_DRIVER_TOOLBOX 1 -#else -#define SDL_VIDEO_DRIVER_QUARTZ 1 -#endif -#define SDL_VIDEO_DRIVER_DGA 1 #define SDL_VIDEO_DRIVER_X11 1 -#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1 #define SDL_VIDEO_DRIVER_X11_DYNAMIC "/usr/X11R6/lib/libX11.6.dylib" #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/usr/X11R6/lib/libXext.6.dylib" #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/usr/X11R6/lib/libXrandr.2.dylib" #define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "/usr/X11R6/lib/libXrender.1.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT "/usr/X11R6/lib/libXi.6.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "/usr/X11R6/lib/libXss.6.dylib" #define SDL_VIDEO_DRIVER_X11_VIDMODE 1 #define SDL_VIDEO_DRIVER_X11_XINERAMA 1 -#define SDL_VIDEO_DRIVER_X11_XME 1 #define SDL_VIDEO_DRIVER_X11_XRANDR 1 +#define SDL_VIDEO_DRIVER_X11_XINPUT 1 +#define SDL_VIDEO_DRIVER_X11_SCRNSAVER 1 #define SDL_VIDEO_DRIVER_X11_XV 1 +#define SDL_VIDEO_RENDER_OGL 1 +#define SDL_VIDEO_RENDER_X11 1 + /* Enable OpenGL support */ #define SDL_VIDEO_OPENGL 1 -#define SDL_VIDEO_OPENGL_GLX 1 +#define SDL_VIDEO_OPENGL_CGL 1 +#define SDL_VIDEO_OPENGL_GLX 1 -/* Disable screensaver */ -#define SDL_VIDEO_DISABLE_SCREENSAVER 1 +/* Enable system power support */ +#define SDL_POWER_MACOSX 1 /* Enable assembly routines */ #define SDL_ASSEMBLY_ROUTINES 1 diff --git a/alienblaster/project/jni/sdl/include/SDL_config_minimal.h b/alienblaster/project/jni/sdl/include/SDL_config_minimal.h index fe57be5f4..c6c6d2666 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_minimal.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_minimal.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -25,12 +25,15 @@ #include "SDL_platform.h" -/* This is the minimal configuration that can be used to build SDL */ +/** + * \file SDL_config_minimal.h + * + * This is the minimal configuration that can be used to build SDL. + */ #include -#include -/* +#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) typedef signed char int8_t; typedef unsigned char uint8_t; typedef signed short int16_t; @@ -39,23 +42,27 @@ typedef signed int int32_t; typedef unsigned int uint32_t; typedef unsigned int size_t; typedef unsigned long uintptr_t; -*/ +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ +/* Enable the dummy audio driver (src/audio/dummy/\*.c) */ #define SDL_AUDIO_DRIVER_DUMMY 1 -#define SDL_CDROM_DISABLED 1 - +/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */ #define SDL_JOYSTICK_DISABLED 1 +/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */ +#define SDL_HAPTIC_DISABLED 1 + +/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ #define SDL_LOADSO_DISABLED 1 -#define SDL_THREAD_PTHREAD 1 -#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 +/* Enable the stub thread support (src/thread/generic/\*.c) */ +#define SDL_THREADS_DISABLED 1 -#define SDL_TIMER_UNIX 1 +/* Enable the stub timer support (src/timer/dummy/\*.c) */ +#define SDL_TIMERS_DISABLED 1 -#define SDL_VIDEO_DRIVER_ANDROID 1 - -#define HAVE_STDIO_H 1 +/* Enable the dummy video driver (src/video/dummy/\*.c) */ +#define SDL_VIDEO_DRIVER_DUMMY 1 #endif /* _SDL_config_minimal_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_dreamcast.h b/alienblaster/project/jni/sdl/include/SDL_config_nintendods.h similarity index 68% rename from alienblaster/project/jni/sdl/include/SDL_config_dreamcast.h rename to alienblaster/project/jni/sdl/include/SDL_config_nintendods.h index 07c2f0815..be9a3105e 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_dreamcast.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_nintendods.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,13 +20,14 @@ slouken@libsdl.org */ -#ifndef _SDL_config_dreamcast_h -#define _SDL_config_dreamcast_h +#ifndef _SDL_config_nintendods_h +#define _SDL_config_nintendods_h #include "SDL_platform.h" /* This is a set of defines to configure the SDL features */ +#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) typedef signed char int8_t; typedef unsigned char uint8_t; typedef signed short int16_t; @@ -35,7 +36,16 @@ typedef signed int int32_t; typedef unsigned int uint32_t; typedef signed long long int64_t; typedef unsigned long long uint64_t; + +/* LiF: __PTRDIFF_TYPE__ was causing errors of conflicting typedefs with the + shipping with devkitARM. copied a similar ifdef from it. */ +#ifndef __PTRDIFF_TYPE__ typedef unsigned long uintptr_t; +#else +typedef unsigned __PTRDIFF_TYPE__ uintptr_t; +#endif +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ + #define SDL_HAS_64BIT_TYPE 1 /* Useful headers */ @@ -52,6 +62,7 @@ typedef unsigned long uintptr_t; #define HAVE_FREE 1 #define HAVE_ALLOCA 1 #define HAVE_GETENV 1 +#define HAVE_SETENV 1 #define HAVE_PUTENV 1 #define HAVE_QSORT 1 #define HAVE_ABS 1 @@ -79,28 +90,32 @@ typedef unsigned long uintptr_t; #define HAVE_SNPRINTF 1 #define HAVE_VSNPRINTF 1 -/* Enable various audio drivers */ -#define SDL_AUDIO_DRIVER_DC 1 -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 +/* DS isn't that sophisticated */ +#define LACKS_SYS_MMAN_H 1 -/* Enable various cdrom drivers */ -#define SDL_CDROM_DC 1 +/* Enable various audio drivers */ +#define SDL_AUDIO_DRIVER_NDS 1 +/*#define SDL_AUDIO_DRIVER_DUMMY 1 TODO: uncomment this later*/ /* Enable various input drivers */ -#define SDL_JOYSTICK_DC 1 +#define SDL_JOYSTICK_NDS 1 +/*#define SDL_JOYSTICK_DUMMY 1 TODO: uncomment this later*/ -/* Enable various shared object loading systems */ -#define SDL_LOADSO_DUMMY 1 +/* DS has no dynamic linking afaik */ +#define SDL_LOADSO_DISABLED 1 /* Enable various threading systems */ -#define SDL_THREAD_DC 1 +/*#define SDL_THREAD_NDS 1*/ +#define SDL_THREADS_DISABLED 1 /* Enable various timer systems */ -#define SDL_TIMER_DC 1 +#define SDL_TIMER_NDS 1 /* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_DC 1 -#define SDL_VIDEO_DRIVER_DUMMY 1 +#define SDL_VIDEO_DRIVER_NDS 1 +/*#define SDL_VIDEO_DRIVER_DUMMY 1 TODO: uncomment this later*/ -#endif /* _SDL_config_dreamcast_h */ +/* Enable system power support */ +#define SDL_POWER_NINTENDODS 1 + +#endif /* _SDL_config_nintendods_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_nds.h b/alienblaster/project/jni/sdl/include/SDL_config_pandora.h similarity index 68% rename from alienblaster/project/jni/sdl/include/SDL_config_nds.h rename to alienblaster/project/jni/sdl/include/SDL_config_pandora.h index 4ac60a504..227831e63 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_nds.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_pandora.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,23 +20,17 @@ slouken@libsdl.org */ -#ifndef _SDL_config_nds_h -#define _SDL_config_nds_h - -#include "SDL_platform.h" +#ifndef _SDL_config_h +#define _SDL_config_h /* This is a set of defines to configure the SDL features */ /* General platform specific identifiers */ #include "SDL_platform.h" -/* C datatypes */ #define SDL_HAS_64BIT_TYPE 1 - -/* Endianness */ #define SDL_BYTEORDER 1234 -/* Useful headers */ #define HAVE_ALLOCA_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_STDIO_H 1 @@ -44,21 +38,22 @@ #define HAVE_STDLIB_H 1 #define HAVE_STDARG_H 1 #define HAVE_MALLOC_H 1 +#define HAVE_MEMORY_H 1 #define HAVE_STRING_H 1 +#define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_CTYPE_H 1 #define HAVE_MATH_H 1 #define HAVE_ICONV_H 1 #define HAVE_SIGNAL_H 1 - -/* C library functions */ #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 #define HAVE_FREE 1 #define HAVE_ALLOCA 1 #define HAVE_GETENV 1 +#define HAVE_SETENV 1 #define HAVE_PUTENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 @@ -68,8 +63,6 @@ #define HAVE_MEMCPY 1 #define HAVE_MEMMOVE 1 #define HAVE_STRLEN 1 -#define HAVE_STRLCPY 1 -#define HAVE_STRLCAT 1 #define HAVE_STRDUP 1 #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 @@ -87,29 +80,42 @@ #define HAVE_SSCANF 1 #define HAVE_SNPRINTF 1 #define HAVE_VSNPRINTF 1 +#define HAVE_M_PI 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_SCALBN 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 +#define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 +#define HAVE_NANOSLEEP 1 -/* Enable various audio drivers */ -#define SDL_AUDIO_DRIVER_NDS 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_AUDIO_DRIVER_OSS 1 -/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */ -#define SDL_CDROM_DISABLED 1 +#define SDL_INPUT_LINUXEV 1 +#define SDL_INPUT_TSLIB 1 +#define SDL_JOYSTICK_LINUX 1 +#define SDL_HAPTIC_LINUX 1 -/* Enable various input drivers */ -#define SDL_JOYSTICK_NDS 1 +#define SDL_LOADSO_DLOPEN 1 -/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ -#define SDL_LOADSO_DISABLED 1 +#define SDL_THREAD_PTHREAD 1 +#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1 -/* Enable the stub thread support (src/thread/generic/\*.c) */ -#define SDL_THREADS_DISABLED 1 +#define SDL_TIMER_UNIX 1 -/* Enable various timer systems */ -#define SDL_TIMER_NDS 1 +#define SDL_VIDEO_DRIVER_DUMMY 1 +#define SDL_VIDEO_DRIVER_X11 1 +#define SDL_VIDEO_DRIVER_X11_XINPUT 1 +#define SDL_VIDEO_DRIVER_PANDORA 1 +#define SDL_VIDEO_RENDER_OGL_ES 1 +#define SDL_VIDEO_OPENGL_ES 1 -/* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_NDS 1 -#define SDL_VIDEO_DRIVER_DUMMY 1 - -#endif /* _SDL_config_nds_h */ +#endif /* _SDL_config_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_symbian.h b/alienblaster/project/jni/sdl/include/SDL_config_symbian.h deleted file mode 100644 index 53527b232..000000000 --- a/alienblaster/project/jni/sdl/include/SDL_config_symbian.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 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 -*/ - -/* - -Symbian version Markus Mertama - -*/ - - -#ifndef _SDL_CONFIG_SYMBIAN_H -#define _SDL_CONFIG_SYMBIAN_H - -#include "SDL_platform.h" - -/* This is the minimal configuration that can be used to build SDL */ - - -#include -#include - - -#ifdef __GCCE__ -#define SYMBIAN32_GCCE -#endif - -#ifndef _SIZE_T_DEFINED -typedef unsigned int size_t; -#endif - -#ifndef _INTPTR_T_DECLARED -typedef unsigned int uintptr_t; -#endif - -#ifndef _INT8_T_DECLARED -typedef signed char int8_t; -#endif - -#ifndef _UINT8_T_DECLARED -typedef unsigned char uint8_t; -#endif - -#ifndef _INT16_T_DECLARED -typedef signed short int16_t; -#endif - -#ifndef _UINT16_T_DECLARED -typedef unsigned short uint16_t; -#endif - -#ifndef _INT32_T_DECLARED -typedef signed int int32_t; -#endif - -#ifndef _UINT32_T_DECLARED -typedef unsigned int uint32_t; -#endif - -#ifndef _INT64_T_DECLARED -typedef signed long long int64_t; -#endif - -#ifndef _UINT64_T_DECLARED -typedef unsigned long long uint64_t; -#endif - -#define SDL_AUDIO_DRIVER_EPOCAUDIO 1 - - -/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */ -#define SDL_CDROM_DISABLED 1 - -/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */ -#define SDL_JOYSTICK_DISABLED 1 - -/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ -#define SDL_LOADSO_DISABLED 1 - -#define SDL_THREAD_SYMBIAN 1 - -#define SDL_VIDEO_DRIVER_EPOC 1 - -#define SDL_VIDEO_OPENGL 0 - -#define SDL_HAS_64BIT_TYPE 1 - -#define HAVE_LIBC 1 -#define HAVE_STDIO_H 1 -#define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 - -#define HAVE_MALLOC 1 -#define HAVE_CALLOC 1 -#define HAVE_REALLOC 1 -#define HAVE_FREE 1 -/*#define HAVE_ALLOCA 1*/ -#define HAVE_QSORT 1 -#define HAVE_ABS 1 -#define HAVE_MEMSET 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMCMP 1 -#define HAVE_STRLEN 1 -#define HAVE__STRUPR 1 -#define HAVE_STRCHR 1 -#define HAVE_STRRCHR 1 -#define HAVE_STRSTR 1 -#define HAVE_ITOA 1 -#define HAVE_STRTOL 1 -#define HAVE_STRTOUL 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOD 1 -#define HAVE_ATOI 1 -#define HAVE_ATOF 1 -#define HAVE_STRCMP 1 -#define HAVE_STRNCMP 1 -/*#define HAVE__STRICMP 1*/ -#define HAVE__STRNICMP 1 -#define HAVE_SSCANF 1 -#define HAVE_STDARG_H 1 -#define HAVE_STDDEF_H 1 - - - -#endif /* _SDL_CONFIG_SYMBIAN_H */ diff --git a/alienblaster/project/jni/sdl/include/SDL_config_win32.h b/alienblaster/project/jni/sdl/include/SDL_config_win32.h index 6d019a8d9..86e317252 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_win32.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_win32.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -27,22 +27,23 @@ /* This is a set of defines to configure the SDL features */ -#if defined(__GNUC__) || defined(__DMC__) +#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) +#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__) #define HAVE_STDINT_H 1 #elif defined(_MSC_VER) -typedef signed __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef signed __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef signed __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; +typedef signed __int8 int8_t; +typedef unsigned __int8 uint8_t; +typedef signed __int16 int16_t; +typedef unsigned __int16 uint16_t; +typedef signed __int32 int32_t; +typedef unsigned __int32 uint32_t; +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; #ifndef _UINTPTR_T_DEFINED #ifdef _WIN64 -typedef unsigned __int64 uintptr_t; +typedef unsigned __int64 uintptr_t; #else -typedef unsigned int uintptr_t; +typedef unsigned int uintptr_t; #endif #define _UINTPTR_T_DEFINED #endif @@ -53,7 +54,7 @@ typedef unsigned int uintptr_t; #if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) #define LONG_PTR LONG #endif -#else /* !__GNUC__ && !_MSC_VER */ +#else /* !__GNUC__ && !_MSC_VER */ typedef signed char int8_t; typedef unsigned char uint8_t; typedef signed short int16_t; @@ -68,10 +69,17 @@ typedef unsigned int size_t; #endif typedef unsigned int uintptr_t; #endif /* __GNUC__ || _MSC_VER */ +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ + +#ifdef _WIN64 +# define SIZEOF_VOIDP 8 +#else +# define SIZEOF_VOIDP 4 +#endif #define SDL_HAS_64BIT_TYPE 1 /* Enabled for SDL 1.2 (binary compatibility) */ -#define HAVE_LIBC 1 +//#define HAVE_LIBC 1 #ifdef HAVE_LIBC /* Useful headers */ #define HAVE_STDIO_H 1 @@ -116,6 +124,19 @@ typedef unsigned int uintptr_t; #define HAVE__STRICMP 1 #define HAVE__STRNICMP 1 #define HAVE_SSCANF 1 +#define HAVE_M_PI 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_POW 1 +#define HAVE_SCALBN 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 #else #define HAVE_STDARG_H 1 #define HAVE_STDDEF_H 1 @@ -125,22 +146,17 @@ typedef unsigned int uintptr_t; #ifndef _WIN32_WCE #define SDL_AUDIO_DRIVER_DSOUND 1 #endif -#define SDL_AUDIO_DRIVER_WAVEOUT 1 +#define SDL_AUDIO_DRIVER_WINWAVEOUT 1 #define SDL_AUDIO_DRIVER_DISK 1 #define SDL_AUDIO_DRIVER_DUMMY 1 -/* Enable various cdrom drivers */ -#ifdef _WIN32_WCE -#define SDL_CDROM_DISABLED 1 -#else -#define SDL_CDROM_WIN32 1 -#endif - /* Enable various input drivers */ #ifdef _WIN32_WCE -#define SDL_JOYSTICK_DISABLED 1 +#define SDL_JOYSTICK_DISABLED 1 +#define SDL_HAPTIC_DUMMY 1 #else -#define SDL_JOYSTICK_WINMM 1 +#define SDL_JOYSTICK_DINPUT 1 +#define SDL_HAPTIC_DINPUT 1 #endif /* Enable various shared object loading systems */ @@ -157,23 +173,21 @@ typedef unsigned int uintptr_t; #endif /* Enable various video drivers */ -#ifdef _WIN32_WCE -#define SDL_VIDEO_DRIVER_GAPI 1 -#endif -#ifndef _WIN32_WCE -#define SDL_VIDEO_DRIVER_DDRAW 1 -#endif #define SDL_VIDEO_DRIVER_DUMMY 1 -#define SDL_VIDEO_DRIVER_WINDIB 1 +#define SDL_VIDEO_DRIVER_WIN32 1 + +#define SDL_VIDEO_RENDER_D3D 1 +#define SDL_VIDEO_RENDER_GDI 1 /* Enable OpenGL support */ #ifndef _WIN32_WCE #define SDL_VIDEO_OPENGL 1 #define SDL_VIDEO_OPENGL_WGL 1 +#define SDL_VIDEO_RENDER_OGL 1 #endif -/* Disable screensaver */ -#define SDL_VIDEO_DISABLE_SCREENSAVER 1 +/* Enable system power support */ +#define SDL_POWER_WINDOWS 1 /* Enable assembly routines (Win64 doesn't have inline asm) */ #ifndef _WIN64 diff --git a/alienblaster/project/jni/sdl/include/SDL_config_os2.h b/alienblaster/project/jni/sdl/include/SDL_config_wiz.h similarity index 53% rename from alienblaster/project/jni/sdl/include/SDL_config_os2.h rename to alienblaster/project/jni/sdl/include/SDL_config_wiz.h index bb40df001..5cc12e37a 100644 --- a/alienblaster/project/jni/sdl/include/SDL_config_os2.h +++ b/alienblaster/project/jni/sdl/include/SDL_config_wiz.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,30 +20,23 @@ slouken@libsdl.org */ -#ifndef _SDL_config_os2_h -#define _SDL_config_os2_h - -#include "SDL_platform.h" +#ifndef _SDL_config_h +#define _SDL_config_h /* This is a set of defines to configure the SDL features */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned int size_t; -typedef unsigned long uintptr_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; +/* General platform specific identifiers */ +#include "SDL_platform.h" -#define SDL_HAS_64BIT_TYPE 1 +/* Make sure that this isn't included by Visual C++ */ +#ifdef _MSC_VER +#error You should copy include/SDL_config.h.default to include/SDL_config.h +#endif -/* Use Watcom's LIBC */ -#define HAVE_LIBC 1 +#define SDL_HAS_64BIT_TYPE 1 +#define SDL_BYTEORDER 1234 -/* Useful headers */ +#define HAVE_ALLOCA_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_STDIO_H 1 #define STDC_HEADERS 1 @@ -57,15 +50,15 @@ typedef unsigned long long uint64_t; #define HAVE_STDINT_H 1 #define HAVE_CTYPE_H 1 #define HAVE_MATH_H 1 +#define HAVE_ICONV_H 1 #define HAVE_SIGNAL_H 1 - -/* C library functions */ #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 #define HAVE_FREE 1 #define HAVE_ALLOCA 1 #define HAVE_GETENV 1 +#define HAVE_SETENV 1 #define HAVE_PUTENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 @@ -74,68 +67,60 @@ typedef unsigned long long uint64_t; #define HAVE_MEMSET 1 #define HAVE_MEMCPY 1 #define HAVE_MEMMOVE 1 -#define HAVE_MEMCMP 1 #define HAVE_STRLEN 1 -#define HAVE_STRLCPY 1 -#define HAVE_STRLCAT 1 #define HAVE_STRDUP 1 -#define HAVE__STRREV 1 -#define HAVE__STRUPR 1 -#define HAVE__STRLWR 1 -#define HAVE_INDEX 1 -#define HAVE_RINDEX 1 #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 -#define HAVE_ITOA 1 -#define HAVE__LTOA 1 -#define HAVE__UITOA 1 -#define HAVE__ULTOA 1 #define HAVE_STRTOL 1 -#define HAVE__I64TOA 1 -#define HAVE__UI64TOA 1 +#define HAVE_STRTOUL 1 #define HAVE_STRTOLL 1 -#define HAVE_STRTOD 1 +#define HAVE_STRTOULL 1 #define HAVE_ATOI 1 #define HAVE_ATOF 1 #define HAVE_STRCMP 1 #define HAVE_STRNCMP 1 -#define HAVE_STRICMP 1 #define HAVE_STRCASECMP 1 +#define HAVE_STRNCASECMP 1 #define HAVE_SSCANF 1 #define HAVE_SNPRINTF 1 #define HAVE_VSNPRINTF 1 +#define HAVE_M_PI 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_SCALBN 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 +#define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 -#define HAVE_CLOCK_GETTIME 1 +#define HAVE_NANOSLEEP 1 +#define HAVE_POW 1 -/* Enable various audio drivers */ -#define SDL_AUDIO_DRIVER_DART 1 -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_CDROM_DISABLED 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_AUDIO_DRIVER_OSS 1 -/* Enable various cdrom drivers */ -#define SDL_CDROM_OS2 1 +#define SDL_INPUT_LINUXEV 1 +#define SDL_INPUT_TSLIB 1 +#define SDL_JOYSTICK_LINUX 1 +#define SDL_HAPTIC_LINUX 1 -/* Enable various input drivers */ -#define SDL_JOYSTICK_OS2 1 +#define SDL_LOADSO_DLOPEN 1 -/* Enable various shared object loading systems */ -#define SDL_LOADSO_OS2 1 +#define SDL_THREAD_PTHREAD 1 +#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1 -/* Enable various threading systems */ -#define SDL_THREAD_OS2 1 +#define SDL_TIMER_UNIX 1 -/* Enable various timer systems */ -#define SDL_TIMER_OS2 1 +#define SDL_VIDEO_DRIVER_DUMMY 1 +#define SDL_VIDEO_DRIVER_PANDORA 1 +#define SDL_VIDEO_RENDER_OGL_ES 1 +#define SDL_VIDEO_OPENGL_ES 1 -/* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_DUMMY 1 -#define SDL_VIDEO_DRIVER_OS2FS 1 - -/* Enable OpenGL support */ -/* Nothing here yet for OS/2... :( */ - -/* Enable assembly routines where available */ -#define SDL_ASSEMBLY_ROUTINES 1 - -#endif /* _SDL_config_os2_h */ +#endif /* _SDL_config_h */ diff --git a/alienblaster/project/jni/sdl/include/SDL_copying.h b/alienblaster/project/jni/sdl/include/SDL_copying.h index 1bd6b84cd..3bd3e8dc9 100644 --- a/alienblaster/project/jni/sdl/include/SDL_copying.h +++ b/alienblaster/project/jni/sdl/include/SDL_copying.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -19,4 +19,3 @@ Sam Lantinga slouken@libsdl.org */ - diff --git a/alienblaster/project/jni/sdl/include/SDL_cpuinfo.h b/alienblaster/project/jni/sdl/include/SDL_cpuinfo.h index f4be8e032..0cc4998e6 100644 --- a/alienblaster/project/jni/sdl/include/SDL_cpuinfo.h +++ b/alienblaster/project/jni/sdl/include/SDL_cpuinfo.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,8 +21,9 @@ */ /** - * @file SDL_cpuinfo.h - * CPU feature detection for SDL + * \file SDL_cpuinfo.h + * + * CPU feature detection for SDL. */ #ifndef _SDL_cpuinfo_h @@ -33,37 +34,64 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** This function returns true if the CPU has the RDTSC instruction */ +/** + * This function returns the number of CPU cores available. + */ +extern DECLSPEC int SDLCALL SDL_GetCPUCount(void); + +/** + * This function returns true if the CPU has the RDTSC instruction. + */ extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void); -/** This function returns true if the CPU has MMX features */ +/** + * This function returns true if the CPU has MMX features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void); -/** This function returns true if the CPU has MMX Ext. features */ +/** + * This function returns true if the CPU has MMX Ext.\ features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_HasMMXExt(void); -/** This function returns true if the CPU has 3DNow features */ +/** + * This function returns true if the CPU has 3DNow!\ features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void); -/** This function returns true if the CPU has 3DNow! Ext. features */ +/** + * This function returns true if the CPU has 3DNow!\ Ext.\ features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNowExt(void); -/** This function returns true if the CPU has SSE features */ +/** + * This function returns true if the CPU has SSE features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void); -/** This function returns true if the CPU has SSE2 features */ +/** + * This function returns true if the CPU has SSE2 features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void); -/** This function returns true if the CPU has AltiVec features */ +/** + * This function returns true if the CPU has AltiVec features. + */ extern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_cpuinfo_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_endian.h b/alienblaster/project/jni/sdl/include/SDL_endian.h index f7a2e2f8c..39540f126 100644 --- a/alienblaster/project/jni/sdl/include/SDL_endian.h +++ b/alienblaster/project/jni/sdl/include/SDL_endian.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,7 +21,8 @@ */ /** - * @file SDL_endian.h + * \file SDL_endian.h + * * Functions for reading and writing endian-specific values */ @@ -30,15 +31,15 @@ #include "SDL_stdinc.h" -/** @name SDL_ENDIANs - * The two types of endianness +/** + * \name The two types of endianness */ /*@{*/ #define SDL_LIL_ENDIAN 1234 #define SDL_BIG_ENDIAN 4321 /*@}*/ -#ifndef SDL_BYTEORDER /* Not defined in SDL_config.h? */ +#ifndef SDL_BYTEORDER /* Not defined in SDL_config.h? */ #if defined(__hppa__) || \ defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \ (defined(__MIPS__) && defined(__MISPEB__)) || \ @@ -54,156 +55,199 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif /** - * @name SDL_Swap Functions - * Use inline functions for compilers that support them, and static + * \file SDL_endian.h + * + * Uses inline functions for compilers that support them, and static * functions for those that do not. Because these functions become * static for compilers that do not support inline functions, this * header should only be included in files that actually use them. */ -/*@{*/ #if defined(__GNUC__) && defined(__i386__) && \ - !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */) -static __inline__ Uint16 SDL_Swap16(Uint16 x) + !(__GNUC__ == 2 && __GNUC_MINOR__ == 95 /* broken gcc version */) +static __inline__ Uint16 +SDL_Swap16(Uint16 x) { - __asm__("xchgb %b0,%h0" : "=q" (x) : "0" (x)); - return x; + __asm__("xchgb %b0,%h0": "=q"(x):"0"(x)); + return x; } #elif defined(__GNUC__) && defined(__x86_64__) -static __inline__ Uint16 SDL_Swap16(Uint16 x) +static __inline__ Uint16 +SDL_Swap16(Uint16 x) { - __asm__("xchgb %b0,%h0" : "=Q" (x) : "0" (x)); - return x; + __asm__("xchgb %b0,%h0": "=Q"(x):"0"(x)); + return x; } #elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__)) -static __inline__ Uint16 SDL_Swap16(Uint16 x) +static __inline__ Uint16 +SDL_Swap16(Uint16 x) { - Uint16 result; + Uint16 result; - __asm__("rlwimi %0,%2,8,16,23" : "=&r" (result) : "0" (x >> 8), "r" (x)); - return result; + __asm__("rlwimi %0,%2,8,16,23": "=&r"(result):"0"(x >> 8), "r"(x)); + return result; } -#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) -static __inline__ Uint16 SDL_Swap16(Uint16 x) +#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__) +static __inline__ Uint16 +SDL_Swap16(Uint16 x) { - __asm__("rorw #8,%0" : "=d" (x) : "0" (x) : "cc"); - return x; + __asm__("rorw #8,%0": "=d"(x): "0"(x):"cc"); + return x; } #else -static __inline__ Uint16 SDL_Swap16(Uint16 x) { - return((x<<8)|(x>>8)); +static __inline__ Uint16 +SDL_Swap16(Uint16 x) +{ + return SDL_static_cast(Uint16, ((x << 8) | (x >> 8))); } #endif -#if defined(__GNUC__) && defined(__i386__) && \ - !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */) -static __inline__ Uint32 SDL_Swap32(Uint32 x) +#if defined(__GNUC__) && defined(__i386__) +static __inline__ Uint32 +SDL_Swap32(Uint32 x) { - __asm__("bswap %0" : "=r" (x) : "0" (x)); - return x; + __asm__("bswap %0": "=r"(x):"0"(x)); + return x; } #elif defined(__GNUC__) && defined(__x86_64__) -static __inline__ Uint32 SDL_Swap32(Uint32 x) +static __inline__ Uint32 +SDL_Swap32(Uint32 x) { - __asm__("bswapl %0" : "=r" (x) : "0" (x)); - return x; + __asm__("bswapl %0": "=r"(x):"0"(x)); + return x; } #elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__)) -static __inline__ Uint32 SDL_Swap32(Uint32 x) +static __inline__ Uint32 +SDL_Swap32(Uint32 x) { - Uint32 result; + Uint32 result; - __asm__("rlwimi %0,%2,24,16,23" : "=&r" (result) : "0" (x>>24), "r" (x)); - __asm__("rlwimi %0,%2,8,8,15" : "=&r" (result) : "0" (result), "r" (x)); - __asm__("rlwimi %0,%2,24,0,7" : "=&r" (result) : "0" (result), "r" (x)); - return result; + __asm__("rlwimi %0,%2,24,16,23": "=&r"(result):"0"(x >> 24), "r"(x)); + __asm__("rlwimi %0,%2,8,8,15": "=&r"(result):"0"(result), "r"(x)); + __asm__("rlwimi %0,%2,24,0,7": "=&r"(result):"0"(result), "r"(x)); + return result; } -#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) -static __inline__ Uint32 SDL_Swap32(Uint32 x) +#elif defined(__GNUC__) && (defined(__M68000__) || defined(__M68020__)) && !defined(__mcoldfire__) +static __inline__ Uint32 +SDL_Swap32(Uint32 x) { - __asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0" : "=d" (x) : "0" (x) : "cc"); - return x; + __asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0": "=d"(x): "0"(x):"cc"); + return x; } #else -static __inline__ Uint32 SDL_Swap32(Uint32 x) { - return((x<<24)|((x<<8)&0x00FF0000)|((x>>8)&0x0000FF00)|(x>>24)); +static __inline__ Uint32 +SDL_Swap32(Uint32 x) +{ + return SDL_static_cast(Uint32, ((x << 24) | ((x << 8) & 0x00FF0000) | + ((x >> 8) & 0x0000FF00) | (x >> 24))); } #endif #ifdef SDL_HAS_64BIT_TYPE -#if defined(__GNUC__) && defined(__i386__) && \ - !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */) -static __inline__ Uint64 SDL_Swap64(Uint64 x) +#if defined(__GNUC__) && defined(__i386__) +static __inline__ Uint64 +SDL_Swap64(Uint64 x) { - union { - struct { Uint32 a,b; } s; - Uint64 u; - } v; - v.u = x; - __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1" - : "=r" (v.s.a), "=r" (v.s.b) - : "0" (v.s.a), "1" (v.s.b)); - return v.u; + union + { + struct + { + Uint32 a, b; + } s; + Uint64 u; + } v; + v.u = x; + __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1": "=r"(v.s.a), "=r"(v.s.b):"0"(v.s.a), + "1"(v.s. + b)); + return v.u; } #elif defined(__GNUC__) && defined(__x86_64__) -static __inline__ Uint64 SDL_Swap64(Uint64 x) +static __inline__ Uint64 +SDL_Swap64(Uint64 x) { - __asm__("bswapq %0" : "=r" (x) : "0" (x)); - return x; + __asm__("bswapq %0": "=r"(x):"0"(x)); + return x; } #else -static __inline__ Uint64 SDL_Swap64(Uint64 x) +static __inline__ Uint64 +SDL_Swap64(Uint64 x) { - Uint32 hi, lo; + Uint32 hi, lo; - /* Separate into high and low 32-bit values and swap them */ - lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF); - x >>= 32; - hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF); - x = SDL_Swap32(lo); - x <<= 32; - x |= SDL_Swap32(hi); - return(x); + /* Separate into high and low 32-bit values and swap them */ + lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF); + x >>= 32; + hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF); + x = SDL_Swap32(lo); + x <<= 32; + x |= SDL_Swap32(hi); + return (x); } #endif #else -/* This is mainly to keep compilers from complaining in SDL code. - * If there is no real 64-bit datatype, then compilers will complain about - * the fake 64-bit datatype that SDL provides when it compiles user code. +/** + * This is mainly to keep compilers from complaining in SDL code. + * If there is no real 64-bit datatype, then compilers will complain about + * the fake 64-bit datatype that SDL provides when it compiles user code. */ #define SDL_Swap64(X) (X) #endif /* SDL_HAS_64BIT_TYPE */ -/*@}*/ + + +static __inline__ float +SDL_SwapFloat(float x) +{ + union + { + float f; + Uint32 ui32; + } swapper; + swapper.f = x; + swapper.ui32 = SDL_Swap32(swapper.ui32); + return swapper.f; +} + /** - * @name SDL_SwapLE and SDL_SwapBE Functions - * Byteswap item from the specified endianness to the native endianness + * \name Swap to native + * Byteswap item from the specified endianness to the native endianness. */ /*@{*/ #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define SDL_SwapLE16(X) (X) #define SDL_SwapLE32(X) (X) #define SDL_SwapLE64(X) (X) +#define SDL_SwapFloatLE(X) (X) #define SDL_SwapBE16(X) SDL_Swap16(X) #define SDL_SwapBE32(X) SDL_Swap32(X) #define SDL_SwapBE64(X) SDL_Swap64(X) +#define SDL_SwapFloatBE(X) SDL_SwapFloat(X) #else #define SDL_SwapLE16(X) SDL_Swap16(X) #define SDL_SwapLE32(X) SDL_Swap32(X) #define SDL_SwapLE64(X) SDL_Swap64(X) +#define SDL_SwapFloatLE(X) SDL_SwapFloat(X) #define SDL_SwapBE16(X) (X) #define SDL_SwapBE32(X) (X) #define SDL_SwapBE64(X) (X) +#define SDL_SwapFloatBE(X) (X) #endif -/*@}*/ +/*@}*//*Swap to native*/ /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_endian_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_error.h b/alienblaster/project/jni/sdl/include/SDL_error.h index b103703a5..a4a90d0e4 100644 --- a/alienblaster/project/jni/sdl/include/SDL_error.h +++ b/alienblaster/project/jni/sdl/include/SDL_error.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,8 +21,9 @@ */ /** - * @file SDL_error.h - * Simple error message routines for SDL + * \file SDL_error.h + * + * Simple error message routines for SDL. */ #ifndef _SDL_error_h @@ -33,40 +34,45 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** - * @name Public functions - */ -/*@{*/ +/* Public functions */ extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...); -extern DECLSPEC char * SDLCALL SDL_GetError(void); +extern DECLSPEC char *SDLCALL SDL_GetError(void); extern DECLSPEC void SDLCALL SDL_ClearError(void); -/*@}*/ /** - * @name Private functions - * @internal Private error message function - used internally + * \name Internal error functions + * + * \internal + * Private error message function - used internally. */ /*@{*/ #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) -typedef enum { - SDL_ENOMEM, - SDL_EFREAD, - SDL_EFWRITE, - SDL_EFSEEK, - SDL_UNSUPPORTED, - SDL_LASTERROR +typedef enum +{ + SDL_ENOMEM, + SDL_EFREAD, + SDL_EFWRITE, + SDL_EFSEEK, + SDL_UNSUPPORTED, + SDL_LASTERROR } SDL_errorcode; extern DECLSPEC void SDLCALL SDL_Error(SDL_errorcode code); -/*@}*/ +/*@}*//*Internal error functions*/ /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_error_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_events.h b/alienblaster/project/jni/sdl/include/SDL_events.h index c94a30c9c..91bdd8624 100644 --- a/alienblaster/project/jni/sdl/include/SDL_events.h +++ b/alienblaster/project/jni/sdl/include/SDL_events.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,8 +21,9 @@ */ /** - * @file SDL_events.h - * Include file for SDL event handling + * \file SDL_events.h + * + * Include file for SDL event handling. */ #ifndef _SDL_events_h @@ -30,7 +31,7 @@ #include "SDL_stdinc.h" #include "SDL_error.h" -#include "SDL_active.h" +#include "SDL_video.h" #include "SDL_keyboard.h" #include "SDL_mouse.h" #include "SDL_joystick.h" @@ -39,318 +40,493 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** @name General keyboard/mouse state definitions */ -/*@{*/ +/* General keyboard/mouse state definitions */ #define SDL_RELEASED 0 #define SDL_PRESSED 1 -/*@}*/ -/** Event enumerations */ -typedef enum { - SDL_NOEVENT = 0, /**< Unused (do not remove) */ - SDL_ACTIVEEVENT, /**< Application loses/gains visibility */ - SDL_KEYDOWN, /**< Keys pressed */ - SDL_KEYUP, /**< Keys released */ - SDL_MOUSEMOTION, /**< Mouse moved */ - SDL_MOUSEBUTTONDOWN, /**< Mouse button pressed */ - SDL_MOUSEBUTTONUP, /**< Mouse button released */ - SDL_JOYAXISMOTION, /**< Joystick axis motion */ - SDL_JOYBALLMOTION, /**< Joystick trackball motion */ - SDL_JOYHATMOTION, /**< Joystick hat position change */ - SDL_JOYBUTTONDOWN, /**< Joystick button pressed */ - SDL_JOYBUTTONUP, /**< Joystick button released */ - SDL_QUIT, /**< User-requested quit */ - SDL_SYSWMEVENT, /**< System specific event */ - SDL_EVENT_RESERVEDA, /**< Reserved for future use.. */ - SDL_EVENT_RESERVEDB, /**< Reserved for future use.. */ - SDL_VIDEORESIZE, /**< User resized video mode */ - SDL_VIDEOEXPOSE, /**< Screen needs to be redrawn */ - SDL_EVENT_RESERVED2, /**< Reserved for future use.. */ - SDL_EVENT_RESERVED3, /**< Reserved for future use.. */ - SDL_EVENT_RESERVED4, /**< Reserved for future use.. */ - SDL_EVENT_RESERVED5, /**< Reserved for future use.. */ - SDL_EVENT_RESERVED6, /**< Reserved for future use.. */ - SDL_EVENT_RESERVED7, /**< Reserved for future use.. */ - /** Events SDL_USEREVENT through SDL_MAXEVENTS-1 are for your use */ - SDL_USEREVENT = 24, - /** This last event is only for bounding internal arrays - * It is the number of bits in the event mask datatype -- Uint32 - */ - SDL_NUMEVENTS = 32 +/** + * \brief The types of events that can be delivered. + */ +typedef enum +{ + SDL_FIRSTEVENT = 0, /**< Unused (do not remove) */ + + /* Application events */ + SDL_QUIT = 0x100, /**< User-requested quit */ + + /* Window events */ + SDL_WINDOWEVENT = 0x200, /**< Window state change */ + SDL_SYSWMEVENT, /**< System specific event */ + + /* Keyboard events */ + SDL_KEYDOWN = 0x300, /**< Keys pressed */ + SDL_KEYUP, /**< Keys released */ + SDL_TEXTEDITING, /**< Keyboard text editing (composition) */ + SDL_TEXTINPUT, /**< Keyboard text input */ + + /* Mouse events */ + SDL_MOUSEMOTION = 0x400, /**< Mouse moved */ + SDL_MOUSEBUTTONDOWN, /**< Mouse button pressed */ + SDL_MOUSEBUTTONUP, /**< Mouse button released */ + SDL_MOUSEWHEEL, /**< Mouse wheel motion */ + + /* Tablet or multiple mice input device events */ + SDL_INPUTMOTION = 0x500, /**< Input moved */ + SDL_INPUTBUTTONDOWN, /**< Input button pressed */ + SDL_INPUTBUTTONUP, /**< Input button released */ + SDL_INPUTWHEEL, /**< Input wheel motion */ + SDL_INPUTPROXIMITYIN, /**< Input pen entered proximity */ + SDL_INPUTPROXIMITYOUT, /**< Input pen left proximity */ + + /* Joystick events */ + SDL_JOYAXISMOTION = 0x600, /**< Joystick axis motion */ + SDL_JOYBALLMOTION, /**< Joystick trackball motion */ + SDL_JOYHATMOTION, /**< Joystick hat position change */ + SDL_JOYBUTTONDOWN, /**< Joystick button pressed */ + SDL_JOYBUTTONUP, /**< Joystick button released */ + + /* Obsolete events */ + SDL_EVENT_COMPAT1 = 0x7000, /**< SDL 1.2 events for compatibility */ + SDL_EVENT_COMPAT2, + SDL_EVENT_COMPAT3, + + /** Events ::SDL_USEREVENT through ::SDL_LASTEVENT are for your use, + * and should be allocated with SDL_RegisterEvents() + */ + SDL_USEREVENT = 0x8000, + + /** + * This last event is only for bounding internal arrays + */ + SDL_LASTEVENT = 0xFFFF } SDL_EventType; -/** @name Predefined event masks */ -/*@{*/ -#define SDL_EVENTMASK(X) (1<<(X)) -typedef enum { - SDL_ACTIVEEVENTMASK = SDL_EVENTMASK(SDL_ACTIVEEVENT), - SDL_KEYDOWNMASK = SDL_EVENTMASK(SDL_KEYDOWN), - SDL_KEYUPMASK = SDL_EVENTMASK(SDL_KEYUP), - SDL_KEYEVENTMASK = SDL_EVENTMASK(SDL_KEYDOWN)| - SDL_EVENTMASK(SDL_KEYUP), - SDL_MOUSEMOTIONMASK = SDL_EVENTMASK(SDL_MOUSEMOTION), - SDL_MOUSEBUTTONDOWNMASK = SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN), - SDL_MOUSEBUTTONUPMASK = SDL_EVENTMASK(SDL_MOUSEBUTTONUP), - SDL_MOUSEEVENTMASK = SDL_EVENTMASK(SDL_MOUSEMOTION)| - SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN)| - SDL_EVENTMASK(SDL_MOUSEBUTTONUP), - SDL_JOYAXISMOTIONMASK = SDL_EVENTMASK(SDL_JOYAXISMOTION), - SDL_JOYBALLMOTIONMASK = SDL_EVENTMASK(SDL_JOYBALLMOTION), - SDL_JOYHATMOTIONMASK = SDL_EVENTMASK(SDL_JOYHATMOTION), - SDL_JOYBUTTONDOWNMASK = SDL_EVENTMASK(SDL_JOYBUTTONDOWN), - SDL_JOYBUTTONUPMASK = SDL_EVENTMASK(SDL_JOYBUTTONUP), - SDL_JOYEVENTMASK = SDL_EVENTMASK(SDL_JOYAXISMOTION)| - SDL_EVENTMASK(SDL_JOYBALLMOTION)| - SDL_EVENTMASK(SDL_JOYHATMOTION)| - SDL_EVENTMASK(SDL_JOYBUTTONDOWN)| - SDL_EVENTMASK(SDL_JOYBUTTONUP), - SDL_VIDEORESIZEMASK = SDL_EVENTMASK(SDL_VIDEORESIZE), - SDL_VIDEOEXPOSEMASK = SDL_EVENTMASK(SDL_VIDEOEXPOSE), - SDL_QUITMASK = SDL_EVENTMASK(SDL_QUIT), - SDL_SYSWMEVENTMASK = SDL_EVENTMASK(SDL_SYSWMEVENT) -} SDL_EventMask ; -#define SDL_ALLEVENTS 0xFFFFFFFF -/*@}*/ +/** + * \brief Window state change event data (event.window.*) + */ +typedef struct SDL_WindowEvent +{ + Uint32 type; /**< ::SDL_WINDOWEVENT */ + Uint32 windowID; /**< The associated window */ + Uint8 event; /**< ::SDL_WindowEventID */ + Uint8 padding1; + Uint8 padding2; + Uint8 padding3; + int data1; /**< event dependent data */ + int data2; /**< event dependent data */ +} SDL_WindowEvent; -/** Application visibility event structure */ -typedef struct SDL_ActiveEvent { - Uint8 type; /**< SDL_ACTIVEEVENT */ - Uint8 gain; /**< Whether given states were gained or lost (1/0) */ - Uint8 state; /**< A mask of the focus states */ -} SDL_ActiveEvent; - -/** Keyboard event structure */ -typedef struct SDL_KeyboardEvent { - Uint8 type; /**< SDL_KEYDOWN or SDL_KEYUP */ - Uint8 which; /**< The keyboard device index */ - Uint8 state; /**< SDL_PRESSED or SDL_RELEASED */ - SDL_keysym keysym; +/** + * \brief Keyboard button event structure (event.key.*) + */ +typedef struct SDL_KeyboardEvent +{ + Uint32 type; /**< ::SDL_KEYDOWN or ::SDL_KEYUP */ + Uint32 windowID; /**< The window with keyboard focus, if any */ + Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */ + Uint8 padding1; + Uint8 padding2; + Uint8 padding3; + SDL_keysym keysym; /**< The key that was pressed or released */ } SDL_KeyboardEvent; -/** Mouse motion event structure */ -typedef struct SDL_MouseMotionEvent { - Uint8 type; /**< SDL_MOUSEMOTION */ - Uint8 which; /**< The mouse device index */ - Uint8 state; /**< The current button state */ - Uint16 x, y; /**< The X/Y coordinates of the mouse */ - Sint16 xrel; /**< The relative motion in the X direction */ - Sint16 yrel; /**< The relative motion in the Y direction */ +#define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32) +/** + * \brief Keyboard text editing event structure (event.edit.*) + */ +typedef struct SDL_TextEditingEvent +{ + Uint32 type; /**< ::SDL_TEXTEDITING */ + Uint32 windowID; /**< The window with keyboard focus, if any */ + char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE]; /**< The editing text */ + int start; /**< The start cursor of selected editing text */ + int length; /**< The length of selected editing text */ +} SDL_TextEditingEvent; + + +#define SDL_TEXTINPUTEVENT_TEXT_SIZE (32) +/** + * \brief Keyboard text input event structure (event.text.*) + */ +typedef struct SDL_TextInputEvent +{ + Uint32 type; /**< ::SDL_TEXTINPUT */ + Uint32 windowID; /**< The window with keyboard focus, if any */ + char text[SDL_TEXTINPUTEVENT_TEXT_SIZE]; /**< The input text */ +} SDL_TextInputEvent; + +/** + * \brief Mouse motion event structure (event.motion.*) + */ +typedef struct SDL_MouseMotionEvent +{ + Uint32 type; /**< ::SDL_MOUSEMOTION */ + Uint32 windowID; /**< The window with mouse focus, if any */ + Uint8 state; /**< The current button state */ + Uint8 padding1; + Uint8 padding2; + Uint8 padding3; + int x; /**< X coordinate, relative to window */ + int y; /**< Y coordinate, relative to window */ + int xrel; /**< The relative motion in the X direction */ + int yrel; /**< The relative motion in the Y direction */ } SDL_MouseMotionEvent; -/** Mouse button event structure */ -typedef struct SDL_MouseButtonEvent { - Uint8 type; /**< SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP */ - Uint8 which; /**< The mouse device index */ - Uint8 button; /**< The mouse button index */ - Uint8 state; /**< SDL_PRESSED or SDL_RELEASED */ - Uint16 x, y; /**< The X/Y coordinates of the mouse at press time */ +/** + * \brief Mouse button event structure (event.button.*) + */ +typedef struct SDL_MouseButtonEvent +{ + Uint32 type; /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */ + Uint32 windowID; /**< The window with mouse focus, if any */ + Uint8 button; /**< The mouse button index */ + Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */ + Uint8 padding1; + Uint8 padding2; + int x; /**< X coordinate, relative to window */ + int y; /**< Y coordinate, relative to window */ } SDL_MouseButtonEvent; -/** Joystick axis motion event structure */ -typedef struct SDL_JoyAxisEvent { - Uint8 type; /**< SDL_JOYAXISMOTION */ - Uint8 which; /**< The joystick device index */ - Uint8 axis; /**< The joystick axis index */ - Sint16 value; /**< The axis value (range: -32768 to 32767) */ +/** + * \brief Mouse wheel event structure (event.wheel.*) + */ +typedef struct SDL_MouseWheelEvent +{ + Uint32 type; /**< ::SDL_MOUSEWHEEL */ + Uint32 windowID; /**< The window with mouse focus, if any */ + int x; /**< The amount scrolled horizontally */ + int y; /**< The amount scrolled vertically */ +} SDL_MouseWheelEvent; + +/** + * \brief Joystick axis motion event structure (event.jaxis.*) + */ +typedef struct SDL_JoyAxisEvent +{ + Uint32 type; /**< ::SDL_JOYAXISMOTION */ + Uint8 which; /**< The joystick device index */ + Uint8 axis; /**< The joystick axis index */ + Uint8 padding1; + Uint8 padding2; + int value; /**< The axis value (range: -32768 to 32767) */ } SDL_JoyAxisEvent; -/** Joystick trackball motion event structure */ -typedef struct SDL_JoyBallEvent { - Uint8 type; /**< SDL_JOYBALLMOTION */ - Uint8 which; /**< The joystick device index */ - Uint8 ball; /**< The joystick trackball index */ - Sint16 xrel; /**< The relative motion in the X direction */ - Sint16 yrel; /**< The relative motion in the Y direction */ +/** + * \brief Joystick trackball motion event structure (event.jball.*) + */ +typedef struct SDL_JoyBallEvent +{ + Uint32 type; /**< ::SDL_JOYBALLMOTION */ + Uint8 which; /**< The joystick device index */ + Uint8 ball; /**< The joystick trackball index */ + Uint8 padding1; + Uint8 padding2; + int xrel; /**< The relative motion in the X direction */ + int yrel; /**< The relative motion in the Y direction */ } SDL_JoyBallEvent; -/** Joystick hat position change event structure */ -typedef struct SDL_JoyHatEvent { - Uint8 type; /**< SDL_JOYHATMOTION */ - Uint8 which; /**< The joystick device index */ - Uint8 hat; /**< The joystick hat index */ - Uint8 value; /**< The hat position value: - * SDL_HAT_LEFTUP SDL_HAT_UP SDL_HAT_RIGHTUP - * SDL_HAT_LEFT SDL_HAT_CENTERED SDL_HAT_RIGHT - * SDL_HAT_LEFTDOWN SDL_HAT_DOWN SDL_HAT_RIGHTDOWN - * Note that zero means the POV is centered. - */ +/** + * \brief Joystick hat position change event structure (event.jhat.*) + */ +typedef struct SDL_JoyHatEvent +{ + Uint32 type; /**< ::SDL_JOYHATMOTION */ + Uint8 which; /**< The joystick device index */ + Uint8 hat; /**< The joystick hat index */ + Uint8 value; /**< The hat position value. + * \sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP + * \sa ::SDL_HAT_LEFT ::SDL_HAT_CENTERED ::SDL_HAT_RIGHT + * \sa ::SDL_HAT_LEFTDOWN ::SDL_HAT_DOWN ::SDL_HAT_RIGHTDOWN + * + * Note that zero means the POV is centered. + */ + Uint8 padding1; } SDL_JoyHatEvent; -/** Joystick button event structure */ -typedef struct SDL_JoyButtonEvent { - Uint8 type; /**< SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP */ - Uint8 which; /**< The joystick device index */ - Uint8 button; /**< The joystick button index */ - Uint8 state; /**< SDL_PRESSED or SDL_RELEASED */ +/** + * \brief Joystick button event structure (event.jbutton.*) + */ +typedef struct SDL_JoyButtonEvent +{ + Uint32 type; /**< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP */ + Uint8 which; /**< The joystick device index */ + Uint8 button; /**< The joystick button index */ + Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */ + Uint8 padding1; } SDL_JoyButtonEvent; -/** The "window resized" event - * When you get this event, you are responsible for setting a new video - * mode with the new width and height. +/** + * \brief The "quit requested" event */ -typedef struct SDL_ResizeEvent { - Uint8 type; /**< SDL_VIDEORESIZE */ - int w; /**< New width */ - int h; /**< New height */ -} SDL_ResizeEvent; - -/** The "screen redraw" event */ -typedef struct SDL_ExposeEvent { - Uint8 type; /**< SDL_VIDEOEXPOSE */ -} SDL_ExposeEvent; - -/** The "quit requested" event */ -typedef struct SDL_QuitEvent { - Uint8 type; /**< SDL_QUIT */ +typedef struct SDL_QuitEvent +{ + Uint32 type; /**< ::SDL_QUIT */ } SDL_QuitEvent; -/** A user-defined event type */ -typedef struct SDL_UserEvent { - Uint8 type; /**< SDL_USEREVENT through SDL_NUMEVENTS-1 */ - int code; /**< User defined event code */ - void *data1; /**< User defined data pointer */ - void *data2; /**< User defined data pointer */ +/** + * \brief A user-defined event type (event.user.*) + */ +typedef struct SDL_UserEvent +{ + Uint32 type; /**< ::SDL_USEREVENT through ::SDL_NUMEVENTS-1 */ + Uint32 windowID; /**< The associated window if any */ + int code; /**< User defined event code */ + void *data1; /**< User defined data pointer */ + void *data2; /**< User defined data pointer */ } SDL_UserEvent; -/** If you want to use this event, you should include SDL_syswm.h */ struct SDL_SysWMmsg; typedef struct SDL_SysWMmsg SDL_SysWMmsg; -typedef struct SDL_SysWMEvent { - Uint8 type; - SDL_SysWMmsg *msg; + +/** + * \brief A video driver dependent system event (event.syswm.*) + * + * \note If you want to use this event, you should include SDL_syswm.h. + */ +typedef struct SDL_SysWMEvent +{ + Uint32 type; /**< ::SDL_SYSWMEVENT */ + SDL_SysWMmsg *msg; /**< driver dependent data, defined in SDL_syswm.h */ } SDL_SysWMEvent; -/** General event structure */ -typedef union SDL_Event { - Uint8 type; - SDL_ActiveEvent active; - SDL_KeyboardEvent key; - SDL_MouseMotionEvent motion; - SDL_MouseButtonEvent button; - SDL_JoyAxisEvent jaxis; - SDL_JoyBallEvent jball; - SDL_JoyHatEvent jhat; - SDL_JoyButtonEvent jbutton; - SDL_ResizeEvent resize; - SDL_ExposeEvent expose; - SDL_QuitEvent quit; - SDL_UserEvent user; - SDL_SysWMEvent syswm; +#ifndef SDL_NO_COMPAT +/** + * \addtogroup Compatibility + */ +/*@{*/ + +/** + * \name Typedefs for backwards compatibility + */ +/*@{*/ +typedef struct SDL_ActiveEvent +{ + Uint32 type; + Uint8 gain; + Uint8 state; +} SDL_ActiveEvent; + +typedef struct SDL_ResizeEvent +{ + Uint32 type; + int w; + int h; +} SDL_ResizeEvent; +/*@}*/ + +/*@}*//*Compatibility*/ +#endif + +/** + * \brief General event structure + */ +typedef union SDL_Event +{ + Uint32 type; /**< Event type, shared with all events */ + SDL_WindowEvent window; /**< Window event data */ + SDL_KeyboardEvent key; /**< Keyboard event data */ + SDL_TextEditingEvent edit; /**< Text editing event data */ + SDL_TextInputEvent text; /**< Text input event data */ + SDL_MouseMotionEvent motion; /**< Mouse motion event data */ + SDL_MouseButtonEvent button; /**< Mouse button event data */ + SDL_MouseWheelEvent wheel; /**< Mouse wheel event data */ + SDL_JoyAxisEvent jaxis; /**< Joystick axis event data */ + SDL_JoyBallEvent jball; /**< Joystick ball event data */ + SDL_JoyHatEvent jhat; /**< Joystick hat event data */ + SDL_JoyButtonEvent jbutton; /**< Joystick button event data */ + SDL_QuitEvent quit; /**< Quit request event data */ + SDL_UserEvent user; /**< Custom event data */ + SDL_SysWMEvent syswm; /**< System dependent window event data */ + + /** Temporarily here for backwards compatibility */ + /*@{*/ +#ifndef SDL_NO_COMPAT + SDL_ActiveEvent active; + SDL_ResizeEvent resize; +#endif + /*@}*/ } SDL_Event; /* Function prototypes */ -/** Pumps the event loop, gathering events from the input devices. +/** + * Pumps the event loop, gathering events from the input devices. + * * This function updates the event queue and internal input device state. + * * This should only be run in the thread that sets the video mode. */ extern DECLSPEC void SDLCALL SDL_PumpEvents(void); -typedef enum { - SDL_ADDEVENT, - SDL_PEEKEVENT, - SDL_GETEVENT +/*@{*/ +typedef enum +{ + SDL_ADDEVENT, + SDL_PEEKEVENT, + SDL_GETEVENT } SDL_eventaction; /** * Checks the event queue for messages and optionally returns them. - * - * If 'action' is SDL_ADDEVENT, up to 'numevents' events will be added to + * + * If \c action is ::SDL_ADDEVENT, up to \c numevents events will be added to * the back of the event queue. - * If 'action' is SDL_PEEKEVENT, up to 'numevents' events at the front - * of the event queue, matching 'mask', will be returned and will not + * + * If \c action is ::SDL_PEEKEVENT, up to \c numevents events at the front + * of the event queue, matching \c mask, will be returned and will not * be removed from the queue. - * If 'action' is SDL_GETEVENT, up to 'numevents' events at the front - * of the event queue, matching 'mask', will be returned and will be + * + * If \c action is ::SDL_GETEVENT, up to \c numevents events at the front + * of the event queue, matching \c mask, will be returned and will be * removed from the queue. - * - * @return - * This function returns the number of events actually stored, or -1 - * if there was an error. - * + * + * \return The number of events actually stored, or -1 if there was an error. + * * This function is thread-safe. */ -extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event *events, int numevents, - SDL_eventaction action, Uint32 mask); +extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event * events, int numevents, + SDL_eventaction action, + Uint32 minType, Uint32 maxType); +/*@}*/ -/** Polls for currently pending events, and returns 1 if there are any pending - * events, or 0 if there are none available. If 'event' is not NULL, the next - * event is removed from the queue and stored in that area. - */ -extern DECLSPEC int SDLCALL SDL_PollEvent(SDL_Event *event); - -/** Waits indefinitely for the next available event, returning 1, or 0 if there - * was an error while waiting for events. If 'event' is not NULL, the next - * event is removed from the queue and stored in that area. - */ -extern DECLSPEC int SDLCALL SDL_WaitEvent(SDL_Event *event); - -/** Add an event to the event queue. - * This function returns 0 on success, or -1 if the event queue was full - * or there was some other error. - */ -extern DECLSPEC int SDLCALL SDL_PushEvent(SDL_Event *event); - -/** @name Event Filtering */ -/*@{*/ -typedef int (SDLCALL *SDL_EventFilter)(const SDL_Event *event); /** - * This function sets up a filter to process all events before they - * change internal state and are posted to the internal event queue. - * - * The filter is protypted as: - * @code typedef int (SDLCALL *SDL_EventFilter)(const SDL_Event *event); @endcode - * - * If the filter returns 1, then the event will be added to the internal queue. - * If it returns 0, then the event will be dropped from the queue, but the - * internal state will still be updated. This allows selective filtering of - * dynamically arriving events. - * - * @warning Be very careful of what you do in the event filter function, as - * it may run in a different thread! - * - * There is one caveat when dealing with the SDL_QUITEVENT event type. The - * event filter is only called when the window manager desires to close the - * application window. If the event filter returns 1, then the window will - * be closed, otherwise the window will remain open if possible. - * If the quit event is generated by an interrupt signal, it will bypass the - * internal queue and be delivered to the application at the next event poll. + * Checks to see if certain event types are in the event queue. */ -extern DECLSPEC void SDLCALL SDL_SetEventFilter(SDL_EventFilter filter); +extern DECLSPEC SDL_bool SDLCALL SDL_HasEvent(Uint32 type); +extern DECLSPEC SDL_bool SDLCALL SDL_HasEvents(Uint32 minType, Uint32 maxType); + +/** + * This function clears events from the event queue + */ +extern DECLSPEC void SDLCALL SDL_FlushEvent(Uint32 type); +extern DECLSPEC void SDLCALL SDL_FlushEvents(Uint32 minType, Uint32 maxType); + +/** + * \brief Polls for currently pending events. + * + * \return 1 if there are any pending events, or 0 if there are none available. + * + * \param event If not NULL, the next event is removed from the queue and + * stored in that area. + */ +extern DECLSPEC int SDLCALL SDL_PollEvent(SDL_Event * event); + +/** + * \brief Waits indefinitely for the next available event. + * + * \return 1, or 0 if there was an error while waiting for events. + * + * \param event If not NULL, the next event is removed from the queue and + * stored in that area. + */ +extern DECLSPEC int SDLCALL SDL_WaitEvent(SDL_Event * event); + +/** + * \brief Waits until the specified timeout (in milliseconds) for the next + * available event. + * + * \return 1, or 0 if there was an error while waiting for events. + * + * \param event If not NULL, the next event is removed from the queue and + * stored in that area. + */ +extern DECLSPEC int SDLCALL SDL_WaitEventTimeout(SDL_Event * event, + int timeout); + +/** + * \brief Add an event to the event queue. + * + * \return 1 on success, 0 if the event was filtered, or -1 if the event queue + * was full or there was some other error. + */ +extern DECLSPEC int SDLCALL SDL_PushEvent(SDL_Event * event); + +typedef int (SDLCALL * SDL_EventFilter) (void *userdata, SDL_Event * event); + +/** + * Sets up a filter to process all events before they change internal state and + * are posted to the internal event queue. + * + * The filter is protypted as: + * \code + * int SDL_EventFilter(void *userdata, SDL_Event * event); + * \endcode + * + * If the filter returns 1, then the event will be added to the internal queue. + * If it returns 0, then the event will be dropped from the queue, but the + * internal state will still be updated. This allows selective filtering of + * dynamically arriving events. + * + * \warning Be very careful of what you do in the event filter function, as + * it may run in a different thread! + * + * There is one caveat when dealing with the ::SDL_QUITEVENT event type. The + * event filter is only called when the window manager desires to close the + * application window. If the event filter returns 1, then the window will + * be closed, otherwise the window will remain open if possible. + * + * If the quit event is generated by an interrupt signal, it will bypass the + * internal queue and be delivered to the application at the next event poll. + */ +extern DECLSPEC void SDLCALL SDL_SetEventFilter(SDL_EventFilter filter, + void *userdata); /** * Return the current event filter - can be used to "chain" filters. - * If there is no event filter set, this function returns NULL. + * If there is no event filter set, this function returns SDL_FALSE. */ -extern DECLSPEC SDL_EventFilter SDLCALL SDL_GetEventFilter(void); -/*@}*/ +extern DECLSPEC SDL_bool SDLCALL SDL_GetEventFilter(SDL_EventFilter * filter, + void **userdata); + +/** + * Run the filter function on the current event queue, removing any + * events for which the filter returns 0. + */ +extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter, + void *userdata); -/** @name Event State */ /*@{*/ #define SDL_QUERY -1 #define SDL_IGNORE 0 #define SDL_DISABLE 0 #define SDL_ENABLE 1 -/*@}*/ /** -* This function allows you to set the state of processing certain events. -* If 'state' is set to SDL_IGNORE, that event will be automatically dropped -* from the event queue and will not event be filtered. -* If 'state' is set to SDL_ENABLE, that event will be processed normally. -* If 'state' is set to SDL_QUERY, SDL_EventState() will return the -* current processing state of the specified event. -*/ -extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint8 type, int state); + * This function allows you to set the state of processing certain events. + * - If \c state is set to ::SDL_IGNORE, that event will be automatically + * dropped from the event queue and will not event be filtered. + * - If \c state is set to ::SDL_ENABLE, that event will be processed + * normally. + * - If \c state is set to ::SDL_QUERY, SDL_EventState() will return the + * current processing state of the specified event. + */ +extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state); +/*@}*/ +#define SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY) + +/** + * This function allocates a set of user-defined events, and returns + * the beginning event number for that set of events. + * + * If there aren't enough user-defined events left, this function + * returns (Uint32)-1 + */ +extern DECLSPEC Uint32 SDLCALL SDL_RegisterEvents(int numevents); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_events_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_haptic.h b/alienblaster/project/jni/sdl/include/SDL_haptic.h new file mode 100644 index 000000000..52f33f152 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_haptic.h @@ -0,0 +1,1123 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 2008 Edgar Simo + + 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 +*/ + +/** + * \file SDL_haptic.h + * + * \brief The SDL Haptic subsystem allows you to control haptic (force feedback) + * devices. + * + * The basic usage is as follows: + * - Initialize the Subsystem (::SDL_INIT_HAPTIC). + * - Open a Haptic Device. + * - SDL_HapticOpen() to open from index. + * - SDL_HapticOpenFromJoystick() to open from an existing joystick. + * - Create an effect (::SDL_HapticEffect). + * - Upload the effect with SDL_HapticNewEffect(). + * - Run the effect with SDL_HapticRunEffect(). + * - (optional) Free the effect with SDL_HapticDestroyEffect(). + * - Close the haptic device with SDL_HapticClose(). + * + * \par Example: + * \code + * int test_haptic( SDL_Joystick * joystick ) { + * SDL_Haptic *haptic; + * SDL_HapticEffect effect; + * int effect_id; + * + * // Open the device + * haptic = SDL_HapticOpenFromJoystick( joystick ); + * if (haptic == NULL) return -1; // Most likely joystick isn't haptic + * + * // See if it can do sine waves + * if ((SDL_HapticQuery(haptic) & SDL_HAPTIC_SINE)==0) { + * SDL_HapticClose(haptic); // No sine effect + * return -1; + * } + * + * // Create the effect + * memset( &effect, 0, sizeof(SDL_HapticEffect) ); // 0 is safe default + * effect.type = SDL_HAPTIC_SINE; + * effect.periodic.direction.type = SDL_HAPTIC_POLAR; // Polar coordinates + * effect.periodic.direction.dir[0] = 18000; // Force comes from south + * effect.periodic.period = 1000; // 1000 ms + * effect.periodic.magnitude = 20000; // 20000/32767 strength + * effect.periodic.length = 5000; // 5 seconds long + * effect.periodic.attack_length = 1000; // Takes 1 second to get max strength + * effect.periodic.fade_length = 1000; // Takes 1 second to fade away + * + * // Upload the effect + * effect_id = SDL_HapticNewEffect( haptic, &effect ); + * + * // Test the effect + * SDL_HapticRunEffect( haptic, effect_id, 1 ); + * SDL_Delay( 5000); // Wait for the effect to finish + * + * // We destroy the effect, although closing the device also does this + * SDL_HapticDestroyEffect( haptic, effect_id ); + * + * // Close the device + * SDL_HapticClose(haptic); + * + * return 0; // Success + * } + * \endcode + * \author Edgar Simo Serra + */ + +#ifndef _SDL_haptic_h +#define _SDL_haptic_h + +#include "SDL_stdinc.h" +#include "SDL_error.h" +#include "SDL_joystick.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { + /* *INDENT-ON* */ +#endif /* __cplusplus */ + +/** + * \typedef SDL_Haptic + * + * \brief The haptic structure used to identify an SDL haptic. + * + * \sa SDL_HapticOpen + * \sa SDL_HapticOpenFromJoystick + * \sa SDL_HapticClose + */ +struct _SDL_Haptic; +typedef struct _SDL_Haptic SDL_Haptic; + + +/** + * \name Haptic features + * + * Different haptic features a device can have. + */ +/*@{*/ + +/** + * \name Haptic effects + */ +/*@{*/ + +/** + * \brief Constant effect supported. + * + * Constant haptic effect. + * + * \sa SDL_HapticCondition + */ +#define SDL_HAPTIC_CONSTANT (1<<0) + +/** + * \brief Sine wave effect supported. + * + * Periodic haptic effect that simulates sine waves. + * + * \sa SDL_HapticPeriodic + */ +#define SDL_HAPTIC_SINE (1<<1) + +/** + * \brief Square wave effect supported. + * + * Periodic haptic effect that simulates square waves. + * + * \sa SDL_HapticPeriodic + */ +#define SDL_HAPTIC_SQUARE (1<<2) + +/** + * \brief Triangle wave effect supported. + * + * Periodic haptic effect that simulates triangular waves. + * + * \sa SDL_HapticPeriodic + */ +#define SDL_HAPTIC_TRIANGLE (1<<3) + +/** + * \brief Sawtoothup wave effect supported. + * + * Periodic haptic effect that simulates saw tooth up waves. + * + * \sa SDL_HapticPeriodic + */ +#define SDL_HAPTIC_SAWTOOTHUP (1<<4) + +/** + * \brief Sawtoothdown wave effect supported. + * + * Periodic haptic effect that simulates saw tooth down waves. + * + * \sa SDL_HapticPeriodic + */ +#define SDL_HAPTIC_SAWTOOTHDOWN (1<<5) + +/** + * \brief Ramp effect supported. + * + * Ramp haptic effect. + * + * \sa SDL_HapticRamp + */ +#define SDL_HAPTIC_RAMP (1<<6) + +/** + * \brief Spring effect supported - uses axes position. + * + * Condition haptic effect that simulates a spring. Effect is based on the + * axes position. + * + * \sa SDL_HapticCondition + */ +#define SDL_HAPTIC_SPRING (1<<7) + +/** + * \brief Damper effect supported - uses axes velocity. + * + * Condition haptic effect that simulates dampening. Effect is based on the + * axes velocity. + * + * \sa SDL_HapticCondition + */ +#define SDL_HAPTIC_DAMPER (1<<8) + +/** + * \brief Inertia effect supported - uses axes acceleration. + * + * Condition haptic effect that simulates inertia. Effect is based on the axes + * acceleration. + * + * \sa SDL_HapticCondition + */ +#define SDL_HAPTIC_INERTIA (1<<9) + +/** + * \brief Friction effect supported - uses axes movement. + * + * Condition haptic effect that simulates friction. Effect is based on the + * axes movement. + * + * \sa SDL_HapticCondition + */ +#define SDL_HAPTIC_FRICTION (1<<10) + +/** + * \brief Custom effect is supported. + * + * User defined custom haptic effect. + */ +#define SDL_HAPTIC_CUSTOM (1<<11) + +/*@}*//*Haptic effects*/ + +/* These last few are features the device has, not effects */ + +/** + * \brief Device can set global gain. + * + * Device supports setting the global gain. + * + * \sa SDL_HapticSetGain + */ +#define SDL_HAPTIC_GAIN (1<<12) + +/** + * \brief Device can set autocenter. + * + * Device supports setting autocenter. + * + * \sa SDL_HapticSetAutocenter + */ +#define SDL_HAPTIC_AUTOCENTER (1<<13) + +/** + * \brief Device can be queried for effect status. + * + * Device can be queried for effect status. + * + * \sa SDL_HapticGetEffectStatus + */ +#define SDL_HAPTIC_STATUS (1<<14) + +/** + * \brief Device can be paused. + * + * \sa SDL_HapticPause + * \sa SDL_HapticUnpause + */ +#define SDL_HAPTIC_PAUSE (1<<15) + + +/** + * \name Direction encodings + */ +/*@{*/ + +/** + * \brief Uses polar coordinates for the direction. + * + * \sa SDL_HapticDirection + */ +#define SDL_HAPTIC_POLAR 0 + +/** + * \brief Uses cartesian coordinates for the direction. + * + * \sa SDL_HapticDirection + */ +#define SDL_HAPTIC_CARTESIAN 1 + +/** + * \brief Uses spherical coordinates for the direction. + * + * \sa SDL_HapticDirection + */ +#define SDL_HAPTIC_SPHERICAL 2 + +/*@}*//*Direction encodings*/ + +/*@}*//*Haptic features*/ + +/* + * Misc defines. + */ + +/** + * \brief Used to play a device an infinite number of times. + * + * \sa SDL_HapticRunEffect + */ +#define SDL_HAPTIC_INFINITY 4294967295U + + +/** + * \brief Structure that represents a haptic direction. + * + * Directions can be specified by: + * - ::SDL_HAPTIC_POLAR : Specified by polar coordinates. + * - ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates. + * - ::SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates. + * + * Cardinal directions of the haptic device are relative to the positioning + * of the device. North is considered to be away from the user. + * + * The following diagram represents the cardinal directions: + * \verbatim + .--. + |__| .-------. + |=.| |.-----.| + |--| || || + | | |'-----'| + |__|~')_____(' + [ COMPUTER ] + + + North (0,-1) + ^ + | + | + (1,0) West <----[ HAPTIC ]----> East (-1,0) + | + | + v + South (0,1) + + + [ USER ] + \|||/ + (o o) + ---ooO-(_)-Ooo--- + \endverbatim + * + * If type is ::SDL_HAPTIC_POLAR, direction is encoded by hundredths of a + * degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses + * the first \c dir parameter. The cardinal directions would be: + * - North: 0 (0 degrees) + * - East: 9000 (90 degrees) + * - South: 18000 (180 degrees) + * - West: 27000 (270 degrees) + * + * If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions + * (X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses + * the first three \c dir parameters. The cardinal directions would be: + * - North: 0,-1, 0 + * - East: -1, 0, 0 + * - South: 0, 1, 0 + * - West: 1, 0, 0 + * + * The Z axis represents the height of the effect if supported, otherwise + * it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you + * can use any multiple you want, only the direction matters. + * + * If type is ::SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations. + * The first two \c dir parameters are used. The \c dir parameters are as + * follows (all values are in hundredths of degrees): + * - Degrees from (1, 0) rotated towards (0, 1). + * - Degrees towards (0, 0, 1) (device needs at least 3 axes). + * + * + * Example of force coming from the south with all encodings (force coming + * from the south means the user will have to pull the stick to counteract): + * \code + * SDL_HapticDirection direction; + * + * // Cartesian directions + * direction.type = SDL_HAPTIC_CARTESIAN; // Using cartesian direction encoding. + * direction.dir[0] = 0; // X position + * direction.dir[1] = 1; // Y position + * // Assuming the device has 2 axes, we don't need to specify third parameter. + * + * // Polar directions + * direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding. + * direction.dir[0] = 18000; // Polar only uses first parameter + * + * // Spherical coordinates + * direction.type = SDL_HAPTIC_SPHERICAL; // Spherical encoding + * direction.dir[0] = 9000; // Since we only have two axes we don't need more parameters. + * \endcode + * + * \sa SDL_HAPTIC_POLAR + * \sa SDL_HAPTIC_CARTESIAN + * \sa SDL_HAPTIC_SPHERICAL + * \sa SDL_HapticEffect + * \sa SDL_HapticNumAxes + */ +typedef struct SDL_HapticDirection +{ + Uint8 type; /**< The type of encoding. */ + Sint32 dir[3]; /**< The encoded direction. */ +} SDL_HapticDirection; + + +/** + * \brief A structure containing a template for a Constant effect. + * + * The struct is exclusive to the ::SDL_HAPTIC_CONSTANT effect. + * + * A constant effect applies a constant force in the specified direction + * to the joystick. + * + * \sa SDL_HAPTIC_CONSTANT + * \sa SDL_HapticEffect + */ +typedef struct SDL_HapticConstant +{ + /* Header */ + Uint16 type; /**< ::SDL_HAPTIC_CONSTANT */ + SDL_HapticDirection direction; /**< Direction of the effect. */ + + /* Replay */ + Uint32 length; /**< Duration of the effect. */ + Uint16 delay; /**< Delay before starting the effect. */ + + /* Trigger */ + Uint16 button; /**< Button that triggers the effect. */ + Uint16 interval; /**< How soon it can be triggered again after button. */ + + /* Constant */ + Sint16 level; /**< Strength of the constant effect. */ + + /* Envelope */ + Uint16 attack_length; /**< Duration of the attack. */ + Uint16 attack_level; /**< Level at the start of the attack. */ + Uint16 fade_length; /**< Duration of the fade. */ + Uint16 fade_level; /**< Level at the end of the fade. */ +} SDL_HapticConstant; + +/** + * \brief A structure containing a template for a Periodic effect. + * + * The struct handles the following effects: + * - ::SDL_HAPTIC_SINE + * - ::SDL_HAPTIC_SQUARE + * - ::SDL_HAPTIC_TRIANGLE + * - ::SDL_HAPTIC_SAWTOOTHUP + * - ::SDL_HAPTIC_SAWTOOTHDOWN + * + * A periodic effect consists in a wave-shaped effect that repeats itself + * over time. The type determines the shape of the wave and the parameters + * determine the dimensions of the wave. + * + * Phase is given by hundredth of a cyle meaning that giving the phase a value + * of 9000 will displace it 25% of it's period. Here are sample values: + * - 0: No phase displacement. + * - 9000: Displaced 25% of it's period. + * - 18000: Displaced 50% of it's period. + * - 27000: Displaced 75% of it's period. + * - 36000: Displaced 100% of it's period, same as 0, but 0 is preffered. + * + * Examples: + * \verbatim + SDL_HAPTIC_SINE + __ __ __ __ + / \ / \ / \ / + / \__/ \__/ \__/ + + SDL_HAPTIC_SQUARE + __ __ __ __ __ + | | | | | | | | | | + | |__| |__| |__| |__| | + + SDL_HAPTIC_TRIANGLE + /\ /\ /\ /\ /\ + / \ / \ / \ / \ / + / \/ \/ \/ \/ + + SDL_HAPTIC_SAWTOOTHUP + /| /| /| /| /| /| /| + / | / | / | / | / | / | / | + / |/ |/ |/ |/ |/ |/ | + + SDL_HAPTIC_SAWTOOTHDOWN + \ |\ |\ |\ |\ |\ |\ | + \ | \ | \ | \ | \ | \ | \ | + \| \| \| \| \| \| \| + \endverbatim + * + * \sa SDL_HAPTIC_SINE + * \sa SDL_HAPTIC_SQUARE + * \sa SDL_HAPTIC_TRIANGLE + * \sa SDL_HAPTIC_SAWTOOTHUP + * \sa SDL_HAPTIC_SAWTOOTHDOWN + * \sa SDL_HapticEffect + */ +typedef struct SDL_HapticPeriodic +{ + /* Header */ + Uint16 type; /**< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_SQUARE, + ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or + ::SDL_HAPTIC_SAWTOOTHDOWN */ + SDL_HapticDirection direction; /**< Direction of the effect. */ + + /* Replay */ + Uint32 length; /**< Duration of the effect. */ + Uint16 delay; /**< Delay before starting the effect. */ + + /* Trigger */ + Uint16 button; /**< Button that triggers the effect. */ + Uint16 interval; /**< How soon it can be triggered again after button. */ + + /* Periodic */ + Uint16 period; /**< Period of the wave. */ + Sint16 magnitude; /**< Peak value. */ + Sint16 offset; /**< Mean value of the wave. */ + Uint16 phase; /**< Horizontal shift given by hundredth of a cycle. */ + + /* Envelope */ + Uint16 attack_length; /**< Duration of the attack. */ + Uint16 attack_level; /**< Level at the start of the attack. */ + Uint16 fade_length; /**< Duration of the fade. */ + Uint16 fade_level; /**< Level at the end of the fade. */ +} SDL_HapticPeriodic; + +/** + * \brief A structure containing a template for a Condition effect. + * + * The struct handles the following effects: + * - ::SDL_HAPTIC_SPRING: Effect based on axes position. + * - ::SDL_HAPTIC_DAMPER: Effect based on axes velocity. + * - ::SDL_HAPTIC_INERTIA: Effect based on axes acceleration. + * - ::SDL_HAPTIC_FRICTION: Effect based on axes movement. + * + * Direction is handled by condition internals instead of a direction member. + * The condition effect specific members have three parameters. The first + * refers to the X axis, the second refers to the Y axis and the third + * refers to the Z axis. The right terms refer to the positive side of the + * axis and the left terms refer to the negative side of the axis. Please + * refer to the ::SDL_HapticDirection diagram for which side is positive and + * which is negative. + * + * \sa SDL_HapticDirection + * \sa SDL_HAPTIC_SPRING + * \sa SDL_HAPTIC_DAMPER + * \sa SDL_HAPTIC_INERTIA + * \sa SDL_HAPTIC_FRICTION + * \sa SDL_HapticEffect + */ +typedef struct SDL_HapticCondition +{ + /* Header */ + Uint16 type; /**< ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER, + ::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION */ + SDL_HapticDirection direction; /**< Direction of the effect - Not used ATM. */ + + /* Replay */ + Uint32 length; /**< Duration of the effect. */ + Uint16 delay; /**< Delay before starting the effect. */ + + /* Trigger */ + Uint16 button; /**< Button that triggers the effect. */ + Uint16 interval; /**< How soon it can be triggered again after button. */ + + /* Condition */ + Uint16 right_sat[3]; /**< Level when joystick is to the positive side. */ + Uint16 left_sat[3]; /**< Level when joystick is to the negative side. */ + Sint16 right_coeff[3]; /**< How fast to increase the force towards the positive side. */ + Sint16 left_coeff[3]; /**< How fast to increase the force towards the negative side. */ + Uint16 deadband[3]; /**< Size of the dead zone. */ + Sint16 center[3]; /**< Position of the dead zone. */ +} SDL_HapticCondition; + +/** + * \brief A structure containing a template for a Ramp effect. + * + * This struct is exclusively for the ::SDL_HAPTIC_RAMP effect. + * + * The ramp effect starts at start strength and ends at end strength. + * It augments in linear fashion. If you use attack and fade with a ramp + * they effects get added to the ramp effect making the effect become + * quadratic instead of linear. + * + * \sa SDL_HAPTIC_RAMP + * \sa SDL_HapticEffect + */ +typedef struct SDL_HapticRamp +{ + /* Header */ + Uint16 type; /**< ::SDL_HAPTIC_RAMP */ + SDL_HapticDirection direction; /**< Direction of the effect. */ + + /* Replay */ + Uint32 length; /**< Duration of the effect. */ + Uint16 delay; /**< Delay before starting the effect. */ + + /* Trigger */ + Uint16 button; /**< Button that triggers the effect. */ + Uint16 interval; /**< How soon it can be triggered again after button. */ + + /* Ramp */ + Sint16 start; /**< Beginning strength level. */ + Sint16 end; /**< Ending strength level. */ + + /* Envelope */ + Uint16 attack_length; /**< Duration of the attack. */ + Uint16 attack_level; /**< Level at the start of the attack. */ + Uint16 fade_length; /**< Duration of the fade. */ + Uint16 fade_level; /**< Level at the end of the fade. */ +} SDL_HapticRamp; + +/** + * \brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect. + * + * A custom force feedback effect is much like a periodic effect, where the + * application can define it's exact shape. You will have to allocate the + * data yourself. Data should consist of channels * samples Uint16 samples. + * + * If channels is one, the effect is rotated using the defined direction. + * Otherwise it uses the samples in data for the different axes. + * + * \sa SDL_HAPTIC_CUSTOM + * \sa SDL_HapticEffect + */ +typedef struct SDL_HapticCustom +{ + /* Header */ + Uint16 type; /**< ::SDL_HAPTIC_CUSTOM */ + SDL_HapticDirection direction; /**< Direction of the effect. */ + + /* Replay */ + Uint32 length; /**< Duration of the effect. */ + Uint16 delay; /**< Delay before starting the effect. */ + + /* Trigger */ + Uint16 button; /**< Button that triggers the effect. */ + Uint16 interval; /**< How soon it can be triggered again after button. */ + + /* Custom */ + Uint8 channels; /**< Axes to use, minimum of one. */ + Uint16 period; /**< Sample periods. */ + Uint16 samples; /**< Amount of samples. */ + Uint16 *data; /**< Should contain channels*samples items. */ + + /* Envelope */ + Uint16 attack_length; /**< Duration of the attack. */ + Uint16 attack_level; /**< Level at the start of the attack. */ + Uint16 fade_length; /**< Duration of the fade. */ + Uint16 fade_level; /**< Level at the end of the fade. */ +} SDL_HapticCustom; + +/** + * \brief The generic template for any haptic effect. + * + * All values max at 32767 (0x7FFF). Signed values also can be negative. + * Time values unless specified otherwise are in milliseconds. + * + * You can also pass ::SDL_HAPTIC_INFINITY to length instead of a 0-32767 + * value. Neither delay, interval, attack_length nor fade_length support + * ::SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends. + * + * Additionally, the ::SDL_HAPTIC_RAMP effect does not support a duration of + * ::SDL_HAPTIC_INFINITY. + * + * Button triggers may not be supported on all devices, it is advised to not + * use them if possible. Buttons start at index 1 instead of index 0 like + * they joystick. + * + * If both attack_length and fade_level are 0, the envelope is not used, + * otherwise both values are used. + * + * Common parts: + * \code + * // Replay - All effects have this + * Uint32 length; // Duration of effect (ms). + * Uint16 delay; // Delay before starting effect. + * + * // Trigger - All effects have this + * Uint16 button; // Button that triggers effect. + * Uint16 interval; // How soon before effect can be triggered again. + * + * // Envelope - All effects except condition effects have this + * Uint16 attack_length; // Duration of the attack (ms). + * Uint16 attack_level; // Level at the start of the attack. + * Uint16 fade_length; // Duration of the fade out (ms). + * Uint16 fade_level; // Level at the end of the fade. + * \endcode + * + * + * Here we have an example of a constant effect evolution in time: + * \verbatim + Strength + ^ + | + | effect level --> _________________ + | / \ + | / \ + | / \ + | / \ + | attack_level --> | \ + | | | <--- fade_level + | + +--------------------------------------------------> Time + [--] [---] + attack_length fade_length + + [------------------][-----------------------] + delay length + \endverbatim + * + * Note either the attack_level or the fade_level may be above the actual + * effect level. + * + * \sa SDL_HapticConstant + * \sa SDL_HapticPeriodic + * \sa SDL_HapticCondition + * \sa SDL_HapticRamp + * \sa SDL_HapticCustom + */ +typedef union SDL_HapticEffect +{ + /* Common for all force feedback effects */ + Uint16 type; /**< Effect type. */ + SDL_HapticConstant constant; /**< Constant effect. */ + SDL_HapticPeriodic periodic; /**< Periodic effect. */ + SDL_HapticCondition condition; /**< Condition effect. */ + SDL_HapticRamp ramp; /**< Ramp effect. */ + SDL_HapticCustom custom; /**< Custom effect. */ +} SDL_HapticEffect; + + +/* Function prototypes */ +/** + * \brief Count the number of joysticks attached to the system. + * + * \return Number of haptic devices detected on the system. + */ +extern DECLSPEC int SDLCALL SDL_NumHaptics(void); + +/** + * \brief Get the implementation dependent name of a Haptic device. + * + * This can be called before any joysticks are opened. + * If no name can be found, this function returns NULL. + * + * \param device_index Index of the device to get it's name. + * \return Name of the device or NULL on error. + * + * \sa SDL_NumHaptics + */ +extern DECLSPEC const char *SDLCALL SDL_HapticName(int device_index); + +/** + * \brief Opens a Haptic device for usage. + * + * The index passed as an argument refers to the N'th Haptic device on this + * system. + * + * When opening a haptic device, it's gain will be set to maximum and + * autocenter will be disabled. To modify these values use + * SDL_HapticSetGain() and SDL_HapticSetAutocenter(). + * + * \param device_index Index of the device to open. + * \return Device identifier or NULL on error. + * + * \sa SDL_HapticIndex + * \sa SDL_HapticOpenFromMouse + * \sa SDL_HapticOpenFromJoystick + * \sa SDL_HapticClose + * \sa SDL_HapticSetGain + * \sa SDL_HapticSetAutocenter + * \sa SDL_HapticPause + * \sa SDL_HapticStopAll + */ +extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpen(int device_index); + +/** + * \brief Checks if the haptic device at index has been opened. + * + * \param device_index Index to check to see if it has been opened. + * \return 1 if it has been opened or 0 if it hasn't. + * + * \sa SDL_HapticOpen + * \sa SDL_HapticIndex + */ +extern DECLSPEC int SDLCALL SDL_HapticOpened(int device_index); + +/** + * \brief Gets the index of a haptic device. + * + * \param haptic Haptic device to get the index of. + * \return The index of the haptic device or -1 on error. + * + * \sa SDL_HapticOpen + * \sa SDL_HapticOpened + */ +extern DECLSPEC int SDLCALL SDL_HapticIndex(SDL_Haptic * haptic); + +/** + * \brief Gets whether or not the current mouse has haptic capabilities. + * + * \return SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't. + * + * \sa SDL_HapticOpenFromMouse + */ +extern DECLSPEC int SDLCALL SDL_MouseIsHaptic(void); + +/** + * \brief Tries to open a haptic device from the current mouse. + * + * \return The haptic device identifier or NULL on error. + * + * \sa SDL_MouseIsHaptic + * \sa SDL_HapticOpen + */ +extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromMouse(void); + +/** + * \brief Checks to see if a joystick has haptic features. + * + * \param joystick Joystick to test for haptic capabilities. + * \return 1 if the joystick is haptic, 0 if it isn't + * or -1 if an error ocurred. + * + * \sa SDL_HapticOpenFromJoystick + */ +extern DECLSPEC int SDLCALL SDL_JoystickIsHaptic(SDL_Joystick * joystick); + +/** + * \brief Opens a Haptic device for usage from a Joystick device. + * + * You must still close the haptic device seperately. It will not be closed + * with the joystick. + * + * When opening from a joystick you should first close the haptic device before + * closing the joystick device. If not, on some implementations the haptic + * device will also get unallocated and you'll be unable to use force feedback + * on that device. + * + * \param joystick Joystick to create a haptic device from. + * \return A valid haptic device identifier on success or NULL on error. + * + * \sa SDL_HapticOpen + * \sa SDL_HapticClose + */ +extern DECLSPEC SDL_Haptic *SDLCALL SDL_HapticOpenFromJoystick(SDL_Joystick * + joystick); + +/** + * \brief Closes a Haptic device previously opened with SDL_HapticOpen(). + * + * \param haptic Haptic device to close. + */ +extern DECLSPEC void SDLCALL SDL_HapticClose(SDL_Haptic * haptic); + +/** + * \brief Returns the number of effects a haptic device can store. + * + * On some platforms this isn't fully supported, and therefore is an + * aproximation. Always check to see if your created effect was actually + * created and do not rely solely on SDL_HapticNumEffects(). + * + * \param haptic The haptic device to query effect max. + * \return The number of effects the haptic device can store or + * -1 on error. + * + * \sa SDL_HapticNumEffectsPlaying + * \sa SDL_HapticQuery + */ +extern DECLSPEC int SDLCALL SDL_HapticNumEffects(SDL_Haptic * haptic); + +/** + * \brief Returns the number of effects a haptic device can play at the same + * time. + * + * This is not supported on all platforms, but will always return a value. + * Added here for the sake of completness. + * + * \param haptic The haptic device to query maximum playing effects. + * \return The number of effects the haptic device can play at the same time + * or -1 on error. + * + * \sa SDL_HapticNumEffects + * \sa SDL_HapticQuery + */ +extern DECLSPEC int SDLCALL SDL_HapticNumEffectsPlaying(SDL_Haptic * haptic); + +/** + * \brief Gets the haptic devices supported features in bitwise matter. + * + * Example: + * \code + * if (SDL_HapticQueryEffects(haptic) & SDL_HAPTIC_CONSTANT) { + * printf("We have constant haptic effect!"); + * } + * \endcode + * + * \param haptic The haptic device to query. + * \return Haptic features in bitwise manner (OR'd). + * + * \sa SDL_HapticNumEffects + * \sa SDL_HapticEffectSupported + */ +extern DECLSPEC unsigned int SDLCALL SDL_HapticQuery(SDL_Haptic * haptic); + + +/** + * \brief Gets the number of haptic axes the device has. + * + * \sa SDL_HapticDirection + */ +extern DECLSPEC int SDLCALL SDL_HapticNumAxes(SDL_Haptic * haptic); + +/** + * \brief Checks to see if effect is supported by haptic. + * + * \param haptic Haptic device to check on. + * \param effect Effect to check to see if it is supported. + * \return 1 if effect is supported, 0 if it isn't or -1 on error. + * + * \sa SDL_HapticQuery + * \sa SDL_HapticNewEffect + */ +extern DECLSPEC int SDLCALL SDL_HapticEffectSupported(SDL_Haptic * haptic, + SDL_HapticEffect * + effect); + +/** + * \brief Creates a new haptic effect on the device. + * + * \param haptic Haptic device to create the effect on. + * \param effect Properties of the effect to create. + * \return The id of the effect on success or -1 on error. + * + * \sa SDL_HapticUpdateEffect + * \sa SDL_HapticRunEffect + * \sa SDL_HapticDestroyEffect + */ +extern DECLSPEC int SDLCALL SDL_HapticNewEffect(SDL_Haptic * haptic, + SDL_HapticEffect * effect); + +/** + * \brief Updates the properties of an effect. + * + * Can be used dynamically, although behaviour when dynamically changing + * direction may be strange. Specifically the effect may reupload itself + * and start playing from the start. You cannot change the type either when + * running SDL_HapticUpdateEffect(). + * + * \param haptic Haptic device that has the effect. + * \param effect Effect to update. + * \param data New effect properties to use. + * \return The id of the effect on success or -1 on error. + * + * \sa SDL_HapticNewEffect + * \sa SDL_HapticRunEffect + * \sa SDL_HapticDestroyEffect + */ +extern DECLSPEC int SDLCALL SDL_HapticUpdateEffect(SDL_Haptic * haptic, + int effect, + SDL_HapticEffect * data); + +/** + * \brief Runs the haptic effect on it's assosciated haptic device. + * + * If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over + * repeating the envelope (attack and fade) every time. If you only want the + * effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length + * parameter. + * + * \param haptic Haptic device to run the effect on. + * \param effect Identifier of the haptic effect to run. + * \param iterations Number of iterations to run the effect. Use + * ::SDL_HAPTIC_INFINITY for infinity. + * \return 0 on success or -1 on error. + * + * \sa SDL_HapticStopEffect + * \sa SDL_HapticDestroyEffect + * \sa SDL_HapticGetEffectStatus + */ +extern DECLSPEC int SDLCALL SDL_HapticRunEffect(SDL_Haptic * haptic, + int effect, + Uint32 iterations); + +/** + * \brief Stops the haptic effect on it's assosciated haptic device. + * + * \param haptic Haptic device to stop the effect on. + * \param effect Identifier of the effect to stop. + * \return 0 on success or -1 on error. + * + * \sa SDL_HapticRunEffect + * \sa SDL_HapticDestroyEffect + */ +extern DECLSPEC int SDLCALL SDL_HapticStopEffect(SDL_Haptic * haptic, + int effect); + +/** + * \brief Destroys a haptic effect on the device. + * + * This will stop the effect if it's running. Effects are automatically + * destroyed when the device is closed. + * + * \param haptic Device to destroy the effect on. + * \param effect Identifier of the effect to destroy. + * + * \sa SDL_HapticNewEffect + */ +extern DECLSPEC void SDLCALL SDL_HapticDestroyEffect(SDL_Haptic * haptic, + int effect); + +/** + * \brief Gets the status of the current effect on the haptic device. + * + * Device must support the ::SDL_HAPTIC_STATUS feature. + * + * \param haptic Haptic device to query the effect status on. + * \param effect Identifier of the effect to query it's status. + * \return 0 if it isn't playing, ::SDL_HAPTIC_PLAYING if it is playing + * or -1 on error. + * + * \sa SDL_HapticRunEffect + * \sa SDL_HapticStopEffect + */ +extern DECLSPEC int SDLCALL SDL_HapticGetEffectStatus(SDL_Haptic * haptic, + int effect); + +/** + * \brief Sets the global gain of the device. + * + * Device must support the ::SDL_HAPTIC_GAIN feature. + * + * The user may specify the maxmimum gain by setting the environment variable + * ::SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to + * SDL_HapticSetGain() will scale linearly using ::SDL_HAPTIC_GAIN_MAX as the + * maximum. + * + * \param haptic Haptic device to set the gain on. + * \param gain Value to set the gain to, should be between 0 and 100. + * \return 0 on success or -1 on error. + * + * \sa SDL_HapticQuery + */ +extern DECLSPEC int SDLCALL SDL_HapticSetGain(SDL_Haptic * haptic, int gain); + +/** + * \brief Sets the global autocenter of the device. + * + * Autocenter should be between 0 and 100. Setting it to 0 will disable + * autocentering. + * + * Device must support the ::SDL_HAPTIC_AUTOCENTER feature. + * + * \param haptic Haptic device to set autocentering on. + * \param autocenter Value to set autocenter to, 0 disables autocentering. + * \return 0 on success or -1 on error. + * + * \sa SDL_HapticQuery + */ +extern DECLSPEC int SDLCALL SDL_HapticSetAutocenter(SDL_Haptic * haptic, + int autocenter); + +/** + * \brief Pauses a haptic device. + * + * Device must support the ::SDL_HAPTIC_PAUSE feature. Call + * SDL_HapticUnpause() to resume playback. + * + * Do not modify the effects nor add new ones while the device is paused. + * That can cause all sorts of weird errors. + * + * \param haptic Haptic device to pause. + * \return 0 on success or -1 on error. + * + * \sa SDL_HapticUnpause + */ +extern DECLSPEC int SDLCALL SDL_HapticPause(SDL_Haptic * haptic); + +/** + * \brief Unpauses a haptic device. + * + * Call to unpause after SDL_HapticPause(). + * + * \param haptic Haptic device to pause. + * \return 0 on success or -1 on error. + * + * \sa SDL_HapticPause + */ +extern DECLSPEC int SDLCALL SDL_HapticUnpause(SDL_Haptic * haptic); + +/** + * \brief Stops all the currently playing effects on a haptic device. + * + * \param haptic Haptic device to stop. + * \return 0 on success or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_HapticStopAll(SDL_Haptic * haptic); + + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_haptic_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_input.h b/alienblaster/project/jni/sdl/include/SDL_input.h new file mode 100644 index 000000000..455138f1b --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_input.h @@ -0,0 +1,88 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +/** + * \file SDL_input.h + * + * Include file for lowlevel SDL input device handling. + * + * This talks about individual devices, and not the system cursor. If you + * just want to know when the user moves the pointer somewhere in your + * window, this is NOT the API you want. This one handles things like + * multi-touch, drawing tablets, and multiple, separate mice. + * + * The other API is in SDL_mouse.h + */ + +#ifndef _SDL_input_h +#define _SDL_input_h + +#include "SDL_stdinc.h" +#include "SDL_error.h" +#include "SDL_video.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + + +/* Function prototypes */ + +/* !!! FIXME: real documentation + * - Redetect devices + * - This invalidates all existing device information from previous queries! + * - There is an implicit (re)detect upon SDL_Init(). + */ +extern DECLSPEC int SDLCALL SDL_RedetectInputDevices(void); + +/** + * \brief Get the number of mouse input devices available. + */ +extern DECLSPEC int SDLCALL SDL_GetNumInputDevices(void); + +/** + * \brief Gets the name of a device with the given index. + * + * \param index is the index of the device, whose name is to be returned. + * + * \return the name of the device with the specified index + */ +extern DECLSPEC const char *SDLCALL SDL_GetInputDeviceName(int index); + + +extern DECLSPEC int SDLCALL SDL_IsDeviceDisconnected(int index); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_mouse_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_joystick.h b/alienblaster/project/jni/sdl/include/SDL_joystick.h index d5135c3d5..2e70862ff 100644 --- a/alienblaster/project/jni/sdl/include/SDL_joystick.h +++ b/alienblaster/project/jni/sdl/include/SDL_joystick.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,9 @@ slouken@libsdl.org */ -/** @file SDL_joystick.h +/** + * \file SDL_joystick.h + * * Include file for SDL joystick event handling */ @@ -33,109 +35,111 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** @file SDL_joystick.h - * @note In order to use these functions, SDL_Init() must have been called - * with the SDL_INIT_JOYSTICK flag. This causes SDL to scan the system - * for joysticks, and load appropriate drivers. +/** + * \file SDL_joystick.h + * + * In order to use these functions, SDL_Init() must have been called + * with the ::SDL_INIT_JOYSTICK flag. This causes SDL to scan the system + * for joysticks, and load appropriate drivers. */ -/** The joystick structure used to identify an SDL joystick */ +/* The joystick structure used to identify an SDL joystick */ struct _SDL_Joystick; typedef struct _SDL_Joystick SDL_Joystick; + /* Function prototypes */ /** - * Count the number of joysticks attached to the system + * Count the number of joysticks attached to the system */ extern DECLSPEC int SDLCALL SDL_NumJoysticks(void); /** - * Get the implementation dependent name of a joystick. - * - * This can be called before any joysticks are opened. - * If no name can be found, this function returns NULL. + * Get the implementation dependent name of a joystick. + * This can be called before any joysticks are opened. + * If no name can be found, this function returns NULL. */ -extern DECLSPEC const char * SDLCALL SDL_JoystickName(int device_index); +extern DECLSPEC const char *SDLCALL SDL_JoystickName(int device_index); /** - * Open a joystick for use. - * - * @param[in] device_index - * The index passed as an argument refers to - * the N'th joystick on the system. This index is the value which will - * identify this joystick in future joystick events. - * - * @return This function returns a joystick identifier, or NULL if an error occurred. + * Open a joystick for use. + * The index passed as an argument refers tothe N'th joystick on the system. + * This index is the value which will identify this joystick in future joystick + * events. + * + * \return A joystick identifier, or NULL if an error occurred. */ -extern DECLSPEC SDL_Joystick * SDLCALL SDL_JoystickOpen(int device_index); +extern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickOpen(int device_index); /** - * Returns 1 if the joystick has been opened, or 0 if it has not. + * Returns 1 if the joystick has been opened, or 0 if it has not. */ extern DECLSPEC int SDLCALL SDL_JoystickOpened(int device_index); /** - * Get the device index of an opened joystick. + * Get the device index of an opened joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickIndex(SDL_Joystick *joystick); +extern DECLSPEC int SDLCALL SDL_JoystickIndex(SDL_Joystick * joystick); /** - * Get the number of general axis controls on a joystick + * Get the number of general axis controls on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick *joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick); /** - * Get the number of trackballs on a joystick - * - * Joystick trackballs have only relative motion events associated - * with them and their state cannot be polled. + * Get the number of trackballs on a joystick. + * + * Joystick trackballs have only relative motion events associated + * with them and their state cannot be polled. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick *joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick * joystick); /** - * Get the number of POV hats on a joystick + * Get the number of POV hats on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick *joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick * joystick); /** - * Get the number of buttons on a joystick + * Get the number of buttons on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick *joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick * joystick); /** - * Update the current state of the open joysticks. - * - * This is called automatically by the event loop if any joystick - * events are enabled. + * Update the current state of the open joysticks. + * + * This is called automatically by the event loop if any joystick + * events are enabled. */ extern DECLSPEC void SDLCALL SDL_JoystickUpdate(void); /** - * Enable/disable joystick event polling. - * - * If joystick events are disabled, you must call SDL_JoystickUpdate() - * yourself and check the state of the joystick when you want joystick - * information. - * - * @param[in] state The state can be one of SDL_QUERY, SDL_ENABLE or SDL_IGNORE. + * Enable/disable joystick event polling. + * + * If joystick events are disabled, you must call SDL_JoystickUpdate() + * yourself and check the state of the joystick when you want joystick + * information. + * + * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. */ extern DECLSPEC int SDLCALL SDL_JoystickEventState(int state); /** - * Get the current state of an axis control on a joystick - * - * @param[in] axis The axis indices start at index 0. - * - * @return The state is a value ranging from -32768 to 32767. + * Get the current state of an axis control on a joystick. + * + * The state is a value ranging from -32768 to 32767. + * + * The axis indices start at index 0. */ -extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis); +extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, + int axis); /** - * @name Hat Positions - * The return value of SDL_JoystickGetHat() is one of the following positions: + * \name Hat positions */ /*@{*/ #define SDL_HAT_CENTERED 0x00 @@ -149,39 +153,57 @@ extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int a #define SDL_HAT_LEFTDOWN (SDL_HAT_LEFT|SDL_HAT_DOWN) /*@}*/ -/** - * Get the current state of a POV hat on a joystick +/** + * Get the current state of a POV hat on a joystick. * - * @param[in] hat The hat indices start at index 0. + * The hat indices start at index 0. + * + * \return The return value is one of the following positions: + * - ::SDL_HAT_CENTERED + * - ::SDL_HAT_UP + * - ::SDL_HAT_RIGHT + * - ::SDL_HAT_DOWN + * - ::SDL_HAT_LEFT + * - ::SDL_HAT_RIGHTUP + * - ::SDL_HAT_RIGHTDOWN + * - ::SDL_HAT_LEFTUP + * - ::SDL_HAT_LEFTDOWN */ -extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick *joystick, int hat); +extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick, + int hat); /** - * Get the ball axis change since the last poll - * - * @param[in] ball The ball indices start at index 0. - * - * @return This returns 0, or -1 if you passed it invalid parameters. + * Get the ball axis change since the last poll. + * + * \return 0, or -1 if you passed it invalid parameters. + * + * The ball indices start at index 0. */ -extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy); +extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick, + int ball, int *dx, int *dy); /** - * Get the current state of a button on a joystick - * - * @param[in] button The button indices start at index 0. + * Get the current state of a button on a joystick. + * + * The button indices start at index 0. */ -extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick *joystick, int button); +extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, + int button); /** - * Close a joystick previously opened with SDL_JoystickOpen() + * Close a joystick previously opened with SDL_JoystickOpen(). */ -extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick *joystick); +extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_joystick_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_keyboard.h b/alienblaster/project/jni/sdl/include/SDL_keyboard.h index 7b59d24e5..4482ac028 100644 --- a/alienblaster/project/jni/sdl/include/SDL_keyboard.h +++ b/alienblaster/project/jni/sdl/include/SDL_keyboard.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,9 @@ slouken@libsdl.org */ -/** @file SDL_keyboard.h +/** + * \file SDL_keyboard.h + * * Include file for SDL keyboard event handling */ @@ -30,106 +32,139 @@ #include "SDL_stdinc.h" #include "SDL_error.h" #include "SDL_keysym.h" +#include "SDL_video.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** Keysym structure - * - * - The scancode is hardware dependent, and should not be used by general - * applications. If no hardware scancode is available, it will be 0. - * - * - The 'unicode' translated character is only available when character - * translation is enabled by the SDL_EnableUNICODE() API. If non-zero, - * this is a UNICODE character corresponding to the keypress. If the - * high 9 bits of the character are 0, then this maps to the equivalent - * ASCII character: - * @code - * char ch; - * if ( (keysym.unicode & 0xFF80) == 0 ) { - * ch = keysym.unicode & 0x7F; - * } else { - * An international character.. - * } - * @endcode +/** + * \brief The SDL keysym structure, used in key events. */ -typedef struct SDL_keysym { - Uint8 scancode; /**< hardware specific scancode */ - SDLKey sym; /**< SDL virtual keysym */ - SDLMod mod; /**< current key modifiers */ - Uint16 unicode; /**< translated character */ +typedef struct SDL_keysym +{ + SDL_scancode scancode; /**< SDL physical key code - see ::SDL_scancode for details */ + SDLKey sym; /**< SDL virtual key code - see ::SDLKey for details */ + Uint16 mod; /**< current key modifiers */ + Uint32 unicode; /**< \deprecated use SDL_TextInputEvent instead */ } SDL_keysym; -/** This is the mask which refers to all hotkey bindings */ -#define SDL_ALL_HOTKEYS 0xFFFFFFFF - /* Function prototypes */ -/** - * Enable/Disable UNICODE translation of keyboard input. - * - * This translation has some overhead, so translation defaults off. - * - * @param[in] enable - * If 'enable' is 1, translation is enabled. - * If 'enable' is 0, translation is disabled. - * If 'enable' is -1, the translation state is not changed. - * - * @return It returns the previous state of keyboard translation. - */ -extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable); - -#define SDL_DEFAULT_REPEAT_DELAY 500 -#define SDL_DEFAULT_REPEAT_INTERVAL 30 -/** - * Enable/Disable keyboard repeat. Keyboard repeat defaults to off. - * - * @param[in] delay - * 'delay' is the initial delay in ms between the time when a key is - * pressed, and keyboard repeat begins. - * - * @param[in] interval - * 'interval' is the time in ms between keyboard repeat events. - * - * If 'delay' is set to 0, keyboard repeat is disabled. - */ -extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval); -extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval); /** - * Get a snapshot of the current state of the keyboard. - * Returns an array of keystates, indexed by the SDLK_* syms. - * Usage: - * @code - * Uint8 *keystate = SDL_GetKeyState(NULL); - * if ( keystate[SDLK_RETURN] ) //... \ is pressed. - * @endcode + * \brief Get the window which currently has keyboard focus. */ -extern DECLSPEC Uint8 * SDLCALL SDL_GetKeyState(int *numkeys); +extern DECLSPEC SDL_Window * SDLCALL SDL_GetKeyboardFocus(void); /** - * Get the current key modifier state + * \brief Get a snapshot of the current state of the keyboard. + * + * \param numkeys if non-NULL, receives the length of the returned array. + * + * \return An array of key states. Indexes into this array are obtained by using ::SDL_scancode values. + * + * \b Example: + * \code + * Uint8 *state = SDL_GetKeyboardState(NULL); + * if ( state[SDL_SCANCODE_RETURN] ) { + * printf(" is pressed.\n"); + * } + * \endcode + */ +extern DECLSPEC Uint8 *SDLCALL SDL_GetKeyboardState(int *numkeys); + +/** + * \brief Get the current key modifier state for the keyboard. */ extern DECLSPEC SDLMod SDLCALL SDL_GetModState(void); /** - * Set the current key modifier state. - * This does not change the keyboard state, only the key modifier flags. + * \brief Set the current key modifier state for the keyboard. + * + * \note This does not change the keyboard state, only the key modifier flags. */ extern DECLSPEC void SDLCALL SDL_SetModState(SDLMod modstate); /** - * Get the name of an SDL virtual keysym + * \brief Get the key code corresponding to the given scancode according + * to the current keyboard layout. + * + * See ::SDLKey for details. + * + * \sa SDL_GetKeyName() */ -extern DECLSPEC char * SDLCALL SDL_GetKeyName(SDLKey key); +extern DECLSPEC SDLKey SDLCALL SDL_GetKeyFromScancode(SDL_scancode scancode); + +/** + * \brief Get the scancode corresponding to the given key code according to the + * current keyboard layout. + * + * See ::SDL_scancode for details. + * + * \sa SDL_GetScancodeName() + */ +extern DECLSPEC SDL_scancode SDLCALL SDL_GetScancodeFromKey(SDLKey key); + +/** + * \brief Get a human-readable name for a scancode. + * + * \return A pointer to a UTF-8 string that stays valid at least until the next + * call to this function. If you need it around any longer, you must + * copy it. If the scancode doesn't have a name, this function returns + * an empty string (""). + * + * \sa SDL_scancode + */ +extern DECLSPEC const char *SDLCALL SDL_GetScancodeName(SDL_scancode + scancode); + +/** + * \brief Get a human-readable name for a key. + * + * \return A pointer to a UTF-8 string that stays valid at least until the next + * call to this function. If you need it around any longer, you must + * copy it. If the key doesn't have a name, this function returns an + * empty string (""). + * + * \sa SDLKey + */ +extern DECLSPEC const char *SDLCALL SDL_GetKeyName(SDLKey key); + +/** + * \brief Start accepting Unicode text input events. + * + * \sa SDL_StopTextInput() + * \sa SDL_SetTextInputRect() + */ +extern DECLSPEC void SDLCALL SDL_StartTextInput(void); + +/** + * \brief Stop receiving any text input events. + * + * \sa SDL_StartTextInput() + */ +extern DECLSPEC void SDLCALL SDL_StopTextInput(void); + +/** + * \brief Set the rectangle used to type Unicode text inputs. + * + * \sa SDL_StartTextInput() + */ +extern DECLSPEC void SDLCALL SDL_SetTextInputRect(SDL_Rect *rect); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_keyboard_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_keysym.h b/alienblaster/project/jni/sdl/include/SDL_keysym.h index 90101286e..77ff77281 100644 --- a/alienblaster/project/jni/sdl/include/SDL_keysym.h +++ b/alienblaster/project/jni/sdl/include/SDL_keysym.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,307 +20,323 @@ slouken@libsdl.org */ +/** + * \file SDL_keysym.h + * + * Defines constants which identify keyboard keys and modifiers. + */ + #ifndef _SDL_keysym_h #define _SDL_keysym_h -/** What we really want is a mapping of every raw key on the keyboard. - * To support international keyboards, we use the range 0xA1 - 0xFF - * as international virtual keycodes. We'll follow in the footsteps of X11... - * @brief The names of the keys +#include "SDL_stdinc.h" +#include "SDL_scancode.h" + +/** + * \brief The SDL virtual key representation. + * + * Values of this type are used to represent keyboard keys using the current + * layout of the keyboard. These values include Unicode values representing + * the unmodified character that would be generated by pressing the key, or + * an SDLK_* constant for those keys that do not generate characters. */ -typedef enum { - /** @name ASCII mapped keysyms - * The keyboard syms have been cleverly chosen to map to ASCII - */ - /*@{*/ - SDLK_UNKNOWN = 0, - SDLK_FIRST = 0, - SDLK_BACKSPACE = 8, - SDLK_TAB = 9, - SDLK_CLEAR = 12, - SDLK_RETURN = 13, - SDLK_PAUSE = 19, - SDLK_ESCAPE = 27, - SDLK_SPACE = 32, - SDLK_EXCLAIM = 33, - SDLK_QUOTEDBL = 34, - SDLK_HASH = 35, - SDLK_DOLLAR = 36, - SDLK_AMPERSAND = 38, - SDLK_QUOTE = 39, - SDLK_LEFTPAREN = 40, - SDLK_RIGHTPAREN = 41, - SDLK_ASTERISK = 42, - SDLK_PLUS = 43, - SDLK_COMMA = 44, - SDLK_MINUS = 45, - SDLK_PERIOD = 46, - SDLK_SLASH = 47, - SDLK_0 = 48, - SDLK_1 = 49, - SDLK_2 = 50, - SDLK_3 = 51, - SDLK_4 = 52, - SDLK_5 = 53, - SDLK_6 = 54, - SDLK_7 = 55, - SDLK_8 = 56, - SDLK_9 = 57, - SDLK_COLON = 58, - SDLK_SEMICOLON = 59, - SDLK_LESS = 60, - SDLK_EQUALS = 61, - SDLK_GREATER = 62, - SDLK_QUESTION = 63, - SDLK_AT = 64, - /* - Skip uppercase letters - */ - SDLK_LEFTBRACKET = 91, - SDLK_BACKSLASH = 92, - SDLK_RIGHTBRACKET = 93, - SDLK_CARET = 94, - SDLK_UNDERSCORE = 95, - SDLK_BACKQUOTE = 96, - SDLK_a = 97, - SDLK_b = 98, - SDLK_c = 99, - SDLK_d = 100, - SDLK_e = 101, - SDLK_f = 102, - SDLK_g = 103, - SDLK_h = 104, - SDLK_i = 105, - SDLK_j = 106, - SDLK_k = 107, - SDLK_l = 108, - SDLK_m = 109, - SDLK_n = 110, - SDLK_o = 111, - SDLK_p = 112, - SDLK_q = 113, - SDLK_r = 114, - SDLK_s = 115, - SDLK_t = 116, - SDLK_u = 117, - SDLK_v = 118, - SDLK_w = 119, - SDLK_x = 120, - SDLK_y = 121, - SDLK_z = 122, - SDLK_DELETE = 127, - /* End of ASCII mapped keysyms */ - /*@}*/ +typedef Sint32 SDLKey; - /** @name International keyboard syms */ - /*@{*/ - SDLK_WORLD_0 = 160, /* 0xA0 */ - SDLK_WORLD_1 = 161, - SDLK_WORLD_2 = 162, - SDLK_WORLD_3 = 163, - SDLK_WORLD_4 = 164, - SDLK_WORLD_5 = 165, - SDLK_WORLD_6 = 166, - SDLK_WORLD_7 = 167, - SDLK_WORLD_8 = 168, - SDLK_WORLD_9 = 169, - SDLK_WORLD_10 = 170, - SDLK_WORLD_11 = 171, - SDLK_WORLD_12 = 172, - SDLK_WORLD_13 = 173, - SDLK_WORLD_14 = 174, - SDLK_WORLD_15 = 175, - SDLK_WORLD_16 = 176, - SDLK_WORLD_17 = 177, - SDLK_WORLD_18 = 178, - SDLK_WORLD_19 = 179, - SDLK_WORLD_20 = 180, - SDLK_WORLD_21 = 181, - SDLK_WORLD_22 = 182, - SDLK_WORLD_23 = 183, - SDLK_WORLD_24 = 184, - SDLK_WORLD_25 = 185, - SDLK_WORLD_26 = 186, - SDLK_WORLD_27 = 187, - SDLK_WORLD_28 = 188, - SDLK_WORLD_29 = 189, - SDLK_WORLD_30 = 190, - SDLK_WORLD_31 = 191, - SDLK_WORLD_32 = 192, - SDLK_WORLD_33 = 193, - SDLK_WORLD_34 = 194, - SDLK_WORLD_35 = 195, - SDLK_WORLD_36 = 196, - SDLK_WORLD_37 = 197, - SDLK_WORLD_38 = 198, - SDLK_WORLD_39 = 199, - SDLK_WORLD_40 = 200, - SDLK_WORLD_41 = 201, - SDLK_WORLD_42 = 202, - SDLK_WORLD_43 = 203, - SDLK_WORLD_44 = 204, - SDLK_WORLD_45 = 205, - SDLK_WORLD_46 = 206, - SDLK_WORLD_47 = 207, - SDLK_WORLD_48 = 208, - SDLK_WORLD_49 = 209, - SDLK_WORLD_50 = 210, - SDLK_WORLD_51 = 211, - SDLK_WORLD_52 = 212, - SDLK_WORLD_53 = 213, - SDLK_WORLD_54 = 214, - SDLK_WORLD_55 = 215, - SDLK_WORLD_56 = 216, - SDLK_WORLD_57 = 217, - SDLK_WORLD_58 = 218, - SDLK_WORLD_59 = 219, - SDLK_WORLD_60 = 220, - SDLK_WORLD_61 = 221, - SDLK_WORLD_62 = 222, - SDLK_WORLD_63 = 223, - SDLK_WORLD_64 = 224, - SDLK_WORLD_65 = 225, - SDLK_WORLD_66 = 226, - SDLK_WORLD_67 = 227, - SDLK_WORLD_68 = 228, - SDLK_WORLD_69 = 229, - SDLK_WORLD_70 = 230, - SDLK_WORLD_71 = 231, - SDLK_WORLD_72 = 232, - SDLK_WORLD_73 = 233, - SDLK_WORLD_74 = 234, - SDLK_WORLD_75 = 235, - SDLK_WORLD_76 = 236, - SDLK_WORLD_77 = 237, - SDLK_WORLD_78 = 238, - SDLK_WORLD_79 = 239, - SDLK_WORLD_80 = 240, - SDLK_WORLD_81 = 241, - SDLK_WORLD_82 = 242, - SDLK_WORLD_83 = 243, - SDLK_WORLD_84 = 244, - SDLK_WORLD_85 = 245, - SDLK_WORLD_86 = 246, - SDLK_WORLD_87 = 247, - SDLK_WORLD_88 = 248, - SDLK_WORLD_89 = 249, - SDLK_WORLD_90 = 250, - SDLK_WORLD_91 = 251, - SDLK_WORLD_92 = 252, - SDLK_WORLD_93 = 253, - SDLK_WORLD_94 = 254, - SDLK_WORLD_95 = 255, /* 0xFF */ - /*@}*/ +#define SDLK_SCANCODE_MASK (1<<30) +#define SDL_SCANCODE_TO_KEYCODE(X) (X | SDLK_SCANCODE_MASK) - /** @name Numeric keypad */ - /*@{*/ - SDLK_KP0 = 256, - SDLK_KP1 = 257, - SDLK_KP2 = 258, - SDLK_KP3 = 259, - SDLK_KP4 = 260, - SDLK_KP5 = 261, - SDLK_KP6 = 262, - SDLK_KP7 = 263, - SDLK_KP8 = 264, - SDLK_KP9 = 265, - SDLK_KP_PERIOD = 266, - SDLK_KP_DIVIDE = 267, - SDLK_KP_MULTIPLY = 268, - SDLK_KP_MINUS = 269, - SDLK_KP_PLUS = 270, - SDLK_KP_ENTER = 271, - SDLK_KP_EQUALS = 272, - /*@}*/ +enum +{ + SDLK_UNKNOWN = 0, - /** @name Arrows + Home/End pad */ - /*@{*/ - SDLK_UP = 273, - SDLK_DOWN = 274, - SDLK_RIGHT = 275, - SDLK_LEFT = 276, - SDLK_INSERT = 277, - SDLK_HOME = 278, - SDLK_END = 279, - SDLK_PAGEUP = 280, - SDLK_PAGEDOWN = 281, - /*@}*/ + SDLK_RETURN = '\r', + SDLK_ESCAPE = '\033', + SDLK_BACKSPACE = '\b', + SDLK_TAB = '\t', + SDLK_SPACE = ' ', + SDLK_EXCLAIM = '!', + SDLK_QUOTEDBL = '"', + SDLK_HASH = '#', + SDLK_PERCENT = '%', + SDLK_DOLLAR = '$', + SDLK_AMPERSAND = '&', + SDLK_QUOTE = '\'', + SDLK_LEFTPAREN = '(', + SDLK_RIGHTPAREN = ')', + SDLK_ASTERISK = '*', + SDLK_PLUS = '+', + SDLK_COMMA = ',', + SDLK_MINUS = '-', + SDLK_PERIOD = '.', + SDLK_SLASH = '/', + SDLK_0 = '0', + SDLK_1 = '1', + SDLK_2 = '2', + SDLK_3 = '3', + SDLK_4 = '4', + SDLK_5 = '5', + SDLK_6 = '6', + SDLK_7 = '7', + SDLK_8 = '8', + SDLK_9 = '9', + SDLK_COLON = ':', + SDLK_SEMICOLON = ';', + SDLK_LESS = '<', + SDLK_EQUALS = '=', + SDLK_GREATER = '>', + SDLK_QUESTION = '?', + SDLK_AT = '@', + /* + Skip uppercase letters + */ + SDLK_LEFTBRACKET = '[', + SDLK_BACKSLASH = '\\', + SDLK_RIGHTBRACKET = ']', + SDLK_CARET = '^', + SDLK_UNDERSCORE = '_', + SDLK_BACKQUOTE = '`', + SDLK_a = 'a', + SDLK_b = 'b', + SDLK_c = 'c', + SDLK_d = 'd', + SDLK_e = 'e', + SDLK_f = 'f', + SDLK_g = 'g', + SDLK_h = 'h', + SDLK_i = 'i', + SDLK_j = 'j', + SDLK_k = 'k', + SDLK_l = 'l', + SDLK_m = 'm', + SDLK_n = 'n', + SDLK_o = 'o', + SDLK_p = 'p', + SDLK_q = 'q', + SDLK_r = 'r', + SDLK_s = 's', + SDLK_t = 't', + SDLK_u = 'u', + SDLK_v = 'v', + SDLK_w = 'w', + SDLK_x = 'x', + SDLK_y = 'y', + SDLK_z = 'z', - /** @name Function keys */ - /*@{*/ - SDLK_F1 = 282, - SDLK_F2 = 283, - SDLK_F3 = 284, - SDLK_F4 = 285, - SDLK_F5 = 286, - SDLK_F6 = 287, - SDLK_F7 = 288, - SDLK_F8 = 289, - SDLK_F9 = 290, - SDLK_F10 = 291, - SDLK_F11 = 292, - SDLK_F12 = 293, - SDLK_F13 = 294, - SDLK_F14 = 295, - SDLK_F15 = 296, - /*@}*/ + SDLK_CAPSLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CAPSLOCK), - /** @name Key state modifier keys */ - /*@{*/ - SDLK_NUMLOCK = 300, - SDLK_CAPSLOCK = 301, - SDLK_SCROLLOCK = 302, - SDLK_RSHIFT = 303, - SDLK_LSHIFT = 304, - SDLK_RCTRL = 305, - SDLK_LCTRL = 306, - SDLK_RALT = 307, - SDLK_LALT = 308, - SDLK_RMETA = 309, - SDLK_LMETA = 310, - SDLK_LSUPER = 311, /**< Left "Windows" key */ - SDLK_RSUPER = 312, /**< Right "Windows" key */ - SDLK_MODE = 313, /**< "Alt Gr" key */ - SDLK_COMPOSE = 314, /**< Multi-key compose key */ - /*@}*/ + SDLK_F1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F1), + SDLK_F2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F2), + SDLK_F3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F3), + SDLK_F4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F4), + SDLK_F5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F5), + SDLK_F6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F6), + SDLK_F7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F7), + SDLK_F8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F8), + SDLK_F9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F9), + SDLK_F10 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F10), + SDLK_F11 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F11), + SDLK_F12 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F12), - /** @name Miscellaneous function keys */ - /*@{*/ - SDLK_HELP = 315, - SDLK_PRINT = 316, - SDLK_SYSREQ = 317, - SDLK_BREAK = 318, - SDLK_MENU = 319, - SDLK_POWER = 320, /**< Power Macintosh power key */ - SDLK_EURO = 321, /**< Some european keyboards */ - SDLK_UNDO = 322, /**< Atari keyboard has Undo */ - /*@}*/ + SDLK_PRINTSCREEN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRINTSCREEN), + SDLK_SCROLLLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SCROLLLOCK), + SDLK_PAUSE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAUSE), + SDLK_INSERT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_INSERT), + SDLK_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HOME), + SDLK_PAGEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEUP), + SDLK_DELETE = '\177', + SDLK_END = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_END), + SDLK_PAGEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEDOWN), + SDLK_RIGHT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RIGHT), + SDLK_LEFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LEFT), + SDLK_DOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DOWN), + SDLK_UP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UP), - /* Add any other keys here */ + SDLK_NUMLOCKCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_NUMLOCKCLEAR), + SDLK_KP_DIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DIVIDE), + SDLK_KP_MULTIPLY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MULTIPLY), + SDLK_KP_MINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MINUS), + SDLK_KP_PLUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUS), + SDLK_KP_ENTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_ENTER), + SDLK_KP_1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_1), + SDLK_KP_2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_2), + SDLK_KP_3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_3), + SDLK_KP_4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_4), + SDLK_KP_5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_5), + SDLK_KP_6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_6), + SDLK_KP_7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_7), + SDLK_KP_8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_8), + SDLK_KP_9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_9), + SDLK_KP_0 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_0), + SDLK_KP_PERIOD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERIOD), - SDLK_LAST -} SDLKey; + SDLK_APPLICATION = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APPLICATION), + SDLK_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_POWER), + SDLK_KP_EQUALS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALS), + SDLK_F13 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F13), + SDLK_F14 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F14), + SDLK_F15 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F15), + SDLK_F16 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F16), + SDLK_F17 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F17), + SDLK_F18 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F18), + SDLK_F19 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F19), + SDLK_F20 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F20), + SDLK_F21 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F21), + SDLK_F22 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F22), + SDLK_F23 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F23), + SDLK_F24 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F24), + SDLK_EXECUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXECUTE), + SDLK_HELP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HELP), + SDLK_MENU = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MENU), + SDLK_SELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SELECT), + SDLK_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_STOP), + SDLK_AGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AGAIN), + SDLK_UNDO = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UNDO), + SDLK_CUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CUT), + SDLK_COPY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COPY), + SDLK_PASTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PASTE), + SDLK_FIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_FIND), + SDLK_MUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MUTE), + SDLK_VOLUMEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEUP), + SDLK_VOLUMEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEDOWN), + SDLK_KP_COMMA = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COMMA), + SDLK_KP_EQUALSAS400 = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALSAS400), -/** Enumeration of valid key mods (possibly OR'd together) */ -typedef enum { - KMOD_NONE = 0x0000, - KMOD_LSHIFT= 0x0001, - KMOD_RSHIFT= 0x0002, - KMOD_LCTRL = 0x0040, - KMOD_RCTRL = 0x0080, - KMOD_LALT = 0x0100, - KMOD_RALT = 0x0200, - KMOD_LMETA = 0x0400, - KMOD_RMETA = 0x0800, - KMOD_NUM = 0x1000, - KMOD_CAPS = 0x2000, - KMOD_MODE = 0x4000, - KMOD_RESERVED = 0x8000 + SDLK_ALTERASE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_ALTERASE), + SDLK_SYSREQ = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SYSREQ), + SDLK_CANCEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CANCEL), + SDLK_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEAR), + SDLK_PRIOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRIOR), + SDLK_RETURN2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RETURN2), + SDLK_SEPARATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SEPARATOR), + SDLK_OUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OUT), + SDLK_OPER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OPER), + SDLK_CLEARAGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEARAGAIN), + SDLK_CRSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CRSEL), + SDLK_EXSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXSEL), + + SDLK_KP_00 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_00), + SDLK_KP_000 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_000), + SDLK_THOUSANDSSEPARATOR = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_THOUSANDSSEPARATOR), + SDLK_DECIMALSEPARATOR = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DECIMALSEPARATOR), + SDLK_CURRENCYUNIT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYUNIT), + SDLK_CURRENCYSUBUNIT = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYSUBUNIT), + SDLK_KP_LEFTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTPAREN), + SDLK_KP_RIGHTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTPAREN), + SDLK_KP_LEFTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTBRACE), + SDLK_KP_RIGHTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTBRACE), + SDLK_KP_TAB = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_TAB), + SDLK_KP_BACKSPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BACKSPACE), + SDLK_KP_A = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_A), + SDLK_KP_B = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_B), + SDLK_KP_C = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_C), + SDLK_KP_D = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_D), + SDLK_KP_E = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_E), + SDLK_KP_F = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_F), + SDLK_KP_XOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_XOR), + SDLK_KP_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_POWER), + SDLK_KP_PERCENT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERCENT), + SDLK_KP_LESS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LESS), + SDLK_KP_GREATER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_GREATER), + SDLK_KP_AMPERSAND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AMPERSAND), + SDLK_KP_DBLAMPERSAND = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DBLAMPERSAND), + SDLK_KP_VERTICALBAR = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_VERTICALBAR), + SDLK_KP_DBLVERTICALBAR = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DBLVERTICALBAR), + SDLK_KP_COLON = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COLON), + SDLK_KP_HASH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HASH), + SDLK_KP_SPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_SPACE), + SDLK_KP_AT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AT), + SDLK_KP_EXCLAM = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EXCLAM), + SDLK_KP_MEMSTORE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSTORE), + SDLK_KP_MEMRECALL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMRECALL), + SDLK_KP_MEMCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMCLEAR), + SDLK_KP_MEMADD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMADD), + SDLK_KP_MEMSUBTRACT = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSUBTRACT), + SDLK_KP_MEMMULTIPLY = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMMULTIPLY), + SDLK_KP_MEMDIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMDIVIDE), + SDLK_KP_PLUSMINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUSMINUS), + SDLK_KP_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEAR), + SDLK_KP_CLEARENTRY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEARENTRY), + SDLK_KP_BINARY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BINARY), + SDLK_KP_OCTAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_OCTAL), + SDLK_KP_DECIMAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DECIMAL), + SDLK_KP_HEXADECIMAL = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HEXADECIMAL), + + SDLK_LCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LCTRL), + SDLK_LSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LSHIFT), + SDLK_LALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LALT), + SDLK_LGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LGUI), + SDLK_RCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RCTRL), + SDLK_RSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RSHIFT), + SDLK_RALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RALT), + SDLK_RGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RGUI), + + SDLK_MODE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MODE), + + SDLK_AUDIONEXT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIONEXT), + SDLK_AUDIOPREV = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPREV), + SDLK_AUDIOSTOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOSTOP), + SDLK_AUDIOPLAY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPLAY), + SDLK_AUDIOMUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOMUTE), + SDLK_MEDIASELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MEDIASELECT), + SDLK_WWW = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_WWW), + SDLK_MAIL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MAIL), + SDLK_CALCULATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CALCULATOR), + SDLK_COMPUTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COMPUTER), + SDLK_AC_SEARCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_SEARCH), + SDLK_AC_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_HOME), + SDLK_AC_BACK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BACK), + SDLK_AC_FORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_FORWARD), + SDLK_AC_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_STOP), + SDLK_AC_REFRESH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_REFRESH), + SDLK_AC_BOOKMARKS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BOOKMARKS), + + SDLK_BRIGHTNESSDOWN = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSDOWN), + SDLK_BRIGHTNESSUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSUP), + SDLK_DISPLAYSWITCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DISPLAYSWITCH), + SDLK_KBDILLUMTOGGLE = + SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMTOGGLE), + SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN), + SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP), + SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT), + SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP) +}; + +/** + * \brief Enumeration of valid key mods (possibly OR'd together). + */ +typedef enum +{ + KMOD_NONE = 0x0000, + KMOD_LSHIFT = 0x0001, + KMOD_RSHIFT = 0x0002, + KMOD_LCTRL = 0x0040, + KMOD_RCTRL = 0x0080, + KMOD_LALT = 0x0100, + KMOD_RALT = 0x0200, + KMOD_LGUI = 0x0400, + KMOD_RGUI = 0x0800, + KMOD_NUM = 0x1000, + KMOD_CAPS = 0x2000, + KMOD_MODE = 0x4000, + KMOD_RESERVED = 0x8000 } SDLMod; #define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL) #define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT) #define KMOD_ALT (KMOD_LALT|KMOD_RALT) -#define KMOD_META (KMOD_LMETA|KMOD_RMETA) +#define KMOD_GUI (KMOD_LGUI|KMOD_RGUI) #endif /* _SDL_keysym_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_loadso.h b/alienblaster/project/jni/sdl/include/SDL_loadso.h index 45a17f9f4..f22d8dd7f 100644 --- a/alienblaster/project/jni/sdl/include/SDL_loadso.h +++ b/alienblaster/project/jni/sdl/include/SDL_loadso.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,26 +20,25 @@ slouken@libsdl.org */ -/** @file SDL_loadso.h +/** + * \file SDL_loadso.h + * * System dependent library loading routines - */ - -/** @file SDL_loadso.h + * * Some things to keep in mind: - * - These functions only work on C function names. Other languages may - * have name mangling and intrinsic language support that varies from - * compiler to compiler. - * - Make sure you declare your function pointers with the same calling - * convention as the actual library function. Your code will crash - * mysteriously if you do not do this. - * - Avoid namespace collisions. If you load a symbol from the library, - * it is not defined whether or not it goes into the global symbol - * namespace for the application. If it does and it conflicts with - * symbols in your code or other shared libraries, you will not get - * the results you expect. :) + * \li These functions only work on C function names. Other languages may + * have name mangling and intrinsic language support that varies from + * compiler to compiler. + * \li Make sure you declare your function pointers with the same calling + * convention as the actual library function. Your code will crash + * mysteriously if you do not do this. + * \li Avoid namespace collisions. If you load a symbol from the library, + * it is not defined whether or not it goes into the global symbol + * namespace for the application. If it does and it conflicts with + * symbols in your code or other shared libraries, you will not get + * the results you expect. :) */ - #ifndef _SDL_loadso_h #define _SDL_loadso_h @@ -49,30 +48,39 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif /** - * This function dynamically loads a shared object and returns a pointer - * to the object handle (or NULL if there was an error). - * The 'sofile' parameter is a system dependent name of the object file. + * This function dynamically loads a shared object and returns a pointer + * to the object handle (or NULL if there was an error). + * The 'sofile' parameter is a system dependent name of the object file. */ -extern DECLSPEC void * SDLCALL SDL_LoadObject(const char *sofile); +extern DECLSPEC void *SDLCALL SDL_LoadObject(const char *sofile); /** - * Given an object handle, this function looks up the address of the - * named function in the shared object and returns it. This address - * is no longer valid after calling SDL_UnloadObject(). + * Given an object handle, this function looks up the address of the + * named function in the shared object and returns it. This address + * is no longer valid after calling SDL_UnloadObject(). */ -extern DECLSPEC void * SDLCALL SDL_LoadFunction(void *handle, const char *name); +extern DECLSPEC void *SDLCALL SDL_LoadFunction(void *handle, + const char *name); -/** Unload a shared object from memory */ +/** + * Unload a shared object from memory. + */ extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_loadso_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_main.h b/alienblaster/project/jni/sdl/include/SDL_main.h index b7f6b2c82..803aa0fb4 100644 --- a/alienblaster/project/jni/sdl/include/SDL_main.h +++ b/alienblaster/project/jni/sdl/include/SDL_main.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -25,14 +25,15 @@ #include "SDL_stdinc.h" -/** @file SDL_main.h - * Redefine main() on Win32 and MacOS so that it is called by winmain.c +/** + * \file SDL_main.h + * + * Redefine main() on some platforms so that it is called by SDL. */ #if defined(__WIN32__) || \ (defined(__MWERKS__) && !defined(__BEOS__)) || \ - defined(__MACOS__) || defined(__MACOSX__) || \ - defined(__SYMBIAN32__) || defined(QWS) + defined(__SYMBIAN32__) || defined(__IPHONEOS__) #ifdef __cplusplus #define C_LINKAGE "C" @@ -40,67 +41,56 @@ #define C_LINKAGE #endif /* __cplusplus */ -/** The application's main() function must be called with C linkage, +/** + * \file SDL_main.h + * + * The application's main() function must be called with C linkage, * and should be declared like this: - * @code - * #ifdef __cplusplus - * extern "C" - * #endif - * int main(int argc, char *argv[]) - * { - * } - * @endcode + * \code + * #ifdef __cplusplus + * extern "C" + * #endif + * int main(int argc, char *argv[]) + * { + * } + * \endcode */ + #define main SDL_main -/** The prototype for the application's main() function */ +/** + * The prototype for the application's main() function + */ extern C_LINKAGE int SDL_main(int argc, char *argv[]); -/** @name From the SDL library code -- needed for registering the app on Win32 */ -/*@{*/ +/* From the SDL library code -- needed for registering the app on Win32 */ #ifdef __WIN32__ #include "begin_code.h" #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** This should be called from your WinMain() function, if any */ -extern DECLSPEC void SDLCALL SDL_SetModuleHandle(void *hInst); -/** This can also be called, but is no longer necessary */ -extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst); -/** This can also be called, but is no longer necessary (SDL_Quit calls it) */ +/** + * This can be called to set the application class at startup + */ +extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, + void *hInst); extern DECLSPEC void SDLCALL SDL_UnregisterApp(void); + #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif -/*@}*/ - -/** @name From the SDL library code -- needed for registering QuickDraw on MacOS */ -/*@{*/ -#if defined(__MACOS__) - -#include "begin_code.h" -#ifdef __cplusplus -extern "C" { -#endif - -/** Forward declaration so we don't need to include QuickDraw.h */ -struct QDGlobals; - -/** This should be called from your main() function, if any */ -extern DECLSPEC void SDLCALL SDL_InitQuickDraw(struct QDGlobals *the_qd); - -#ifdef __cplusplus -} -#endif -#include "close_code.h" -#endif -/*@}*/ #endif /* Need to redefine main()? */ #endif /* _SDL_main_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_mouse.h b/alienblaster/project/jni/sdl/include/SDL_mouse.h index a573f04ee..cb3cd9ccf 100644 --- a/alienblaster/project/jni/sdl/include/SDL_mouse.h +++ b/alienblaster/project/jni/sdl/include/SDL_mouse.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,26 @@ slouken@libsdl.org */ -/** @file SDL_mouse.h - * Include file for SDL mouse event handling +/** + * \file SDL_mouse.h + * + * Include file for SDL mouse event handling. + * + * Please note that this ONLY discusses "mice" with the notion of the + * desktop GUI. You (usually) have one system cursor, and the OS hides + * the hardware details from you. If you plug in 10 mice, all ten move that + * one cursor. For many applications and games, this is perfect, and this + * API has served hundreds of SDL programs well since its birth. + * + * It's not the whole picture, though. If you want more lowlevel control, + * SDL offers a different API, that gives you visibility into each input + * device, multi-touch interfaces, etc. + * + * Those two APIs are incompatible, and you usually should not use both + * at the same time. But for legacy purposes, this API refers to a "mouse" + * when it actually means the system pointer and not a physical mouse. + * + * The other API is in SDL_input.h */ #ifndef _SDL_mouse_h @@ -34,110 +52,154 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -typedef struct WMcursor WMcursor; /**< Implementation dependent */ -typedef struct SDL_Cursor { - SDL_Rect area; /**< The area of the mouse cursor */ - Sint16 hot_x, hot_y; /**< The "tip" of the cursor */ - Uint8 *data; /**< B/W cursor data */ - Uint8 *mask; /**< B/W cursor mask */ - Uint8 *save[2]; /**< Place to save cursor area */ - WMcursor *wm_cursor; /**< Window-manager cursor */ -} SDL_Cursor; +typedef struct SDL_Cursor SDL_Cursor; /* Implementation dependent */ + /* Function prototypes */ + /** - * Retrieve the current state of the mouse. - * The current button state is returned as a button bitmask, which can - * be tested using the SDL_BUTTON(X) macros, and x and y are set to the - * current mouse cursor position. You can pass NULL for either x or y. + * \brief Get the window which currently has mouse focus. + */ +extern DECLSPEC SDL_Window * SDLCALL SDL_GetMouseFocus(void); + +/** + * \brief Retrieve the current state of the mouse. + * + * The current button state is returned as a button bitmask, which can + * be tested using the SDL_BUTTON(X) macros, and x and y are set to the + * mouse cursor position relative to the focus window for the currently + * selected mouse. You can pass NULL for either x or y. */ extern DECLSPEC Uint8 SDLCALL SDL_GetMouseState(int *x, int *y); /** - * Retrieve the current state of the mouse. - * The current button state is returned as a button bitmask, which can - * be tested using the SDL_BUTTON(X) macros, and x and y are set to the - * mouse deltas since the last call to SDL_GetRelativeMouseState(). + * \brief Retrieve the relative state of the mouse. + * + * The current button state is returned as a button bitmask, which can + * be tested using the SDL_BUTTON(X) macros, and x and y are set to the + * mouse deltas since the last call to SDL_GetRelativeMouseState(). */ extern DECLSPEC Uint8 SDLCALL SDL_GetRelativeMouseState(int *x, int *y); /** - * Set the position of the mouse cursor (generates a mouse motion event) + * \brief Moves the mouse to the given position within the window. + * + * \param window The window to move the mouse into, or NULL for the current mouse focus + * \param x The x coordinate within the window + * \param y The y coordinate within the window + * + * \note This function generates a mouse motion event */ -extern DECLSPEC void SDLCALL SDL_WarpMouse(Uint16 x, Uint16 y); +extern DECLSPEC void SDLCALL SDL_WarpMouseInWindow(SDL_Window * window, + int x, int y); /** - * Create a cursor using the specified data and mask (in MSB format). - * The cursor width must be a multiple of 8 bits. + * \brief Set relative mouse mode. + * + * \param enabled Whether or not to enable relative mode * - * The cursor is created in black and white according to the following: - * data mask resulting pixel on screen - * 0 1 White - * 1 1 Black - * 0 0 Transparent - * 1 0 Inverted color if possible, black if not. - * - * Cursors created with this function must be freed with SDL_FreeCursor(). + * \return 0 on success, or -1 if relative mode is not supported. + * + * While the mouse is in relative mode, the cursor is hidden, and the + * driver will try to report continuous motion in the current window. + * Only relative motion events will be delivered, the mouse position + * will not change. + * + * \note This function will flush any pending mouse motion. + * + * \sa SDL_GetRelativeMouseMode() */ -extern DECLSPEC SDL_Cursor * SDLCALL SDL_CreateCursor - (Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y); +extern DECLSPEC int SDLCALL SDL_SetRelativeMouseMode(SDL_bool enabled); /** - * Set the currently active cursor to the specified one. - * If the cursor is currently visible, the change will be immediately - * represented on the display. + * \brief Query whether relative mouse mode is enabled. + * + * \sa SDL_SetRelativeMouseMode() */ -extern DECLSPEC void SDLCALL SDL_SetCursor(SDL_Cursor *cursor); +extern DECLSPEC SDL_bool SDLCALL SDL_GetRelativeMouseMode(void); /** - * Returns the currently active cursor. + * \brief Create a cursor, using the specified bitmap data and + * mask (in MSB format). + * + * The cursor width must be a multiple of 8 bits. + * + * The cursor is created in black and white according to the following: + * + * + * + * + * + * + *
data mask resulting pixel on screen
0 1 White
1 1 Black
0 0 Transparent
1 0 Inverted color if possible, black + * if not.
+ * + * \sa SDL_FreeCursor() */ -extern DECLSPEC SDL_Cursor * SDLCALL SDL_GetCursor(void); +extern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateCursor(const Uint8 * data, + const Uint8 * mask, + int w, int h, int hot_x, + int hot_y); /** - * Deallocates a cursor created with SDL_CreateCursor(). + * \brief Set the active cursor. */ -extern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor *cursor); +extern DECLSPEC void SDLCALL SDL_SetCursor(SDL_Cursor * cursor); /** - * Toggle whether or not the cursor is shown on the screen. - * The cursor start off displayed, but can be turned off. - * SDL_ShowCursor() returns 1 if the cursor was being displayed - * before the call, or 0 if it was not. You can query the current - * state by passing a 'toggle' value of -1. + * \brief Return the active cursor. + */ +extern DECLSPEC SDL_Cursor *SDLCALL SDL_GetCursor(void); + +/** + * \brief Frees a cursor created with SDL_CreateCursor(). + * + * \sa SDL_CreateCursor() + */ +extern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor * cursor); + +/** + * \brief Toggle whether or not the cursor is shown. + * + * \param toggle 1 to show the cursor, 0 to hide it, -1 to query the current + * state. + * + * \return 1 if the cursor is shown, or 0 if the cursor is hidden. */ extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle); -/*@{*/ -/** Used as a mask when testing buttons in buttonstate - * Button 1: Left mouse button - * Button 2: Middle mouse button - * Button 3: Right mouse button - * Button 4: Mouse wheel up (may also be a real button) - * Button 5: Mouse wheel down (may also be a real button) +/** + * Used as a mask when testing buttons in buttonstate. + * - Button 1: Left mouse button + * - Button 2: Middle mouse button + * - Button 3: Right mouse button */ #define SDL_BUTTON(X) (1 << ((X)-1)) #define SDL_BUTTON_LEFT 1 #define SDL_BUTTON_MIDDLE 2 #define SDL_BUTTON_RIGHT 3 -#define SDL_BUTTON_WHEELUP 4 -#define SDL_BUTTON_WHEELDOWN 5 -#define SDL_BUTTON_X1 6 -#define SDL_BUTTON_X2 7 +#define SDL_BUTTON_X1 4 +#define SDL_BUTTON_X2 5 #define SDL_BUTTON_LMASK SDL_BUTTON(SDL_BUTTON_LEFT) #define SDL_BUTTON_MMASK SDL_BUTTON(SDL_BUTTON_MIDDLE) #define SDL_BUTTON_RMASK SDL_BUTTON(SDL_BUTTON_RIGHT) #define SDL_BUTTON_X1MASK SDL_BUTTON(SDL_BUTTON_X1) #define SDL_BUTTON_X2MASK SDL_BUTTON(SDL_BUTTON_X2) -/*@}*/ + /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_mouse_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_mutex.h b/alienblaster/project/jni/sdl/include/SDL_mutex.h index 920971dfa..dcafbb7e2 100644 --- a/alienblaster/project/jni/sdl/include/SDL_mutex.h +++ b/alienblaster/project/jni/sdl/include/SDL_mutex.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -23,10 +23,10 @@ #ifndef _SDL_mutex_h #define _SDL_mutex_h -/** @file SDL_mutex.h - * Functions to provide thread synchronization primitives - * - * @note These are independent of the other SDL routines. +/** + * \file SDL_mutex.h + * + * Functions to provide thread synchronization primitives. */ #include "SDL_stdinc.h" @@ -35,143 +35,189 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** Synchronization functions which can time out return this value +/** + * Synchronization functions which can time out return this value * if they time out. */ #define SDL_MUTEX_TIMEDOUT 1 -/** This is the timeout value which corresponds to never time out */ +/** + * This is the timeout value which corresponds to never time out. + */ #define SDL_MUTEX_MAXWAIT (~(Uint32)0) -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/** @name Mutex functions */ /*@{*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/** + * \name Mutex functions + */ +/*@{*/ -/** The SDL mutex structure, defined in SDL_mutex.c */ +/* The SDL mutex structure, defined in SDL_mutex.c */ struct SDL_mutex; typedef struct SDL_mutex SDL_mutex; -/** Create a mutex, initialized unlocked */ -extern DECLSPEC SDL_mutex * SDLCALL SDL_CreateMutex(void); +/** + * Create a mutex, initialized unlocked. + */ +extern DECLSPEC SDL_mutex *SDLCALL SDL_CreateMutex(void); +/** + * Lock the mutex. + * + * \return 0, or -1 on error. + */ #define SDL_LockMutex(m) SDL_mutexP(m) -/** Lock the mutex - * @return 0, or -1 on error - */ -extern DECLSPEC int SDLCALL SDL_mutexP(SDL_mutex *mutex); +extern DECLSPEC int SDLCALL SDL_mutexP(SDL_mutex * mutex); +/** + * Unlock the mutex. + * + * \return 0, or -1 on error. + * + * \warning It is an error to unlock a mutex that has not been locked by + * the current thread, and doing so results in undefined behavior. + */ #define SDL_UnlockMutex(m) SDL_mutexV(m) -/** Unlock the mutex - * @return 0, or -1 on error - * - * It is an error to unlock a mutex that has not been locked by - * the current thread, and doing so results in undefined behavior. +extern DECLSPEC int SDLCALL SDL_mutexV(SDL_mutex * mutex); + +/** + * Destroy a mutex. */ -extern DECLSPEC int SDLCALL SDL_mutexV(SDL_mutex *mutex); +extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex * mutex); -/** Destroy a mutex */ -extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex *mutex); +/*@}*//*Mutex functions*/ -/*@}*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/** @name Semaphore functions */ /*@{*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/** + * \name Semaphore functions + */ +/*@{*/ -/** The SDL semaphore structure, defined in SDL_sem.c */ +/* The SDL semaphore structure, defined in SDL_sem.c */ struct SDL_semaphore; typedef struct SDL_semaphore SDL_sem; -/** Create a semaphore, initialized with value, returns NULL on failure. */ -extern DECLSPEC SDL_sem * SDLCALL SDL_CreateSemaphore(Uint32 initial_value); - -/** Destroy a semaphore */ -extern DECLSPEC void SDLCALL SDL_DestroySemaphore(SDL_sem *sem); +/** + * Create a semaphore, initialized with value, returns NULL on failure. + */ +extern DECLSPEC SDL_sem *SDLCALL SDL_CreateSemaphore(Uint32 initial_value); /** - * This function suspends the calling thread until the semaphore pointed - * to by sem has a positive count. It then atomically decreases the semaphore - * count. + * Destroy a semaphore. */ -extern DECLSPEC int SDLCALL SDL_SemWait(SDL_sem *sem); +extern DECLSPEC void SDLCALL SDL_DestroySemaphore(SDL_sem * sem); -/** Non-blocking variant of SDL_SemWait(). - * @return 0 if the wait succeeds, - * SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error. +/** + * This function suspends the calling thread until the semaphore pointed + * to by \c sem has a positive count. It then atomically decreases the + * semaphore count. */ -extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem *sem); +extern DECLSPEC int SDLCALL SDL_SemWait(SDL_sem * sem); -/** Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if - * the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in - * the allotted time, and -1 on error. - * - * On some platforms this function is implemented by looping with a delay - * of 1 ms, and so should be avoided if possible. +/** + * Non-blocking variant of SDL_SemWait(). + * + * \return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait would + * block, and -1 on error. */ -extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 ms); +extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem); -/** Atomically increases the semaphore's count (not blocking). - * @return 0, or -1 on error. +/** + * Variant of SDL_SemWait() with a timeout in milliseconds. + * + * \return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not + * succeed in the allotted time, and -1 on error. + * + * \warning On some platforms this function is implemented by looping with a + * delay of 1 ms, and so should be avoided if possible. */ -extern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem *sem); +extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem * sem, Uint32 ms); -/** Returns the current count of the semaphore */ -extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem *sem); +/** + * Atomically increases the semaphore's count (not blocking). + * + * \return 0, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem * sem); -/*@}*/ +/** + * Returns the current count of the semaphore. + */ +extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem * sem); -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/** @name Condition_variable_functions */ /*@{*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +/*@}*//*Semaphore functions*/ + +/** + * \name Condition variable functions + */ /*@{*/ -/** The SDL condition variable structure, defined in SDL_cond.c */ + +/* The SDL condition variable structure, defined in SDL_cond.c */ struct SDL_cond; typedef struct SDL_cond SDL_cond; -/*@}*/ -/** Create a condition variable */ -extern DECLSPEC SDL_cond * SDLCALL SDL_CreateCond(void); - -/** Destroy a condition variable */ -extern DECLSPEC void SDLCALL SDL_DestroyCond(SDL_cond *cond); - -/** Restart one of the threads that are waiting on the condition variable, - * @return 0 or -1 on error. +/** + * Create a condition variable. */ -extern DECLSPEC int SDLCALL SDL_CondSignal(SDL_cond *cond); +extern DECLSPEC SDL_cond *SDLCALL SDL_CreateCond(void); -/** Restart all threads that are waiting on the condition variable, - * @return 0 or -1 on error. +/** + * Destroy a condition variable. */ -extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond *cond); +extern DECLSPEC void SDLCALL SDL_DestroyCond(SDL_cond * cond); -/** Wait on the condition variable, unlocking the provided mutex. - * The mutex must be locked before entering this function! +/** + * Restart one of the threads that are waiting on the condition variable. + * + * \return 0 or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_CondSignal(SDL_cond * cond); + +/** + * Restart all threads that are waiting on the condition variable. + * \return 0 or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond * cond); + +/** + * Wait on the condition variable, unlocking the provided mutex. + * + * \warning The mutex must be locked before entering this function! + * * The mutex is re-locked once the condition variable is signaled. - * @return 0 when it is signaled, or -1 on error. + * + * \return 0 when it is signaled, or -1 on error. */ -extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond *cond, SDL_mutex *mut); +extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond * cond, SDL_mutex * mut); -/** Waits for at most 'ms' milliseconds, and returns 0 if the condition - * variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not +/** + * Waits for at most \c ms milliseconds, and returns 0 if the condition + * variable is signaled, ::SDL_MUTEX_TIMEDOUT if the condition is not * signaled in the allotted time, and -1 on error. - * On some platforms this function is implemented by looping with a delay - * of 1 ms, and so should be avoided if possible. + * + * \warning On some platforms this function is implemented by looping with a + * delay of 1 ms, and so should be avoided if possible. */ -extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms); +extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond * cond, + SDL_mutex * mutex, Uint32 ms); + +/*@}*//*Condition variable functions*/ -/*@}*/ /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_mutex_h */ +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_opengl.h b/alienblaster/project/jni/sdl/include/SDL_opengl.h index 667bb3f54..771ccfea7 100644 --- a/alienblaster/project/jni/sdl/include/SDL_opengl.h +++ b/alienblaster/project/jni/sdl/include/SDL_opengl.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,47 +20,59 @@ slouken@libsdl.org */ -/** @file SDL_opengl.h - * This is a simple file to encapsulate the OpenGL API headers +/** + * \file SDL_opengl.h + * + * This is a simple file to encapsulate the OpenGL API headers. */ +#ifndef _SDL_opengl_h +#define _SDL_opengl_h + #include "SDL_config.h" #ifdef __WIN32__ #define WIN32_LEAN_AND_MEAN #ifndef NOMINMAX -#define NOMINMAX /* Don't defined min() and max() */ +#define NOMINMAX /* Don't defined min() and max() */ #endif #include #endif #ifndef NO_SDL_GLEXT -#define __glext_h_ /* Don't let gl.h include glext.h */ +#define __glext_h_ /* Don't let gl.h include glext.h */ #endif #if defined(__MACOSX__) -#include /* Header File For The OpenGL Library */ -#include /* Header File For The GLU Library */ -#elif defined(__MACOS__) -#include /* Header File For The OpenGL Library */ -#include /* Header File For The GLU Library */ -#elif defined(ANDROID) -#include /* Header File For The OpenGL Library */ -#include /* No GLU on Android */ +#include /* Header File For The OpenGL Library */ +#include /* Header File For The GLU Library */ +#define __X_GL_H #else -#include /* Header File For The OpenGL Library */ -#include /* Header File For The GLU Library */ +#include /* Header File For The OpenGL Library */ +#include /* Header File For The GLU Library */ #endif #ifndef NO_SDL_GLEXT #undef __glext_h_ #endif -/** @name GLext.h - * This file taken from "GLext.h" from the Jeff Molofee OpenGL tutorials. - * It is included here because glext.h is not available on some systems. - * If you don't want this version included, simply define "NO_SDL_GLEXT" +/** + * \file SDL_opengl.h + * + * This file is included because glext.h is not available on some systems. + * If you don't want this version included, simply define ::NO_SDL_GLEXT. + * + * The latest version is available from: + * http://www.opengl.org/registry/ */ -/*@{*/ -#ifndef NO_SDL_GLEXT -#if !defined(__glext_h_) && !defined(GL_GLEXT_LEGACY) + +/** + * \def NO_SDL_GLEXT + * + * Define this if you have your own version of glext.h and want to disable the + * version included in SDL_opengl.h. + */ + +#if !defined(NO_SDL_GLEXT) && !defined(GL_GLEXT_LEGACY) +/* *INDENT-OFF* */ +#ifndef __glext_h_ #define __glext_h_ #ifdef __cplusplus @@ -68,34 +80,35 @@ extern "C" { #endif /* -** License Applicability. Except to the extent portions of this file are -** made subject to an alternative license as permitted in the SGI Free -** Software License B, Version 1.1 (the "License"), the contents of this -** file are subject only to the provisions of the License. You may not use -** this file except in compliance with the License. You may obtain a copy -** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 -** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +** Copyright (c) 2007-2009 The Khronos Group Inc. ** -** http://oss.sgi.com/projects/FreeB +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: ** -** Note that, as provided in the License, the Software is distributed on an -** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS -** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND -** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A -** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. ** -** Original Code. The Original Code is: OpenGL Sample Implementation, -** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, -** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc. -** Copyright in any portions created by third parties is as indicated -** elsewhere herein. All Rights Reserved. -** -** Additional Notice Provisions: This software was created using the -** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has -** not been independently verified as being compliant with the OpenGL(R) -** version 1.2.1 Specification. +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ +/* Header file version number, required by OpenGL ABI for Linux */ +/* glext.h last updated $Date$ */ +/* Current version at http://www.opengl.org/registry/ */ +#define GL_GLEXT_VERSION 54 + +/* Function declaration macros - to move into glplatform.h */ + #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) #define WIN32_LEAN_AND_MEAN 1 #include @@ -113,18 +126,12 @@ extern "C" { /*************************************************************/ -/* Header file version number, required by OpenGL ABI for Linux */ -/* glext.h last updated 2005/06/20 */ -/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ -#define GL_GLEXT_VERSION 29 - #ifndef GL_VERSION_1_2 #define GL_UNSIGNED_BYTE_3_3_2 0x8032 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_INT_8_8_8_8 0x8035 #define GL_UNSIGNED_INT_10_10_10_2 0x8036 -#define GL_RESCALE_NORMAL 0x803A #define GL_TEXTURE_BINDING_3D 0x806A #define GL_PACK_SKIP_IMAGES 0x806B #define GL_PACK_IMAGE_HEIGHT 0x806C @@ -151,17 +158,21 @@ extern "C" { #define GL_TEXTURE_MAX_LOD 0x813B #define GL_TEXTURE_BASE_LEVEL 0x813C #define GL_TEXTURE_MAX_LEVEL 0x813D -#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 -#define GL_SINGLE_COLOR 0x81F9 -#define GL_SEPARATE_SPECULAR_COLOR 0x81FA #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 -#define GL_ALIASED_POINT_SIZE_RANGE 0x846D #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E #endif +#ifndef GL_VERSION_1_2_DEPRECATED +#define GL_RESCALE_NORMAL 0x803A +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#define GL_SINGLE_COLOR 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR 0x81FA +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#endif + #ifndef GL_ARB_imaging #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 @@ -174,6 +185,9 @@ extern "C" { #define GL_BLEND_EQUATION 0x8009 #define GL_FUNC_SUBTRACT 0x800A #define GL_FUNC_REVERSE_SUBTRACT 0x800B +#endif + +#ifndef GL_ARB_imaging_DEPRECATED #define GL_CONVOLUTION_1D 0x8010 #define GL_CONVOLUTION_2D 0x8011 #define GL_SEPARABLE_2D 0x8012 @@ -274,12 +288,6 @@ extern "C" { #define GL_TEXTURE30 0x84DE #define GL_TEXTURE31 0x84DF #define GL_ACTIVE_TEXTURE 0x84E0 -#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 -#define GL_MAX_TEXTURE_UNITS 0x84E2 -#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 -#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 -#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 -#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 #define GL_MULTISAMPLE 0x809D #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E #define GL_SAMPLE_ALPHA_TO_ONE 0x809F @@ -288,9 +296,6 @@ extern "C" { #define GL_SAMPLES 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA #define GL_SAMPLE_COVERAGE_INVERT 0x80AB -#define GL_MULTISAMPLE_BIT 0x20000000 -#define GL_NORMAL_MAP 0x8511 -#define GL_REFLECTION_MAP 0x8512 #define GL_TEXTURE_CUBE_MAP 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 @@ -301,10 +306,6 @@ extern "C" { #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C -#define GL_COMPRESSED_ALPHA 0x84E9 -#define GL_COMPRESSED_LUMINANCE 0x84EA -#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB -#define GL_COMPRESSED_INTENSITY 0x84EC #define GL_COMPRESSED_RGB 0x84ED #define GL_COMPRESSED_RGBA 0x84EE #define GL_TEXTURE_COMPRESSION_HINT 0x84EF @@ -313,6 +314,22 @@ extern "C" { #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 #define GL_CLAMP_TO_BORDER 0x812D +#endif + +#ifndef GL_VERSION_1_3_DEPRECATED +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 +#define GL_MULTISAMPLE_BIT 0x20000000 +#define GL_NORMAL_MAP 0x8511 +#define GL_REFLECTION_MAP 0x8512 +#define GL_COMPRESSED_ALPHA 0x84E9 +#define GL_COMPRESSED_LUMINANCE 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB +#define GL_COMPRESSED_INTENSITY 0x84EC #define GL_COMBINE 0x8570 #define GL_COMBINE_RGB 0x8571 #define GL_COMBINE_ALPHA 0x8572 @@ -344,16 +361,26 @@ extern "C" { #define GL_BLEND_SRC_RGB 0x80C9 #define GL_BLEND_DST_ALPHA 0x80CA #define GL_BLEND_SRC_ALPHA 0x80CB -#define GL_POINT_SIZE_MIN 0x8126 -#define GL_POINT_SIZE_MAX 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 -#define GL_POINT_DISTANCE_ATTENUATION 0x8129 -#define GL_GENERATE_MIPMAP 0x8191 -#define GL_GENERATE_MIPMAP_HINT 0x8192 #define GL_DEPTH_COMPONENT16 0x81A5 #define GL_DEPTH_COMPONENT24 0x81A6 #define GL_DEPTH_COMPONENT32 0x81A7 #define GL_MIRRORED_REPEAT 0x8370 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#endif + +#ifndef GL_VERSION_1_4_DEPRECATED +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_GENERATE_MIPMAP 0x8191 +#define GL_GENERATE_MIPMAP_HINT 0x8192 #define GL_FOG_COORDINATE_SOURCE 0x8450 #define GL_FOG_COORDINATE 0x8451 #define GL_FRAGMENT_DEPTH 0x8452 @@ -369,15 +396,8 @@ extern "C" { #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D #define GL_SECONDARY_COLOR_ARRAY 0x845E -#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD #define GL_TEXTURE_FILTER_CONTROL 0x8500 -#define GL_TEXTURE_LOD_BIAS 0x8501 -#define GL_INCR_WRAP 0x8507 -#define GL_DECR_WRAP 0x8508 -#define GL_TEXTURE_DEPTH_SIZE 0x884A #define GL_DEPTH_TEXTURE_MODE 0x884B -#define GL_TEXTURE_COMPARE_MODE 0x884C -#define GL_TEXTURE_COMPARE_FUNC 0x884D #define GL_COMPARE_R_TO_TEXTURE 0x884E #endif @@ -392,15 +412,6 @@ extern "C" { #define GL_ELEMENT_ARRAY_BUFFER 0x8893 #define GL_ARRAY_BUFFER_BINDING 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 -#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 -#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 -#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 -#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 -#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A -#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B -#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C -#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D -#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F #define GL_READ_ONLY 0x88B8 #define GL_WRITE_ONLY 0x88B9 @@ -418,31 +429,42 @@ extern "C" { #define GL_DYNAMIC_READ 0x88E9 #define GL_DYNAMIC_COPY 0x88EA #define GL_SAMPLES_PASSED 0x8914 -#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE -#define GL_FOG_COORD GL_FOG_COORDINATE -#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE -#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE -#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE -#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER -#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY -#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING -#define GL_SRC0_RGB GL_SOURCE0_RGB -#define GL_SRC1_RGB GL_SOURCE1_RGB -#define GL_SRC2_RGB GL_SOURCE2_RGB -#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA -#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA -#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA +#endif + +#ifndef GL_VERSION_1_5_DEPRECATED +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E +#define GL_FOG_COORD_SRC 0x8450 +#define GL_FOG_COORD 0x8451 +#define GL_CURRENT_FOG_COORD 0x8453 +#define GL_FOG_COORD_ARRAY_TYPE 0x8454 +#define GL_FOG_COORD_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORD_ARRAY_POINTER 0x8456 +#define GL_FOG_COORD_ARRAY 0x8457 +#define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D +#define GL_SRC0_RGB 0x8580 +#define GL_SRC1_RGB 0x8581 +#define GL_SRC2_RGB 0x8582 +#define GL_SRC0_ALPHA 0x8588 +#define GL_SRC1_ALPHA 0x8589 +#define GL_SRC2_ALPHA 0x858A #endif #ifndef GL_VERSION_2_0 -#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION +#define GL_BLEND_EQUATION_RGB 0x8009 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 #define GL_CURRENT_VERTEX_ATTRIB 0x8626 #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 -#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 #define GL_STENCIL_BACK_FUNC 0x8800 #define GL_STENCIL_BACK_FAIL 0x8801 @@ -466,11 +488,8 @@ extern "C" { #define GL_DRAW_BUFFER14 0x8833 #define GL_DRAW_BUFFER15 0x8834 #define GL_BLEND_EQUATION_ALPHA 0x883D -#define GL_POINT_SPRITE 0x8861 -#define GL_COORD_REPLACE 0x8862 #define GL_MAX_VERTEX_ATTRIBS 0x8869 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_MAX_TEXTURE_COORDS 0x8871 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 #define GL_FRAGMENT_SHADER 0x8B30 #define GL_VERTEX_SHADER 0x8B31 @@ -521,6 +540,427 @@ extern "C" { #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 #endif +#ifndef GL_VERSION_2_0_DEPRECATED +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_TEXTURE_COORDS 0x8871 +#endif + +#ifndef GL_VERSION_2_1 +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#endif + +#ifndef GL_VERSION_2_1_DEPRECATED +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B +#endif + +#ifndef GL_VERSION_3_0 +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_DEPTH_BUFFER 0x8223 +#define GL_STENCIL_BUFFER 0x8224 +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +/* Reuse tokens from ARB_depth_buffer_float */ +/* reuse GL_DEPTH_COMPONENT32F */ +/* reuse GL_DEPTH32F_STENCIL8 */ +/* reuse GL_FLOAT_32_UNSIGNED_INT_24_8_REV */ +/* Reuse tokens from ARB_framebuffer_object */ +/* reuse GL_INVALID_FRAMEBUFFER_OPERATION */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ +/* reuse GL_FRAMEBUFFER_DEFAULT */ +/* reuse GL_FRAMEBUFFER_UNDEFINED */ +/* reuse GL_DEPTH_STENCIL_ATTACHMENT */ +/* reuse GL_INDEX */ +/* reuse GL_MAX_RENDERBUFFER_SIZE */ +/* reuse GL_DEPTH_STENCIL */ +/* reuse GL_UNSIGNED_INT_24_8 */ +/* reuse GL_DEPTH24_STENCIL8 */ +/* reuse GL_TEXTURE_STENCIL_SIZE */ +/* reuse GL_TEXTURE_RED_TYPE */ +/* reuse GL_TEXTURE_GREEN_TYPE */ +/* reuse GL_TEXTURE_BLUE_TYPE */ +/* reuse GL_TEXTURE_ALPHA_TYPE */ +/* reuse GL_TEXTURE_DEPTH_TYPE */ +/* reuse GL_UNSIGNED_NORMALIZED */ +/* reuse GL_FRAMEBUFFER_BINDING */ +/* reuse GL_DRAW_FRAMEBUFFER_BINDING */ +/* reuse GL_RENDERBUFFER_BINDING */ +/* reuse GL_READ_FRAMEBUFFER */ +/* reuse GL_DRAW_FRAMEBUFFER */ +/* reuse GL_READ_FRAMEBUFFER_BINDING */ +/* reuse GL_RENDERBUFFER_SAMPLES */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ +/* reuse GL_FRAMEBUFFER_COMPLETE */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ +/* reuse GL_FRAMEBUFFER_UNSUPPORTED */ +/* reuse GL_MAX_COLOR_ATTACHMENTS */ +/* reuse GL_COLOR_ATTACHMENT0 */ +/* reuse GL_COLOR_ATTACHMENT1 */ +/* reuse GL_COLOR_ATTACHMENT2 */ +/* reuse GL_COLOR_ATTACHMENT3 */ +/* reuse GL_COLOR_ATTACHMENT4 */ +/* reuse GL_COLOR_ATTACHMENT5 */ +/* reuse GL_COLOR_ATTACHMENT6 */ +/* reuse GL_COLOR_ATTACHMENT7 */ +/* reuse GL_COLOR_ATTACHMENT8 */ +/* reuse GL_COLOR_ATTACHMENT9 */ +/* reuse GL_COLOR_ATTACHMENT10 */ +/* reuse GL_COLOR_ATTACHMENT11 */ +/* reuse GL_COLOR_ATTACHMENT12 */ +/* reuse GL_COLOR_ATTACHMENT13 */ +/* reuse GL_COLOR_ATTACHMENT14 */ +/* reuse GL_COLOR_ATTACHMENT15 */ +/* reuse GL_DEPTH_ATTACHMENT */ +/* reuse GL_STENCIL_ATTACHMENT */ +/* reuse GL_FRAMEBUFFER */ +/* reuse GL_RENDERBUFFER */ +/* reuse GL_RENDERBUFFER_WIDTH */ +/* reuse GL_RENDERBUFFER_HEIGHT */ +/* reuse GL_RENDERBUFFER_INTERNAL_FORMAT */ +/* reuse GL_STENCIL_INDEX1 */ +/* reuse GL_STENCIL_INDEX4 */ +/* reuse GL_STENCIL_INDEX8 */ +/* reuse GL_STENCIL_INDEX16 */ +/* reuse GL_RENDERBUFFER_RED_SIZE */ +/* reuse GL_RENDERBUFFER_GREEN_SIZE */ +/* reuse GL_RENDERBUFFER_BLUE_SIZE */ +/* reuse GL_RENDERBUFFER_ALPHA_SIZE */ +/* reuse GL_RENDERBUFFER_DEPTH_SIZE */ +/* reuse GL_RENDERBUFFER_STENCIL_SIZE */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ +/* reuse GL_MAX_SAMPLES */ +/* Reuse tokens from ARB_framebuffer_sRGB */ +/* reuse GL_FRAMEBUFFER_SRGB */ +/* Reuse tokens from ARB_half_float_vertex */ +/* reuse GL_HALF_FLOAT */ +/* Reuse tokens from ARB_map_buffer_range */ +/* reuse GL_MAP_READ_BIT */ +/* reuse GL_MAP_WRITE_BIT */ +/* reuse GL_MAP_INVALIDATE_RANGE_BIT */ +/* reuse GL_MAP_INVALIDATE_BUFFER_BIT */ +/* reuse GL_MAP_FLUSH_EXPLICIT_BIT */ +/* reuse GL_MAP_UNSYNCHRONIZED_BIT */ +/* Reuse tokens from ARB_texture_compression_rgtc */ +/* reuse GL_COMPRESSED_RED_RGTC1 */ +/* reuse GL_COMPRESSED_SIGNED_RED_RGTC1 */ +/* reuse GL_COMPRESSED_RG_RGTC2 */ +/* reuse GL_COMPRESSED_SIGNED_RG_RGTC2 */ +/* Reuse tokens from ARB_texture_rg */ +/* reuse GL_RG */ +/* reuse GL_RG_INTEGER */ +/* reuse GL_R8 */ +/* reuse GL_R16 */ +/* reuse GL_RG8 */ +/* reuse GL_RG16 */ +/* reuse GL_R16F */ +/* reuse GL_R32F */ +/* reuse GL_RG16F */ +/* reuse GL_RG32F */ +/* reuse GL_R8I */ +/* reuse GL_R8UI */ +/* reuse GL_R16I */ +/* reuse GL_R16UI */ +/* reuse GL_R32I */ +/* reuse GL_R32UI */ +/* reuse GL_RG8I */ +/* reuse GL_RG8UI */ +/* reuse GL_RG16I */ +/* reuse GL_RG16UI */ +/* reuse GL_RG32I */ +/* reuse GL_RG32UI */ +/* Reuse tokens from ARB_vertex_array_object */ +/* reuse GL_VERTEX_ARRAY_BINDING */ +#endif + +#ifndef GL_VERSION_3_0_DEPRECATED +#define GL_CLAMP_VERTEX_COLOR 0x891A +#define GL_CLAMP_FRAGMENT_COLOR 0x891B +#define GL_ALPHA_INTEGER 0x8D97 +/* Reuse tokens from ARB_framebuffer_object */ +/* reuse GL_TEXTURE_LUMINANCE_TYPE */ +/* reuse GL_TEXTURE_INTENSITY_TYPE */ +#endif + +#ifndef GL_VERSION_3_1 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +/* Reuse tokens from ARB_copy_buffer */ +/* reuse GL_COPY_READ_BUFFER */ +/* reuse GL_COPY_WRITE_BUFFER */ +/* Would reuse tokens from ARB_draw_instanced, but it has none */ +/* Reuse tokens from ARB_uniform_buffer_object */ +/* reuse GL_UNIFORM_BUFFER */ +/* reuse GL_UNIFORM_BUFFER_BINDING */ +/* reuse GL_UNIFORM_BUFFER_START */ +/* reuse GL_UNIFORM_BUFFER_SIZE */ +/* reuse GL_MAX_VERTEX_UNIFORM_BLOCKS */ +/* reuse GL_MAX_FRAGMENT_UNIFORM_BLOCKS */ +/* reuse GL_MAX_COMBINED_UNIFORM_BLOCKS */ +/* reuse GL_MAX_UNIFORM_BUFFER_BINDINGS */ +/* reuse GL_MAX_UNIFORM_BLOCK_SIZE */ +/* reuse GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS */ +/* reuse GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS */ +/* reuse GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT */ +/* reuse GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */ +/* reuse GL_ACTIVE_UNIFORM_BLOCKS */ +/* reuse GL_UNIFORM_TYPE */ +/* reuse GL_UNIFORM_SIZE */ +/* reuse GL_UNIFORM_NAME_LENGTH */ +/* reuse GL_UNIFORM_BLOCK_INDEX */ +/* reuse GL_UNIFORM_OFFSET */ +/* reuse GL_UNIFORM_ARRAY_STRIDE */ +/* reuse GL_UNIFORM_MATRIX_STRIDE */ +/* reuse GL_UNIFORM_IS_ROW_MAJOR */ +/* reuse GL_UNIFORM_BLOCK_BINDING */ +/* reuse GL_UNIFORM_BLOCK_DATA_SIZE */ +/* reuse GL_UNIFORM_BLOCK_NAME_LENGTH */ +/* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS */ +/* reuse GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES */ +/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER */ +/* reuse GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER */ +/* reuse GL_INVALID_INDEX */ +#endif + +#ifndef GL_VERSION_3_2 +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +/* reuse GL_MAX_VARYING_COMPONENTS */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ +/* Reuse tokens from ARB_depth_clamp */ +/* reuse GL_DEPTH_CLAMP */ +/* Would reuse tokens from ARB_draw_elements_base_vertex, but it has none */ +/* Would reuse tokens from ARB_fragment_coord_conventions, but it has none */ +/* Reuse tokens from ARB_provoking_vertex */ +/* reuse GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ +/* reuse GL_FIRST_VERTEX_CONVENTION */ +/* reuse GL_LAST_VERTEX_CONVENTION */ +/* reuse GL_PROVOKING_VERTEX */ +/* Reuse tokens from ARB_seamless_cube_map */ +/* reuse GL_TEXTURE_CUBE_MAP_SEAMLESS */ +/* Reuse tokens from ARB_sync */ +/* reuse GL_MAX_SERVER_WAIT_TIMEOUT */ +/* reuse GL_OBJECT_TYPE */ +/* reuse GL_SYNC_CONDITION */ +/* reuse GL_SYNC_STATUS */ +/* reuse GL_SYNC_FLAGS */ +/* reuse GL_SYNC_FENCE */ +/* reuse GL_SYNC_GPU_COMMANDS_COMPLETE */ +/* reuse GL_UNSIGNALED */ +/* reuse GL_SIGNALED */ +/* reuse GL_ALREADY_SIGNALED */ +/* reuse GL_TIMEOUT_EXPIRED */ +/* reuse GL_CONDITION_SATISFIED */ +/* reuse GL_WAIT_FAILED */ +/* reuse GL_TIMEOUT_IGNORED */ +/* reuse GL_SYNC_FLUSH_COMMANDS_BIT */ +/* reuse GL_TIMEOUT_IGNORED */ +/* Reuse tokens from ARB_texture_multisample */ +/* reuse GL_SAMPLE_POSITION */ +/* reuse GL_SAMPLE_MASK */ +/* reuse GL_SAMPLE_MASK_VALUE */ +/* reuse GL_MAX_SAMPLE_MASK_WORDS */ +/* reuse GL_TEXTURE_2D_MULTISAMPLE */ +/* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE */ +/* reuse GL_TEXTURE_2D_MULTISAMPLE_ARRAY */ +/* reuse GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY */ +/* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE */ +/* reuse GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY */ +/* reuse GL_TEXTURE_SAMPLES */ +/* reuse GL_TEXTURE_FIXED_SAMPLE_LOCATIONS */ +/* reuse GL_SAMPLER_2D_MULTISAMPLE */ +/* reuse GL_INT_SAMPLER_2D_MULTISAMPLE */ +/* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE */ +/* reuse GL_SAMPLER_2D_MULTISAMPLE_ARRAY */ +/* reuse GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */ +/* reuse GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY */ +/* reuse GL_MAX_COLOR_TEXTURE_SAMPLES */ +/* reuse GL_MAX_DEPTH_TEXTURE_SAMPLES */ +/* reuse GL_MAX_INTEGER_SAMPLES */ +/* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ +#endif + #ifndef GL_ARB_multitexture #define GL_TEXTURE0_ARB 0x84C0 #define GL_TEXTURE1_ARB 0x84C1 @@ -1016,6 +1456,331 @@ extern "C" { #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF #endif +#ifndef GL_ARB_depth_buffer_float +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#endif + +#ifndef GL_ARB_draw_instanced +#endif + +#ifndef GL_ARB_framebuffer_object +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#endif + +#ifndef GL_ARB_framebuffer_object_DEPRECATED +#define GL_INDEX 0x8222 +#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 +#endif + +#ifndef GL_ARB_framebuffer_sRGB +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#endif + +#ifndef GL_ARB_geometry_shader4 +#define GL_LINES_ADJACENCY_ARB 0x000A +#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B +#define GL_TRIANGLES_ADJACENCY_ARB 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 +/* reuse GL_MAX_VARYING_COMPONENTS */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ +#endif + +#ifndef GL_ARB_half_float_vertex +#define GL_HALF_FLOAT 0x140B +#endif + +#ifndef GL_ARB_instanced_arrays +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE +#endif + +#ifndef GL_ARB_map_buffer_range +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#endif + +#ifndef GL_ARB_texture_buffer_object +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E +#endif + +#ifndef GL_ARB_texture_compression_rgtc +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#endif + +#ifndef GL_ARB_texture_rg +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#endif + +#ifndef GL_ARB_vertex_array_object +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +#endif + +#ifndef GL_ARB_uniform_buffer_object +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFFu +#endif + +#ifndef GL_ARB_compatibility +/* ARB_compatibility just defines tokens from core 3.0 */ +#endif + +#ifndef GL_ARB_copy_buffer +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#endif + +#ifndef GL_ARB_shader_texture_lod +#endif + +#ifndef GL_ARB_depth_clamp +#define GL_DEPTH_CLAMP 0x864F +#endif + +#ifndef GL_ARB_draw_elements_base_vertex +#endif + +#ifndef GL_ARB_fragment_coord_conventions +#endif + +#ifndef GL_ARB_provoking_vertex +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F +#endif + +#ifndef GL_ARB_seamless_cube_map +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#endif + +#ifndef GL_ARB_sync +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull +#endif + +#ifndef GL_ARB_texture_multisample +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 +#endif + +#ifndef GL_ARB_vertex_array_bgra +/* reuse GL_BGRA */ +#endif + +#ifndef GL_ARB_draw_buffers_blend +#endif + +#ifndef GL_ARB_sample_shading +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#endif + +#ifndef GL_ARB_texture_cube_map_array +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F +#endif + +#ifndef GL_ARB_texture_gather +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F +#endif + +#ifndef GL_ARB_texture_query_lod +#endif + #ifndef GL_EXT_abgr #define GL_ABGR_EXT 0x8000 #endif @@ -3001,7 +3766,7 @@ extern "C" { #endif #ifndef GL_EXT_blend_equation_separate -#define GL_BLEND_EQUATION_RGB_EXT GL_BLEND_EQUATION +#define GL_BLEND_EQUATION_RGB_EXT 0x8009 #define GL_BLEND_EQUATION_ALPHA_EXT 0x883D #endif @@ -3055,7 +3820,6 @@ extern "C" { #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB @@ -3100,13 +3864,534 @@ extern "C" { #ifndef GL_GREMEDY_string_marker #endif +#ifndef GL_EXT_packed_depth_stencil +#define GL_DEPTH_STENCIL_EXT 0x84F9 +#define GL_UNSIGNED_INT_24_8_EXT 0x84FA +#define GL_DEPTH24_STENCIL8_EXT 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 +#endif + +#ifndef GL_EXT_stencil_clear_tag +#define GL_STENCIL_TAG_BITS_EXT 0x88F2 +#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 +#endif + +#ifndef GL_EXT_texture_sRGB +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB8_EXT 0x8C41 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 +#define GL_SLUMINANCE_EXT 0x8C46 +#define GL_SLUMINANCE8_EXT 0x8C47 +#define GL_COMPRESSED_SRGB_EXT 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 +#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +#endif + +#ifndef GL_EXT_framebuffer_blit +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT +#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA +#endif + +#ifndef GL_EXT_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 +#endif + +#ifndef GL_MESAX_texture_stack +#define GL_TEXTURE_1D_STACK_MESAX 0x8759 +#define GL_TEXTURE_2D_STACK_MESAX 0x875A +#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B +#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C +#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D +#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E +#endif + +#ifndef GL_EXT_timer_query +#define GL_TIME_ELAPSED_EXT 0x88BF +#endif + +#ifndef GL_EXT_gpu_program_parameters +#endif + +#ifndef GL_APPLE_flush_buffer_range +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 +#endif + +#ifndef GL_NV_gpu_program4 +#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 +#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 +#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 +#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 +#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 +#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 +#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 +#endif + +#ifndef GL_NV_geometry_program4 +#define GL_LINES_ADJACENCY_EXT 0x000A +#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B +#define GL_TRIANGLES_ADJACENCY_EXT 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D +#define GL_GEOMETRY_PROGRAM_NV 0x8C26 +#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 +#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 +#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 +#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 +#endif + +#ifndef GL_EXT_geometry_shader4 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +/* reuse GL_GEOMETRY_VERTICES_OUT_EXT */ +/* reuse GL_GEOMETRY_INPUT_TYPE_EXT */ +/* reuse GL_GEOMETRY_OUTPUT_TYPE_EXT */ +/* reuse GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT */ +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE +#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 +/* reuse GL_LINES_ADJACENCY_EXT */ +/* reuse GL_LINE_STRIP_ADJACENCY_EXT */ +/* reuse GL_TRIANGLES_ADJACENCY_EXT */ +/* reuse GL_TRIANGLE_STRIP_ADJACENCY_EXT */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT */ +/* reuse GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT */ +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ +/* reuse GL_PROGRAM_POINT_SIZE_EXT */ +#endif + +#ifndef GL_NV_vertex_program4 +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD +#endif + +#ifndef GL_EXT_gpu_shader4 +#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 +#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 +#define GL_SAMPLER_BUFFER_EXT 0x8DC2 +#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 +#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 +#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 +#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 +#define GL_INT_SAMPLER_1D_EXT 0x8DC9 +#define GL_INT_SAMPLER_2D_EXT 0x8DCA +#define GL_INT_SAMPLER_3D_EXT 0x8DCB +#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC +#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD +#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF +#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 +#endif + +#ifndef GL_EXT_draw_instanced +#endif + +#ifndef GL_EXT_packed_float +#define GL_R11F_G11F_B10F_EXT 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B +#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C +#endif + +#ifndef GL_EXT_texture_array +#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 +#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D +#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF +#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E +/* reuse GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ +#endif + +#ifndef GL_EXT_texture_buffer_object +#define GL_TEXTURE_BUFFER_EXT 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E +#endif + +#ifndef GL_EXT_texture_compression_latc +#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 +#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 +#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 +#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 +#endif + +#ifndef GL_EXT_texture_compression_rgtc +#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC +#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD +#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE +#endif + +#ifndef GL_EXT_texture_shared_exponent +#define GL_RGB9_E5_EXT 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E +#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F +#endif + +#ifndef GL_NV_depth_buffer_float +#define GL_DEPTH_COMPONENT32F_NV 0x8DAB +#define GL_DEPTH32F_STENCIL8_NV 0x8DAC +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD +#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF +#endif + +#ifndef GL_NV_fragment_program4 +#endif + +#ifndef GL_NV_framebuffer_multisample_coverage +#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB +#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 +#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 +#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 +#endif + +#ifndef GL_EXT_framebuffer_sRGB +#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 +#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA +#endif + +#ifndef GL_NV_geometry_shader4 +#endif + +#ifndef GL_NV_parameter_buffer_object +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 +#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 +#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 +#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 +#endif + +#ifndef GL_EXT_draw_buffers2 +#endif + +#ifndef GL_NV_transform_feedback +#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 +#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 +#define GL_TEXTURE_COORD_NV 0x8C79 +#define GL_CLIP_DISTANCE_NV 0x8C7A +#define GL_VERTEX_ID_NV 0x8C7B +#define GL_PRIMITIVE_ID_NV 0x8C7C +#define GL_GENERIC_ATTRIB_NV 0x8C7D +#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 +#define GL_ACTIVE_VARYINGS_NV 0x8C81 +#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 +#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 +#define GL_PRIMITIVES_GENERATED_NV 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 +#define GL_RASTERIZER_DISCARD_NV 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C +#define GL_SEPARATE_ATTRIBS_NV 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F +#endif + +#ifndef GL_EXT_bindable_uniform +#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 +#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 +#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 +#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED +#define GL_UNIFORM_BUFFER_EXT 0x8DEE +#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF +#endif + +#ifndef GL_EXT_texture_integer +#define GL_RGBA32UI_EXT 0x8D70 +#define GL_RGB32UI_EXT 0x8D71 +#define GL_ALPHA32UI_EXT 0x8D72 +#define GL_INTENSITY32UI_EXT 0x8D73 +#define GL_LUMINANCE32UI_EXT 0x8D74 +#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 +#define GL_RGBA16UI_EXT 0x8D76 +#define GL_RGB16UI_EXT 0x8D77 +#define GL_ALPHA16UI_EXT 0x8D78 +#define GL_INTENSITY16UI_EXT 0x8D79 +#define GL_LUMINANCE16UI_EXT 0x8D7A +#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B +#define GL_RGBA8UI_EXT 0x8D7C +#define GL_RGB8UI_EXT 0x8D7D +#define GL_ALPHA8UI_EXT 0x8D7E +#define GL_INTENSITY8UI_EXT 0x8D7F +#define GL_LUMINANCE8UI_EXT 0x8D80 +#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 +#define GL_RGBA32I_EXT 0x8D82 +#define GL_RGB32I_EXT 0x8D83 +#define GL_ALPHA32I_EXT 0x8D84 +#define GL_INTENSITY32I_EXT 0x8D85 +#define GL_LUMINANCE32I_EXT 0x8D86 +#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 +#define GL_RGBA16I_EXT 0x8D88 +#define GL_RGB16I_EXT 0x8D89 +#define GL_ALPHA16I_EXT 0x8D8A +#define GL_INTENSITY16I_EXT 0x8D8B +#define GL_LUMINANCE16I_EXT 0x8D8C +#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D +#define GL_RGBA8I_EXT 0x8D8E +#define GL_RGB8I_EXT 0x8D8F +#define GL_ALPHA8I_EXT 0x8D90 +#define GL_INTENSITY8I_EXT 0x8D91 +#define GL_LUMINANCE8I_EXT 0x8D92 +#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 +#define GL_RED_INTEGER_EXT 0x8D94 +#define GL_GREEN_INTEGER_EXT 0x8D95 +#define GL_BLUE_INTEGER_EXT 0x8D96 +#define GL_ALPHA_INTEGER_EXT 0x8D97 +#define GL_RGB_INTEGER_EXT 0x8D98 +#define GL_RGBA_INTEGER_EXT 0x8D99 +#define GL_BGR_INTEGER_EXT 0x8D9A +#define GL_BGRA_INTEGER_EXT 0x8D9B +#define GL_LUMINANCE_INTEGER_EXT 0x8D9C +#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D +#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E +#endif + +#ifndef GL_GREMEDY_frame_terminator +#endif + +#ifndef GL_NV_conditional_render +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 +#endif + +#ifndef GL_NV_present_video +#define GL_FRAME_NV 0x8E26 +#define GL_FIELDS_NV 0x8E27 +#define GL_CURRENT_TIME_NV 0x8E28 +#define GL_NUM_FILL_STREAMS_NV 0x8E29 +#define GL_PRESENT_TIME_NV 0x8E2A +#define GL_PRESENT_DURATION_NV 0x8E2B +#endif + +#ifndef GL_EXT_transform_feedback +#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F +#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C +#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 +#define GL_RASTERIZER_DISCARD_EXT 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 +#endif + +#ifndef GL_EXT_direct_state_access +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F +#endif + +#ifndef GL_EXT_vertex_array_bgra +/* reuse GL_BGRA */ +#endif + +#ifndef GL_EXT_texture_swizzle +#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 +#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 +#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 +#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 +#endif + +#ifndef GL_NV_explicit_multisample +#define GL_SAMPLE_POSITION_NV 0x8E50 +#define GL_SAMPLE_MASK_NV 0x8E51 +#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 +#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 +#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 +#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 +#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 +#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 +#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 +#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 +#endif + +#ifndef GL_NV_transform_feedback2 +#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 +#endif + +#ifndef GL_ATI_meminfo +#define GL_VBO_FREE_MEMORY_ATI 0x87FB +#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC +#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD +#endif + +#ifndef GL_AMD_performance_monitor +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 +#endif + +#ifndef GL_AMD_texture_texture4 +#endif + +#ifndef GL_AMD_vertex_shader_tesselator +#define GL_SAMPLER_BUFFER_AMD 0x9001 +#define GL_INT_SAMPLER_BUFFER_AMD 0x9002 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 +#define GL_TESSELLATION_MODE_AMD 0x9004 +#define GL_TESSELLATION_FACTOR_AMD 0x9005 +#define GL_DISCRETE_AMD 0x9006 +#define GL_CONTINUOUS_AMD 0x9007 +#endif + +#ifndef GL_EXT_provoking_vertex +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_PROVOKING_VERTEX_EXT 0x8E4F +#endif + +#ifndef GL_EXT_texture_snorm +#define GL_ALPHA_SNORM 0x9010 +#define GL_LUMINANCE_SNORM 0x9011 +#define GL_LUMINANCE_ALPHA_SNORM 0x9012 +#define GL_INTENSITY_SNORM 0x9013 +#define GL_ALPHA8_SNORM 0x9014 +#define GL_LUMINANCE8_SNORM 0x9015 +#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 +#define GL_INTENSITY8_SNORM 0x9017 +#define GL_ALPHA16_SNORM 0x9018 +#define GL_LUMINANCE16_SNORM 0x9019 +#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A +#define GL_INTENSITY16_SNORM 0x901B +/* reuse GL_R_SNORM */ +/* reuse GL_RG_SNORM */ +/* reuse GL_RGB_SNORM */ +/* reuse GL_RGBA_SNORM */ +/* reuse GL_R8_SNORM */ +/* reuse GL_RG8_SNORM */ +/* reuse GL_RGB8_SNORM */ +/* reuse GL_RGBA8_SNORM */ +/* reuse GL_R16_SNORM */ +/* reuse GL_RG16_SNORM */ +/* reuse GL_RGB16_SNORM */ +/* reuse GL_RGBA16_SNORM */ +/* reuse GL_SIGNED_NORMALIZED */ +#endif + +#ifndef GL_AMD_draw_buffers_blend +#endif + +#ifndef GL_APPLE_texture_range +#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 +#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 +#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC +#define GL_STORAGE_PRIVATE_APPLE 0x85BD +/* reuse GL_STORAGE_CACHED_APPLE */ +/* reuse GL_STORAGE_SHARED_APPLE */ +#endif + +#ifndef GL_APPLE_float_pixels +#define GL_HALF_APPLE 0x140B +#define GL_RGBA_FLOAT32_APPLE 0x8814 +#define GL_RGB_FLOAT32_APPLE 0x8815 +#define GL_ALPHA_FLOAT32_APPLE 0x8816 +#define GL_INTENSITY_FLOAT32_APPLE 0x8817 +#define GL_LUMINANCE_FLOAT32_APPLE 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 +#define GL_RGBA_FLOAT16_APPLE 0x881A +#define GL_RGB_FLOAT16_APPLE 0x881B +#define GL_ALPHA_FLOAT16_APPLE 0x881C +#define GL_INTENSITY_FLOAT16_APPLE 0x881D +#define GL_LUMINANCE_FLOAT16_APPLE 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F +#define GL_COLOR_FLOAT_APPLE 0x8A0F +#endif + +#ifndef GL_APPLE_vertex_program_evaluators +#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 +#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 +#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 +#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 +#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 +#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 +#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 +#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 +#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 +#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 +#endif + +#ifndef GL_APPLE_aux_depth_stencil +#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 +#endif + +#ifndef GL_APPLE_object_purgeable +#define GL_BUFFER_OBJECT_APPLE 0x85B3 +#define GL_RELEASED_APPLE 0x8A19 +#define GL_VOLATILE_APPLE 0x8A1A +#define GL_RETAINED_APPLE 0x8A1B +#define GL_UNDEFINED_APPLE 0x8A1C +#define GL_PURGEABLE_APPLE 0x8A1D +#endif + +#ifndef GL_APPLE_row_bytes +#define GL_PACK_ROW_BYTES_APPLE 0x8A15 +#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 +#endif + /*************************************************************/ #include #ifndef GL_VERSION_2_0 /* GL type for program/shader text */ -typedef char GLchar; /* native character */ +typedef char GLchar; #endif #ifndef GL_VERSION_1_5 @@ -3122,12 +4407,12 @@ typedef ptrdiff_t GLsizeiptrARB; #endif #ifndef GL_ARB_shader_objects -/* GL types for handling shader object handles and program/shader text */ -typedef char GLcharARB; /* native character */ -typedef unsigned int GLhandleARB; /* shader object handle */ +/* GL types for program/shader text and shader object handles */ +typedef char GLcharARB; +typedef unsigned int GLhandleARB; #endif -/* GL types for "half" precision (s10e5) float data in host memory */ +/* GL type for "half" precision (s10e5) float data in host memory */ #ifndef GL_ARB_half_float_pixel typedef unsigned short GLhalfARB; #endif @@ -3136,12 +4421,76 @@ typedef unsigned short GLhalfARB; typedef unsigned short GLhalfNV; #endif +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glxext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) || defined(__digital__) +#include +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) || defined(__sgi) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && (defined(__GNUC__) || defined(__WATCOMC__)) +#include +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include +#endif +#endif + +#ifndef GL_EXT_timer_query +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +#endif + +#ifndef ARB_sync +typedef int64_t GLint64; +typedef uint64_t GLuint64; +typedef struct __GLsync *GLsync; +#endif + #ifndef GL_VERSION_1_2 #define GL_VERSION_1_2 1 #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf); GLAPI void APIENTRY glBlendEquation (GLenum); GLAPI void APIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *); +GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +#endif + +#ifndef GL_VERSION_1_2_DEPRECATED +#define GL_VERSION_1_2_DEPRECATED 1 +#ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glColorTable (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *); GLAPI void APIENTRY glColorTableParameterfv (GLenum, GLenum, const GLfloat *); GLAPI void APIENTRY glColorTableParameteriv (GLenum, GLenum, const GLint *); @@ -3174,13 +4523,7 @@ GLAPI void APIENTRY glHistogram (GLenum, GLsizei, GLenum, GLboolean); GLAPI void APIENTRY glMinmax (GLenum, GLenum, GLboolean); GLAPI void APIENTRY glResetHistogram (GLenum); GLAPI void APIENTRY glResetMinmax (GLenum); -GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); -GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); -GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); #endif /* GL_GLEXT_PROTOTYPES */ -typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); -typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); typedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); @@ -3213,15 +4556,35 @@ typedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenu typedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target); typedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target); -typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); -typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); -typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); #endif #ifndef GL_VERSION_1_3 #define GL_VERSION_1_3 1 #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glActiveTexture (GLenum); +GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean); +GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, GLvoid *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture); +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img); +#endif + +#ifndef GL_VERSION_1_3_DEPRECATED +#define GL_VERSION_1_3_DEPRECATED 1 +#ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glClientActiveTexture (GLenum); GLAPI void APIENTRY glMultiTexCoord1d (GLenum, GLdouble); GLAPI void APIENTRY glMultiTexCoord1dv (GLenum, const GLdouble *); @@ -3259,16 +4622,7 @@ GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *); GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *); GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *); GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *); -GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean); -GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); -GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); -GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *); -GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); -GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); -GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *); -GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, GLvoid *); #endif /* GL_GLEXT_PROTOTYPES */ -typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture); typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v); @@ -3306,31 +4660,36 @@ typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m); typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m); typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m); typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m); -typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img); #endif #ifndef GL_VERSION_1_4 #define GL_VERSION_1_4 1 #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum); -GLAPI void APIENTRY glFogCoordf (GLfloat); -GLAPI void APIENTRY glFogCoordfv (const GLfloat *); -GLAPI void APIENTRY glFogCoordd (GLdouble); -GLAPI void APIENTRY glFogCoorddv (const GLdouble *); -GLAPI void APIENTRY glFogCoordPointer (GLenum, GLsizei, const GLvoid *); GLAPI void APIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei); GLAPI void APIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); GLAPI void APIENTRY glPointParameterf (GLenum, GLfloat); GLAPI void APIENTRY glPointParameterfv (GLenum, const GLfloat *); GLAPI void APIENTRY glPointParameteri (GLenum, GLint); GLAPI void APIENTRY glPointParameteriv (GLenum, const GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); +#endif + +#ifndef GL_VERSION_1_4_DEPRECATED +#define GL_VERSION_1_4_DEPRECATED 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFogCoordf (GLfloat); +GLAPI void APIENTRY glFogCoordfv (const GLfloat *); +GLAPI void APIENTRY glFogCoordd (GLdouble); +GLAPI void APIENTRY glFogCoorddv (const GLdouble *); +GLAPI void APIENTRY glFogCoordPointer (GLenum, GLsizei, const GLvoid *); GLAPI void APIENTRY glSecondaryColor3b (GLbyte, GLbyte, GLbyte); GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *); GLAPI void APIENTRY glSecondaryColor3d (GLdouble, GLdouble, GLdouble); @@ -3365,18 +4724,11 @@ GLAPI void APIENTRY glWindowPos3iv (const GLint *); GLAPI void APIENTRY glWindowPos3s (GLshort, GLshort, GLshort); GLAPI void APIENTRY glWindowPos3sv (const GLshort *); #endif /* GL_GLEXT_PROTOTYPES */ -typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord); typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord); typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord); typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord); typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); -typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); -typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); -typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); -typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); -typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); -typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); @@ -3648,6 +5000,188 @@ typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); #endif +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniformMatrix2x3fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3x2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix2x4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4x2fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix3x4fv (GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glUniformMatrix4x3fv (GLint, GLsizei, GLboolean, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#endif + +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 +/* OpenGL 3.0 also reuses entry points from these extensions: */ +/* ARB_framebuffer_object */ +/* ARB_map_buffer_range */ +/* ARB_vertex_array_object */ +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorMaski (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +GLAPI void APIENTRY glGetBooleani_v (GLenum, GLuint, GLboolean *); +GLAPI void APIENTRY glGetIntegeri_v (GLenum, GLuint, GLint *); +GLAPI void APIENTRY glEnablei (GLenum, GLuint); +GLAPI void APIENTRY glDisablei (GLenum, GLuint); +GLAPI GLboolean APIENTRY glIsEnabledi (GLenum, GLuint); +GLAPI void APIENTRY glBeginTransformFeedback (GLenum); +GLAPI void APIENTRY glEndTransformFeedback (void); +GLAPI void APIENTRY glBindBufferRange (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +GLAPI void APIENTRY glBindBufferBase (GLenum, GLuint, GLuint); +GLAPI void APIENTRY glTransformFeedbackVaryings (GLuint, GLsizei, const GLchar* *, GLenum); +GLAPI void APIENTRY glGetTransformFeedbackVarying (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); +GLAPI void APIENTRY glClampColor (GLenum, GLenum); +GLAPI void APIENTRY glBeginConditionalRender (GLuint, GLenum); +GLAPI void APIENTRY glEndConditionalRender (void); +GLAPI void APIENTRY glVertexAttribIPointer (GLuint, GLint, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetVertexAttribIiv (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribIuiv (GLuint, GLenum, GLuint *); +GLAPI void APIENTRY glVertexAttribI1i (GLuint, GLint); +GLAPI void APIENTRY glVertexAttribI2i (GLuint, GLint, GLint); +GLAPI void APIENTRY glVertexAttribI3i (GLuint, GLint, GLint, GLint); +GLAPI void APIENTRY glVertexAttribI4i (GLuint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glVertexAttribI1ui (GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI2ui (GLuint, GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI3ui (GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI4ui (GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI1iv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI2iv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI3iv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI4iv (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI1uiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI2uiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI3uiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI4uiv (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI4bv (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttribI4sv (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttribI4ubv (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttribI4usv (GLuint, const GLushort *); +GLAPI void APIENTRY glGetUniformuiv (GLuint, GLint, GLuint *); +GLAPI void APIENTRY glBindFragDataLocation (GLuint, GLuint, const GLchar *); +GLAPI GLint APIENTRY glGetFragDataLocation (GLuint, const GLchar *); +GLAPI void APIENTRY glUniform1ui (GLint, GLuint); +GLAPI void APIENTRY glUniform2ui (GLint, GLuint, GLuint); +GLAPI void APIENTRY glUniform3ui (GLint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glUniform4ui (GLint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glUniform1uiv (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glUniform2uiv (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glUniform3uiv (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glUniform4uiv (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glTexParameterIiv (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glTexParameterIuiv (GLenum, GLenum, const GLuint *); +GLAPI void APIENTRY glGetTexParameterIiv (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetTexParameterIuiv (GLenum, GLenum, GLuint *); +GLAPI void APIENTRY glClearBufferiv (GLenum, GLint, const GLint *); +GLAPI void APIENTRY glClearBufferuiv (GLenum, GLint, const GLuint *); +GLAPI void APIENTRY glClearBufferfv (GLenum, GLint, const GLfloat *); +GLAPI void APIENTRY glClearBufferfi (GLenum, GLint, GLfloat, GLint); +GLAPI const GLubyte * APIENTRY glGetStringi (GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data); +typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data); +typedef void (APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index); +typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode); +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void); +typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp); +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode); +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC) (void); +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params); +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name); +typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); +typedef void (APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value); +typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value); +typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value); +typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index); +#endif + +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 +/* OpenGL 3.1 also reuses entry points from these extensions: */ +/* ARB_copy_buffer */ +/* ARB_uniform_buffer_object */ +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstanced (GLenum, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glDrawElementsInstanced (GLenum, GLsizei, GLenum, const GLvoid *, GLsizei); +GLAPI void APIENTRY glTexBuffer (GLenum, GLenum, GLuint); +GLAPI void APIENTRY glPrimitiveRestartIndex (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +typedef void (APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index); +#endif + +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 +/* OpenGL 3.2 also reuses entry points from these extensions: */ +/* ARB_draw_elements_base_vertex */ +/* ARB_provoking_vertex */ +/* ARB_sync */ +/* ARB_texture_multisample */ +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetInteger64i_v (GLenum, GLuint, GLint64 *); +GLAPI void APIENTRY glGetBufferParameteri64v (GLenum, GLenum, GLint64 *); +GLAPI void APIENTRY glProgramParameteri (GLuint, GLenum, GLint); +GLAPI void APIENTRY glFramebufferTexture (GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTextureFace (GLenum, GLenum, GLuint, GLint, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data); +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +#endif + #ifndef GL_ARB_multitexture #define GL_ARB_multitexture 1 #ifdef GL_GLEXT_PROTOTYPES @@ -4227,6 +5761,278 @@ typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); #define GL_ARB_pixel_buffer_object 1 #endif +#ifndef GL_ARB_depth_buffer_float +#define GL_ARB_depth_buffer_float 1 +#endif + +#ifndef GL_ARB_draw_instanced +#define GL_ARB_draw_instanced 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstancedARB (GLenum, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glDrawElementsInstancedARB (GLenum, GLsizei, GLenum, const GLvoid *, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +#endif + +#ifndef GL_ARB_framebuffer_object +#define GL_ARB_framebuffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLboolean APIENTRY glIsRenderbuffer (GLuint); +GLAPI void APIENTRY glBindRenderbuffer (GLenum, GLuint); +GLAPI void APIENTRY glDeleteRenderbuffers (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenRenderbuffers (GLsizei, GLuint *); +GLAPI void APIENTRY glRenderbufferStorage (GLenum, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glGetRenderbufferParameteriv (GLenum, GLenum, GLint *); +GLAPI GLboolean APIENTRY glIsFramebuffer (GLuint); +GLAPI void APIENTRY glBindFramebuffer (GLenum, GLuint); +GLAPI void APIENTRY glDeleteFramebuffers (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenFramebuffers (GLsizei, GLuint *); +GLAPI GLenum APIENTRY glCheckFramebufferStatus (GLenum); +GLAPI void APIENTRY glFramebufferTexture1D (GLenum, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTexture2D (GLenum, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTexture3D (GLenum, GLenum, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glFramebufferRenderbuffer (GLenum, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glGetFramebufferAttachmentParameteriv (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGenerateMipmap (GLenum); +GLAPI void APIENTRY glBlitFramebuffer (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +GLAPI void APIENTRY glRenderbufferStorageMultisample (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glFramebufferTextureLayer (GLenum, GLenum, GLuint, GLint, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); +typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers); +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers); +typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target); +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +#endif + +#ifndef GL_ARB_framebuffer_sRGB +#define GL_ARB_framebuffer_sRGB 1 +#endif + +#ifndef GL_ARB_geometry_shader4 +#define GL_ARB_geometry_shader4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramParameteriARB (GLuint, GLenum, GLint); +GLAPI void APIENTRY glFramebufferTextureARB (GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTextureLayerARB (GLenum, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum, GLenum, GLuint, GLint, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +#endif + +#ifndef GL_ARB_half_float_vertex +#define GL_ARB_half_float_vertex 1 +#endif + +#ifndef GL_ARB_instanced_arrays +#define GL_ARB_instanced_arrays 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexAttribDivisorARB (GLuint, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); +#endif + +#ifndef GL_ARB_map_buffer_range +#define GL_ARB_map_buffer_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLvoid* APIENTRY glMapBufferRange (GLenum, GLintptr, GLsizeiptr, GLbitfield); +GLAPI void APIENTRY glFlushMappedBufferRange (GLenum, GLintptr, GLsizeiptr); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +#endif + +#ifndef GL_ARB_texture_buffer_object +#define GL_ARB_texture_buffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexBufferARB (GLenum, GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); +#endif + +#ifndef GL_ARB_texture_compression_rgtc +#define GL_ARB_texture_compression_rgtc 1 +#endif + +#ifndef GL_ARB_texture_rg +#define GL_ARB_texture_rg 1 +#endif + +#ifndef GL_ARB_vertex_array_object +#define GL_ARB_vertex_array_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindVertexArray (GLuint); +GLAPI void APIENTRY glDeleteVertexArrays (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenVertexArrays (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsVertexArray (GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array); +typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays); +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); +typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array); +#endif + +#ifndef GL_ARB_uniform_buffer_object +#define GL_ARB_uniform_buffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetUniformIndices (GLuint, GLsizei, const GLchar* *, GLuint *); +GLAPI void APIENTRY glGetActiveUniformsiv (GLuint, GLsizei, const GLuint *, GLenum, GLint *); +GLAPI void APIENTRY glGetActiveUniformName (GLuint, GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI GLuint APIENTRY glGetUniformBlockIndex (GLuint, const GLchar *); +GLAPI void APIENTRY glGetActiveUniformBlockiv (GLuint, GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetActiveUniformBlockName (GLuint, GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glUniformBlockBinding (GLuint, GLuint, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); +typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); +typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +#endif + +#ifndef GL_ARB_compatibility +#define GL_ARB_compatibility 1 +#endif + +#ifndef GL_ARB_copy_buffer +#define GL_ARB_copy_buffer 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCopyBufferSubData (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +#endif + +#ifndef GL_ARB_shader_texture_lod +#define GL_ARB_shader_texture_lod 1 +#endif + +#ifndef GL_ARB_depth_clamp +#define GL_ARB_depth_clamp 1 +#endif + +#ifndef GL_ARB_draw_elements_base_vertex +#define GL_ARB_draw_elements_base_vertex 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum, GLsizei, GLenum, const GLvoid *, GLint); +GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint); +GLAPI void APIENTRY glDrawElementsInstancedBaseVertex (GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint); +GLAPI void APIENTRY glMultiDrawElementsBaseVertex (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei, const GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex); +#endif + +#ifndef GL_ARB_fragment_coord_conventions +#define GL_ARB_fragment_coord_conventions 1 +#endif + +#ifndef GL_ARB_provoking_vertex +#define GL_ARB_provoking_vertex 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProvokingVertex (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC) (GLenum mode); +#endif + +#ifndef GL_ARB_seamless_cube_map +#define GL_ARB_seamless_cube_map 1 +#endif + +#ifndef GL_ARB_sync +#define GL_ARB_sync 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLsync APIENTRY glFenceSync (GLenum, GLbitfield); +GLAPI GLboolean APIENTRY glIsSync (GLsync); +GLAPI void APIENTRY glDeleteSync (GLsync); +GLAPI GLenum APIENTRY glClientWaitSync (GLsync, GLbitfield, GLuint64); +GLAPI void APIENTRY glWaitSync (GLsync, GLbitfield, GLuint64); +GLAPI void APIENTRY glGetInteger64v (GLenum, GLint64 *); +GLAPI void APIENTRY glGetSynciv (GLsync, GLenum, GLsizei, GLsizei *, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags); +typedef GLboolean (APIENTRYP PFNGLISSYNCPROC) (GLsync sync); +typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync); +typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +#endif + +#ifndef GL_ARB_texture_multisample +#define GL_ARB_texture_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexImage2DMultisample (GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean); +GLAPI void APIENTRY glTexImage3DMultisample (GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean); +GLAPI void APIENTRY glGetMultisamplefv (GLenum, GLuint, GLfloat *); +GLAPI void APIENTRY glSampleMaski (GLuint, GLbitfield); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val); +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); +#endif + +#ifndef GL_ARB_vertex_array_bgra +#define GL_ARB_vertex_array_bgra 1 +#endif + +#ifndef GL_ARB_draw_buffers_blend +#define GL_ARB_draw_buffers_blend 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendEquationi (GLuint, GLenum); +GLAPI void APIENTRY glBlendEquationSeparatei (GLuint, GLenum, GLenum); +GLAPI void APIENTRY glBlendFunci (GLuint, GLenum, GLenum); +GLAPI void APIENTRY glBlendFuncSeparatei (GLuint, GLenum, GLenum, GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +#endif + +#ifndef GL_ARB_sample_shading +#define GL_ARB_sample_shading 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMinSampleShading (GLclampf); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLclampf value); +#endif + +#ifndef GL_ARB_texture_cube_map_array +#define GL_ARB_texture_cube_map_array 1 +#endif + +#ifndef GL_ARB_texture_gather +#define GL_ARB_texture_gather 1 +#endif + +#ifndef GL_ARB_texture_query_lod +#define GL_ARB_texture_query_lod 1 +#endif + #ifndef GL_EXT_abgr #define GL_EXT_abgr 1 #endif @@ -4355,8 +6161,8 @@ typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum f typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); #endif -#ifndef GL_EXT_color_matrix -#define GL_EXT_color_matrix 1 +#ifndef GL_SGI_color_matrix +#define GL_SGI_color_matrix 1 #endif #ifndef GL_SGI_color_table @@ -6216,12 +8022,12 @@ typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glBindVertexArrayAPPLE (GLuint); GLAPI void APIENTRY glDeleteVertexArraysAPPLE (GLsizei, const GLuint *); -GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, GLuint *); GLAPI GLboolean APIENTRY glIsVertexArrayAPPLE (GLuint); #endif /* GL_GLEXT_PROTOTYPES */ typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays); -typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays); +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays); typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); #endif @@ -6549,11 +8355,979 @@ GLAPI void APIENTRY glStringMarkerGREMEDY (GLsizei, const GLvoid *); typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string); #endif +#ifndef GL_EXT_packed_depth_stencil +#define GL_EXT_packed_depth_stencil 1 +#endif + +#ifndef GL_EXT_stencil_clear_tag +#define GL_EXT_stencil_clear_tag 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glStencilClearTagEXT (GLsizei, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag); +#endif + +#ifndef GL_EXT_texture_sRGB +#define GL_EXT_texture_sRGB 1 +#endif + +#ifndef GL_EXT_framebuffer_blit +#define GL_EXT_framebuffer_blit 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlitFramebufferEXT (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +#endif + +#ifndef GL_EXT_framebuffer_multisample +#define GL_EXT_framebuffer_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +#endif + +#ifndef GL_MESAX_texture_stack +#define GL_MESAX_texture_stack 1 +#endif + +#ifndef GL_EXT_timer_query +#define GL_EXT_timer_query 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetQueryObjecti64vEXT (GLuint, GLenum, GLint64EXT *); +GLAPI void APIENTRY glGetQueryObjectui64vEXT (GLuint, GLenum, GLuint64EXT *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); +#endif + +#ifndef GL_EXT_gpu_program_parameters +#define GL_EXT_gpu_program_parameters 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramEnvParameters4fvEXT (GLenum, GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum, GLuint, GLsizei, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params); +#endif + +#ifndef GL_APPLE_flush_buffer_range +#define GL_APPLE_flush_buffer_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferParameteriAPPLE (GLenum, GLenum, GLint); +GLAPI void APIENTRY glFlushMappedBufferRangeAPPLE (GLenum, GLintptr, GLsizeiptr); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); +#endif + +#ifndef GL_NV_gpu_program4 +#define GL_NV_gpu_program4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramLocalParameterI4iNV (GLenum, GLuint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glProgramLocalParameterI4ivNV (GLenum, GLuint, const GLint *); +GLAPI void APIENTRY glProgramLocalParametersI4ivNV (GLenum, GLuint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramLocalParameterI4uiNV (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glProgramLocalParameterI4uivNV (GLenum, GLuint, const GLuint *); +GLAPI void APIENTRY glProgramLocalParametersI4uivNV (GLenum, GLuint, GLsizei, const GLuint *); +GLAPI void APIENTRY glProgramEnvParameterI4iNV (GLenum, GLuint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glProgramEnvParameterI4ivNV (GLenum, GLuint, const GLint *); +GLAPI void APIENTRY glProgramEnvParametersI4ivNV (GLenum, GLuint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramEnvParameterI4uiNV (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glProgramEnvParameterI4uivNV (GLenum, GLuint, const GLuint *); +GLAPI void APIENTRY glProgramEnvParametersI4uivNV (GLenum, GLuint, GLsizei, const GLuint *); +GLAPI void APIENTRY glGetProgramLocalParameterIivNV (GLenum, GLuint, GLint *); +GLAPI void APIENTRY glGetProgramLocalParameterIuivNV (GLenum, GLuint, GLuint *); +GLAPI void APIENTRY glGetProgramEnvParameterIivNV (GLenum, GLuint, GLint *); +GLAPI void APIENTRY glGetProgramEnvParameterIuivNV (GLenum, GLuint, GLuint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); +typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); +typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params); +#endif + +#ifndef GL_NV_geometry_program4 +#define GL_NV_geometry_program4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramVertexLimitNV (GLenum, GLint); +GLAPI void APIENTRY glFramebufferTextureEXT (GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum, GLenum, GLuint, GLint, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +#endif + +#ifndef GL_EXT_geometry_shader4 +#define GL_EXT_geometry_shader4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramParameteriEXT (GLuint, GLenum, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); +#endif + +#ifndef GL_NV_vertex_program4 +#define GL_NV_vertex_program4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glVertexAttribI1iEXT (GLuint, GLint); +GLAPI void APIENTRY glVertexAttribI2iEXT (GLuint, GLint, GLint); +GLAPI void APIENTRY glVertexAttribI3iEXT (GLuint, GLint, GLint, GLint); +GLAPI void APIENTRY glVertexAttribI4iEXT (GLuint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glVertexAttribI1uiEXT (GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI2uiEXT (GLuint, GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI3uiEXT (GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI4uiEXT (GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glVertexAttribI1ivEXT (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI2ivEXT (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI3ivEXT (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI4ivEXT (GLuint, const GLint *); +GLAPI void APIENTRY glVertexAttribI1uivEXT (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI2uivEXT (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI3uivEXT (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI4uivEXT (GLuint, const GLuint *); +GLAPI void APIENTRY glVertexAttribI4bvEXT (GLuint, const GLbyte *); +GLAPI void APIENTRY glVertexAttribI4svEXT (GLuint, const GLshort *); +GLAPI void APIENTRY glVertexAttribI4ubvEXT (GLuint, const GLubyte *); +GLAPI void APIENTRY glVertexAttribI4usvEXT (GLuint, const GLushort *); +GLAPI void APIENTRY glVertexAttribIPointerEXT (GLuint, GLint, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetVertexAttribIivEXT (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVertexAttribIuivEXT (GLuint, GLenum, GLuint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); +#endif + +#ifndef GL_EXT_gpu_shader4 +#define GL_EXT_gpu_shader4 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetUniformuivEXT (GLuint, GLint, GLuint *); +GLAPI void APIENTRY glBindFragDataLocationEXT (GLuint, GLuint, const GLchar *); +GLAPI GLint APIENTRY glGetFragDataLocationEXT (GLuint, const GLchar *); +GLAPI void APIENTRY glUniform1uiEXT (GLint, GLuint); +GLAPI void APIENTRY glUniform2uiEXT (GLint, GLuint, GLuint); +GLAPI void APIENTRY glUniform3uiEXT (GLint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glUniform4uiEXT (GLint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glUniform1uivEXT (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glUniform2uivEXT (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glUniform3uivEXT (GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glUniform4uivEXT (GLint, GLsizei, const GLuint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); +typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); +typedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +#endif + +#ifndef GL_EXT_draw_instanced +#define GL_EXT_draw_instanced 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawArraysInstancedEXT (GLenum, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glDrawElementsInstancedEXT (GLenum, GLsizei, GLenum, const GLvoid *, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +#endif + +#ifndef GL_EXT_packed_float +#define GL_EXT_packed_float 1 +#endif + +#ifndef GL_EXT_texture_array +#define GL_EXT_texture_array 1 +#endif + +#ifndef GL_EXT_texture_buffer_object +#define GL_EXT_texture_buffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexBufferEXT (GLenum, GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); +#endif + +#ifndef GL_EXT_texture_compression_latc +#define GL_EXT_texture_compression_latc 1 +#endif + +#ifndef GL_EXT_texture_compression_rgtc +#define GL_EXT_texture_compression_rgtc 1 +#endif + +#ifndef GL_EXT_texture_shared_exponent +#define GL_EXT_texture_shared_exponent 1 +#endif + +#ifndef GL_NV_depth_buffer_float +#define GL_NV_depth_buffer_float 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDepthRangedNV (GLdouble, GLdouble); +GLAPI void APIENTRY glClearDepthdNV (GLdouble); +GLAPI void APIENTRY glDepthBoundsdNV (GLdouble, GLdouble); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); +typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); +typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); +#endif + +#ifndef GL_NV_fragment_program4 +#define GL_NV_fragment_program4 1 +#endif + +#ifndef GL_NV_framebuffer_multisample_coverage +#define GL_NV_framebuffer_multisample_coverage 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleCoverageNV (GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +#endif + +#ifndef GL_EXT_framebuffer_sRGB +#define GL_EXT_framebuffer_sRGB 1 +#endif + +#ifndef GL_NV_geometry_shader4 +#define GL_NV_geometry_shader4 1 +#endif + +#ifndef GL_NV_parameter_buffer_object +#define GL_NV_parameter_buffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProgramBufferParametersfvNV (GLenum, GLuint, GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramBufferParametersIivNV (GLenum, GLuint, GLuint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum, GLuint, GLuint, GLsizei, const GLuint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params); +typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params); +typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params); +#endif + +#ifndef GL_EXT_draw_buffers2 +#define GL_EXT_draw_buffers2 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glColorMaskIndexedEXT (GLuint, GLboolean, GLboolean, GLboolean, GLboolean); +GLAPI void APIENTRY glGetBooleanIndexedvEXT (GLenum, GLuint, GLboolean *); +GLAPI void APIENTRY glGetIntegerIndexedvEXT (GLenum, GLuint, GLint *); +GLAPI void APIENTRY glEnableIndexedEXT (GLenum, GLuint); +GLAPI void APIENTRY glDisableIndexedEXT (GLenum, GLuint); +GLAPI GLboolean APIENTRY glIsEnabledIndexedEXT (GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data); +typedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data); +typedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); +#endif + +#ifndef GL_NV_transform_feedback +#define GL_NV_transform_feedback 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginTransformFeedbackNV (GLenum); +GLAPI void APIENTRY glEndTransformFeedbackNV (void); +GLAPI void APIENTRY glTransformFeedbackAttribsNV (GLuint, const GLint *, GLenum); +GLAPI void APIENTRY glBindBufferRangeNV (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +GLAPI void APIENTRY glBindBufferOffsetNV (GLenum, GLuint, GLuint, GLintptr); +GLAPI void APIENTRY glBindBufferBaseNV (GLenum, GLuint, GLuint); +GLAPI void APIENTRY glTransformFeedbackVaryingsNV (GLuint, GLsizei, const GLchar* *, GLenum); +GLAPI void APIENTRY glActiveVaryingNV (GLuint, const GLchar *); +GLAPI GLint APIENTRY glGetVaryingLocationNV (GLuint, const GLchar *); +GLAPI void APIENTRY glGetActiveVaryingNV (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); +GLAPI void APIENTRY glGetTransformFeedbackVaryingNV (GLuint, GLuint, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); +typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode); +typedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name); +typedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location); +#endif + +#ifndef GL_EXT_bindable_uniform +#define GL_EXT_bindable_uniform 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniformBufferEXT (GLuint, GLint, GLuint); +GLAPI GLint APIENTRY glGetUniformBufferSizeEXT (GLuint, GLint); +GLAPI GLintptr APIENTRY glGetUniformOffsetEXT (GLuint, GLint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); +typedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); +typedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); +#endif + +#ifndef GL_EXT_texture_integer +#define GL_EXT_texture_integer 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexParameterIivEXT (GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glTexParameterIuivEXT (GLenum, GLenum, const GLuint *); +GLAPI void APIENTRY glGetTexParameterIivEXT (GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetTexParameterIuivEXT (GLenum, GLenum, GLuint *); +GLAPI void APIENTRY glClearColorIiEXT (GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glClearColorIuiEXT (GLuint, GLuint, GLuint, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); +typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); +#endif + +#ifndef GL_GREMEDY_frame_terminator +#define GL_GREMEDY_frame_terminator 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFrameTerminatorGREMEDY (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC) (void); +#endif + +#ifndef GL_NV_conditional_render +#define GL_NV_conditional_render 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginConditionalRenderNV (GLuint, GLenum); +GLAPI void APIENTRY glEndConditionalRenderNV (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void); +#endif + +#ifndef GL_NV_present_video +#define GL_NV_present_video 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPresentFrameKeyedNV (GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint); +GLAPI void APIENTRY glPresentFrameDualFillNV (GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint); +GLAPI void APIENTRY glGetVideoivNV (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetVideouivNV (GLuint, GLenum, GLuint *); +GLAPI void APIENTRY glGetVideoi64vNV (GLuint, GLenum, GLint64EXT *); +GLAPI void APIENTRY glGetVideoui64vNV (GLuint, GLenum, GLuint64EXT *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); +typedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); +typedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params); +typedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params); +#endif + +#ifndef GL_EXT_transform_feedback +#define GL_EXT_transform_feedback 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginTransformFeedbackEXT (GLenum); +GLAPI void APIENTRY glEndTransformFeedbackEXT (void); +GLAPI void APIENTRY glBindBufferRangeEXT (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr); +GLAPI void APIENTRY glBindBufferOffsetEXT (GLenum, GLuint, GLuint, GLintptr); +GLAPI void APIENTRY glBindBufferBaseEXT (GLenum, GLuint, GLuint); +GLAPI void APIENTRY glTransformFeedbackVaryingsEXT (GLuint, GLsizei, const GLchar* *, GLenum); +GLAPI void APIENTRY glGetTransformFeedbackVaryingEXT (GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void); +typedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +#endif + +#ifndef GL_EXT_direct_state_access +#define GL_EXT_direct_state_access 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glClientAttribDefaultEXT (GLbitfield); +GLAPI void APIENTRY glPushClientAttribDefaultEXT (GLbitfield); +GLAPI void APIENTRY glMatrixLoadfEXT (GLenum, const GLfloat *); +GLAPI void APIENTRY glMatrixLoaddEXT (GLenum, const GLdouble *); +GLAPI void APIENTRY glMatrixMultfEXT (GLenum, const GLfloat *); +GLAPI void APIENTRY glMatrixMultdEXT (GLenum, const GLdouble *); +GLAPI void APIENTRY glMatrixLoadIdentityEXT (GLenum); +GLAPI void APIENTRY glMatrixRotatefEXT (GLenum, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMatrixRotatedEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMatrixScalefEXT (GLenum, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMatrixScaledEXT (GLenum, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMatrixTranslatefEXT (GLenum, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glMatrixTranslatedEXT (GLenum, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMatrixFrustumEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMatrixOrthoEXT (GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glMatrixPopEXT (GLenum); +GLAPI void APIENTRY glMatrixPushEXT (GLenum); +GLAPI void APIENTRY glMatrixLoadTransposefEXT (GLenum, const GLfloat *); +GLAPI void APIENTRY glMatrixLoadTransposedEXT (GLenum, const GLdouble *); +GLAPI void APIENTRY glMatrixMultTransposefEXT (GLenum, const GLfloat *); +GLAPI void APIENTRY glMatrixMultTransposedEXT (GLenum, const GLdouble *); +GLAPI void APIENTRY glTextureParameterfEXT (GLuint, GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glTextureParameterfvEXT (GLuint, GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glTextureParameteriEXT (GLuint, GLenum, GLenum, GLint); +GLAPI void APIENTRY glTextureParameterivEXT (GLuint, GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glTextureImage1DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTextureImage2DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTextureSubImage1DEXT (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTextureSubImage2DEXT (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyTextureImage1DEXT (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +GLAPI void APIENTRY glCopyTextureImage2DEXT (GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +GLAPI void APIENTRY glCopyTextureSubImage1DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei); +GLAPI void APIENTRY glCopyTextureSubImage2DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glGetTextureImageEXT (GLuint, GLenum, GLint, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetTextureParameterfvEXT (GLuint, GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetTextureParameterivEXT (GLuint, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetTextureLevelParameterfvEXT (GLuint, GLenum, GLint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetTextureLevelParameterivEXT (GLuint, GLenum, GLint, GLenum, GLint *); +GLAPI void APIENTRY glTextureImage3DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glTextureSubImage3DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyTextureSubImage3DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glMultiTexParameterfEXT (GLenum, GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glMultiTexParameterfvEXT (GLenum, GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexParameteriEXT (GLenum, GLenum, GLenum, GLint); +GLAPI void APIENTRY glMultiTexParameterivEXT (GLenum, GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexImage1DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glMultiTexImage2DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glMultiTexSubImage1DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glMultiTexSubImage2DEXT (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyMultiTexImage1DEXT (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); +GLAPI void APIENTRY glCopyMultiTexImage2DEXT (GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); +GLAPI void APIENTRY glCopyMultiTexSubImage1DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei); +GLAPI void APIENTRY glCopyMultiTexSubImage2DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glGetMultiTexImageEXT (GLenum, GLenum, GLint, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glGetMultiTexParameterfvEXT (GLenum, GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMultiTexParameterivEXT (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetMultiTexLevelParameterfvEXT (GLenum, GLenum, GLint, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMultiTexLevelParameterivEXT (GLenum, GLenum, GLint, GLenum, GLint *); +GLAPI void APIENTRY glMultiTexImage3DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glMultiTexSubImage3DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *); +GLAPI void APIENTRY glCopyMultiTexSubImage3DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); +GLAPI void APIENTRY glBindMultiTextureEXT (GLenum, GLenum, GLuint); +GLAPI void APIENTRY glEnableClientStateIndexedEXT (GLenum, GLuint); +GLAPI void APIENTRY glDisableClientStateIndexedEXT (GLenum, GLuint); +GLAPI void APIENTRY glMultiTexCoordPointerEXT (GLenum, GLint, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glMultiTexEnvfEXT (GLenum, GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glMultiTexEnvfvEXT (GLenum, GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexEnviEXT (GLenum, GLenum, GLenum, GLint); +GLAPI void APIENTRY glMultiTexEnvivEXT (GLenum, GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexGendEXT (GLenum, GLenum, GLenum, GLdouble); +GLAPI void APIENTRY glMultiTexGendvEXT (GLenum, GLenum, GLenum, const GLdouble *); +GLAPI void APIENTRY glMultiTexGenfEXT (GLenum, GLenum, GLenum, GLfloat); +GLAPI void APIENTRY glMultiTexGenfvEXT (GLenum, GLenum, GLenum, const GLfloat *); +GLAPI void APIENTRY glMultiTexGeniEXT (GLenum, GLenum, GLenum, GLint); +GLAPI void APIENTRY glMultiTexGenivEXT (GLenum, GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glGetMultiTexEnvfvEXT (GLenum, GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMultiTexEnvivEXT (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetMultiTexGendvEXT (GLenum, GLenum, GLenum, GLdouble *); +GLAPI void APIENTRY glGetMultiTexGenfvEXT (GLenum, GLenum, GLenum, GLfloat *); +GLAPI void APIENTRY glGetMultiTexGenivEXT (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetFloatIndexedvEXT (GLenum, GLuint, GLfloat *); +GLAPI void APIENTRY glGetDoubleIndexedvEXT (GLenum, GLuint, GLdouble *); +GLAPI void APIENTRY glGetPointerIndexedvEXT (GLenum, GLuint, GLvoid* *); +GLAPI void APIENTRY glCompressedTextureImage3DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTextureImage2DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTextureImage1DEXT (GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTextureSubImage3DEXT (GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTextureSubImage2DEXT (GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedTextureSubImage1DEXT (GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetCompressedTextureImageEXT (GLuint, GLenum, GLint, GLvoid *); +GLAPI void APIENTRY glCompressedMultiTexImage3DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedMultiTexImage2DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedMultiTexImage1DEXT (GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedMultiTexSubImage3DEXT (GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedMultiTexSubImage2DEXT (GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glCompressedMultiTexSubImage1DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetCompressedMultiTexImageEXT (GLenum, GLenum, GLint, GLvoid *); +GLAPI void APIENTRY glNamedProgramStringEXT (GLuint, GLenum, GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glNamedProgramLocalParameter4dEXT (GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble); +GLAPI void APIENTRY glNamedProgramLocalParameter4dvEXT (GLuint, GLenum, GLuint, const GLdouble *); +GLAPI void APIENTRY glNamedProgramLocalParameter4fEXT (GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glNamedProgramLocalParameter4fvEXT (GLuint, GLenum, GLuint, const GLfloat *); +GLAPI void APIENTRY glGetNamedProgramLocalParameterdvEXT (GLuint, GLenum, GLuint, GLdouble *); +GLAPI void APIENTRY glGetNamedProgramLocalParameterfvEXT (GLuint, GLenum, GLuint, GLfloat *); +GLAPI void APIENTRY glGetNamedProgramivEXT (GLuint, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetNamedProgramStringEXT (GLuint, GLenum, GLenum, GLvoid *); +GLAPI void APIENTRY glNamedProgramLocalParameters4fvEXT (GLuint, GLenum, GLuint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glNamedProgramLocalParameterI4iEXT (GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glNamedProgramLocalParameterI4ivEXT (GLuint, GLenum, GLuint, const GLint *); +GLAPI void APIENTRY glNamedProgramLocalParametersI4ivEXT (GLuint, GLenum, GLuint, GLsizei, const GLint *); +GLAPI void APIENTRY glNamedProgramLocalParameterI4uiEXT (GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glNamedProgramLocalParameterI4uivEXT (GLuint, GLenum, GLuint, const GLuint *); +GLAPI void APIENTRY glNamedProgramLocalParametersI4uivEXT (GLuint, GLenum, GLuint, GLsizei, const GLuint *); +GLAPI void APIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint, GLenum, GLuint, GLint *); +GLAPI void APIENTRY glGetNamedProgramLocalParameterIuivEXT (GLuint, GLenum, GLuint, GLuint *); +GLAPI void APIENTRY glTextureParameterIivEXT (GLuint, GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glTextureParameterIuivEXT (GLuint, GLenum, GLenum, const GLuint *); +GLAPI void APIENTRY glGetTextureParameterIivEXT (GLuint, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetTextureParameterIuivEXT (GLuint, GLenum, GLenum, GLuint *); +GLAPI void APIENTRY glMultiTexParameterIivEXT (GLenum, GLenum, GLenum, const GLint *); +GLAPI void APIENTRY glMultiTexParameterIuivEXT (GLenum, GLenum, GLenum, const GLuint *); +GLAPI void APIENTRY glGetMultiTexParameterIivEXT (GLenum, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGetMultiTexParameterIuivEXT (GLenum, GLenum, GLenum, GLuint *); +GLAPI void APIENTRY glProgramUniform1fEXT (GLuint, GLint, GLfloat); +GLAPI void APIENTRY glProgramUniform2fEXT (GLuint, GLint, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramUniform3fEXT (GLuint, GLint, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramUniform4fEXT (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat); +GLAPI void APIENTRY glProgramUniform1iEXT (GLuint, GLint, GLint); +GLAPI void APIENTRY glProgramUniform2iEXT (GLuint, GLint, GLint, GLint); +GLAPI void APIENTRY glProgramUniform3iEXT (GLuint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glProgramUniform4iEXT (GLuint, GLint, GLint, GLint, GLint, GLint); +GLAPI void APIENTRY glProgramUniform1fvEXT (GLuint, GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramUniform2fvEXT (GLuint, GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramUniform3fvEXT (GLuint, GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramUniform4fvEXT (GLuint, GLint, GLsizei, const GLfloat *); +GLAPI void APIENTRY glProgramUniform1ivEXT (GLuint, GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramUniform2ivEXT (GLuint, GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramUniform3ivEXT (GLuint, GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramUniform4ivEXT (GLuint, GLint, GLsizei, const GLint *); +GLAPI void APIENTRY glProgramUniformMatrix2fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix3fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix4fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint, GLint, GLsizei, GLboolean, const GLfloat *); +GLAPI void APIENTRY glProgramUniform1uiEXT (GLuint, GLint, GLuint); +GLAPI void APIENTRY glProgramUniform2uiEXT (GLuint, GLint, GLuint, GLuint); +GLAPI void APIENTRY glProgramUniform3uiEXT (GLuint, GLint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glProgramUniform4uiEXT (GLuint, GLint, GLuint, GLuint, GLuint, GLuint); +GLAPI void APIENTRY glProgramUniform1uivEXT (GLuint, GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glProgramUniform2uivEXT (GLuint, GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glProgramUniform3uivEXT (GLuint, GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glProgramUniform4uivEXT (GLuint, GLint, GLsizei, const GLuint *); +GLAPI void APIENTRY glNamedBufferDataEXT (GLuint, GLsizeiptr, const GLvoid *, GLenum); +GLAPI void APIENTRY glNamedBufferSubDataEXT (GLuint, GLintptr, GLsizeiptr, const GLvoid *); +GLAPI GLvoid* APIENTRY glMapNamedBufferEXT (GLuint, GLenum); +GLAPI GLboolean APIENTRY glUnmapNamedBufferEXT (GLuint); +GLAPI void APIENTRY glGetNamedBufferParameterivEXT (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glGetNamedBufferPointervEXT (GLuint, GLenum, GLvoid* *); +GLAPI void APIENTRY glGetNamedBufferSubDataEXT (GLuint, GLintptr, GLsizeiptr, GLvoid *); +GLAPI void APIENTRY glTextureBufferEXT (GLuint, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glMultiTexBufferEXT (GLenum, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glNamedRenderbufferStorageEXT (GLuint, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glGetNamedRenderbufferParameterivEXT (GLuint, GLenum, GLint *); +GLAPI GLenum APIENTRY glCheckNamedFramebufferStatusEXT (GLuint, GLenum); +GLAPI void APIENTRY glNamedFramebufferTexture1DEXT (GLuint, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glNamedFramebufferTexture2DEXT (GLuint, GLenum, GLenum, GLuint, GLint); +GLAPI void APIENTRY glNamedFramebufferTexture3DEXT (GLuint, GLenum, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glNamedFramebufferRenderbufferEXT (GLuint, GLenum, GLenum, GLuint); +GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint, GLenum, GLenum, GLint *); +GLAPI void APIENTRY glGenerateTextureMipmapEXT (GLuint, GLenum); +GLAPI void APIENTRY glGenerateMultiTexMipmapEXT (GLenum, GLenum); +GLAPI void APIENTRY glFramebufferDrawBufferEXT (GLuint, GLenum); +GLAPI void APIENTRY glFramebufferDrawBuffersEXT (GLuint, GLsizei, const GLenum *); +GLAPI void APIENTRY glFramebufferReadBufferEXT (GLuint, GLenum); +GLAPI void APIENTRY glGetFramebufferParameterivEXT (GLuint, GLenum, GLint *); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint, GLsizei, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei); +GLAPI void APIENTRY glNamedFramebufferTextureEXT (GLuint, GLenum, GLuint, GLint); +GLAPI void APIENTRY glNamedFramebufferTextureLayerEXT (GLuint, GLenum, GLuint, GLint, GLint); +GLAPI void APIENTRY glNamedFramebufferTextureFaceEXT (GLuint, GLenum, GLuint, GLint, GLenum); +GLAPI void APIENTRY glTextureRenderbufferEXT (GLuint, GLenum, GLuint); +GLAPI void APIENTRY glMultiTexRenderbufferEXT (GLenum, GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode); +typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); +typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params); +typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params); +typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params); +typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data); +typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data); +typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params); +typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data); +typedef GLvoid* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); +typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data); +typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params); +typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); +typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); +typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); +#endif + +#ifndef GL_EXT_vertex_array_bgra +#define GL_EXT_vertex_array_bgra 1 +#endif + +#ifndef GL_EXT_texture_swizzle +#define GL_EXT_texture_swizzle 1 +#endif + +#ifndef GL_NV_explicit_multisample +#define GL_NV_explicit_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetMultisamplefvNV (GLenum, GLuint, GLfloat *); +GLAPI void APIENTRY glSampleMaskIndexedNV (GLuint, GLbitfield); +GLAPI void APIENTRY glTexRenderbufferNV (GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val); +typedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); +typedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); +#endif + +#ifndef GL_NV_transform_feedback2 +#define GL_NV_transform_feedback2 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindTransformFeedbackNV (GLenum, GLuint); +GLAPI void APIENTRY glDeleteTransformFeedbacksNV (GLsizei, const GLuint *); +GLAPI void APIENTRY glGenTransformFeedbacksNV (GLsizei, GLuint *); +GLAPI GLboolean APIENTRY glIsTransformFeedbackNV (GLuint); +GLAPI void APIENTRY glPauseTransformFeedbackNV (void); +GLAPI void APIENTRY glResumeTransformFeedbackNV (void); +GLAPI void APIENTRY glDrawTransformFeedbackNV (GLenum, GLuint); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id); +typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint *ids); +typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint *ids); +typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id); +typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void); +typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void); +typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id); +#endif + +#ifndef GL_ATI_meminfo +#define GL_ATI_meminfo 1 +#endif + +#ifndef GL_AMD_performance_monitor +#define GL_AMD_performance_monitor 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetPerfMonitorGroupsAMD (GLint *, GLsizei, GLuint *); +GLAPI void APIENTRY glGetPerfMonitorCountersAMD (GLuint, GLint *, GLint *, GLsizei, GLuint *); +GLAPI void APIENTRY glGetPerfMonitorGroupStringAMD (GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glGetPerfMonitorCounterStringAMD (GLuint, GLuint, GLsizei, GLsizei *, GLchar *); +GLAPI void APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint, GLuint, GLenum, void *); +GLAPI void APIENTRY glGenPerfMonitorsAMD (GLsizei, GLuint *); +GLAPI void APIENTRY glDeletePerfMonitorsAMD (GLsizei, GLuint *); +GLAPI void APIENTRY glSelectPerfMonitorCountersAMD (GLuint, GLboolean, GLuint, GLint, GLuint *); +GLAPI void APIENTRY glBeginPerfMonitorAMD (GLuint); +GLAPI void APIENTRY glEndPerfMonitorAMD (GLuint); +GLAPI void APIENTRY glGetPerfMonitorCounterDataAMD (GLuint, GLenum, GLsizei, GLuint *, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); +typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); +typedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); +typedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); +#endif + +#ifndef GL_AMD_texture_texture4 +#define GL_AMD_texture_texture4 1 +#endif + +#ifndef GL_AMD_vertex_shader_tesselator +#define GL_AMD_vertex_shader_tesselator 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTessellationFactorAMD (GLfloat); +GLAPI void APIENTRY glTessellationModeAMD (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor); +typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode); +#endif + +#ifndef GL_EXT_provoking_vertex +#define GL_EXT_provoking_vertex 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glProvokingVertexEXT (GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode); +#endif + +#ifndef GL_EXT_texture_snorm +#define GL_EXT_texture_snorm 1 +#endif + +#ifndef GL_AMD_draw_buffers_blend +#define GL_AMD_draw_buffers_blend 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendFuncIndexedAMD (GLuint, GLenum, GLenum); +GLAPI void APIENTRY glBlendFuncSeparateIndexedAMD (GLuint, GLenum, GLenum, GLenum, GLenum); +GLAPI void APIENTRY glBlendEquationIndexedAMD (GLuint, GLenum); +GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint, GLenum, GLenum); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode); +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +#endif + +#ifndef GL_APPLE_texture_range +#define GL_APPLE_texture_range 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTextureRangeAPPLE (GLenum, GLsizei, const GLvoid *); +GLAPI void APIENTRY glGetTexParameterPointervAPPLE (GLenum, GLenum, GLvoid* *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid *pointer); +typedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid* *params); +#endif + +#ifndef GL_APPLE_float_pixels +#define GL_APPLE_float_pixels 1 +#endif + +#ifndef GL_APPLE_vertex_program_evaluators +#define GL_APPLE_vertex_program_evaluators 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glEnableVertexAttribAPPLE (GLuint, GLenum); +GLAPI void APIENTRY glDisableVertexAttribAPPLE (GLuint, GLenum); +GLAPI GLboolean APIENTRY glIsVertexAttribEnabledAPPLE (GLuint, GLenum); +GLAPI void APIENTRY glMapVertexAttrib1dAPPLE (GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble *); +GLAPI void APIENTRY glMapVertexAttrib1fAPPLE (GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat *); +GLAPI void APIENTRY glMapVertexAttrib2dAPPLE (GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *); +GLAPI void APIENTRY glMapVertexAttrib2fAPPLE (GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); +typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); +typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); +typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); +typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); +#endif + +#ifndef GL_APPLE_aux_depth_stencil +#define GL_APPLE_aux_depth_stencil 1 +#endif + +#ifndef GL_APPLE_object_purgeable +#define GL_APPLE_object_purgeable 1 +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLenum APIENTRY glObjectPurgeableAPPLE (GLenum, GLuint, GLenum); +GLAPI GLenum APIENTRY glObjectUnpurgeableAPPLE (GLenum, GLuint, GLenum); +GLAPI void APIENTRY glGetObjectParameterivAPPLE (GLenum, GLuint, GLenum, GLint *); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); +typedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); +typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint *params); +#endif + +#ifndef GL_APPLE_row_bytes +#define GL_APPLE_row_bytes 1 +#endif + #ifdef __cplusplus } #endif #endif +/* *INDENT-ON* */ #endif /* NO_SDL_GLEXT */ -/*@}*/ + +#endif /* _SDL_opengl_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_opengles.h b/alienblaster/project/jni/sdl/include/SDL_opengles.h new file mode 100644 index 000000000..d685a8b3b --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_opengles.h @@ -0,0 +1,1039 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 + */ + +/** + * \file SDL_opengles.h + * + * This is a simple file to encapsulate the OpenGL ES API headers. + * + * Headers copied from The Kronos Group website. + * http://www.khronos.org/opengles/ + */ + +#ifndef __gles_h_ +#define __gles_h_ + +/* $Id: gl.h 4533 2007-11-26 11:19:35Z markc $ */ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifdef __IPHONEOS__ +#include /* Header File For The OpenGL ES Library */ +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif + +#ifndef GL_APIENTRY +#define GL_APIENTRY +#endif + +#ifndef GL_API +#define GL_API +#endif /* GL_API */ + +/* +** License Applicability. Except to the extent portions of this file are +** made subject to an alternative license as permitted in the SGI Free +** Software License B, Version 1.0 (the "License"), the contents of this +** file are subject only to the provisions of the License. You may not use +** this file except in compliance with the License. You may obtain a copy +** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +** +** http://oss.sgi.com/projects/FreeB +** +** Note that, as provided in the License, the Software is distributed on an +** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +** +** Original Code. The Original Code is: OpenGL Sample Implementation, +** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. +** Copyright in any portions created by third parties is as indicated +** elsewhere herein. All Rights Reserved. +** +** Additional Notice Provisions: The application programming interfaces +** established by SGI in conjunction with the Original Code are The +** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released +** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version +** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X +** Window System(R) (Version 1.3), released October 19, 1998. This software +** was created using the OpenGL(R) version 1.2.1 Sample Implementation +** published by SGI, but has not been independently verified as being +** compliant with the OpenGL(R) version 1.2.1 Specification. +*/ + + typedef unsigned int GLenum; + typedef unsigned char GLboolean; + typedef unsigned int GLbitfield; + typedef signed char GLbyte; + typedef short GLshort; + typedef int GLint; + typedef int GLsizei; + typedef unsigned char GLubyte; + typedef unsigned short GLushort; + typedef unsigned int GLuint; + typedef float GLfloat; + typedef float GLclampf; + typedef void GLvoid; + typedef int GLfixed; + typedef int GLclampx; + + typedef int GLintptr; + typedef int GLsizeiptr; + + +/*************************************************************/ + +/* OpenGL ES core versions */ +#define GL_VERSION_ES_CM_1_0 1 +#define GL_VERSION_ES_CL_1_0 1 +#define GL_VERSION_ES_CM_1_1 1 +#define GL_VERSION_ES_CL_1_1 1 + +/* ClearBufferMask */ +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 + +/* Boolean */ +#define GL_FALSE 0 +#define GL_TRUE 1 + +/* BeginMode */ +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 + +/* AlphaFunction */ +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 + +/* BlendingFactorDest */ +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 + +/* BlendingFactorSrc */ +/* GL_ZERO */ +/* GL_ONE */ +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +/* GL_SRC_ALPHA */ +/* GL_ONE_MINUS_SRC_ALPHA */ +/* GL_DST_ALPHA */ +/* GL_ONE_MINUS_DST_ALPHA */ + +/* ClipPlaneName */ +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 + +/* ColorMaterialFace */ +/* GL_FRONT_AND_BACK */ + +/* ColorMaterialParameter */ +/* GL_AMBIENT_AND_DIFFUSE */ + +/* ColorPointerType */ +/* GL_UNSIGNED_BYTE */ +/* GL_FLOAT */ +/* GL_FIXED */ + +/* CullFaceMode */ +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_FRONT_AND_BACK 0x0408 + +/* DepthFunction */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* EnableCap */ +#define GL_FOG 0x0B60 +#define GL_LIGHTING 0x0B50 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_CULL_FACE 0x0B44 +#define GL_ALPHA_TEST 0x0BC0 +#define GL_BLEND 0x0BE2 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_DITHER 0x0BD0 +#define GL_STENCIL_TEST 0x0B90 +#define GL_DEPTH_TEST 0x0B71 +/* GL_LIGHT0 */ +/* GL_LIGHT1 */ +/* GL_LIGHT2 */ +/* GL_LIGHT3 */ +/* GL_LIGHT4 */ +/* GL_LIGHT5 */ +/* GL_LIGHT6 */ +/* GL_LIGHT7 */ +#define GL_POINT_SMOOTH 0x0B10 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_MATERIAL 0x0B57 +#define GL_NORMALIZE 0x0BA1 +#define GL_RESCALE_NORMAL 0x803A +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_NORMAL_ARRAY 0x8075 +#define GL_COLOR_ARRAY 0x8076 +#define GL_TEXTURE_COORD_ARRAY 0x8078 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 + +/* ErrorCode */ +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_OUT_OF_MEMORY 0x0505 + +/* FogMode */ +/* GL_LINEAR */ +#define GL_EXP 0x0800 +#define GL_EXP2 0x0801 + +/* FogParameter */ +#define GL_FOG_DENSITY 0x0B62 +#define GL_FOG_START 0x0B63 +#define GL_FOG_END 0x0B64 +#define GL_FOG_MODE 0x0B65 +#define GL_FOG_COLOR 0x0B66 + +/* FrontFaceDirection */ +#define GL_CW 0x0900 +#define GL_CCW 0x0901 + +/* GetPName */ +#define GL_CURRENT_COLOR 0x0B00 +#define GL_CURRENT_NORMAL 0x0B02 +#define GL_CURRENT_TEXTURE_COORDS 0x0B03 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_LINE_WIDTH 0x0B21 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_SHADE_MODEL 0x0B54 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_MATRIX_MODE 0x0BA0 +#define GL_VIEWPORT 0x0BA2 +#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 +#define GL_PROJECTION_STACK_DEPTH 0x0BA4 +#define GL_TEXTURE_STACK_DEPTH 0x0BA5 +#define GL_MODELVIEW_MATRIX 0x0BA6 +#define GL_PROJECTION_MATRIX 0x0BA7 +#define GL_TEXTURE_MATRIX 0x0BA8 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_LIGHTS 0x0D31 +#define GL_MAX_CLIP_PLANES 0x0D32 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_VERTEX_ARRAY_SIZE 0x807A +#define GL_VERTEX_ARRAY_TYPE 0x807B +#define GL_VERTEX_ARRAY_STRIDE 0x807C +#define GL_NORMAL_ARRAY_TYPE 0x807E +#define GL_NORMAL_ARRAY_STRIDE 0x807F +#define GL_COLOR_ARRAY_SIZE 0x8081 +#define GL_COLOR_ARRAY_TYPE 0x8082 +#define GL_COLOR_ARRAY_STRIDE 0x8083 +#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A +#define GL_VERTEX_ARRAY_POINTER 0x808E +#define GL_NORMAL_ARRAY_POINTER 0x808F +#define GL_COLOR_ARRAY_POINTER 0x8090 +#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB + +/* OpenGL ES 1.0 defines, they gone in 1.1 and 2.0 */ +#ifndef GL_MAX_ELEMENTS_VERTICES +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#endif /* GL_MAX_ELEMENTS_VERTICES */ +#ifndef GL_MAX_ELEMENTS_INDICES +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#endif /* GL_MAX_ELEMENTS_INDICES */ + +/* GetTextureParameter */ +/* GL_TEXTURE_MAG_FILTER */ +/* GL_TEXTURE_MIN_FILTER */ +/* GL_TEXTURE_WRAP_S */ +/* GL_TEXTURE_WRAP_T */ + +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 + +/* HintMode */ +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 + +/* HintTarget */ +#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 +#define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_FOG_HINT 0x0C54 +#define GL_GENERATE_MIPMAP_HINT 0x8192 + +/* LightModelParameter */ +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 + +/* LightParameter */ +#define GL_AMBIENT 0x1200 +#define GL_DIFFUSE 0x1201 +#define GL_SPECULAR 0x1202 +#define GL_POSITION 0x1203 +#define GL_SPOT_DIRECTION 0x1204 +#define GL_SPOT_EXPONENT 0x1205 +#define GL_SPOT_CUTOFF 0x1206 +#define GL_CONSTANT_ATTENUATION 0x1207 +#define GL_LINEAR_ATTENUATION 0x1208 +#define GL_QUADRATIC_ATTENUATION 0x1209 + +/* DataType */ +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_FLOAT 0x1406 +#define GL_FIXED 0x140C + +/* LogicOp */ +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F + +/* MaterialFace */ +/* GL_FRONT_AND_BACK */ + +/* MaterialParameter */ +#define GL_EMISSION 0x1600 +#define GL_SHININESS 0x1601 +#define GL_AMBIENT_AND_DIFFUSE 0x1602 +/* GL_AMBIENT */ +/* GL_DIFFUSE */ +/* GL_SPECULAR */ + +/* MatrixMode */ +#define GL_MODELVIEW 0x1700 +#define GL_PROJECTION 0x1701 +#define GL_TEXTURE 0x1702 + +/* NormalPointerType */ +/* GL_BYTE */ +/* GL_SHORT */ +/* GL_FLOAT */ +/* GL_FIXED */ + +/* PixelFormat */ +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A + +/* PixelStoreParameter */ +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_ALIGNMENT 0x0D05 + +/* PixelType */ +/* GL_UNSIGNED_BYTE */ +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 + +/* ShadingModel */ +#define GL_FLAT 0x1D00 +#define GL_SMOOTH 0x1D01 + +/* StencilFunction */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* StencilOp */ +/* GL_ZERO */ +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +/* GL_INVERT */ + +/* StringName */ +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 + +/* TexCoordPointerType */ +/* GL_SHORT */ +/* GL_FLOAT */ +/* GL_FIXED */ +/* GL_BYTE */ + +/* TextureEnvMode */ +#define GL_MODULATE 0x2100 +#define GL_DECAL 0x2101 +/* GL_BLEND */ +#define GL_ADD 0x0104 +/* GL_REPLACE */ + +/* TextureEnvParameter */ +#define GL_TEXTURE_ENV_MODE 0x2200 +#define GL_TEXTURE_ENV_COLOR 0x2201 + +/* TextureEnvTarget */ +#define GL_TEXTURE_ENV 0x2300 + +/* TextureMagFilter */ +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 + +/* TextureMinFilter */ +/* GL_NEAREST */ +/* GL_LINEAR */ +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 + +/* TextureParameterName */ +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_GENERATE_MIPMAP 0x8191 + +/* TextureTarget */ +/* GL_TEXTURE_2D */ + +/* TextureUnit */ +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 + +/* TextureWrapMode */ +#define GL_REPEAT 0x2901 +#define GL_CLAMP_TO_EDGE 0x812F + +/* VertexPointerType */ +/* GL_SHORT */ +/* GL_FLOAT */ +/* GL_FIXED */ +/* GL_BYTE */ + +/* LightName */ +#define GL_LIGHT0 0x4000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 + +/* Buffer Objects */ +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 + +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A + +#define GL_STATIC_DRAW 0x88E4 +#define GL_DYNAMIC_DRAW 0x88E8 + +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 + +/* Texture combine + dot3 */ +#define GL_SUBTRACT 0x84E7 +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A + +#define GL_ALPHA_SCALE 0x0D1C + +#define GL_SRC0_RGB 0x8580 +#define GL_SRC1_RGB 0x8581 +#define GL_SRC2_RGB 0x8582 +#define GL_SRC0_ALPHA 0x8588 +#define GL_SRC1_ALPHA 0x8589 +#define GL_SRC2_ALPHA 0x858A + +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF + +/*------------------------------------------------------------------------* + * required OES extension tokens + *------------------------------------------------------------------------*/ + +/* OES_read_format */ +#ifndef GL_OES_read_format +#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B +#endif + +/* GL_OES_compressed_paletted_texture */ +#ifndef GL_OES_compressed_paletted_texture +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 +#endif + +/* OES_point_size_array */ +#ifndef GL_OES_point_size_array +#define GL_POINT_SIZE_ARRAY_OES 0x8B9C +#define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A +#define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B +#define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C +#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F +#endif + +/* GL_OES_point_sprite */ +#ifndef GL_OES_point_sprite +#define GL_POINT_SPRITE_OES 0x8861 +#define GL_COORD_REPLACE_OES 0x8862 +#endif + +/* GL_OES_draw_texture */ +#ifndef GL_OES_draw_texture +#define GL_TEXTURE_CROP_RECT_OES 0x8B9D +#endif /* GL_OES_draw_texture */ + +/* GL_OES_vertex_buffer_object */ +#ifndef GL_OES_vertex_buffer_object +#define GL_ARRAY_BUFFER_OES 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER_OES 0x8893 +#define GL_ARRAY_BUFFER_BINDING_OES 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING_OES 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING_OES 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING_OES 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING_OES 0x8898 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_OES 0x889A +#define GL_STATIC_DRAW_OES 0x88E4 +#define GL_DYNAMIC_DRAW_OES 0x88E8 +#define GL_WRITE_ONLY_OES 0x88B9 +#define GL_BUFFER_SIZE_OES 0x8764 +#define GL_BUFFER_USAGE_OES 0x8765 +#define GL_BUFFER_ACCESS_OES 0x88BB +#endif /* GL_OES_vertex_buffer_object */ + +/*************************************************************/ + +/* Available only in Common profile */ + GL_API void GL_APIENTRY glAlphaFunc(GLenum func, GLclampf ref); + GL_API void GL_APIENTRY glClearColor(GLclampf red, GLclampf green, + GLclampf blue, GLclampf alpha); + GL_API void GL_APIENTRY glClearDepthf(GLclampf depth); + GL_API void GL_APIENTRY glClipPlanef(GLenum plane, + const GLfloat * equation); + GL_API void GL_APIENTRY glColor4f(GLfloat red, GLfloat green, + GLfloat blue, GLfloat alpha); + GL_API void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar); + GL_API void GL_APIENTRY glFogf(GLenum pname, GLfloat param); + GL_API void GL_APIENTRY glFogfv(GLenum pname, const GLfloat * params); + GL_API void GL_APIENTRY glFrustumf(GLfloat left, GLfloat right, + GLfloat bottom, GLfloat top, + GLfloat zNear, GLfloat zFar); + GL_API void GL_APIENTRY glGetClipPlanef(GLenum pname, GLfloat eqn[4]); + GL_API void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat * params); + GL_API void GL_APIENTRY glGetLightfv(GLenum light, GLenum pname, + GLfloat * params); + GL_API void GL_APIENTRY glGetMaterialfv(GLenum face, GLenum pname, + GLfloat * params); + GL_API void GL_APIENTRY glGetTexEnvfv(GLenum env, GLenum pname, + GLfloat * params); + GL_API void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname, + GLfloat * params); + GL_API void GL_APIENTRY glLightModelf(GLenum pname, GLfloat param); + GL_API void GL_APIENTRY glLightModelfv(GLenum pname, + const GLfloat * params); + GL_API void GL_APIENTRY glLightf(GLenum light, GLenum pname, + GLfloat param); + GL_API void GL_APIENTRY glLightfv(GLenum light, GLenum pname, + const GLfloat * params); + GL_API void GL_APIENTRY glLineWidth(GLfloat width); + GL_API void GL_APIENTRY glLoadMatrixf(const GLfloat * m); + GL_API void GL_APIENTRY glMaterialf(GLenum face, GLenum pname, + GLfloat param); + GL_API void GL_APIENTRY glMaterialfv(GLenum face, GLenum pname, + const GLfloat * params); + GL_API void GL_APIENTRY glMultMatrixf(const GLfloat * m); + GL_API void GL_APIENTRY glMultiTexCoord4f(GLenum target, GLfloat s, + GLfloat t, GLfloat r, + GLfloat q); + GL_API void GL_APIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz); + GL_API void GL_APIENTRY glOrthof(GLfloat left, GLfloat right, + GLfloat bottom, GLfloat top, + GLfloat zNear, GLfloat zFar); + GL_API void GL_APIENTRY glPointParameterf(GLenum pname, GLfloat param); + GL_API void GL_APIENTRY glPointParameterfv(GLenum pname, + const GLfloat * params); + GL_API void GL_APIENTRY glPointSize(GLfloat size); + GL_API void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units); + GL_API void GL_APIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, + GLfloat z); + GL_API void GL_APIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z); + GL_API void GL_APIENTRY glTexEnvf(GLenum target, GLenum pname, + GLfloat param); + GL_API void GL_APIENTRY glTexEnvfv(GLenum target, GLenum pname, + const GLfloat * params); + GL_API void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, + GLfloat param); + GL_API void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname, + const GLfloat * params); + GL_API void GL_APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z); + +/* Available in both Common and Common-Lite profiles */ + GL_API void GL_APIENTRY glActiveTexture(GLenum texture); + GL_API void GL_APIENTRY glAlphaFuncx(GLenum func, GLclampx ref); + GL_API void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer); + GL_API void GL_APIENTRY glBindTexture(GLenum target, GLuint texture); + GL_API void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor); + GL_API void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size, + const GLvoid * data, GLenum usage); + GL_API void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset, + GLsizeiptr size, + const GLvoid * data); + GL_API void GL_APIENTRY glClear(GLbitfield mask); + GL_API void GL_APIENTRY glClearColorx(GLclampx red, GLclampx green, + GLclampx blue, GLclampx alpha); + GL_API void GL_APIENTRY glClearDepthx(GLclampx depth); + GL_API void GL_APIENTRY glClearStencil(GLint s); + GL_API void GL_APIENTRY glClientActiveTexture(GLenum texture); + GL_API void GL_APIENTRY glClipPlanex(GLenum plane, + const GLfixed * equation); + GL_API void GL_APIENTRY glColor4ub(GLubyte red, GLubyte green, + GLubyte blue, GLubyte alpha); + GL_API void GL_APIENTRY glColor4x(GLfixed red, GLfixed green, + GLfixed blue, GLfixed alpha); + GL_API void GL_APIENTRY glColorMask(GLboolean red, GLboolean green, + GLboolean blue, GLboolean alpha); + GL_API void GL_APIENTRY glColorPointer(GLint size, GLenum type, + GLsizei stride, + const GLvoid * pointer); + GL_API void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level, + GLenum internalformat, + GLsizei width, + GLsizei height, + GLint border, + GLsizei imageSize, + const GLvoid * data); + GL_API void GL_APIENTRY glCompressedTexSubImage2D(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLsizei width, + GLsizei height, + GLenum format, + GLsizei imageSize, + const GLvoid * data); + GL_API void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level, + GLenum internalformat, GLint x, + GLint y, GLsizei width, + GLsizei height, GLint border); + GL_API void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLint x, GLint y, + GLsizei width, + GLsizei height); + GL_API void GL_APIENTRY glCullFace(GLenum mode); + GL_API void GL_APIENTRY glDeleteBuffers(GLsizei n, + const GLuint * buffers); + GL_API void GL_APIENTRY glDeleteTextures(GLsizei n, + const GLuint * textures); + GL_API void GL_APIENTRY glDepthFunc(GLenum func); + GL_API void GL_APIENTRY glDepthMask(GLboolean flag); + GL_API void GL_APIENTRY glDepthRangex(GLclampx zNear, GLclampx zFar); + GL_API void GL_APIENTRY glDisable(GLenum cap); + GL_API void GL_APIENTRY glDisableClientState(GLenum array); + GL_API void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, + GLsizei count); + GL_API void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count, + GLenum type, + const GLvoid * indices); + GL_API void GL_APIENTRY glEnable(GLenum cap); + GL_API void GL_APIENTRY glEnableClientState(GLenum array); + GL_API void GL_APIENTRY glFinish(void); + GL_API void GL_APIENTRY glFlush(void); + GL_API void GL_APIENTRY glFogx(GLenum pname, GLfixed param); + GL_API void GL_APIENTRY glFogxv(GLenum pname, const GLfixed * params); + GL_API void GL_APIENTRY glFrontFace(GLenum mode); + GL_API void GL_APIENTRY glFrustumx(GLfixed left, GLfixed right, + GLfixed bottom, GLfixed top, + GLfixed zNear, GLfixed zFar); + GL_API void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean * params); + GL_API void GL_APIENTRY glGetBufferParameteriv(GLenum target, + GLenum pname, + GLint * params); + GL_API void GL_APIENTRY glGetClipPlanex(GLenum pname, GLfixed eqn[4]); + GL_API void GL_APIENTRY glGenBuffers(GLsizei n, GLuint * buffers); + GL_API void GL_APIENTRY glGenTextures(GLsizei n, GLuint * textures); + GL_API GLenum GL_APIENTRY glGetError(void); + GL_API void GL_APIENTRY glGetFixedv(GLenum pname, GLfixed * params); + GL_API void GL_APIENTRY glGetIntegerv(GLenum pname, GLint * params); + GL_API void GL_APIENTRY glGetLightxv(GLenum light, GLenum pname, + GLfixed * params); + GL_API void GL_APIENTRY glGetMaterialxv(GLenum face, GLenum pname, + GLfixed * params); + GL_API void GL_APIENTRY glGetPointerv(GLenum pname, void **params); + GL_API const GLubyte *GL_APIENTRY glGetString(GLenum name); + GL_API void GL_APIENTRY glGetTexEnviv(GLenum env, GLenum pname, + GLint * params); + GL_API void GL_APIENTRY glGetTexEnvxv(GLenum env, GLenum pname, + GLfixed * params); + GL_API void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname, + GLint * params); + GL_API void GL_APIENTRY glGetTexParameterxv(GLenum target, GLenum pname, + GLfixed * params); + GL_API void GL_APIENTRY glHint(GLenum target, GLenum mode); + GL_API GLboolean GL_APIENTRY glIsBuffer(GLuint buffer); + GL_API GLboolean GL_APIENTRY glIsEnabled(GLenum cap); + GL_API GLboolean GL_APIENTRY glIsTexture(GLuint texture); + GL_API void GL_APIENTRY glLightModelx(GLenum pname, GLfixed param); + GL_API void GL_APIENTRY glLightModelxv(GLenum pname, + const GLfixed * params); + GL_API void GL_APIENTRY glLightx(GLenum light, GLenum pname, + GLfixed param); + GL_API void GL_APIENTRY glLightxv(GLenum light, GLenum pname, + const GLfixed * params); + GL_API void GL_APIENTRY glLineWidthx(GLfixed width); + GL_API void GL_APIENTRY glLoadIdentity(void); + GL_API void GL_APIENTRY glLoadMatrixx(const GLfixed * m); + GL_API void GL_APIENTRY glLogicOp(GLenum opcode); + GL_API void GL_APIENTRY glMaterialx(GLenum face, GLenum pname, + GLfixed param); + GL_API void GL_APIENTRY glMaterialxv(GLenum face, GLenum pname, + const GLfixed * params); + GL_API void GL_APIENTRY glMatrixMode(GLenum mode); + GL_API void GL_APIENTRY glMultMatrixx(const GLfixed * m); + GL_API void GL_APIENTRY glMultiTexCoord4x(GLenum target, GLfixed s, + GLfixed t, GLfixed r, + GLfixed q); + GL_API void GL_APIENTRY glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz); + GL_API void GL_APIENTRY glNormalPointer(GLenum type, GLsizei stride, + const GLvoid * pointer); + GL_API void GL_APIENTRY glOrthox(GLfixed left, GLfixed right, + GLfixed bottom, GLfixed top, + GLfixed zNear, GLfixed zFar); + GL_API void GL_APIENTRY glPixelStorei(GLenum pname, GLint param); + GL_API void GL_APIENTRY glPointParameterx(GLenum pname, GLfixed param); + GL_API void GL_APIENTRY glPointParameterxv(GLenum pname, + const GLfixed * params); + GL_API void GL_APIENTRY glPointSizex(GLfixed size); + GL_API void GL_APIENTRY glPolygonOffsetx(GLfixed factor, GLfixed units); + GL_API void GL_APIENTRY glPopMatrix(void); + GL_API void GL_APIENTRY glPushMatrix(void); + GL_API void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, + GLsizei height, GLenum format, + GLenum type, GLvoid * pixels); + GL_API void GL_APIENTRY glRotatex(GLfixed angle, GLfixed x, GLfixed y, + GLfixed z); + GL_API void GL_APIENTRY glSampleCoverage(GLclampf value, + GLboolean invert); + GL_API void GL_APIENTRY glSampleCoveragex(GLclampx value, + GLboolean invert); + GL_API void GL_APIENTRY glScalex(GLfixed x, GLfixed y, GLfixed z); + GL_API void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, + GLsizei height); + GL_API void GL_APIENTRY glShadeModel(GLenum mode); + GL_API void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, + GLuint mask); + GL_API void GL_APIENTRY glStencilMask(GLuint mask); + GL_API void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, + GLenum zpass); + GL_API void GL_APIENTRY glTexCoordPointer(GLint size, GLenum type, + GLsizei stride, + const GLvoid * pointer); + GL_API void GL_APIENTRY glTexEnvi(GLenum target, GLenum pname, + GLint param); + GL_API void GL_APIENTRY glTexEnvx(GLenum target, GLenum pname, + GLfixed param); + GL_API void GL_APIENTRY glTexEnviv(GLenum target, GLenum pname, + const GLint * params); + GL_API void GL_APIENTRY glTexEnvxv(GLenum target, GLenum pname, + const GLfixed * params); + GL_API void GL_APIENTRY glTexImage2D(GLenum target, GLint level, + GLint internalformat, GLsizei width, + GLsizei height, GLint border, + GLenum format, GLenum type, + const GLvoid * pixels); + GL_API void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, + GLint param); + GL_API void GL_APIENTRY glTexParameterx(GLenum target, GLenum pname, + GLfixed param); + GL_API void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname, + const GLint * params); + GL_API void GL_APIENTRY glTexParameterxv(GLenum target, GLenum pname, + const GLfixed * params); + GL_API void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, + GLenum format, GLenum type, + const GLvoid * pixels); + GL_API void GL_APIENTRY glTranslatex(GLfixed x, GLfixed y, GLfixed z); + GL_API void GL_APIENTRY glVertexPointer(GLint size, GLenum type, + GLsizei stride, + const GLvoid * pointer); + GL_API void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, + GLsizei height); + +/*------------------------------------------------------------------------* + * Required OES extension functions + *------------------------------------------------------------------------*/ + +/* GL_OES_read_format */ +#ifndef GL_OES_read_format +#define GL_OES_read_format 1 +#endif + +/* GL_OES_compressed_paletted_texture */ +#ifndef GL_OES_compressed_paletted_texture +#define GL_OES_compressed_paletted_texture 1 +#endif + +/* GL_OES_point_size_array */ +#ifndef GL_OES_point_size_array +#define GL_OES_point_size_array 1 + GL_API void GL_APIENTRY glPointSizePointerOES(GLenum type, GLsizei stride, + const GLvoid * pointer); +#endif + +/* GL_OES_query_matrix */ +#ifndef GL_OES_query_matrix +#define GL_OES_query_matrix 1 + GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES(GLfixed mantissa[16], + GLint exponent[16]); +#endif /* GL_OES_query_matrix */ + +/* GL_OES_point_sprite */ +#ifndef GL_OES_point_sprite +#define GL_OES_point_sprite 1 +#endif + +/* GL_OES_draw_texture */ +#ifndef GL_OES_draw_texture +#define GL_OES_draw_texture 1 + GL_API void GL_APIENTRY glDrawTexsOES(GLshort x, GLshort y, GLshort z, + GLshort width, GLshort height); + GL_API void GL_APIENTRY glDrawTexiOES(GLint x, GLint y, GLint z, + GLint width, GLint height); + GL_API void GL_APIENTRY glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, + GLfixed width, GLfixed height); + GL_API void GL_APIENTRY glDrawTexsvOES(const GLshort * coords); + GL_API void GL_APIENTRY glDrawTexivOES(const GLint * coords); + GL_API void GL_APIENTRY glDrawTexxvOES(const GLfixed * coords); + GL_API void GL_APIENTRY glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height); + GL_API void GL_APIENTRY glDrawTexfvOES(const GLfloat * coords); +#endif /* GL_OES_draw_texture */ + +/* GL_OES_single_precision */ +#ifndef GL_OES_single_precision +#define GL_OES_single_precision 1 + GL_API void GL_APIENTRY glDepthRangefOES(GLclampf zNear, GLclampf zFar); + GL_API void GL_APIENTRY glFrustumfOES(GLfloat left, GLfloat right, + GLfloat bottom, GLfloat top, + GLfloat zNear, GLfloat zFar); + GL_API void GL_APIENTRY glOrthofOES(GLfloat left, GLfloat right, + GLfloat bottom, GLfloat top, + GLfloat zNear, GLfloat zFar); + GL_API void GL_APIENTRY glClipPlanefOES(GLenum plane, + const GLfloat * equation); + GL_API void GL_APIENTRY glGetClipPlanefOES(GLenum pname, GLfloat eqn[4]); + GL_API void GL_APIENTRY glClearDepthfOES(GLclampf depth); +#endif /* GL_OES_single_precision */ + +/* GL_OES_vertex_buffer_object */ +#ifndef GL_OES_vertex_buffer_object +#define GL_OES_vertex_buffer_object 1 + GL_API void APIENTRY glBindBufferOES(GLenum, GLuint); + GL_API void APIENTRY glDeleteBuffersOES(GLsizei, const GLuint *); + GL_API void APIENTRY glGenBuffersOES(GLsizei, GLuint *); + GL_API GLboolean APIENTRY glIsBufferOES(GLuint); + GL_API void APIENTRY glBufferDataOES(GLenum, GLsizeiptr, const GLvoid *, + GLenum); + GL_API void APIENTRY glBufferSubDataOES(GLenum, GLintptr, GLsizeiptr, + const GLvoid *); + GL_API void APIENTRY glGetBufferParameterivOES(GLenum, GLenum, GLint *); +#endif /* GL_OES_vertex_buffer_object */ + +#ifdef __cplusplus +} +#endif + +#endif /* __gles_h_ */ diff --git a/alienblaster/project/jni/sdl/include/SDL_pixels.h b/alienblaster/project/jni/sdl/include/SDL_pixels.h new file mode 100644 index 000000000..6934105aa --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_pixels.h @@ -0,0 +1,399 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +/** + * \file SDL_pixels.h + * + * Header for the enumerated pixel format definitions. + */ + +#ifndef _SDL_pixels_h +#define _SDL_pixels_h + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/** + * \name Transparency definitions + * + * These define alpha as the opacity of a surface. + */ +/*@{*/ +#define SDL_ALPHA_OPAQUE 255 +#define SDL_ALPHA_TRANSPARENT 0 +/*@}*/ + +/** Pixel type. */ +enum +{ + SDL_PIXELTYPE_UNKNOWN, + SDL_PIXELTYPE_INDEX1, + SDL_PIXELTYPE_INDEX4, + SDL_PIXELTYPE_INDEX8, + SDL_PIXELTYPE_PACKED8, + SDL_PIXELTYPE_PACKED16, + SDL_PIXELTYPE_PACKED32, + SDL_PIXELTYPE_ARRAYU8, + SDL_PIXELTYPE_ARRAYU16, + SDL_PIXELTYPE_ARRAYU32, + SDL_PIXELTYPE_ARRAYF16, + SDL_PIXELTYPE_ARRAYF32 +}; + +/** Bitmap pixel order, high bit -> low bit. */ +enum +{ + SDL_BITMAPORDER_NONE, + SDL_BITMAPORDER_4321, + SDL_BITMAPORDER_1234 +}; + +/** Packed component order, high bit -> low bit. */ +enum +{ + SDL_PACKEDORDER_NONE, + SDL_PACKEDORDER_XRGB, + SDL_PACKEDORDER_RGBX, + SDL_PACKEDORDER_ARGB, + SDL_PACKEDORDER_RGBA, + SDL_PACKEDORDER_XBGR, + SDL_PACKEDORDER_BGRX, + SDL_PACKEDORDER_ABGR, + SDL_PACKEDORDER_BGRA +}; + +/** Array component order, low byte -> high byte. */ +enum +{ + SDL_ARRAYORDER_NONE, + SDL_ARRAYORDER_RGB, + SDL_ARRAYORDER_RGBA, + SDL_ARRAYORDER_ARGB, + SDL_ARRAYORDER_BGR, + SDL_ARRAYORDER_BGRA, + SDL_ARRAYORDER_ABGR +}; + +/** Packed component layout. */ +enum +{ + SDL_PACKEDLAYOUT_NONE, + SDL_PACKEDLAYOUT_332, + SDL_PACKEDLAYOUT_4444, + SDL_PACKEDLAYOUT_1555, + SDL_PACKEDLAYOUT_5551, + SDL_PACKEDLAYOUT_565, + SDL_PACKEDLAYOUT_8888, + SDL_PACKEDLAYOUT_2101010, + SDL_PACKEDLAYOUT_1010102 +}; + +#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) \ + ((A) | ((B) << 8) | ((C) << 16) | ((D) << 24)) + +#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \ + ((1 << 31) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \ + ((bits) << 8) | ((bytes) << 0)) + +#define SDL_PIXELTYPE(X) (((X) >> 24) & 0x0F) +#define SDL_PIXELORDER(X) (((X) >> 20) & 0x0F) +#define SDL_PIXELLAYOUT(X) (((X) >> 16) & 0x0F) +#define SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF) +#define SDL_BYTESPERPIXEL(X) (((X) >> 0) & 0xFF) + +#define SDL_ISPIXELFORMAT_INDEXED(format) \ + ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ + (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ + (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)) + +#define SDL_ISPIXELFORMAT_ALPHA(format) \ + ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ + (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ + (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ + (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA)) + +#define SDL_ISPIXELFORMAT_FOURCC(format) \ + ((format) && !((format) & 0x80000000)) + +enum +{ + SDL_PIXELFORMAT_UNKNOWN, + SDL_PIXELFORMAT_INDEX1LSB = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_1234, 0, + 1, 0), + SDL_PIXELFORMAT_INDEX1MSB = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_4321, 0, + 1, 0), + SDL_PIXELFORMAT_INDEX4LSB = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_1234, 0, + 4, 0), + SDL_PIXELFORMAT_INDEX4MSB = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_4321, 0, + 4, 0), + SDL_PIXELFORMAT_INDEX8 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX8, 0, 0, 8, 1), + SDL_PIXELFORMAT_RGB332 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED8, SDL_PACKEDORDER_XRGB, + SDL_PACKEDLAYOUT_332, 8, 1), + SDL_PIXELFORMAT_RGB444 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, + SDL_PACKEDLAYOUT_4444, 12, 2), + SDL_PIXELFORMAT_RGB555 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, + SDL_PACKEDLAYOUT_1555, 15, 2), + SDL_PIXELFORMAT_BGR555 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, + SDL_PACKEDLAYOUT_1555, 15, 2), + SDL_PIXELFORMAT_ARGB4444 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB, + SDL_PACKEDLAYOUT_4444, 16, 2), + SDL_PIXELFORMAT_ABGR4444 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR, + SDL_PACKEDLAYOUT_4444, 16, 2), + SDL_PIXELFORMAT_ARGB1555 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB, + SDL_PACKEDLAYOUT_1555, 16, 2), + SDL_PIXELFORMAT_ABGR1555 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR, + SDL_PACKEDLAYOUT_1555, 16, 2), + SDL_PIXELFORMAT_RGB565 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, + SDL_PACKEDLAYOUT_565, 16, 2), + SDL_PIXELFORMAT_BGR565 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, + SDL_PACKEDLAYOUT_565, 16, 2), + SDL_PIXELFORMAT_RGB24 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_RGB, 0, + 24, 3), + SDL_PIXELFORMAT_BGR24 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_BGR, 0, + 24, 3), + SDL_PIXELFORMAT_RGB888 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB, + SDL_PACKEDLAYOUT_8888, 24, 4), + SDL_PIXELFORMAT_BGR888 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR, + SDL_PACKEDLAYOUT_8888, 24, 4), + SDL_PIXELFORMAT_ARGB8888 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB, + SDL_PACKEDLAYOUT_8888, 32, 4), + SDL_PIXELFORMAT_RGBA8888 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBA, + SDL_PACKEDLAYOUT_8888, 32, 4), + SDL_PIXELFORMAT_ABGR8888 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR, + SDL_PACKEDLAYOUT_8888, 32, 4), + SDL_PIXELFORMAT_BGRA8888 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA, + SDL_PACKEDLAYOUT_8888, 32, 4), + SDL_PIXELFORMAT_ARGB2101010 = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB, + SDL_PACKEDLAYOUT_2101010, 32, 4), + + SDL_PIXELFORMAT_YV12 = /**< Planar mode: Y + V + U (3 planes) */ + SDL_DEFINE_PIXELFOURCC('Y', 'V', '1', '2'), + SDL_PIXELFORMAT_IYUV = /**< Planar mode: Y + U + V (3 planes) */ + SDL_DEFINE_PIXELFOURCC('I', 'Y', 'U', 'V'), + SDL_PIXELFORMAT_YUY2 = /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */ + SDL_DEFINE_PIXELFOURCC('Y', 'U', 'Y', '2'), + SDL_PIXELFORMAT_UYVY = /**< Packed mode: U0+Y0+V0+Y1 (1 plane) */ + SDL_DEFINE_PIXELFOURCC('U', 'Y', 'V', 'Y'), + SDL_PIXELFORMAT_YVYU = /**< Packed mode: Y0+V0+Y1+U0 (1 plane) */ + SDL_DEFINE_PIXELFOURCC('Y', 'V', 'Y', 'U') +}; + +typedef struct SDL_Color +{ + Uint8 r; + Uint8 g; + Uint8 b; + Uint8 unused; +} SDL_Color; +#define SDL_Colour SDL_Color + +typedef struct SDL_Palette SDL_Palette; +typedef int (*SDL_PaletteChangedFunc) (void *userdata, SDL_Palette * palette); +typedef struct SDL_PaletteWatch SDL_PaletteWatch; + +struct SDL_Palette +{ + int ncolors; + SDL_Color *colors; + + int refcount; + SDL_PaletteWatch *watch; +}; + +/** + * \note Everything in the pixel format structure is read-only. + */ +typedef struct SDL_PixelFormat +{ + SDL_Palette *palette; + Uint8 BitsPerPixel; + Uint8 BytesPerPixel; + Uint8 Rloss; + Uint8 Gloss; + Uint8 Bloss; + Uint8 Aloss; + Uint8 Rshift; + Uint8 Gshift; + Uint8 Bshift; + Uint8 Ashift; + Uint32 Rmask; + Uint32 Gmask; + Uint32 Bmask; + Uint32 Amask; +} SDL_PixelFormat; + +/** + * \brief Convert one of the enumerated pixel formats to a bpp and RGBA masks. + * + * \return SDL_TRUE, or SDL_FALSE if the conversion wasn't possible. + * + * \sa SDL_MasksToPixelFormatEnum() + */ +extern DECLSPEC SDL_bool SDLCALL SDL_PixelFormatEnumToMasks(Uint32 format, + int *bpp, + Uint32 * Rmask, + Uint32 * Gmask, + Uint32 * Bmask, + Uint32 * Amask); + +/** + * \brief Convert a bpp and RGBA masks to an enumerated pixel format. + * + * \return The pixel format, or ::SDL_PIXELFORMAT_UNKNOWN if the conversion + * wasn't possible. + * + * \sa SDL_PixelFormatEnumToMasks() + */ +extern DECLSPEC Uint32 SDLCALL SDL_MasksToPixelFormatEnum(int bpp, + Uint32 Rmask, + Uint32 Gmask, + Uint32 Bmask, + Uint32 Amask); + +/** + * \brief Create a palette structure with the specified number of color + * entries. + * + * \return A new palette, or NULL if there wasn't enough memory. + * + * \note The palette entries are initialized to white. + * + * \sa SDL_FreePalette() + */ +extern DECLSPEC SDL_Palette *SDLCALL SDL_AllocPalette(int ncolors); + +/** + * \brief Add a callback function which is called when the palette changes. + * + * \sa SDL_DelPaletteWatch() + */ +extern DECLSPEC int SDLCALL SDL_AddPaletteWatch(SDL_Palette * palette, + SDL_PaletteChangedFunc + callback, void *userdata); + +/** + * \brief Remove a callback function previously added with + * SDL_AddPaletteWatch(). + * + * \sa SDL_AddPaletteWatch() + */ +extern DECLSPEC void SDLCALL SDL_DelPaletteWatch(SDL_Palette * palette, + SDL_PaletteChangedFunc + callback, void *userdata); + +/** + * \brief Set a range of colors in a palette. + * + * \param palette The palette to modify. + * \param colors An array of colors to copy into the palette. + * \param firstcolor The index of the first palette entry to modify. + * \param ncolors The number of entries to modify. + * + * \return 0 on success, or -1 if not all of the colors could be set. + */ +extern DECLSPEC int SDLCALL SDL_SetPaletteColors(SDL_Palette * palette, + const SDL_Color * colors, + int firstcolor, int ncolors); + +/** + * \brief Free a palette created with SDL_AllocPalette(). + * + * \sa SDL_AllocPalette() + */ +extern DECLSPEC void SDLCALL SDL_FreePalette(SDL_Palette * palette); + +/** + * \brief Maps an RGB triple to an opaque pixel value for a given pixel format. + * + * \sa SDL_MapRGBA + */ +extern DECLSPEC Uint32 SDLCALL SDL_MapRGB(const SDL_PixelFormat * format, + Uint8 r, Uint8 g, Uint8 b); + +/** + * \brief Maps an RGBA quadruple to a pixel value for a given pixel format. + * + * \sa SDL_MapRGB + */ +extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA(const SDL_PixelFormat * format, + Uint8 r, Uint8 g, Uint8 b, + Uint8 a); + +/** + * \brief Get the RGB components from a pixel of the specified format. + * + * \sa SDL_GetRGBA + */ +extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel, + const SDL_PixelFormat * format, + Uint8 * r, Uint8 * g, Uint8 * b); + +/** + * \brief Get the RGBA components from a pixel of the specified format. + * + * \sa SDL_GetRGB + */ +extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, + const SDL_PixelFormat * format, + Uint8 * r, Uint8 * g, Uint8 * b, + Uint8 * a); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_pixels_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_platform.h b/alienblaster/project/jni/sdl/include/SDL_platform.h index 11d867366..f9429bdec 100644 --- a/alienblaster/project/jni/sdl/include/SDL_platform.h +++ b/alienblaster/project/jni/sdl/include/SDL_platform.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,10 @@ slouken@libsdl.org */ -/** @file SDL_platform.h - * Try to get a standard set of platform defines +/** + * \file SDL_platform.h + * + * Try to get a standard set of platform defines. */ #ifndef _SDL_platform_h @@ -37,7 +39,7 @@ #endif #if defined(__HAIKU__) #undef __HAIKU__ -#define __HAIKU__ 1 +#define __HAIKU__ 1 #endif #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) #undef __BSDI__ @@ -51,10 +53,6 @@ #undef __FREEBSD__ #define __FREEBSD__ 1 #endif -#if defined(__HAIKU__) -#undef __HAIKU__ -#define __HAIKU__ 1 -#endif #if defined(hpux) || defined(__hpux) || defined(__hpux__) #undef __HPUX__ #define __HPUX__ 1 @@ -67,13 +65,30 @@ #undef __LINUX__ #define __LINUX__ 1 #endif + #if defined(__APPLE__) +/* lets us know what version of Mac OS X we're compiling on */ +#include "AvailabilityMacros.h" +#ifdef MAC_OS_X_VERSION_10_3 +#include "TargetConditionals.h" /* this header is in 10.3 or later */ +#if TARGET_OS_IPHONE +/* if compiling for iPhone */ +#undef __IPHONEOS__ +#define __IPHONEOS__ 1 +#undef __MACOSX__ +#else +/* if not compiling for iPhone */ +#undef __MACOSX__ +#define __MACOSX__ 1 +#endif /* TARGET_OS_IPHONE */ +#else +/* if earlier verion of Mac OS X than version 10.3 */ #undef __MACOSX__ #define __MACOSX__ 1 -#elif defined(macintosh) -#undef __MACOS__ -#define __MACOS__ 1 #endif + +#endif /* defined(__APPLE__) */ + #if defined(__NetBSD__) #undef __NETBSD__ #define __NETBSD__ 1 @@ -107,4 +122,33 @@ #define __WIN32__ 1 #endif +#if defined(__NDS__) +#undef __NINTENDODS__ +#define __NINTENDODS__ 1 +#endif + + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/** + * \brief Gets the name of the platform. + */ +extern DECLSPEC const char * SDLCALL SDL_GetPlatform (void); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + #endif /* _SDL_platform_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_power.h b/alienblaster/project/jni/sdl/include/SDL_power.h new file mode 100644 index 000000000..9141422f0 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_power.h @@ -0,0 +1,80 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +#ifndef _SDL_power_h +#define _SDL_power_h + +/** + * \file SDL_power.h + * + * Header for the SDL power management routines. + */ + +#include "SDL_stdinc.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/** + * \brief The basic state for the system's power supply. + */ +typedef enum +{ + SDL_POWERSTATE_UNKNOWN, /**< cannot determine power status */ + SDL_POWERSTATE_ON_BATTERY, /**< Not plugged in, running on the battery */ + SDL_POWERSTATE_NO_BATTERY, /**< Plugged in, no battery available */ + SDL_POWERSTATE_CHARGING, /**< Plugged in, charging battery */ + SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */ +} SDL_PowerState; + + +/** + * \brief Get the current power supply details. + * + * \param secs Seconds of battery life left. You can pass a NULL here if + * you don't care. Will return -1 if we can't determine a + * value, or we're not running on a battery. + * + * \param pct Percentage of battery life left, between 0 and 100. You can + * pass a NULL here if you don't care. Will return -1 if we + * can't determine a value, or we're not running on a battery. + * + * \return The state of the battery (if any). + */ +extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_power_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_quit.h b/alienblaster/project/jni/sdl/include/SDL_quit.h index 6d82e7e06..c5e0db3c9 100644 --- a/alienblaster/project/jni/sdl/include/SDL_quit.h +++ b/alienblaster/project/jni/sdl/include/SDL_quit.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,10 @@ slouken@libsdl.org */ -/** @file SDL_quit.h - * Include file for SDL quit event handling +/** + * \file SDL_quit.h + * + * Include file for SDL quit event handling. */ #ifndef _SDL_quit_h @@ -30,8 +32,10 @@ #include "SDL_stdinc.h" #include "SDL_error.h" -/** @file SDL_quit.h - * An SDL_QUITEVENT is generated when the user tries to close the application +/** + * \file SDL_quit.h + * + * An ::SDL_QUIT event is generated when the user tries to close the application * window. If it is ignored or filtered out, the window will remain open. * If it is not ignored or filtered, it is queued normally and the window * is allowed to close. When the window is closed, screen updates will @@ -39,15 +43,15 @@ * * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) * and SIGTERM (system termination request), if handlers do not already - * exist, that generate SDL_QUITEVENT events as well. There is no way - * to determine the cause of an SDL_QUITEVENT, but setting a signal + * exist, that generate ::SDL_QUIT events as well. There is no way + * to determine the cause of an ::SDL_QUIT event, but setting a signal * handler in your application will override the default generation of * quit events for that signal. + * + * \sa SDL_Quit() */ -/** @file SDL_quit.h - * There are no functions directly affecting the quit event - */ +/* There are no functions directly affecting the quit event */ #define SDL_QuitRequested() \ (SDL_PumpEvents(), SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUITMASK)) diff --git a/alienblaster/project/jni/sdl/include/SDL_rect.h b/alienblaster/project/jni/sdl/include/SDL_rect.h new file mode 100644 index 000000000..4229d34db --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_rect.h @@ -0,0 +1,137 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +/** + * \file SDL_rect.h + * + * Header file for SDL_rect definition and management functions. + */ + +#ifndef _SDL_rect_h +#define _SDL_rect_h + +#include "SDL_stdinc.h" +#include "SDL_error.h" +#include "SDL_pixels.h" +#include "SDL_rwops.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/** + * \brief The structure that defines a point + * + * \sa SDL_EnclosePoints + */ +typedef struct +{ + int x; + int y; +} SDL_Point; + +/** + * \brief A rectangle, with the origin at the upper left. + * + * \sa SDL_RectEmpty + * \sa SDL_RectEquals + * \sa SDL_HasIntersection + * \sa SDL_IntersectRect + * \sa SDL_UnionRect + * \sa SDL_EnclosePoints + */ +typedef struct SDL_Rect +{ + int x, y; + int w, h; +} SDL_Rect; + +/** + * \brief Returns true if the rectangle has no area. + */ +#define SDL_RectEmpty(X) (((X)->w <= 0) || ((X)->h <= 0)) + +/** + * \brief Returns true if the two rectangles are equal. + */ +#define SDL_RectEquals(A, B) (((A)->x == (B)->x) && ((A)->y == (B)->y) && \ + ((A)->w == (B)->w) && ((A)->h == (B)->h)) + +/** + * \brief Determine whether two rectangles intersect. + * + * \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_HasIntersection(const SDL_Rect * A, + const SDL_Rect * B); + +/** + * \brief Calculate the intersection of two rectangles. + * + * \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_IntersectRect(const SDL_Rect * A, + const SDL_Rect * B, + SDL_Rect * result); + +/** + * \brief Calculate the union of two rectangles. + */ +extern DECLSPEC void SDLCALL SDL_UnionRect(const SDL_Rect * A, + const SDL_Rect * B, + SDL_Rect * result); + +/** + * \brief Calculate a minimal rectangle enclosing a set of points + * + * \return SDL_TRUE if any points were within the clipping rect + */ +extern DECLSPEC SDL_bool SDLCALL SDL_EnclosePoints(const SDL_Point * points, + int count, + const SDL_Rect * clip, + SDL_Rect * result); + +/** + * \brief Calculate the intersection of a rectangle and line segment. + * + * \return SDL_TRUE if there is an intersection, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_IntersectRectAndLine(const SDL_Rect * + rect, int *X1, + int *Y1, int *X2, + int *Y2); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_rect_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_revision.h b/alienblaster/project/jni/sdl/include/SDL_revision.h new file mode 100644 index 000000000..3af3861e3 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_revision.h @@ -0,0 +1 @@ +#define SDL_REVISION "hg-4467:0baef09fe702" diff --git a/alienblaster/project/jni/sdl/include/SDL_rwops.h b/alienblaster/project/jni/sdl/include/SDL_rwops.h index a450119f1..f6ba4a8a0 100644 --- a/alienblaster/project/jni/sdl/include/SDL_rwops.h +++ b/alienblaster/project/jni/sdl/include/SDL_rwops.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,9 @@ slouken@libsdl.org */ -/** @file SDL_rwops.h +/** + * \file SDL_rwops.h + * * This file provides a general interface for SDL to read and write * data sources. It can easily be extended to files, memory, etc. */ @@ -34,122 +36,171 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** This is the read/write operation structure -- very basic */ +/** + * This is the read/write operation structure -- very basic. + */ +typedef struct SDL_RWops +{ + /** + * Seek to \c offset relative to \c whence, one of stdio's whence values: + * RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END + * + * \return the final offset in the data source. + */ + long (SDLCALL * seek) (struct SDL_RWops * context, long offset, + int whence); -typedef struct SDL_RWops { - /** Seek to 'offset' relative to whence, one of stdio's whence values: - * SEEK_SET, SEEK_CUR, SEEK_END - * Returns the final offset in the data source. - */ - int (SDLCALL *seek)(struct SDL_RWops *context, int offset, int whence); + /** + * Read up to \c maxnum objects each of size \c size from the data + * source to the area pointed at by \c ptr. + * + * \return the number of objects read, or 0 at error or end of file. + */ + size_t(SDLCALL * read) (struct SDL_RWops * context, void *ptr, + size_t size, size_t maxnum); - /** Read up to 'maxnum' objects each of size 'size' from the data - * source to the area pointed at by 'ptr'. - * Returns the number of objects read, or -1 if the read failed. - */ - int (SDLCALL *read)(struct SDL_RWops *context, void *ptr, int size, int maxnum); + /** + * Write exactly \c num objects each of size \c objsize from the area + * pointed at by \c ptr to data source. + * + * \return the number of objects written, or 0 at error or end of file. + */ + size_t(SDLCALL * write) (struct SDL_RWops * context, const void *ptr, + size_t size, size_t num); - /** Write exactly 'num' objects each of size 'objsize' from the area - * pointed at by 'ptr' to data source. - * Returns 'num', or -1 if the write failed. - */ - int (SDLCALL *write)(struct SDL_RWops *context, const void *ptr, int size, int num); + /** + * Close and free an allocated SDL_RWops structure. + * + * \return 0 if successful or -1 on write error when flushing data. + */ + int (SDLCALL * close) (struct SDL_RWops * context); - /** Close and free an allocated SDL_FSops structure */ - int (SDLCALL *close)(struct SDL_RWops *context); - - Uint32 type; - union { -#if defined(__WIN32__) && !defined(__SYMBIAN32__) - struct { - int append; - void *h; - struct { - void *data; - int size; - int left; - } buffer; - } win32io; + Uint32 type; + union + { +#ifdef __WIN32__ + struct + { + SDL_bool append; + void *h; + struct + { + void *data; + size_t size; + size_t left; + } buffer; + } win32io; #endif -#ifdef HAVE_STDIO_H - struct { - int autoclose; - FILE *fp; - } stdio; +#ifdef HAVE_STDIO_H + struct + { + SDL_bool autoclose; + FILE *fp; + } stdio; #endif - struct { - Uint8 *base; - Uint8 *here; - Uint8 *stop; - } mem; - struct { - void *data1; - } unknown; - } hidden; + struct + { + Uint8 *base; + Uint8 *here; + Uint8 *stop; + } mem; + struct + { + void *data1; + } unknown; + } hidden; } SDL_RWops; -/** @name Functions to create SDL_RWops structures from various data sources */ +/** + * \name RWFrom functions + * + * Functions to create SDL_RWops structures from various data sources. + */ /*@{*/ -extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFile(const char *file, const char *mode); +extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFile(const char *file, + const char *mode); #ifdef HAVE_STDIO_H -extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFP(FILE *fp, int autoclose); +extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFP(FILE * fp, + SDL_bool autoclose); +#else +extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFP(void * fp, + SDL_bool autoclose); #endif -extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromMem(void *mem, int size); -extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromConstMem(const void *mem, int size); +extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromMem(void *mem, int size); +extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromConstMem(const void *mem, + int size); -extern DECLSPEC SDL_RWops * SDLCALL SDL_AllocRW(void); -extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops *area); +/*@}*//*RWFrom functions*/ -/*@}*/ -/** @name Seek Reference Points */ -/*@{*/ -#define RW_SEEK_SET 0 /**< Seek from the beginning of data */ -#define RW_SEEK_CUR 1 /**< Seek relative to current read point */ -#define RW_SEEK_END 2 /**< Seek relative to the end of data */ -/*@}*/ +extern DECLSPEC SDL_RWops *SDLCALL SDL_AllocRW(void); +extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area); -/** @name Macros to easily read and write from an SDL_RWops structure */ +#define RW_SEEK_SET 0 /**< Seek from the beginning of data */ +#define RW_SEEK_CUR 1 /**< Seek relative to current read point */ +#define RW_SEEK_END 2 /**< Seek relative to the end of data */ + +/** + * \name Read/write macros + * + * Macros to easily read and write from an SDL_RWops structure. + */ /*@{*/ #define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence) #define SDL_RWtell(ctx) (ctx)->seek(ctx, 0, RW_SEEK_CUR) #define SDL_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n) #define SDL_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n) #define SDL_RWclose(ctx) (ctx)->close(ctx) -/*@}*/ +/*@}*//*Read/write macros*/ -/** @name Read an item of the specified endianness and return in native format */ -/*@{*/ -extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops *src); -extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops *src); -extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops *src); -extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops *src); -extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops *src); -extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops *src); -/*@}*/ -/** @name Write an item of native format to the specified endianness */ +/** + * \name Read endian functions + * + * Read an item of the specified endianness and return in native format. + */ /*@{*/ -extern DECLSPEC int SDLCALL SDL_WriteLE16(SDL_RWops *dst, Uint16 value); -extern DECLSPEC int SDLCALL SDL_WriteBE16(SDL_RWops *dst, Uint16 value); -extern DECLSPEC int SDLCALL SDL_WriteLE32(SDL_RWops *dst, Uint32 value); -extern DECLSPEC int SDLCALL SDL_WriteBE32(SDL_RWops *dst, Uint32 value); -extern DECLSPEC int SDLCALL SDL_WriteLE64(SDL_RWops *dst, Uint64 value); -extern DECLSPEC int SDLCALL SDL_WriteBE64(SDL_RWops *dst, Uint64 value); -/*@}*/ +extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops * src); +extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops * src); +extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops * src); +extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops * src); +extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops * src); +extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops * src); +/*@}*//*Read endian functions*/ + +/** + * \name Write endian functions + * + * Write an item of native format to the specified endianness. + */ +/*@{*/ +extern DECLSPEC size_t SDLCALL SDL_WriteLE16(SDL_RWops * dst, Uint16 value); +extern DECLSPEC size_t SDLCALL SDL_WriteBE16(SDL_RWops * dst, Uint16 value); +extern DECLSPEC size_t SDLCALL SDL_WriteLE32(SDL_RWops * dst, Uint32 value); +extern DECLSPEC size_t SDLCALL SDL_WriteBE32(SDL_RWops * dst, Uint32 value); +extern DECLSPEC size_t SDLCALL SDL_WriteLE64(SDL_RWops * dst, Uint64 value); +extern DECLSPEC size_t SDLCALL SDL_WriteBE64(SDL_RWops * dst, Uint64 value); +/*@}*//*Write endian functions*/ + /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_rwops_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_scancode.h b/alienblaster/project/jni/sdl/include/SDL_scancode.h new file mode 100644 index 000000000..0efaf8850 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_scancode.h @@ -0,0 +1,399 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +/** + * \file SDL_scancode.h + * + * Defines keyboard scancodes. + */ + +#ifndef _SDL_scancode_h +#define _SDL_scancode_h + +#include "SDL_stdinc.h" + +/** + * \brief The SDL keyboard scancode representation. + * + * Values of this type are used to represent keyboard keys, among other places + * in the \link SDL_keysym::scancode key.keysym.scancode \endlink field of the + * SDL_Event structure. + * + * The values in this enumeration are based on the USB usage page standard: + * http://www.usb.org/developers/devclass_docs/Hut1_12.pdf + */ +typedef enum +{ + SDL_SCANCODE_UNKNOWN = 0, + + /** + * \name Usage page 0x07 + * + * These values are from usage page 0x07 (USB keyboard page). + */ + /*@{*/ + + SDL_SCANCODE_A = 4, + SDL_SCANCODE_B = 5, + SDL_SCANCODE_C = 6, + SDL_SCANCODE_D = 7, + SDL_SCANCODE_E = 8, + SDL_SCANCODE_F = 9, + SDL_SCANCODE_G = 10, + SDL_SCANCODE_H = 11, + SDL_SCANCODE_I = 12, + SDL_SCANCODE_J = 13, + SDL_SCANCODE_K = 14, + SDL_SCANCODE_L = 15, + SDL_SCANCODE_M = 16, + SDL_SCANCODE_N = 17, + SDL_SCANCODE_O = 18, + SDL_SCANCODE_P = 19, + SDL_SCANCODE_Q = 20, + SDL_SCANCODE_R = 21, + SDL_SCANCODE_S = 22, + SDL_SCANCODE_T = 23, + SDL_SCANCODE_U = 24, + SDL_SCANCODE_V = 25, + SDL_SCANCODE_W = 26, + SDL_SCANCODE_X = 27, + SDL_SCANCODE_Y = 28, + SDL_SCANCODE_Z = 29, + + SDL_SCANCODE_1 = 30, + SDL_SCANCODE_2 = 31, + SDL_SCANCODE_3 = 32, + SDL_SCANCODE_4 = 33, + SDL_SCANCODE_5 = 34, + SDL_SCANCODE_6 = 35, + SDL_SCANCODE_7 = 36, + SDL_SCANCODE_8 = 37, + SDL_SCANCODE_9 = 38, + SDL_SCANCODE_0 = 39, + + SDL_SCANCODE_RETURN = 40, + SDL_SCANCODE_ESCAPE = 41, + SDL_SCANCODE_BACKSPACE = 42, + SDL_SCANCODE_TAB = 43, + SDL_SCANCODE_SPACE = 44, + + SDL_SCANCODE_MINUS = 45, + SDL_SCANCODE_EQUALS = 46, + SDL_SCANCODE_LEFTBRACKET = 47, + SDL_SCANCODE_RIGHTBRACKET = 48, + SDL_SCANCODE_BACKSLASH = 49, /**< Located at the lower left of the return + * key on ISO keyboards and at the right end + * of the QWERTY row on ANSI keyboards. + * Produces REVERSE SOLIDUS (backslash) and + * VERTICAL LINE in a US layout, REVERSE + * SOLIDUS and VERTICAL LINE in a UK Mac + * layout, NUMBER SIGN and TILDE in a UK + * Windows layout, DOLLAR SIGN and POUND SIGN + * in a Swiss German layout, NUMBER SIGN and + * APOSTROPHE in a German layout, GRAVE + * ACCENT and POUND SIGN in a French Mac + * layout, and ASTERISK and MICRO SIGN in a + * French Windows layout. + */ + SDL_SCANCODE_NONUSHASH = 50, /**< ISO USB keyboards actually use this code + * instead of 49 for the same key, but all + * OSes I've seen treat the two codes + * identically. So, as an implementor, unless + * your keyboard generates both of those + * codes and your OS treats them differently, + * you should generate SDL_SCANCODE_BACKSLASH + * instead of this code. As a user, you + * should not rely on this code because SDL + * will never generate it with most (all?) + * keyboards. + */ + SDL_SCANCODE_SEMICOLON = 51, + SDL_SCANCODE_APOSTROPHE = 52, + SDL_SCANCODE_GRAVE = 53, /**< Located in the top left corner (on both ANSI + * and ISO keyboards). Produces GRAVE ACCENT and + * TILDE in a US Windows layout and in US and UK + * Mac layouts on ANSI keyboards, GRAVE ACCENT + * and NOT SIGN in a UK Windows layout, SECTION + * SIGN and PLUS-MINUS SIGN in US and UK Mac + * layouts on ISO keyboards, SECTION SIGN and + * DEGREE SIGN in a Swiss German layout (Mac: + * only on ISO keyboards), CIRCUMFLEX ACCENT and + * DEGREE SIGN in a German layout (Mac: only on + * ISO keyboards), SUPERSCRIPT TWO and TILDE in a + * French Windows layout, COMMERCIAL AT and + * NUMBER SIGN in a French Mac layout on ISO + * keyboards, and LESS-THAN SIGN and GREATER-THAN + * SIGN in a Swiss German, German, or French Mac + * layout on ANSI keyboards. + */ + SDL_SCANCODE_COMMA = 54, + SDL_SCANCODE_PERIOD = 55, + SDL_SCANCODE_SLASH = 56, + + SDL_SCANCODE_CAPSLOCK = 57, + + SDL_SCANCODE_F1 = 58, + SDL_SCANCODE_F2 = 59, + SDL_SCANCODE_F3 = 60, + SDL_SCANCODE_F4 = 61, + SDL_SCANCODE_F5 = 62, + SDL_SCANCODE_F6 = 63, + SDL_SCANCODE_F7 = 64, + SDL_SCANCODE_F8 = 65, + SDL_SCANCODE_F9 = 66, + SDL_SCANCODE_F10 = 67, + SDL_SCANCODE_F11 = 68, + SDL_SCANCODE_F12 = 69, + + SDL_SCANCODE_PRINTSCREEN = 70, + SDL_SCANCODE_SCROLLLOCK = 71, + SDL_SCANCODE_PAUSE = 72, + SDL_SCANCODE_INSERT = 73, /**< insert on PC, help on some Mac keyboards (but + does send code 73, not 117) */ + SDL_SCANCODE_HOME = 74, + SDL_SCANCODE_PAGEUP = 75, + SDL_SCANCODE_DELETE = 76, + SDL_SCANCODE_END = 77, + SDL_SCANCODE_PAGEDOWN = 78, + SDL_SCANCODE_RIGHT = 79, + SDL_SCANCODE_LEFT = 80, + SDL_SCANCODE_DOWN = 81, + SDL_SCANCODE_UP = 82, + + SDL_SCANCODE_NUMLOCKCLEAR = 83, /**< num lock on PC, clear on Mac keyboards + */ + SDL_SCANCODE_KP_DIVIDE = 84, + SDL_SCANCODE_KP_MULTIPLY = 85, + SDL_SCANCODE_KP_MINUS = 86, + SDL_SCANCODE_KP_PLUS = 87, + SDL_SCANCODE_KP_ENTER = 88, + SDL_SCANCODE_KP_1 = 89, + SDL_SCANCODE_KP_2 = 90, + SDL_SCANCODE_KP_3 = 91, + SDL_SCANCODE_KP_4 = 92, + SDL_SCANCODE_KP_5 = 93, + SDL_SCANCODE_KP_6 = 94, + SDL_SCANCODE_KP_7 = 95, + SDL_SCANCODE_KP_8 = 96, + SDL_SCANCODE_KP_9 = 97, + SDL_SCANCODE_KP_0 = 98, + SDL_SCANCODE_KP_PERIOD = 99, + + SDL_SCANCODE_NONUSBACKSLASH = 100, /**< This is the additional key that ISO + * keyboards have over ANSI ones, + * located between left shift and Y. + * Produces GRAVE ACCENT and TILDE in a + * US or UK Mac layout, REVERSE SOLIDUS + * (backslash) and VERTICAL LINE in a + * US or UK Windows layout, and + * LESS-THAN SIGN and GREATER-THAN SIGN + * in a Swiss German, German, or French + * layout. */ + SDL_SCANCODE_APPLICATION = 101, /**< windows contextual menu, compose */ + SDL_SCANCODE_POWER = 102, /**< The USB document says this is a status flag, + * not a physical key - but some Mac keyboards + * do have a power key. */ + SDL_SCANCODE_KP_EQUALS = 103, + SDL_SCANCODE_F13 = 104, + SDL_SCANCODE_F14 = 105, + SDL_SCANCODE_F15 = 106, + SDL_SCANCODE_F16 = 107, + SDL_SCANCODE_F17 = 108, + SDL_SCANCODE_F18 = 109, + SDL_SCANCODE_F19 = 110, + SDL_SCANCODE_F20 = 111, + SDL_SCANCODE_F21 = 112, + SDL_SCANCODE_F22 = 113, + SDL_SCANCODE_F23 = 114, + SDL_SCANCODE_F24 = 115, + SDL_SCANCODE_EXECUTE = 116, + SDL_SCANCODE_HELP = 117, + SDL_SCANCODE_MENU = 118, + SDL_SCANCODE_SELECT = 119, + SDL_SCANCODE_STOP = 120, + SDL_SCANCODE_AGAIN = 121, /**< redo */ + SDL_SCANCODE_UNDO = 122, + SDL_SCANCODE_CUT = 123, + SDL_SCANCODE_COPY = 124, + SDL_SCANCODE_PASTE = 125, + SDL_SCANCODE_FIND = 126, + SDL_SCANCODE_MUTE = 127, + SDL_SCANCODE_VOLUMEUP = 128, + SDL_SCANCODE_VOLUMEDOWN = 129, +/* not sure whether there's a reason to enable these */ +/* SDL_SCANCODE_LOCKINGCAPSLOCK = 130, */ +/* SDL_SCANCODE_LOCKINGNUMLOCK = 131, */ +/* SDL_SCANCODE_LOCKINGSCROLLLOCK = 132, */ + SDL_SCANCODE_KP_COMMA = 133, + SDL_SCANCODE_KP_EQUALSAS400 = 134, + + SDL_SCANCODE_INTERNATIONAL1 = 135, /**< used on Asian keyboards, see + footnotes in USB doc */ + SDL_SCANCODE_INTERNATIONAL2 = 136, + SDL_SCANCODE_INTERNATIONAL3 = 137, /**< Yen */ + SDL_SCANCODE_INTERNATIONAL4 = 138, + SDL_SCANCODE_INTERNATIONAL5 = 139, + SDL_SCANCODE_INTERNATIONAL6 = 140, + SDL_SCANCODE_INTERNATIONAL7 = 141, + SDL_SCANCODE_INTERNATIONAL8 = 142, + SDL_SCANCODE_INTERNATIONAL9 = 143, + SDL_SCANCODE_LANG1 = 144, /**< Hangul/English toggle */ + SDL_SCANCODE_LANG2 = 145, /**< Hanja conversion */ + SDL_SCANCODE_LANG3 = 146, /**< Katakana */ + SDL_SCANCODE_LANG4 = 147, /**< Hiragana */ + SDL_SCANCODE_LANG5 = 148, /**< Zenkaku/Hankaku */ + SDL_SCANCODE_LANG6 = 149, /**< reserved */ + SDL_SCANCODE_LANG7 = 150, /**< reserved */ + SDL_SCANCODE_LANG8 = 151, /**< reserved */ + SDL_SCANCODE_LANG9 = 152, /**< reserved */ + + SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */ + SDL_SCANCODE_SYSREQ = 154, + SDL_SCANCODE_CANCEL = 155, + SDL_SCANCODE_CLEAR = 156, + SDL_SCANCODE_PRIOR = 157, + SDL_SCANCODE_RETURN2 = 158, + SDL_SCANCODE_SEPARATOR = 159, + SDL_SCANCODE_OUT = 160, + SDL_SCANCODE_OPER = 161, + SDL_SCANCODE_CLEARAGAIN = 162, + SDL_SCANCODE_CRSEL = 163, + SDL_SCANCODE_EXSEL = 164, + + SDL_SCANCODE_KP_00 = 176, + SDL_SCANCODE_KP_000 = 177, + SDL_SCANCODE_THOUSANDSSEPARATOR = 178, + SDL_SCANCODE_DECIMALSEPARATOR = 179, + SDL_SCANCODE_CURRENCYUNIT = 180, + SDL_SCANCODE_CURRENCYSUBUNIT = 181, + SDL_SCANCODE_KP_LEFTPAREN = 182, + SDL_SCANCODE_KP_RIGHTPAREN = 183, + SDL_SCANCODE_KP_LEFTBRACE = 184, + SDL_SCANCODE_KP_RIGHTBRACE = 185, + SDL_SCANCODE_KP_TAB = 186, + SDL_SCANCODE_KP_BACKSPACE = 187, + SDL_SCANCODE_KP_A = 188, + SDL_SCANCODE_KP_B = 189, + SDL_SCANCODE_KP_C = 190, + SDL_SCANCODE_KP_D = 191, + SDL_SCANCODE_KP_E = 192, + SDL_SCANCODE_KP_F = 193, + SDL_SCANCODE_KP_XOR = 194, + SDL_SCANCODE_KP_POWER = 195, + SDL_SCANCODE_KP_PERCENT = 196, + SDL_SCANCODE_KP_LESS = 197, + SDL_SCANCODE_KP_GREATER = 198, + SDL_SCANCODE_KP_AMPERSAND = 199, + SDL_SCANCODE_KP_DBLAMPERSAND = 200, + SDL_SCANCODE_KP_VERTICALBAR = 201, + SDL_SCANCODE_KP_DBLVERTICALBAR = 202, + SDL_SCANCODE_KP_COLON = 203, + SDL_SCANCODE_KP_HASH = 204, + SDL_SCANCODE_KP_SPACE = 205, + SDL_SCANCODE_KP_AT = 206, + SDL_SCANCODE_KP_EXCLAM = 207, + SDL_SCANCODE_KP_MEMSTORE = 208, + SDL_SCANCODE_KP_MEMRECALL = 209, + SDL_SCANCODE_KP_MEMCLEAR = 210, + SDL_SCANCODE_KP_MEMADD = 211, + SDL_SCANCODE_KP_MEMSUBTRACT = 212, + SDL_SCANCODE_KP_MEMMULTIPLY = 213, + SDL_SCANCODE_KP_MEMDIVIDE = 214, + SDL_SCANCODE_KP_PLUSMINUS = 215, + SDL_SCANCODE_KP_CLEAR = 216, + SDL_SCANCODE_KP_CLEARENTRY = 217, + SDL_SCANCODE_KP_BINARY = 218, + SDL_SCANCODE_KP_OCTAL = 219, + SDL_SCANCODE_KP_DECIMAL = 220, + SDL_SCANCODE_KP_HEXADECIMAL = 221, + + SDL_SCANCODE_LCTRL = 224, + SDL_SCANCODE_LSHIFT = 225, + SDL_SCANCODE_LALT = 226, /**< alt, option */ + SDL_SCANCODE_LGUI = 227, /**< windows, command (apple), meta */ + SDL_SCANCODE_RCTRL = 228, + SDL_SCANCODE_RSHIFT = 229, + SDL_SCANCODE_RALT = 230, /**< alt gr, option */ + SDL_SCANCODE_RGUI = 231, /**< windows, command (apple), meta */ + + SDL_SCANCODE_MODE = 257, /**< I'm not sure if this is really not covered + * by any of the above, but since there's a + * special KMOD_MODE for it I'm adding it here + */ + + /*@}*//*Usage page 0x07*/ + + /** + * \name Usage page 0x0C + * + * These values are mapped from usage page 0x0C (USB consumer page). + */ + /*@{*/ + + SDL_SCANCODE_AUDIONEXT = 258, + SDL_SCANCODE_AUDIOPREV = 259, + SDL_SCANCODE_AUDIOSTOP = 260, + SDL_SCANCODE_AUDIOPLAY = 261, + SDL_SCANCODE_AUDIOMUTE = 262, + SDL_SCANCODE_MEDIASELECT = 263, + SDL_SCANCODE_WWW = 264, + SDL_SCANCODE_MAIL = 265, + SDL_SCANCODE_CALCULATOR = 266, + SDL_SCANCODE_COMPUTER = 267, + SDL_SCANCODE_AC_SEARCH = 268, + SDL_SCANCODE_AC_HOME = 269, + SDL_SCANCODE_AC_BACK = 270, + SDL_SCANCODE_AC_FORWARD = 271, + SDL_SCANCODE_AC_STOP = 272, + SDL_SCANCODE_AC_REFRESH = 273, + SDL_SCANCODE_AC_BOOKMARKS = 274, + + /*@}*//*Usage page 0x0C*/ + + /** + * \name Walther keys + * + * These are values that Christian Walther added (for mac keyboard?). + */ + /*@{*/ + + SDL_SCANCODE_BRIGHTNESSDOWN = 275, + SDL_SCANCODE_BRIGHTNESSUP = 276, + SDL_SCANCODE_DISPLAYSWITCH = 277, /**< display mirroring/dual display + switch, video mode switch */ + SDL_SCANCODE_KBDILLUMTOGGLE = 278, + SDL_SCANCODE_KBDILLUMDOWN = 279, + SDL_SCANCODE_KBDILLUMUP = 280, + SDL_SCANCODE_EJECT = 281, + SDL_SCANCODE_SLEEP = 282, + + /*@}*//*Walther keys*/ + + /* Add any other keys here. */ + + SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes + for array bounds */ +} SDL_scancode; + +#endif /* _SDL_scancode_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_stdinc.h b/alienblaster/project/jni/sdl/include/SDL_stdinc.h index e1f85fb75..c7e7edd57 100644 --- a/alienblaster/project/jni/sdl/include/SDL_stdinc.h +++ b/alienblaster/project/jni/sdl/include/SDL_stdinc.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,10 @@ slouken@libsdl.org */ -/** @file SDL_stdinc.h - * This is a general header that includes C language support +/** + * \file SDL_stdinc.h + * + * This is a general header that includes C language support. */ #ifndef _SDL_stdinc_h @@ -70,16 +72,26 @@ #ifdef HAVE_CTYPE_H # include #endif +#ifdef HAVE_MATH_H +# include +#endif #if defined(HAVE_ICONV) && defined(HAVE_ICONV_H) # include #endif -/** The number of elements in an array */ +/** + * The number of elements in an array. + */ #define SDL_arraysize(array) (sizeof(array)/sizeof(array[0])) #define SDL_TABLESIZE(table) SDL_arraysize(table) -/* Use proper C++ casts when compiled as C++ to be compatible with the option - -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above. */ +/** + * \name Cast operators + * + * Use proper C++ casts when compiled as C++ to be compatible with the option + * -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above). + */ +/*@{*/ #ifdef __cplusplus #define SDL_reinterpret_cast(type, expression) reinterpret_cast(expression) #define SDL_static_cast(type, expression) static_cast(expression) @@ -87,93 +99,130 @@ #define SDL_reinterpret_cast(type, expression) ((type)(expression)) #define SDL_static_cast(type, expression) ((type)(expression)) #endif +/*@}*//*Cast operators*/ -/** @name Basic data types */ +/** + * \name Basic data types + */ /*@{*/ -typedef enum { - SDL_FALSE = 0, - SDL_TRUE = 1 + +typedef enum +{ + SDL_FALSE = 0, + SDL_TRUE = 1 } SDL_bool; -typedef int8_t Sint8; -typedef uint8_t Uint8; -typedef int16_t Sint16; -typedef uint16_t Uint16; -typedef int32_t Sint32; -typedef uint32_t Uint32; +/** + * \brief A signed 8-bit integer type. + */ +typedef int8_t Sint8; +/** + * \brief An unsigned 8-bit integer type. + */ +typedef uint8_t Uint8; +/** + * \brief A signed 16-bit integer type. + */ +typedef int16_t Sint16; +/** + * \brief An unsigned 16-bit integer type. + */ +typedef uint16_t Uint16; +/** + * \brief A signed 32-bit integer type. + */ +typedef int32_t Sint32; +/** + * \brief An unsigned 32-bit integer type. + */ +typedef uint32_t Uint32; #ifdef SDL_HAS_64BIT_TYPE -typedef int64_t Sint64; -#ifndef SYMBIAN32_GCCE -typedef uint64_t Uint64; -#endif +/** + * \brief A signed 64-bit integer type. + * \warning On platforms without any sort of 64-bit datatype, this is equivalent to Sint32! + */ +typedef int64_t Sint64; +/** + * \brief An unsigned 64-bit integer type. + * \warning On platforms without any sort of 64-bit datatype, this is equivalent to Uint32! + */ +typedef uint64_t Uint64; #else /* This is really just a hack to prevent the compiler from complaining */ -typedef struct { - Uint32 hi; - Uint32 lo; -} Uint64, Sint64; +typedef Sint32 Sint64; +typedef Uint32 Uint64; #endif -/*@}*/ +/*@}*//*Basic data types*/ + -/** @name Make sure the types really have the right sizes */ -/*@{*/ #define SDL_COMPILE_TIME_ASSERT(name, x) \ typedef int SDL_dummy_ ## name[(x) * 2 - 1] - +/** \cond */ +#ifndef DOXYGEN_SHOULD_IGNORE_THIS SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1); SDL_COMPILE_TIME_ASSERT(sint8, sizeof(Sint8) == 1); SDL_COMPILE_TIME_ASSERT(uint16, sizeof(Uint16) == 2); SDL_COMPILE_TIME_ASSERT(sint16, sizeof(Sint16) == 2); SDL_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4); SDL_COMPILE_TIME_ASSERT(sint32, sizeof(Sint32) == 4); +#ifndef __NINTENDODS__ /* TODO: figure out why the following happens: + include/SDL_stdinc.h:150: error: size of array 'SDL_dummy_uint64' is negative + include/SDL_stdinc.h:151: error: size of array 'SDL_dummy_sint64' is negative */ SDL_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8); SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8); -/*@}*/ +#endif +#endif /* DOXYGEN_SHOULD_IGNORE_THIS */ +/** \endcond */ -/** @name Enum Size Check - * Check to make sure enums are the size of ints, for structure packing. - * For both Watcom C/C++ and Borland C/C++ the compiler option that makes - * enums having the size of an int must be enabled. - * This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11). - */ +/* Check to make sure enums are the size of ints, for structure packing. + For both Watcom C/C++ and Borland C/C++ the compiler option that makes + enums having the size of an int must be enabled. + This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11). +*/ /* Enable enums always int in CodeWarrior (for MPW use "-enum int") */ #ifdef __MWERKS__ #pragma enumsalwaysint on #endif -typedef enum { - DUMMY_ENUM_VALUE +/** \cond */ +#ifndef DOXYGEN_SHOULD_IGNORE_THIS +#ifndef __NINTENDODS__ /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */ +typedef enum +{ + DUMMY_ENUM_VALUE } SDL_DUMMY_ENUM; -#ifndef __NDS__ SDL_COMPILE_TIME_ASSERT(enum, sizeof(SDL_DUMMY_ENUM) == sizeof(int)); #endif -/*@}*/ +#endif /* DOXYGEN_SHOULD_IGNORE_THIS */ +/** \endcond */ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif #ifdef HAVE_MALLOC #define SDL_malloc malloc #else -extern DECLSPEC void * SDLCALL SDL_malloc(size_t size); +extern DECLSPEC void *SDLCALL SDL_malloc(size_t size); #endif #ifdef HAVE_CALLOC #define SDL_calloc calloc #else -extern DECLSPEC void * SDLCALL SDL_calloc(size_t nmemb, size_t size); +extern DECLSPEC void *SDLCALL SDL_calloc(size_t nmemb, size_t size); #endif #ifdef HAVE_REALLOC #define SDL_realloc realloc #else -extern DECLSPEC void * SDLCALL SDL_realloc(void *mem, size_t size); +extern DECLSPEC void *SDLCALL SDL_realloc(void *mem, size_t size); #endif #ifdef HAVE_FREE @@ -197,11 +246,11 @@ extern DECLSPEC void SDLCALL SDL_free(void *mem); # elif defined(__DMC__) # include # elif defined(__AIX__) - #pragma alloca +#pragma alloca # elif defined(__MRC__) - void *alloca (unsigned); +void *alloca(unsigned); # else - char *alloca (); +char *alloca(); # endif #endif #ifdef HAVE_ALLOCA @@ -215,20 +264,23 @@ extern DECLSPEC void SDLCALL SDL_free(void *mem); #ifdef HAVE_GETENV #define SDL_getenv getenv #else -extern DECLSPEC char * SDLCALL SDL_getenv(const char *name); +extern DECLSPEC char *SDLCALL SDL_getenv(const char *name); #endif -#ifdef HAVE_PUTENV -#define SDL_putenv putenv +/* SDL_putenv() has moved to SDL_compat. */ +#ifdef HAVE_SETENV +#define SDL_setenv setenv #else -extern DECLSPEC int SDLCALL SDL_putenv(const char *variable); +extern DECLSPEC int SDLCALL SDL_setenv(const char *name, const char *value, + int overwrite); #endif #ifdef HAVE_QSORT #define SDL_qsort qsort #else extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, - int (*compare)(const void *, const void *)); + int (*compare) (const void *, + const void *)); #endif #ifdef HAVE_ABS @@ -255,8 +307,10 @@ extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, #ifdef HAVE_MEMSET #define SDL_memset memset #else -extern DECLSPEC void * SDLCALL SDL_memset(void *dst, int c, size_t len); +extern DECLSPEC void *SDLCALL SDL_memset(void *dst, int c, size_t len); #endif +#define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x))) +#define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x))) #if defined(__GNUC__) && defined(i386) #define SDL_memset4(dst, val, len) \ @@ -275,7 +329,7 @@ do { \ do { \ unsigned _count = (len); \ unsigned _n = (_count + 3) / 4; \ - Uint32 *_p = SDL_static_cast(Uint32 *, dst); \ + Uint32 *_p = SDL_static_cast(Uint32 *, dst); \ Uint32 _val = (val); \ if (len == 0) break; \ switch (_count % 4) { \ @@ -316,7 +370,8 @@ do { \ #elif defined(HAVE_BCOPY) #define SDL_memcpy(d, s, n) bcopy((s), (d), (n)) #else -extern DECLSPEC void * SDLCALL SDL_memcpy(void *dst, const void *src, size_t len); +extern DECLSPEC void *SDLCALL SDL_memcpy(void *dst, const void *src, + size_t len); #endif #endif @@ -343,8 +398,8 @@ do { \ #define SDL_revcpy(dst, src, len) \ do { \ int u0, u1, u2; \ - char *dstp = SDL_static_cast(char *, dst); \ - char *srcp = SDL_static_cast(char *, src); \ + char *dstp = SDL_static_cast(char *, dst); \ + char *srcp = SDL_static_cast(char *, src); \ int n = (len); \ if ( n >= 4 ) { \ __asm__ __volatile__ ( \ @@ -367,7 +422,8 @@ do { \ } while(0) #endif #ifndef SDL_revcpy -extern DECLSPEC void * SDLCALL SDL_revcpy(void *dst, const void *src, size_t len); +extern DECLSPEC void *SDLCALL SDL_revcpy(void *dst, const void *src, + size_t len); #endif #ifdef HAVE_MEMMOVE @@ -388,7 +444,8 @@ do { \ #ifdef HAVE_MEMCMP #define SDL_memcmp memcmp #else -extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, size_t len); +extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, + size_t len); #endif #ifdef HAVE_STRLEN @@ -397,40 +454,51 @@ extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, size_t le extern DECLSPEC size_t SDLCALL SDL_strlen(const char *string); #endif +#ifdef HAVE_WCSLEN +#define SDL_wcslen wcslen +#else +#if !defined(wchar_t) && defined(__NINTENDODS__) +#define wchar_t short /* TODO: figure out why libnds doesn't have this */ +#endif +extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t * string); +#endif + #ifdef HAVE_STRLCPY #define SDL_strlcpy strlcpy #else -extern DECLSPEC size_t SDLCALL SDL_strlcpy(char *dst, const char *src, size_t maxlen); +extern DECLSPEC size_t SDLCALL SDL_strlcpy(char *dst, const char *src, + size_t maxlen); #endif #ifdef HAVE_STRLCAT #define SDL_strlcat strlcat #else -extern DECLSPEC size_t SDLCALL SDL_strlcat(char *dst, const char *src, size_t maxlen); +extern DECLSPEC size_t SDLCALL SDL_strlcat(char *dst, const char *src, + size_t maxlen); #endif #ifdef HAVE_STRDUP #define SDL_strdup strdup #else -extern DECLSPEC char * SDLCALL SDL_strdup(const char *string); +extern DECLSPEC char *SDLCALL SDL_strdup(const char *string); #endif #ifdef HAVE__STRREV #define SDL_strrev _strrev #else -extern DECLSPEC char * SDLCALL SDL_strrev(char *string); +extern DECLSPEC char *SDLCALL SDL_strrev(char *string); #endif #ifdef HAVE__STRUPR #define SDL_strupr _strupr #else -extern DECLSPEC char * SDLCALL SDL_strupr(char *string); +extern DECLSPEC char *SDLCALL SDL_strupr(char *string); #endif #ifdef HAVE__STRLWR #define SDL_strlwr _strlwr #else -extern DECLSPEC char * SDLCALL SDL_strlwr(char *string); +extern DECLSPEC char *SDLCALL SDL_strlwr(char *string); #endif #ifdef HAVE_STRCHR @@ -438,7 +506,7 @@ extern DECLSPEC char * SDLCALL SDL_strlwr(char *string); #elif defined(HAVE_INDEX) #define SDL_strchr index #else -extern DECLSPEC char * SDLCALL SDL_strchr(const char *string, int c); +extern DECLSPEC char *SDLCALL SDL_strchr(const char *string, int c); #endif #ifdef HAVE_STRRCHR @@ -446,13 +514,14 @@ extern DECLSPEC char * SDLCALL SDL_strchr(const char *string, int c); #elif defined(HAVE_RINDEX) #define SDL_strrchr rindex #else -extern DECLSPEC char * SDLCALL SDL_strrchr(const char *string, int c); +extern DECLSPEC char *SDLCALL SDL_strrchr(const char *string, int c); #endif #ifdef HAVE_STRSTR #define SDL_strstr strstr #else -extern DECLSPEC char * SDLCALL SDL_strstr(const char *haystack, const char *needle); +extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, + const char *needle); #endif #ifdef HAVE_ITOA @@ -464,7 +533,7 @@ extern DECLSPEC char * SDLCALL SDL_strstr(const char *haystack, const char *need #ifdef HAVE__LTOA #define SDL_ltoa _ltoa #else -extern DECLSPEC char * SDLCALL SDL_ltoa(long value, char *string, int radix); +extern DECLSPEC char *SDLCALL SDL_ltoa(long value, char *string, int radix); #endif #ifdef HAVE__UITOA @@ -476,19 +545,22 @@ extern DECLSPEC char * SDLCALL SDL_ltoa(long value, char *string, int radix); #ifdef HAVE__ULTOA #define SDL_ultoa _ultoa #else -extern DECLSPEC char * SDLCALL SDL_ultoa(unsigned long value, char *string, int radix); +extern DECLSPEC char *SDLCALL SDL_ultoa(unsigned long value, char *string, + int radix); #endif #ifdef HAVE_STRTOL #define SDL_strtol strtol #else -extern DECLSPEC long SDLCALL SDL_strtol(const char *string, char **endp, int base); +extern DECLSPEC long SDLCALL SDL_strtol(const char *string, char **endp, + int base); #endif #ifdef HAVE_STRTOUL #define SDL_strtoul strtoul #else -extern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *string, char **endp, int base); +extern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *string, + char **endp, int base); #endif #ifdef SDL_HAS_64BIT_TYPE @@ -496,25 +568,29 @@ extern DECLSPEC unsigned long SDLCALL SDL_strtoul(const char *string, char **end #ifdef HAVE__I64TOA #define SDL_lltoa _i64toa #else -extern DECLSPEC char* SDLCALL SDL_lltoa(Sint64 value, char *string, int radix); +extern DECLSPEC char *SDLCALL SDL_lltoa(Sint64 value, char *string, + int radix); #endif #ifdef HAVE__UI64TOA #define SDL_ulltoa _ui64toa #else -extern DECLSPEC char* SDLCALL SDL_ulltoa(Uint64 value, char *string, int radix); +extern DECLSPEC char *SDLCALL SDL_ulltoa(Uint64 value, char *string, + int radix); #endif #ifdef HAVE_STRTOLL #define SDL_strtoll strtoll #else -extern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *string, char **endp, int base); +extern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *string, char **endp, + int base); #endif #ifdef HAVE_STRTOULL #define SDL_strtoull strtoull #else -extern DECLSPEC Uint64 SDLCALL SDL_strtoull(const char *string, char **endp, int base); +extern DECLSPEC Uint64 SDLCALL SDL_strtoull(const char *string, char **endp, + int base); #endif #endif /* SDL_HAS_64BIT_TYPE */ @@ -546,7 +622,8 @@ extern DECLSPEC int SDLCALL SDL_strcmp(const char *str1, const char *str2); #ifdef HAVE_STRNCMP #define SDL_strncmp strncmp #else -extern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2, size_t maxlen); +extern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2, + size_t maxlen); #endif #ifdef HAVE_STRCASECMP @@ -554,7 +631,8 @@ extern DECLSPEC int SDLCALL SDL_strncmp(const char *str1, const char *str2, size #elif defined(HAVE__STRICMP) #define SDL_strcasecmp _stricmp #else -extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, const char *str2); +extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, + const char *str2); #endif #ifdef HAVE_STRNCASECMP @@ -562,36 +640,112 @@ extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, const char *str2); #elif defined(HAVE__STRNICMP) #define SDL_strncasecmp _strnicmp #else -extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, const char *str2, size_t maxlen); +extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, + const char *str2, size_t maxlen); #endif #ifdef HAVE_SSCANF #define SDL_sscanf sscanf #else -extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, const char *fmt, ...); +extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, const char *fmt, + ...); #endif #ifdef HAVE_SNPRINTF #define SDL_snprintf snprintf #else -extern DECLSPEC int SDLCALL SDL_snprintf(char *text, size_t maxlen, const char *fmt, ...); +extern DECLSPEC int SDLCALL SDL_snprintf(char *text, size_t maxlen, + const char *fmt, ...); #endif #ifdef HAVE_VSNPRINTF #define SDL_vsnprintf vsnprintf #else -extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen, const char *fmt, va_list ap); +extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen, + const char *fmt, va_list ap); #endif -/** @name SDL_ICONV Error Codes - * The SDL implementation of iconv() returns these error codes - */ -/*@{*/ +#ifndef HAVE_M_PI +#define M_PI 3.14159265358979323846264338327950288 /* pi */ +#endif + +#ifdef HAVE_CEIL +#define SDL_ceil ceil +#else +#define SDL_ceil(x) ((double)(int)((x)+0.5)) +#endif + +#ifdef HAVE_COPYSIGN +#define SDL_copysign copysign +#else +extern DECLSPEC double SDLCALL SDL_copysign(double x, double y); +#endif + +#ifdef HAVE_COS +#define SDL_cos cos +#else +extern DECLSPEC double SDLCALL SDL_cos(double x); +#endif + +#ifdef HAVE_COSF +#define SDL_cosf cosf +#else +#define SDL_cosf(x) (float)SDL_cos((double)x) +#endif + +#ifdef HAVE_FABS +#define SDL_fabs fabs +#else +extern DECLSPEC double SDLCALL SDL_fabs(double x); +#endif + +#ifdef HAVE_FLOOR +#define SDL_floor floor +#else +extern DECLSPEC double SDLCALL SDL_floor(double x); +#endif + +#ifdef HAVE_LOG +#define SDL_log log +#else +extern DECLSPEC double SDLCALL SDL_log(double x); +#endif + +#ifdef HAVE_POW +#define SDL_pow pow +#else +extern DECLSPEC double SDLCALL SDL_pow(double x, double y); +#endif + +#ifdef HAVE_SCALBN +#define SDL_scalbn scalbn +#else +extern DECLSPEC double SDLCALL SDL_scalbn(double x, int n); +#endif + +#ifdef HAVE_SIN +#define SDL_sin sin +#else +extern DECLSPEC double SDLCALL SDL_sin(double x); +#endif + +#ifdef HAVE_SINF +#define SDL_sinf sinf +#else +#define SDL_sinf(x) (float)SDL_sin((double)x) +#endif + +#ifdef HAVE_SQRT +#define SDL_sqrt sqrt +#else +extern DECLSPEC double SDLCALL SDL_sqrt(double x); +#endif + +/* The SDL implementation of iconv() returns these error codes */ #define SDL_ICONV_ERROR (size_t)-1 #define SDL_ICONV_E2BIG (size_t)-2 #define SDL_ICONV_EILSEQ (size_t)-3 #define SDL_ICONV_EINVAL (size_t)-4 -/*@}*/ #if defined(HAVE_ICONV) && defined(HAVE_ICONV_H) #define SDL_iconv_t iconv_t @@ -599,22 +753,33 @@ extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen, const char #define SDL_iconv_close iconv_close #else typedef struct _SDL_iconv_t *SDL_iconv_t; -extern DECLSPEC SDL_iconv_t SDLCALL SDL_iconv_open(const char *tocode, const char *fromcode); +extern DECLSPEC SDL_iconv_t SDLCALL SDL_iconv_open(const char *tocode, + const char *fromcode); extern DECLSPEC int SDLCALL SDL_iconv_close(SDL_iconv_t cd); #endif -extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); -/** This function converts a string between encodings in one pass, returning a +extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf, + size_t * inbytesleft, char **outbuf, + size_t * outbytesleft); +/** + * This function converts a string between encodings in one pass, returning a * string that must be freed with SDL_free() or NULL on error. */ -extern DECLSPEC char * SDLCALL SDL_iconv_string(const char *tocode, const char *fromcode, const char *inbuf, size_t inbytesleft); +extern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode, + const char *fromcode, + const char *inbuf, + size_t inbytesleft); #define SDL_iconv_utf8_locale(S) SDL_iconv_string("", "UTF-8", S, SDL_strlen(S)+1) #define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1) #define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4", "UTF-8", S, SDL_strlen(S)+1) /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_stdinc_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_surface.h b/alienblaster/project/jni/sdl/include/SDL_surface.h new file mode 100644 index 000000000..2068076f3 --- /dev/null +++ b/alienblaster/project/jni/sdl/include/SDL_surface.h @@ -0,0 +1,700 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997-2010 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 +*/ + +/** + * \file SDL_surface.h + * + * Header file for ::SDL_surface definition and management functions. + */ + +#ifndef _SDL_surface_h +#define _SDL_surface_h + +#include "SDL_stdinc.h" +#include "SDL_pixels.h" +#include "SDL_rect.h" +#include "SDL_rwops.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + +/** + * \name Surface flags + * + * These are the currently supported flags for the ::SDL_surface. + * + * \internal + * Used internally (read-only). + */ +/*@{*/ +#define SDL_PREALLOC 0x00000001 /**< Surface uses preallocated memory */ +#define SDL_RLEACCEL 0x00000002 /**< Surface is RLE encoded */ +/*@}*//*Surface flags*/ + +/** + * Evaluates to true if the surface needs to be locked before access. + */ +#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0) + +/** + * \brief A collection of pixels used in software blitting. + * + * \note This structure should be treated as read-only, except for \c pixels, + * which, if not NULL, contains the raw pixel data for the surface. + */ +typedef struct SDL_Surface +{ + Uint32 flags; /**< Read-only */ + SDL_PixelFormat *format; /**< Read-only */ + int w, h; /**< Read-only */ + int pitch; /**< Read-only */ + void *pixels; /**< Read-write */ + + /** Application data associated with the surface */ + void *userdata; /**< Read-write */ + + /** information needed for surfaces requiring locks */ + int locked; /**< Read-only */ + void *lock_data; /**< Read-only */ + + /** clipping information */ + SDL_Rect clip_rect; /**< Read-only */ + + /** info for fast blit mapping to other surfaces */ + struct SDL_BlitMap *map; /**< Private */ + + /** format version, bumped at every change to invalidate blit maps */ + unsigned int format_version; /**< Private */ + + /** Reference count -- used when freeing surface */ + int refcount; /**< Read-mostly */ +} SDL_Surface; + +/** + * \brief The type of function used for surface blitting functions. + */ +typedef int (*SDL_blit) (struct SDL_Surface * src, SDL_Rect * srcrect, + struct SDL_Surface * dst, SDL_Rect * dstrect); + +/** + * Allocate and free an RGB surface. + * + * If the depth is 4 or 8 bits, an empty palette is allocated for the surface. + * If the depth is greater than 8 bits, the pixel format is set using the + * flags '[RGB]mask'. + * + * If the function runs out of memory, it will return NULL. + * + * \param flags The \c flags are obsolete and should be set to 0. + */ +extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface + (Uint32 flags, int width, int height, int depth, + Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask); +extern DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels, + int width, + int height, + int depth, + int pitch, + Uint32 Rmask, + Uint32 Gmask, + Uint32 Bmask, + Uint32 Amask); +extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface * surface); + +/** + * \brief Set the palette used by a surface. + * + * \return 0, or -1 if the surface format doesn't use a palette. + * + * \note A single palette can be shared with many surfaces. + */ +extern DECLSPEC int SDLCALL SDL_SetSurfacePalette(SDL_Surface * surface, + SDL_Palette * palette); + +/** + * \brief Sets up a surface for directly accessing the pixels. + * + * Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write + * to and read from \c surface->pixels, using the pixel format stored in + * \c surface->format. Once you are done accessing the surface, you should + * use SDL_UnlockSurface() to release it. + * + * Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates + * to 0, then you can read and write to the surface at any time, and the + * pixel format of the surface will not change. + * + * No operating system or library calls should be made between lock/unlock + * pairs, as critical system locks may be held during this time. + * + * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. + * + * \sa SDL_UnlockSurface() + */ +extern DECLSPEC int SDLCALL SDL_LockSurface(SDL_Surface * surface); +/** \sa SDL_LockSurface() */ +extern DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface * surface); + +/** + * Load a surface from a seekable SDL data source (memory or file). + * + * If \c freesrc is non-zero, the source will be closed after being read. + * + * The new surface should be freed with SDL_FreeSurface(). + * + * \return the new surface, or NULL if there was an error. + */ +extern DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW(SDL_RWops * src, + int freesrc); + +/** + * Load a surface from a file. + * + * Convenience macro. + */ +#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1) + +/** + * Save a surface to a seekable SDL data source (memory or file). + * + * If \c freedst is non-zero, the source will be closed after being written. + * + * \return 0 if successful or -1 if there was an error. + */ +extern DECLSPEC int SDLCALL SDL_SaveBMP_RW + (SDL_Surface * surface, SDL_RWops * dst, int freedst); + +/** + * Save a surface to a file. + * + * Convenience macro. + */ +#define SDL_SaveBMP(surface, file) \ + SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, "wb"), 1) + +/** + * \brief Sets the RLE acceleration hint for a surface. + * + * \return 0 on success, or -1 if the surface is not valid + * + * \note If RLE is enabled, colorkey and alpha blending blits are much faster, + * but the surface must be locked before directly accessing the pixels. + */ +extern DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface * surface, + int flag); + +/** + * \brief Sets the color key (transparent pixel) in a blittable surface. + * + * \param surface The surface to update + * \param flag Non-zero to enable colorkey and 0 to disable colorkey + * \param key The transparent pixel in the native surface format + * + * \return 0 on success, or -1 if the surface is not valid + */ +extern DECLSPEC int SDLCALL SDL_SetColorKey(SDL_Surface * surface, + int flag, Uint32 key); + +/** + * \brief Gets the color key (transparent pixel) in a blittable surface. + * + * \param surface The surface to update + * \param key A pointer filled in with the transparent pixel in the native + * surface format + * + * \return 0 on success, or -1 if the surface is not valid or colorkey is not + * enabled. + */ +extern DECLSPEC int SDLCALL SDL_GetColorKey(SDL_Surface * surface, + Uint32 * key); + +/** + * \brief Set an additional color value used in blit operations. + * + * \param surface The surface to update. + * \param r The red source color value multiplied into blit operations. + * \param g The green source color value multiplied into blit operations. + * \param b The blue source color value multiplied into blit operations. + * + * \return 0 on success, or -1 if the surface is not valid. + * + * \sa SDL_GetSurfaceColorMod() + */ +extern DECLSPEC int SDLCALL SDL_SetSurfaceColorMod(SDL_Surface * surface, + Uint8 r, Uint8 g, Uint8 b); + + +/** + * \brief Get the additional color value used in blit operations. + * + * \param surface The surface to query. + * \param r A pointer filled in with the source red color value. + * \param g A pointer filled in with the source green color value. + * \param b A pointer filled in with the source blue color value. + * + * \return 0 on success, or -1 if the surface is not valid. + * + * \sa SDL_SetSurfaceColorMod() + */ +extern DECLSPEC int SDLCALL SDL_GetSurfaceColorMod(SDL_Surface * surface, + Uint8 * r, Uint8 * g, + Uint8 * b); + +/** + * \brief Set an additional alpha value used in blit operations. + * + * \param surface The surface to update. + * \param alpha The source alpha value multiplied into blit operations. + * + * \return 0 on success, or -1 if the surface is not valid. + * + * \sa SDL_GetSurfaceAlphaMod() + */ +extern DECLSPEC int SDLCALL SDL_SetSurfaceAlphaMod(SDL_Surface * surface, + Uint8 alpha); + +/** + * \brief Get the additional alpha value used in blit operations. + * + * \param surface The surface to query. + * \param alpha A pointer filled in with the source alpha value. + * + * \return 0 on success, or -1 if the surface is not valid. + * + * \sa SDL_SetSurfaceAlphaMod() + */ +extern DECLSPEC int SDLCALL SDL_GetSurfaceAlphaMod(SDL_Surface * surface, + Uint8 * alpha); + +/** + * \brief Set the blend mode used for blit operations. + * + * \param surface The surface to update. + * \param blendMode ::SDL_BlendMode to use for blit blending. + * + * \return 0 on success, or -1 if the parameters are not valid. + * + * \sa SDL_GetSurfaceBlendMode() + */ +extern DECLSPEC int SDLCALL SDL_SetSurfaceBlendMode(SDL_Surface * surface, + int blendMode); + +/** + * \brief Get the blend mode used for blit operations. + * + * \param surface The surface to query. + * \param blendMode A pointer filled in with the current blend mode. + * + * \return 0 on success, or -1 if the surface is not valid. + * + * \sa SDL_SetSurfaceBlendMode() + */ +extern DECLSPEC int SDLCALL SDL_GetSurfaceBlendMode(SDL_Surface * surface, + int *blendMode); + +/** + * \brief Set the scale mode used for blit operations. + * + * \param surface The surface to update. + * \param scaleMode ::SDL_TextureScaleMode to use for blit scaling. + * + * \return 0 on success, or -1 if the surface is not valid or the scale mode is + * not supported. + * + * \note If the scale mode is not supported, the closest supported mode is + * chosen. Currently only ::SDL_TEXTURESCALEMODE_FAST is supported on + * surfaces. + * + * \sa SDL_GetSurfaceScaleMode() + */ +extern DECLSPEC int SDLCALL SDL_SetSurfaceScaleMode(SDL_Surface * surface, + int scaleMode); + +/** + * \brief Get the scale mode used for blit operations. + * + * \param surface The surface to query. + * \param scaleMode A pointer filled in with the current scale mode. + * + * \return 0 on success, or -1 if the surface is not valid. + * + * \sa SDL_SetSurfaceScaleMode() + */ +extern DECLSPEC int SDLCALL SDL_GetSurfaceScaleMode(SDL_Surface * surface, + int *scaleMode); + +/** + * Sets the clipping rectangle for the destination surface in a blit. + * + * If the clip rectangle is NULL, clipping will be disabled. + * + * If the clip rectangle doesn't intersect the surface, the function will + * return SDL_FALSE and blits will be completely clipped. Otherwise the + * function returns SDL_TRUE and blits to the surface will be clipped to + * the intersection of the surface area and the clipping rectangle. + * + * Note that blits are automatically clipped to the edges of the source + * and destination surfaces. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface * surface, + const SDL_Rect * rect); + +/** + * Gets the clipping rectangle for the destination surface in a blit. + * + * \c rect must be a pointer to a valid rectangle which will be filled + * with the correct values. + */ +extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface * surface, + SDL_Rect * rect); + +/** + * Creates a new surface of the specified format, and then copies and maps + * the given surface to it so the blit of the converted surface will be as + * fast as possible. If this function fails, it returns NULL. + * + * The \c flags parameter is passed to SDL_CreateRGBSurface() and has those + * semantics. You can also pass ::SDL_RLEACCEL in the flags parameter and + * SDL will try to RLE accelerate colorkey and alpha blits in the resulting + * surface. + */ +extern DECLSPEC SDL_Surface *SDLCALL SDL_ConvertSurface + (SDL_Surface * src, SDL_PixelFormat * fmt, Uint32 flags); + +/** + * \brief Copy a block of pixels of one format to another format + */ +extern DECLSPEC int SDLCALL SDL_ConvertPixels(int width, int height, + Uint32 src_format, + const void * src, int src_pitch, + Uint32 dst_format, + void * dst, int dst_pitch); + +/** + * Draws a point with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_DrawPoint + (SDL_Surface * dst, int x, int y, Uint32 color); +extern DECLSPEC int SDLCALL SDL_DrawPoints + (SDL_Surface * dst, const SDL_Point * points, int count, Uint32 color); + +/** + * Blends a point with an RGBA value. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendPoint + (SDL_Surface * dst, int x, int y, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); +extern DECLSPEC int SDLCALL SDL_BlendPoints + (SDL_Surface * dst, const SDL_Point * points, int count, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +/** + * Draws a line with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_DrawLine + (SDL_Surface * dst, int x1, int y1, int x2, int y2, Uint32 color); +extern DECLSPEC int SDLCALL SDL_DrawLines + (SDL_Surface * dst, const SDL_Point * points, int count, Uint32 color); + +/** + * Blends an RGBA value along a line. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendLine + (SDL_Surface * dst, int x1, int y1, int x2, int y2, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); +extern DECLSPEC int SDLCALL SDL_BlendLines + (SDL_Surface * dst, const SDL_Point * points, int count, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +/** + * Draws the given rectangle with \c color. + * + * If \c rect is NULL, the whole surface will be outlined with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_DrawRect + (SDL_Surface * dst, const SDL_Rect * rect, Uint32 color); +extern DECLSPEC int SDLCALL SDL_DrawRects + (SDL_Surface * dst, const SDL_Rect ** rects, int count, Uint32 color); + +/** + * Blends an RGBA value into the outline of the given rectangle. + * + * If \c rect is NULL, the whole surface will have a blended outline. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendRect + (SDL_Surface * dst, const SDL_Rect * rect, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); +extern DECLSPEC int SDLCALL SDL_BlendRects + (SDL_Surface * dst, const SDL_Rect ** rects, int count, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +/** + * Performs a fast fill of the given rectangle with \c color. + * + * If \c rect is NULL, the whole surface will be filled with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_FillRect + (SDL_Surface * dst, const SDL_Rect * rect, Uint32 color); +extern DECLSPEC int SDLCALL SDL_FillRects + (SDL_Surface * dst, const SDL_Rect ** rects, int count, Uint32 color); + +/** + * Blends an RGBA value into the given rectangle. + * + * If \c rect is NULL, the whole surface will be blended with the color. + * + * \return This function returns 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendFillRect + (SDL_Surface * dst, const SDL_Rect * rect, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); +extern DECLSPEC int SDLCALL SDL_BlendFillRects + (SDL_Surface * dst, const SDL_Rect ** rects, int count, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +#if 0 +/** + * Draws the given circle with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_DrawCircle + (SDL_Surface * dst, int x, int y, int radius, Uint32 color); + +/** + * Blends an RGBA value into the outline of the given circle. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendCircle + (SDL_Surface * dst, int x, int y, int radius, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +/** + * Fills the given circle with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_FillCircle + (SDL_Surface * dst, int x, int y, int radius, Uint32 color); + +/** + * Blends an RGBA value into the given circle. + * + * \return This function returns 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendFillCircle + (SDL_Surface * dst, int x, int y, int radius, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +/** + * Draws the given ellipse with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_DrawEllipse + (SDL_Surface * dst, int x, int y, int w, int h, Uint32 color); + +/** + * Blends an RGBA value into the outline of the given ellipse. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendEllipse + (SDL_Surface * dst, int x, int y, int w, int h, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); + +/** + * Fills the given ellipse with \c color. + * + * The color should be a pixel of the format used by the surface, and + * can be generated by the SDL_MapRGB() function. + * + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_FillEllipse + (SDL_Surface * dst, int x, int y, int w, int h, Uint32 color); + +/** + * Blends an RGBA value into the given ellipse. + * + * \return This function returns 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_BlendFillEllipse + (SDL_Surface * dst, int x, int y, int w, int h, + int blendMode, Uint8 r, Uint8 g, Uint8 b, Uint8 a); +#endif // 0 + +/** + * Performs a fast blit from the source surface to the destination surface. + * + * This assumes that the source and destination rectangles are + * the same size. If either \c srcrect or \c dstrect are NULL, the entire + * surface (\c src or \c dst) is copied. The final blit rectangles are saved + * in \c srcrect and \c dstrect after all clipping is performed. + * + * \return If the blit is successful, it returns 0, otherwise it returns -1. + * + * The blit function should not be called on a locked surface. + * + * The blit semantics for surfaces with and without alpha and colorkey + * are defined as follows: + * \verbatim + RGBA->RGB: + SDL_SRCALPHA set: + alpha-blend (using alpha-channel). + SDL_SRCCOLORKEY ignored. + SDL_SRCALPHA not set: + copy RGB. + if SDL_SRCCOLORKEY set, only copy the pixels matching the + RGB values of the source colour key, ignoring alpha in the + comparison. + + RGB->RGBA: + SDL_SRCALPHA set: + alpha-blend (using the source per-surface alpha value); + set destination alpha to opaque. + SDL_SRCALPHA not set: + copy RGB, set destination alpha to source per-surface alpha value. + both: + if SDL_SRCCOLORKEY set, only copy the pixels matching the + source colour key. + + RGBA->RGBA: + SDL_SRCALPHA set: + alpha-blend (using the source alpha channel) the RGB values; + leave destination alpha untouched. [Note: is this correct?] + SDL_SRCCOLORKEY ignored. + SDL_SRCALPHA not set: + copy all of RGBA to the destination. + if SDL_SRCCOLORKEY set, only copy the pixels matching the + RGB values of the source colour key, ignoring alpha in the + comparison. + + RGB->RGB: + SDL_SRCALPHA set: + alpha-blend (using the source per-surface alpha value). + SDL_SRCALPHA not set: + copy RGB. + both: + if SDL_SRCCOLORKEY set, only copy the pixels matching the + source colour key. + \endverbatim + * + * If either of the surfaces were in video memory, and the blit returns -2, + * the video memory was lost, so it should be reloaded with artwork and + * re-blitted: + * @code + * while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) { + * while ( SDL_LockSurface(image) < 0 ) + * Sleep(10); + * -- Write image pixels to image->pixels -- + * SDL_UnlockSurface(image); + * } + * @endcode + * + * This happens under DirectX 5.0 when the system switches away from your + * fullscreen application. The lock will also fail until you have access + * to the video memory again. + * + * You should call SDL_BlitSurface() unless you know exactly how SDL + * blitting works internally and how to use the other blit functions. + */ +#define SDL_BlitSurface SDL_UpperBlit + +/** + * This is the public blit function, SDL_BlitSurface(), and it performs + * rectangle validation and clipping before passing it to SDL_LowerBlit() + */ +extern DECLSPEC int SDLCALL SDL_UpperBlit + (SDL_Surface * src, SDL_Rect * srcrect, + SDL_Surface * dst, SDL_Rect * dstrect); + +/** + * This is a semi-private blit function and it performs low-level surface + * blitting only. + */ +extern DECLSPEC int SDLCALL SDL_LowerBlit + (SDL_Surface * src, SDL_Rect * srcrect, + SDL_Surface * dst, SDL_Rect * dstrect); + +/** + * \brief Perform a fast, low quality, stretch blit between two surfaces of the + * same pixel format. + * + * \note This function uses a static buffer, and is not thread-safe. + */ +extern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface * src, + const SDL_Rect * srcrect, + SDL_Surface * dst, + const SDL_Rect * dstrect); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_surface_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_syswm.h b/alienblaster/project/jni/sdl/include/SDL_syswm.h index 716dddcb7..56ef7f6d2 100644 --- a/alienblaster/project/jni/sdl/include/SDL_syswm.h +++ b/alienblaster/project/jni/sdl/include/SDL_syswm.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,10 @@ slouken@libsdl.org */ -/** @file SDL_syswm.h - * Include file for SDL custom system window manager hooks +/** + * \file SDL_syswm.h + * + * Include file for SDL custom system window manager hooks. */ #ifndef _SDL_syswm_h @@ -29,23 +31,27 @@ #include "SDL_stdinc.h" #include "SDL_error.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 -/** @file SDL_syswm.h - * Your application has access to a special type of event 'SDL_SYSWMEVENT', +/** + * \file SDL_syswm.h + * + * Your application has access to a special type of event ::SDL_SYSWMEVENT, * which contains window-manager specific information and arrives whenever * an unhandled window event occurs. This event is ignored by default, but - * you can enable it with SDL_EventState() + * you can enable it with SDL_EventState(). */ #ifdef SDL_PROTOTYPES_ONLY struct SDL_SysWMinfo; -typedef struct SDL_SysWMinfo SDL_SysWMinfo; #else /* This is the structure for custom window manager events */ @@ -63,163 +69,194 @@ typedef struct SDL_SysWMinfo SDL_SysWMinfo; #undef Cursor #endif -/** These are the various supported subsystems under UNIX */ -typedef enum { - SDL_SYSWM_X11 +/** + * These are the various supported subsystems under UNIX. + */ +typedef enum +{ + SDL_SYSWM_X11 } SDL_SYSWM_TYPE; -/** The UNIX custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - SDL_SYSWM_TYPE subsystem; - union { - XEvent xevent; - } event; +/** + * The UNIX custom event structure. + */ +struct SDL_SysWMmsg +{ + SDL_version version; + SDL_SYSWM_TYPE subsystem; + union + { + XEvent xevent; + } event; }; -/** The UNIX custom window manager information structure. +/** + * The UNIX custom window manager information structure. + * * When this structure is returned, it holds information about which * low level system it is using, and will be one of SDL_SYSWM_TYPE. */ -typedef struct SDL_SysWMinfo { - SDL_version version; - SDL_SYSWM_TYPE subsystem; - union { - struct { - Display *display; /**< The X11 display */ - Window window; /**< The X11 display window */ - /** These locking functions should be called around - * any X11 functions using the display variable, - * but not the gfxdisplay variable. - * They lock the event thread, so should not be - * called around event functions or from event filters. - */ - /*@{*/ - void (*lock_func)(void); - void (*unlock_func)(void); - /*@}*/ +struct SDL_SysWMinfo +{ + SDL_version version; + SDL_SYSWM_TYPE subsystem; + union + { + struct + { + Display *display; /**< The X11 display */ + Window window; /**< The X11 display window */ + /** + * These locking functions should be called around + * any X11 functions using the display variable. + * They lock the event thread, so should not be + * called around event functions or from event filters. + */ + /*@{*/ + void (*lock_func) (void); + void (*unlock_func) (void); + /*@}*/ - /** @name Introduced in SDL 1.0.2 */ - /*@{*/ - Window fswindow; /**< The X11 fullscreen window */ - Window wmwindow; /**< The X11 managed input window */ - /*@}*/ - - /** @name Introduced in SDL 1.2.12 */ - /*@{*/ - Display *gfxdisplay; /**< The X11 display to which rendering is done */ - /*@}*/ - } x11; - } info; -} SDL_SysWMinfo; - -#elif defined(SDL_VIDEO_DRIVER_NANOX) -#include - -/** The generic custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int data; + /** + * Introduced in SDL 1.0.2. + */ + /*@{*/ + Window fswindow; /**< The X11 fullscreen window */ + Window wmwindow; /**< The X11 managed input window */ + /*@}*/ + } x11; + } info; }; -/** The windows custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version ; - GR_WINDOW_ID window ; /* The display window */ -} SDL_SysWMinfo; - -#elif defined(SDL_VIDEO_DRIVER_WINDIB) || defined(SDL_VIDEO_DRIVER_DDRAW) || defined(SDL_VIDEO_DRIVER_GAPI) +#elif defined(SDL_VIDEO_DRIVER_WIN32) #define WIN32_LEAN_AND_MEAN #include -/** The windows custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - HWND hwnd; /**< The window for the message */ - UINT msg; /**< The type of message */ - WPARAM wParam; /**< WORD message parameter */ - LPARAM lParam; /**< LONG message parameter */ +/** + * The windows custom event structure. + */ +struct SDL_SysWMmsg +{ + SDL_version version; + HWND hwnd; /**< The window for the message */ + UINT msg; /**< The type of message */ + WPARAM wParam; /**< WORD message parameter */ + LPARAM lParam; /**< LONG message parameter */ }; -/** The windows custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - HWND window; /**< The Win32 display window */ - HGLRC hglrc; /**< The OpenGL context, if any */ -} SDL_SysWMinfo; +/** + * The windows custom window manager information structure. + */ +struct SDL_SysWMinfo +{ + SDL_version version; + HWND window; /**< The Win32 display window */ +}; #elif defined(SDL_VIDEO_DRIVER_RISCOS) -/** RISC OS custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int eventCode; /**< The window for the message */ - int pollBlock[64]; +/** + * RISC OS custom event structure. + */ +struct SDL_SysWMmsg +{ + SDL_version version; + int eventCode; /**< The window for the message */ + int pollBlock[64]; }; -/** The RISC OS custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - int wimpVersion; /**< Wimp version running under */ - int taskHandle; /**< The RISC OS task handle */ - int window; /**< The RISC OS display window */ -} SDL_SysWMinfo; +/** + * The RISC OS custom window manager information structure. + */ +struct SDL_SysWMinfo +{ + SDL_version version; + int wimpVersion; /**< Wimp version running under */ + int taskHandle; /**< The RISC OS task handle */ + int window; /**< The RISC OS display window */ +}; -#elif defined(SDL_VIDEO_DRIVER_PHOTON) +#elif defined(SDL_VIDEO_DRIVER_PHOTON) || defined(SDL_VIDEO_DRIVER_QNXGF) #include +#if defined(SDL_VIDEO_OPENGL_ES) +#include +#endif /* SDL_VIDEO_OPENGL_ES */ #include -/** The QNX custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int data; +/** + * The QNX custom event structure. + */ +struct SDL_SysWMmsg +{ + SDL_version version; + int data; }; -/** The QNX custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - int data; -} SDL_SysWMinfo; +/** + * The QNX Photon custom window manager information structure. + */ +struct SDL_SysWMinfo +{ + SDL_version version; + int data; +}; #else -/** The generic custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int data; +/** + * The generic custom event structure. + */ +struct SDL_SysWMmsg +{ + SDL_version version; + int data; }; -/** The generic custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - int data; -} SDL_SysWMinfo; +/** + * The generic custom window manager information structure. + */ +struct SDL_SysWMinfo +{ + SDL_version version; + int data; +}; #endif /* video driver type */ #endif /* SDL_PROTOTYPES_ONLY */ +typedef struct SDL_SysWMinfo SDL_SysWMinfo; + /* Function prototypes */ /** - * This function gives you custom hooks into the window manager information. - * It fills the structure pointed to by 'info' with custom information and - * returns 1 if the function is implemented. If it's not implemented, or - * the version member of the 'info' structure is invalid, it returns 0. - * - * You typically use this function like this: - * @code - * SDL_SysWMInfo info; - * SDL_VERSION(&info.version); - * if ( SDL_GetWMInfo(&info) ) { ... } - * @endcode + * \brief This function allows access to driver-dependent window information. + * + * \param windowID The window about which information is being requested + * \param info This structure must be initialized with the SDL version, and is + * then filled in with information about the given window. + * + * \return SDL_TRUE if the function is implemented and the version member of + * the \c info struct is valid, SDL_FALSE otherwise. + * + * You typically use this function like this: + * \code + * SDL_SysWMInfo info; + * SDL_VERSION(&info.version); + * if ( SDL_GetWindowWMInfo(&info) ) { ... } + * \endcode */ -extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info); +extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window, + SDL_SysWMinfo * info); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_syswm_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_thread.h b/alienblaster/project/jni/sdl/include/SDL_thread.h index 1ca9a1bc4..fc3d36d75 100644 --- a/alienblaster/project/jni/sdl/include/SDL_thread.h +++ b/alienblaster/project/jni/sdl/include/SDL_thread.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -23,10 +23,10 @@ #ifndef _SDL_thread_h #define _SDL_thread_h -/** @file SDL_thread.h - * Header for the SDL thread management routines - * - * @note These are independent of the other SDL routines. +/** + * \file SDL_thread.h + * + * Header for the SDL thread management routines. */ #include "SDL_stdinc.h" @@ -38,83 +38,136 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** The SDL thread structure, defined in SDL_thread.c */ +/* The SDL thread structure, defined in SDL_thread.c */ struct SDL_Thread; typedef struct SDL_Thread SDL_Thread; -/** Create a thread */ -#if ((defined(__WIN32__) && !defined(HAVE_LIBC)) || defined(__OS2__)) && !defined(__SYMBIAN32__) +/* The SDL thread ID */ +typedef unsigned long SDL_threadID; + +#if defined(__WIN32__) && !defined(HAVE_LIBC) /** - * We compile SDL into a DLL on OS/2. This means, that it's the DLL which + * \file SDL_thread.h + * + * We compile SDL into a DLL. This means, that it's the DLL which * creates a new thread for the calling process with the SDL_CreateThread() * API. There is a problem with this, that only the RTL of the SDL.DLL will - * be initialized for those threads, and not the RTL of the calling application! + * be initialized for those threads, and not the RTL of the calling + * application! + * * To solve this, we make a little hack here. + * * We'll always use the caller's _beginthread() and _endthread() APIs to * start a new thread. This way, if it's the SDL.DLL which uses this API, * then the RTL of SDL.DLL will be used to create the new thread, and if it's * the application, then the RTL of the application will be used. + * * So, in short: - * Always use the _beginthread() and _endthread() of the calling runtime library! + * Always use the _beginthread() and _endthread() of the calling runtime + * library! */ #define SDL_PASSED_BEGINTHREAD_ENDTHREAD #ifndef _WIN32_WCE -#include /* This has _beginthread() and _endthread() defined! */ +#include /* This has _beginthread() and _endthread() defined! */ #endif -#ifdef __OS2__ -typedef int (*pfnSDL_CurrentBeginThread)(void (*func)(void *), void *, unsigned, void *arg); -typedef void (*pfnSDL_CurrentEndThread)(void); -#elif __GNUC__ -typedef unsigned long (__cdecl *pfnSDL_CurrentBeginThread) (void *, unsigned, - unsigned (__stdcall *func)(void *), void *arg, - unsigned, unsigned *threadID); -typedef void (__cdecl *pfnSDL_CurrentEndThread)(unsigned code); +#ifdef __GNUC__ +typedef unsigned long (__cdecl * pfnSDL_CurrentBeginThread) (void *, unsigned, + unsigned + (__stdcall * + func) (void *), + void *arg, + unsigned, + unsigned + *threadID); +typedef void (__cdecl * pfnSDL_CurrentEndThread) (unsigned code); #else -typedef uintptr_t (__cdecl *pfnSDL_CurrentBeginThread) (void *, unsigned, - unsigned (__stdcall *func)(void *), void *arg, - unsigned, unsigned *threadID); -typedef void (__cdecl *pfnSDL_CurrentEndThread)(unsigned code); +typedef uintptr_t(__cdecl * pfnSDL_CurrentBeginThread) (void *, unsigned, + unsigned (__stdcall * + func) (void + *), + void *arg, unsigned, + unsigned *threadID); +typedef void (__cdecl * pfnSDL_CurrentEndThread) (unsigned code); #endif -extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data, pfnSDL_CurrentBeginThread pfnBeginThread, pfnSDL_CurrentEndThread pfnEndThread); +/** + * Create a thread. + */ +extern DECLSPEC SDL_Thread *SDLCALL +SDL_CreateThread(int (SDLCALL * f) (void *), void *data, + pfnSDL_CurrentBeginThread pfnBeginThread, + pfnSDL_CurrentEndThread pfnEndThread); -#ifdef __OS2__ -#define SDL_CreateThread(fn, data) SDL_CreateThread(fn, data, _beginthread, _endthread) -#elif defined(_WIN32_WCE) +#if defined(_WIN32_WCE) + +/** + * Create a thread. + */ #define SDL_CreateThread(fn, data) SDL_CreateThread(fn, data, NULL, NULL) + #else + +/** + * Create a thread. + */ #define SDL_CreateThread(fn, data) SDL_CreateThread(fn, data, _beginthreadex, _endthreadex) + #endif #else -extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data); + +/** + * Create a thread. + */ +extern DECLSPEC SDL_Thread *SDLCALL +SDL_CreateThread(int (SDLCALL * fn) (void *), void *data); + #endif -/** Get the 32-bit thread identifier for the current thread */ -extern DECLSPEC Uint32 SDLCALL SDL_ThreadID(void); - -/** Get the 32-bit thread identifier for the specified thread, - * equivalent to SDL_ThreadID() if the specified thread is NULL. +/** + * Get the thread identifier for the current thread. */ -extern DECLSPEC Uint32 SDLCALL SDL_GetThreadID(SDL_Thread *thread); +extern DECLSPEC SDL_threadID SDLCALL SDL_ThreadID(void); -/** Wait for a thread to finish. +/** + * Get the thread identifier for the specified thread. + * + * Equivalent to SDL_ThreadID() if the specified thread is NULL. + */ +extern DECLSPEC SDL_threadID SDLCALL SDL_GetThreadID(SDL_Thread * thread); + +/** + * Wait for a thread to finish. + * * The return code for the thread function is placed in the area - * pointed to by 'status', if 'status' is not NULL. + * pointed to by \c status, if \c status is not NULL. */ -extern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread *thread, int *status); +extern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread * thread, int *status); -/** Forcefully kill a thread without worrying about its state */ -extern DECLSPEC void SDLCALL SDL_KillThread(SDL_Thread *thread); +/** + * \deprecated This function is here for binary compatibility with legacy apps, + * but in SDL 1.3 and later, it's a no-op. + * + * You cannot forcibly kill a thread in a safe manner on many platforms. You + * should instead find a way to alert your thread that it is time to terminate, + * and then have it gracefully exit on its own. Do not ever call this function! + */ +extern DECLSPEC void SDLCALL SDL_KillThread(SDL_Thread * thread); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_thread_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_timer.h b/alienblaster/project/jni/sdl/include/SDL_timer.h index d7cd02460..91160f6f9 100644 --- a/alienblaster/project/jni/sdl/include/SDL_timer.h +++ b/alienblaster/project/jni/sdl/include/SDL_timer.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -23,8 +23,10 @@ #ifndef _SDL_timer_h #define _SDL_timer_h -/** @file SDL_timer.h - * Header for the SDL time management routines +/** + * \file SDL_timer.h + * + * Header for the SDL time management routines. */ #include "SDL_stdinc.h" @@ -33,93 +35,119 @@ #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** This is the OS scheduler timeslice, in milliseconds */ +/** + * This is the OS scheduler timeslice, in milliseconds. + */ #define SDL_TIMESLICE 10 -/** This is the maximum resolution of the SDL timer on all platforms */ -#define TIMER_RESOLUTION 10 /**< Experimentally determined */ +/** + * This is the maximum resolution of the SDL timer on all platforms. + */ +#define TIMER_RESOLUTION 10 /**< Experimentally determined */ /** - * Get the number of milliseconds since the SDL library initialization. - * Note that this value wraps if the program runs for more than ~49 days. - */ + * Get the number of milliseconds since the SDL library initialization. + * + * Note that this value wraps if the program runs for more than ~49 days. + */ extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void); -/** Wait a specified number of milliseconds before returning */ +/** + * Wait a specified number of milliseconds before returning. + */ extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms); -/** Function prototype for the timer callback function */ -typedef Uint32 (SDLCALL *SDL_TimerCallback)(Uint32 interval); +/** + * Function prototype for the timer callback function. + */ +typedef Uint32(SDLCALL * SDL_TimerCallback) (Uint32 interval); /** - * Set a callback to run after the specified number of milliseconds has - * elapsed. The callback function is passed the current timer interval - * and returns the next timer interval. If the returned value is the - * same as the one passed in, the periodic alarm continues, otherwise a - * new alarm is scheduled. If the callback returns 0, the periodic alarm - * is cancelled. - * - * To cancel a currently running timer, call SDL_SetTimer(0, NULL); - * - * The timer callback function may run in a different thread than your - * main code, and so shouldn't call any functions from within itself. - * - * The maximum resolution of this timer is 10 ms, which means that if - * you request a 16 ms timer, your callback will run approximately 20 ms - * later on an unloaded system. If you wanted to set a flag signaling - * a frame update at 30 frames per second (every 33 ms), you might set a - * timer for 30 ms: - * @code SDL_SetTimer((33/10)*10, flag_update); @endcode - * - * If you use this function, you need to pass SDL_INIT_TIMER to SDL_Init(). - * - * Under UNIX, you should not use raise or use SIGALRM and this function - * in the same program, as it is implemented using setitimer(). You also - * should not use this function in multi-threaded applications as signals - * to multi-threaded apps have undefined behavior in some implementations. - * - * This function returns 0 if successful, or -1 if there was an error. + * Set a callback to run after the specified number of milliseconds has + * elapsed. The callback function is passed the current timer interval + * and returns the next timer interval. If the returned value is the + * same as the one passed in, the periodic alarm continues, otherwise a + * new alarm is scheduled. If the callback returns 0, the periodic alarm + * is cancelled. + * + * To cancel a currently running timer, call + * \code SDL_SetTimer(0, NULL); \endcode + * + * The timer callback function may run in a different thread than your + * main code, and so shouldn't call any functions from within itself. + * + * The maximum resolution of this timer is 10 ms, which means that if + * you request a 16 ms timer, your callback will run approximately 20 ms + * later on an unloaded system. If you wanted to set a flag signaling + * a frame update at 30 frames per second (every 33 ms), you might set a + * timer for 30 ms: + * \code + * SDL_SetTimer((33/10)*10, flag_update); + * \endcode + * + * If you use this function, you need to pass ::SDL_INIT_TIMER to SDL_Init(). + * + * Under UNIX, you should not use raise or use SIGALRM and this function + * in the same program, as it is implemented using setitimer(). You also + * should not use this function in multi-threaded applications as signals + * to multi-threaded apps have undefined behavior in some implementations. + * + * \return 0 if successful, or -1 if there was an error. */ -extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval, SDL_TimerCallback callback); +extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval, + SDL_TimerCallback callback); -/** @name New timer API - * New timer API, supports multiple timers - * Written by Stephane Peter +/** + * \name Peter timers + * New timer API, supports multiple timers + * Written by Stephane Peter */ /*@{*/ /** - * Function prototype for the new timer callback function. - * The callback function is passed the current timer interval and returns - * the next timer interval. If the returned value is the same as the one - * passed in, the periodic alarm continues, otherwise a new alarm is - * scheduled. If the callback returns 0, the periodic alarm is cancelled. + * Function prototype for the new timer callback function. + * + * The callback function is passed the current timer interval and returns + * the next timer interval. If the returned value is the same as the one + * passed in, the periodic alarm continues, otherwise a new alarm is + * scheduled. If the callback returns 0, the periodic alarm is cancelled. */ -typedef Uint32 (SDLCALL *SDL_NewTimerCallback)(Uint32 interval, void *param); - -/** Definition of the timer ID type */ -typedef struct _SDL_TimerID *SDL_TimerID; - -/** Add a new timer to the pool of timers already running. - * Returns a timer ID, or NULL when an error occurs. - */ -extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval, SDL_NewTimerCallback callback, void *param); +typedef Uint32(SDLCALL * SDL_NewTimerCallback) (Uint32 interval, void *param); /** - * Remove one of the multiple timers knowing its ID. - * Returns a boolean value indicating success. + * Definition of the timer ID type. + */ +typedef struct _SDL_TimerID *SDL_TimerID; + +/** + * Add a new timer to the pool of timers already running. + * \return A timer ID, or NULL when an error occurs. + */ +extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval, + SDL_NewTimerCallback + callback, void *param); + +/** + * Remove one of the multiple timers knowing its ID. + * \return A boolean value indicating success or failure. */ extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID t); -/*@}*/ +/*@}*//*Peter timers*/ /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_timer_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_types.h b/alienblaster/project/jni/sdl/include/SDL_types.h index cfa35236a..86279fe4a 100644 --- a/alienblaster/project/jni/sdl/include/SDL_types.h +++ b/alienblaster/project/jni/sdl/include/SDL_types.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,10 @@ slouken@libsdl.org */ -/** @file SDL_types.h - * @deprecated Use SDL_stdinc.h instead. +/** + * \file SDL_types.h + * + * \deprecated */ /* DEPRECATED */ diff --git a/alienblaster/project/jni/sdl/include/SDL_version.h b/alienblaster/project/jni/sdl/include/SDL_version.h index fa02c3f6d..a2ab71c2a 100644 --- a/alienblaster/project/jni/sdl/include/SDL_version.h +++ b/alienblaster/project/jni/sdl/include/SDL_version.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,72 +20,139 @@ slouken@libsdl.org */ -/** @file SDL_version.h - * This header defines the current SDL version +/** + * \file SDL_version.h + * + * This header defines the current SDL version. */ #ifndef _SDL_version_h #define _SDL_version_h #include "SDL_stdinc.h" +#include "SDL_revision.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** @name Version Number - * Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL +/** + * \brief Information the version of SDL in use. + * + * Represents the library's version as three levels: major revision + * (increments with massive changes, additions, and enhancements), + * minor revision (increments with backwards-compatible changes to the + * major revision), and patchlevel (increments with fixes to the minor + * revision). + * + * \sa SDL_VERSION + * \sa SDL_GetVersion */ -/*@{*/ -#define SDL_MAJOR_VERSION 1 -#define SDL_MINOR_VERSION 2 -#define SDL_PATCHLEVEL 14 -/*@}*/ - -typedef struct SDL_version { - Uint8 major; - Uint8 minor; - Uint8 patch; +typedef struct SDL_version +{ + Uint8 major; /**< major version */ + Uint8 minor; /**< minor version */ + Uint8 patch; /**< update version */ } SDL_version; +/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL +*/ +#define SDL_MAJOR_VERSION 1 +#define SDL_MINOR_VERSION 3 +#define SDL_PATCHLEVEL 0 + /** - * This macro can be used to fill a version structure with the compile-time - * version of the SDL library. + * \brief Macro to determine SDL version program was compiled against. + * + * This macro fills in a SDL_version structure with the version of the + * library you compiled against. This is determined by what header the + * compiler uses. Note that if you dynamically linked the library, you might + * have a slightly newer or older version at runtime. That version can be + * determined with SDL_GetVersion(), which, unlike SDL_VERSION(), + * is not a macro. + * + * \param x A pointer to a SDL_version struct to initialize. + * + * \sa SDL_version + * \sa SDL_GetVersion */ -#define SDL_VERSION(X) \ +#define SDL_VERSION(x) \ { \ - (X)->major = SDL_MAJOR_VERSION; \ - (X)->minor = SDL_MINOR_VERSION; \ - (X)->patch = SDL_PATCHLEVEL; \ + (x)->major = SDL_MAJOR_VERSION; \ + (x)->minor = SDL_MINOR_VERSION; \ + (x)->patch = SDL_PATCHLEVEL; \ } -/** This macro turns the version numbers into a numeric value: - * (1,2,3) -> (1203) - * This assumes that there will never be more than 100 patchlevels +/** + * This macro turns the version numbers into a numeric value: + * \verbatim + (1,2,3) -> (1203) + \endverbatim + * + * This assumes that there will never be more than 100 patchlevels. */ #define SDL_VERSIONNUM(X, Y, Z) \ ((X)*1000 + (Y)*100 + (Z)) -/** This is the version number macro for the current SDL version */ +/** + * This is the version number macro for the current SDL version. + */ #define SDL_COMPILEDVERSION \ SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL) -/** This macro will evaluate to true if compiled with SDL at least X.Y.Z */ +/** + * This macro will evaluate to true if compiled with SDL at least X.Y.Z. + */ #define SDL_VERSION_ATLEAST(X, Y, Z) \ (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)) -/** This function gets the version of the dynamically linked SDL library. - * it should NOT be used to fill a version structure, instead you should - * use the SDL_Version() macro. +/** + * \brief Get the version of SDL that is linked against your program. + * + * If you are using a shared library (DLL) version of SDL, then it is + * possible that it will be different than the version you compiled against. + * + * This is a real function; the macro SDL_VERSION() tells you what version + * of SDL you compiled against: + * + * \code + * SDL_version compiled; + * SDL_version linked; + * + * SDL_VERSION(&compiled); + * SDL_GetVersion(&linked); + * printf("We compiled against SDL version %d.%d.%d ...\n", + * compiled.major, compiled.minor, compiled.patch); + * printf("But we linked against SDL version %d.%d.%d.\n", + * linked.major, linked.minor, linked.patch); + * \endcode + * + * This function may be called safely at any time, even before SDL_Init(). + * + * \sa SDL_VERSION */ -extern DECLSPEC const SDL_version * SDLCALL SDL_Linked_Version(void); +extern DECLSPEC void SDLCALL SDL_GetVersion(SDL_version * ver); + +/** + * \brief Get the code revision of SDL that is linked against your program. + * + * This is an arbitrary string (a hash value, actually), and is only useful + * in comparing against other revisions. It is NOT an incrementing number. + */ +extern DECLSPEC const char *SDLCALL SDL_GetRevision(void); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_version_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/SDL_video.h b/alienblaster/project/jni/sdl/include/SDL_video.h index 8f7f30520..804869f69 100644 --- a/alienblaster/project/jni/sdl/include/SDL_video.h +++ b/alienblaster/project/jni/sdl/include/SDL_video.h @@ -1,6 +1,6 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,214 +20,247 @@ slouken@libsdl.org */ -/** @file SDL_video.h - * Header file for access to the SDL raw framebuffer window +/** + * \file SDL_video.h + * + * Header file for SDL video functions. */ #ifndef _SDL_video_h #define _SDL_video_h #include "SDL_stdinc.h" -#include "SDL_error.h" -#include "SDL_rwops.h" +#include "SDL_pixels.h" +#include "SDL_rect.h" +#include "SDL_surface.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif -/** @name Transparency definitions - * These define alpha as the opacity of a surface +/** + * \brief The structure that defines a display mode + * + * \sa SDL_GetNumDisplayModes() + * \sa SDL_GetDisplayMode() + * \sa SDL_GetDesktopDisplayMode() + * \sa SDL_GetCurrentDisplayMode() + * \sa SDL_GetClosestDisplayMode() + * \sa SDL_SetWindowDisplayMode() + * \sa SDL_GetWindowDisplayMode() */ -/*@{*/ -#define SDL_ALPHA_OPAQUE 255 -#define SDL_ALPHA_TRANSPARENT 0 -/*@}*/ +typedef struct +{ + Uint32 format; /**< pixel format */ + int w; /**< width */ + int h; /**< height */ + int refresh_rate; /**< refresh rate (or zero for unspecified) */ + void *driverdata; /**< driver-specific data, initialize to 0 */ +} SDL_DisplayMode; -/** @name Useful data types */ -/*@{*/ -typedef struct SDL_Rect { - Sint16 x, y; - Uint16 w, h; -} SDL_Rect; - -typedef struct SDL_Color { - Uint8 r; - Uint8 g; - Uint8 b; - Uint8 unused; -} SDL_Color; -#define SDL_Colour SDL_Color - -typedef struct SDL_Palette { - int ncolors; - SDL_Color *colors; -} SDL_Palette; -/*@}*/ - -/** Everything in the pixel format structure is read-only */ -typedef struct SDL_PixelFormat { - SDL_Palette *palette; - Uint8 BitsPerPixel; - Uint8 BytesPerPixel; - Uint8 Rloss; - Uint8 Gloss; - Uint8 Bloss; - Uint8 Aloss; - Uint8 Rshift; - Uint8 Gshift; - Uint8 Bshift; - Uint8 Ashift; - Uint32 Rmask; - Uint32 Gmask; - Uint32 Bmask; - Uint32 Amask; - - /** RGB color key information */ - Uint32 colorkey; - /** Alpha value information (per-surface alpha) */ - Uint8 alpha; -} SDL_PixelFormat; - -/** This structure should be treated as read-only, except for 'pixels', - * which, if not NULL, contains the raw pixel data for the surface. +/** + * \brief The type used to identify a window + * + * \sa SDL_CreateWindow() + * \sa SDL_CreateWindowFrom() + * \sa SDL_DestroyWindow() + * \sa SDL_GetWindowData() + * \sa SDL_GetWindowFlags() + * \sa SDL_GetWindowGrab() + * \sa SDL_GetWindowPosition() + * \sa SDL_GetWindowSize() + * \sa SDL_GetWindowTitle() + * \sa SDL_HideWindow() + * \sa SDL_MaximizeWindow() + * \sa SDL_MinimizeWindow() + * \sa SDL_RaiseWindow() + * \sa SDL_RestoreWindow() + * \sa SDL_SetWindowData() + * \sa SDL_SetWindowFullscreen() + * \sa SDL_SetWindowGrab() + * \sa SDL_SetWindowIcon() + * \sa SDL_SetWindowPosition() + * \sa SDL_SetWindowSize() + * \sa SDL_SetWindowTitle() + * \sa SDL_ShowWindow() */ -typedef struct SDL_Surface { - Uint32 flags; /**< Read-only */ - SDL_PixelFormat *format; /**< Read-only */ - int w, h; /**< Read-only */ - Uint16 pitch; /**< Read-only */ - void *pixels; /**< Read-write */ - int offset; /**< Private */ +typedef struct SDL_Window SDL_Window; - /** Hardware-specific surface info */ - struct private_hwdata *hwdata; - - /** clipping information */ - SDL_Rect clip_rect; /**< Read-only */ - Uint32 unused1; /**< for binary compatibility */ - - /** Allow recursive locks */ - Uint32 locked; /**< Private */ - - /** info for fast blit mapping to other surfaces */ - struct SDL_BlitMap *map; /**< Private */ - - /** format version, bumped at every change to invalidate blit maps */ - unsigned int format_version; /**< Private */ - - /** Reference count -- used when freeing surface */ - int refcount; /**< Read-mostly */ -} SDL_Surface; - -/** @name SDL_Surface Flags - * These are the currently supported flags for the SDL_surface +/** + * \brief The flags on a window + * + * \sa SDL_GetWindowFlags() */ -/*@{*/ +typedef enum +{ + SDL_WINDOW_FULLSCREEN = 0x00000001, /**< fullscreen window, implies borderless */ + SDL_WINDOW_OPENGL = 0x00000002, /**< window usable with OpenGL context */ + SDL_WINDOW_SHOWN = 0x00000004, /**< window is visible */ + SDL_WINDOW_BORDERLESS = 0x00000008, /**< no window decoration */ + SDL_WINDOW_RESIZABLE = 0x00000010, /**< window can be resized */ + SDL_WINDOW_MINIMIZED = 0x00000020, /**< window is minimized */ + SDL_WINDOW_MAXIMIZED = 0x00000040, /**< window is maximized */ + SDL_WINDOW_INPUT_GRABBED = 0x00000100, /**< window has grabbed input focus */ + SDL_WINDOW_INPUT_FOCUS = 0x00000200, /**< window has input focus */ + SDL_WINDOW_MOUSE_FOCUS = 0x00000400, /**< window has mouse focus */ + SDL_WINDOW_FOREIGN = 0x00000800 /**< window not created by SDL */ +} SDL_WindowFlags; -/** Available for SDL_CreateRGBSurface() or SDL_SetVideoMode() */ -/*@{*/ -#define SDL_SWSURFACE 0x00000000 /**< Surface is in system memory */ -#define SDL_HWSURFACE 0x00000001 /**< Surface is in video memory */ -#define SDL_ASYNCBLIT 0x00000004 /**< Use asynchronous blits if possible */ -/*@}*/ - -/** Available for SDL_SetVideoMode() */ -/*@{*/ -#define SDL_ANYFORMAT 0x10000000 /**< Allow any video depth/pixel-format */ -#define SDL_HWPALETTE 0x20000000 /**< Surface has exclusive palette */ -#define SDL_DOUBLEBUF 0x40000000 /**< Set up double-buffered video mode */ -#define SDL_FULLSCREEN 0x80000000 /**< Surface is a full screen display */ -#define SDL_OPENGL 0x00000002 /**< Create an OpenGL rendering context */ -#define SDL_OPENGLBLIT 0x0000000A /**< Create an OpenGL rendering context and use it for blitting */ -#define SDL_RESIZABLE 0x00000010 /**< This video mode may be resized */ -#define SDL_NOFRAME 0x00000020 /**< No window caption or edge frame */ -/*@}*/ - -/** Used internally (read-only) */ -/*@{*/ -#define SDL_HWACCEL 0x00000100 /**< Blit uses hardware acceleration */ -#define SDL_SRCCOLORKEY 0x00001000 /**< Blit uses a source color key */ -#define SDL_RLEACCELOK 0x00002000 /**< Private flag */ -#define SDL_RLEACCEL 0x00004000 /**< Surface is RLE encoded */ -#define SDL_SRCALPHA 0x00010000 /**< Blit uses source alpha blending */ -#define SDL_PREALLOC 0x01000000 /**< Surface uses preallocated memory */ -/*@}*/ - -/*@}*/ - -/** Evaluates to true if the surface needs to be locked before access */ -#define SDL_MUSTLOCK(surface) \ - (surface->offset || \ - ((surface->flags & (SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_RLEACCEL)) != 0)) - -/** typedef for private surface blitting functions */ -typedef int (*SDL_blit)(struct SDL_Surface *src, SDL_Rect *srcrect, - struct SDL_Surface *dst, SDL_Rect *dstrect); - - -/** Useful for determining the video hardware capabilities */ -typedef struct SDL_VideoInfo { - Uint32 hw_available :1; /**< Flag: Can you create hardware surfaces? */ - Uint32 wm_available :1; /**< Flag: Can you talk to a window manager? */ - Uint32 UnusedBits1 :6; - Uint32 UnusedBits2 :1; - Uint32 blit_hw :1; /**< Flag: Accelerated blits HW --> HW */ - Uint32 blit_hw_CC :1; /**< Flag: Accelerated blits with Colorkey */ - Uint32 blit_hw_A :1; /**< Flag: Accelerated blits with Alpha */ - Uint32 blit_sw :1; /**< Flag: Accelerated blits SW --> HW */ - Uint32 blit_sw_CC :1; /**< Flag: Accelerated blits with Colorkey */ - Uint32 blit_sw_A :1; /**< Flag: Accelerated blits with Alpha */ - Uint32 blit_fill :1; /**< Flag: Accelerated color fill */ - Uint32 UnusedBits3 :16; - Uint32 video_mem; /**< The total amount of video memory (in K) */ - SDL_PixelFormat *vfmt; /**< Value: The format of the video surface */ - int current_w; /**< Value: The current video mode width */ - int current_h; /**< Value: The current video mode height */ -} SDL_VideoInfo; - - -/** @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 +/** + * \brief Used to indicate that you don't care what the window position is. */ -/*@{*/ -#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) */ -/*@}*/ +#define SDL_WINDOWPOS_UNDEFINED 0x7FFFFFF -/** The YUV hardware video overlay */ -typedef struct SDL_Overlay { - Uint32 format; /**< Read-only */ - int w, h; /**< Read-only */ - int planes; /**< Read-only */ - Uint16 *pitches; /**< Read-only */ - Uint8 **pixels; /**< Read-write */ +/** + * \brief Used to indicate that the window position should be centered. + */ +#define SDL_WINDOWPOS_CENTERED 0x7FFFFFE - /** @name Hardware-specific surface info */ - /*@{*/ - struct private_yuvhwfuncs *hwfuncs; - struct private_yuvhwdata *hwdata; - /*@{*/ +/** + * \brief Event subtype for window events + */ +typedef enum +{ + SDL_WINDOWEVENT_NONE, /**< Never used */ + SDL_WINDOWEVENT_SHOWN, /**< Window has been shown */ + SDL_WINDOWEVENT_HIDDEN, /**< Window has been hidden */ + SDL_WINDOWEVENT_EXPOSED, /**< Window has been exposed and should be + redrawn */ + SDL_WINDOWEVENT_MOVED, /**< Window has been moved to data1, data2 + */ + SDL_WINDOWEVENT_RESIZED, /**< Window size changed to data1xdata2 */ + SDL_WINDOWEVENT_MINIMIZED, /**< Window has been minimized */ + SDL_WINDOWEVENT_MAXIMIZED, /**< Window has been maximized */ + SDL_WINDOWEVENT_RESTORED, /**< Window has been restored to normal size + and position */ + SDL_WINDOWEVENT_ENTER, /**< Window has gained mouse focus */ + SDL_WINDOWEVENT_LEAVE, /**< Window has lost mouse focus */ + SDL_WINDOWEVENT_FOCUS_GAINED, /**< Window has gained keyboard focus */ + SDL_WINDOWEVENT_FOCUS_LOST, /**< Window has lost keyboard focus */ + SDL_WINDOWEVENT_CLOSE /**< The window manager requests that the + window be closed */ +} SDL_WindowEventID; - /** @name Special flags */ - /*@{*/ - Uint32 hw_overlay :1; /**< Flag: This overlay hardware accelerated? */ - Uint32 UnusedBits :31; - /*@}*/ -} SDL_Overlay; +/** + * \brief Flags used when creating a rendering context + */ +typedef enum +{ + SDL_RENDERER_SINGLEBUFFER = 0x00000001, /**< Render directly to the + window, if possible */ + + SDL_RENDERER_PRESENTCOPY = 0x00000002, /**< Present uses a copy from + back buffer to the front + buffer */ + + SDL_RENDERER_PRESENTFLIP2 = 0x00000004, /**< Present uses a flip, + swapping back buffer and + front buffer */ + + SDL_RENDERER_PRESENTFLIP3 = 0x00000008, /**< Present uses a flip, + rotating between two back + buffers and a front buffer + */ + + SDL_RENDERER_PRESENTDISCARD = 0x00000010, /**< Present leaves the contents + of the backbuffer undefined + */ + + SDL_RENDERER_PRESENTVSYNC = 0x00000020, /**< Present is synchronized + with the refresh rate */ + + SDL_RENDERER_ACCELERATED = 0x00000040 /**< The renderer uses hardware + acceleration */ + + } SDL_RendererFlags; +/** + * \brief Information on the capabilities of a render driver or context. + */ +typedef struct SDL_RendererInfo +{ + const char *name; /**< The name of the renderer */ + Uint32 flags; /**< Supported ::SDL_RendererFlags */ + Uint32 mod_modes; /**< A mask of supported channel modulation */ + Uint32 blend_modes; /**< A mask of supported blend modes */ + Uint32 scale_modes; /**< A mask of supported scale modes */ + Uint32 num_texture_formats; /**< The number of available texture formats */ + Uint32 texture_formats[20]; /**< The available texture formats */ + int max_texture_width; /**< The maximimum texture width */ + int max_texture_height; /**< The maximimum texture height */ +} SDL_RendererInfo; -/** Public enumeration for setting the OpenGL window attributes. */ -typedef enum { +/** + * \brief The access pattern allowed for a texture. + */ +typedef enum +{ + SDL_TEXTUREACCESS_STATIC, /**< Changes rarely, not lockable */ + SDL_TEXTUREACCESS_STREAMING /**< Changes frequently, lockable */ +} SDL_TextureAccess; + +/** + * \brief The texture channel modulation used in SDL_RenderCopy(). + */ +typedef enum +{ + SDL_TEXTUREMODULATE_NONE = 0x00000000, /**< No modulation */ + SDL_TEXTUREMODULATE_COLOR = 0x00000001, /**< srcC = srcC * color */ + SDL_TEXTUREMODULATE_ALPHA = 0x00000002 /**< srcA = srcA * alpha */ +} SDL_TextureModulate; + +/** + * \brief The blend mode used in SDL_RenderCopy() and drawing operations. + */ +typedef enum +{ + SDL_BLENDMODE_NONE = 0x00000000, /**< No blending */ + SDL_BLENDMODE_MASK = 0x00000001, /**< dst = A ? src : dst + (alpha is mask) */ + + SDL_BLENDMODE_BLEND = 0x00000002, /**< dst = (src * A) + (dst * (1-A)) */ + SDL_BLENDMODE_ADD = 0x00000004, /**< dst = (src * A) + dst */ + SDL_BLENDMODE_MOD = 0x00000008 /**< dst = src * dst */ +} SDL_BlendMode; + +/** + * \brief The texture scale mode used in SDL_RenderCopy(). + */ +typedef enum +{ + SDL_TEXTURESCALEMODE_NONE = 0x00000000, /**< No scaling, rectangles must + match dimensions */ + + SDL_TEXTURESCALEMODE_FAST = 0x00000001, /**< Point sampling or + equivalent algorithm */ + + SDL_TEXTURESCALEMODE_SLOW = 0x00000002, /**< Linear filtering or + equivalent algorithm */ + + SDL_TEXTURESCALEMODE_BEST = 0x00000004 /**< Bicubic filtering or + equivalent algorithm */ +} SDL_TextureScaleMode; + +/** + * \brief An efficient driver-specific representation of pixel data + */ +struct SDL_Texture; +typedef struct SDL_Texture SDL_Texture; + +/** + * \brief An opaque handle to an OpenGL context. + */ +typedef void *SDL_GLContext; + +/** + * \brief OpenGL configuration attributes + */ +typedef enum +{ SDL_GL_RED_SIZE, SDL_GL_GREEN_SIZE, SDL_GL_BLUE_SIZE, @@ -244,708 +277,1182 @@ typedef enum { SDL_GL_MULTISAMPLEBUFFERS, SDL_GL_MULTISAMPLESAMPLES, SDL_GL_ACCELERATED_VISUAL, - SDL_GL_SWAP_CONTROL + SDL_GL_RETAINED_BACKING, + SDL_GL_CONTEXT_MAJOR_VERSION, + SDL_GL_CONTEXT_MINOR_VERSION } SDL_GLattr; -/** @name flags for SDL_SetPalette() */ -/*@{*/ -#define SDL_LOGPAL 0x01 -#define SDL_PHYSPAL 0x02 -/*@}*/ /* Function prototypes */ /** - * @name Video Init and Quit - * These functions are used internally, and should not be used unless you - * have a specific need to specify the video driver you want to use. - * You should normally use SDL_Init() or SDL_InitSubSystem(). + * \brief Get the number of video drivers compiled into SDL + * + * \sa SDL_GetVideoDriver() */ -/*@{*/ +extern DECLSPEC int SDLCALL SDL_GetNumVideoDrivers(void); + /** - * Initializes the video subsystem. Sets up a connection - * to the window manager, etc, and determines the current video mode and - * pixel format, but does not initialize a window or graphics mode. - * Note that event handling is activated by this routine. - * - * If you use both sound and video in your application, you need to call - * SDL_Init() before opening the sound device, otherwise under Win32 DirectX, - * you won't be able to set full-screen display modes. + * \brief Get the name of a built in video driver. + * + * \note The video drivers are presented in the order in which they are + * normally checked during initialization. + * + * \sa SDL_GetNumVideoDrivers() + */ +extern DECLSPEC const char *SDLCALL SDL_GetVideoDriver(int index); + +/** + * \brief Initialize the video subsystem, optionally specifying a video driver. + * + * \param driver_name Initialize a specific driver by name, or NULL for the + * default video driver. + * + * \param flags FIXME: Still needed? + * + * \return 0 on success, -1 on error + * + * This function initializes the video subsystem; setting up a connection + * to the window manager, etc, and determines the available display modes + * and pixel formats, but does not initialize a window or graphics mode. + * + * \sa SDL_VideoQuit() + */ +extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name, + Uint32 flags); + +/** + * \brief Shuts down the video subsystem. + * + * This function closes all windows, and restores the original video mode. + * + * \sa SDL_VideoInit() */ -extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name, Uint32 flags); extern DECLSPEC void SDLCALL SDL_VideoQuit(void); -/*@}*/ /** - * This function fills the given character buffer with the name of the - * video driver, and returns a pointer to it if the video driver has - * been initialized. It returns NULL if no driver has been initialized. + * \brief Returns the name of the currently initialized video driver. + * + * \return The name of the current video driver or NULL if no driver + * has been initialized + * + * \sa SDL_GetNumVideoDrivers() + * \sa SDL_GetVideoDriver() */ -extern DECLSPEC char * SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen); +extern DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver(void); /** - * This function returns a pointer to the current display surface. - * If SDL is doing format conversion on the display surface, this - * function returns the publicly visible surface, not the real video - * surface. + * \brief Returns the number of available video displays. + * + * \sa SDL_GetDisplayBounds() + * \sa SDL_SelectVideoDisplay() */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_GetVideoSurface(void); +extern DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void); /** - * This function returns a read-only pointer to information about the - * video hardware. If this is called before SDL_SetVideoMode(), the 'vfmt' - * member of the returned structure will contain the pixel format of the - * "best" video mode. + * \brief Get the desktop area represented by a display, with the primary + * display located at 0,0 + * + * \return 0 on success, or -1 if the index is out of range. + * + * \sa SDL_GetNumVideoDisplays() */ -extern DECLSPEC const SDL_VideoInfo * SDLCALL SDL_GetVideoInfo(void); +extern DECLSPEC int SDLCALL SDL_GetDisplayBounds(int index, SDL_Rect * rect); /** - * Check to see if a particular video mode is supported. - * It returns 0 if the requested mode is not supported under any bit depth, - * or returns the bits-per-pixel of the closest available mode with the - * given width and height. If this bits-per-pixel is different from the - * one used when setting the video mode, SDL_SetVideoMode() will succeed, - * but will emulate the requested bits-per-pixel with a shadow surface. - * - * The arguments to SDL_VideoModeOK() are the same ones you would pass to - * SDL_SetVideoMode() + * \brief Set the index of the currently selected display. + * + * \return 0 on success, or -1 if the index is out of range. + * + * \sa SDL_GetNumVideoDisplays() + * \sa SDL_GetCurrentVideoDisplay() */ -extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, int height, int bpp, Uint32 flags); +extern DECLSPEC int SDLCALL SDL_SelectVideoDisplay(int index); /** - * Return a pointer to an array of available screen dimensions for the - * given format and video flags, sorted largest to smallest. Returns - * NULL if there are no dimensions available for a particular format, - * or (SDL_Rect **)-1 if any dimension is okay for the given format. - * - * If 'format' is NULL, the mode list will be for the format given - * by SDL_GetVideoInfo()->vfmt + * \brief Get the index of the currently selected display. + * + * \return The index of the currently selected display. + * + * \sa SDL_GetNumVideoDisplays() + * \sa SDL_SelectVideoDisplay() */ -extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint32 flags); +extern DECLSPEC int SDLCALL SDL_GetCurrentVideoDisplay(void); /** - * Set up a video mode with the specified width, height and bits-per-pixel. - * - * If 'bpp' is 0, it is treated as the current display bits per pixel. - * - * If SDL_ANYFORMAT is set in 'flags', the SDL library will try to set the - * requested bits-per-pixel, but will return whatever video pixel format is - * available. The default is to emulate the requested pixel format if it - * is not natively available. - * - * If SDL_HWSURFACE is set in 'flags', the video surface will be placed in - * video memory, if possible, and you may have to call SDL_LockSurface() - * in order to access the raw framebuffer. Otherwise, the video surface - * will be created in system memory. - * - * If SDL_ASYNCBLIT is set in 'flags', SDL will try to perform rectangle - * updates asynchronously, but you must always lock before accessing pixels. - * SDL will wait for updates to complete before returning from the lock. - * - * If SDL_HWPALETTE is set in 'flags', the SDL library will guarantee - * that the colors set by SDL_SetColors() will be the colors you get. - * Otherwise, in 8-bit mode, SDL_SetColors() may not be able to set all - * of the colors exactly the way they are requested, and you should look - * at the video surface structure to determine the actual palette. - * If SDL cannot guarantee that the colors you request can be set, - * i.e. if the colormap is shared, then the video surface may be created - * under emulation in system memory, overriding the SDL_HWSURFACE flag. - * - * If SDL_FULLSCREEN is set in 'flags', the SDL library will try to set - * a fullscreen video mode. The default is to create a windowed mode - * if the current graphics system has a window manager. - * If the SDL library is able to set a fullscreen video mode, this flag - * will be set in the surface that is returned. - * - * If SDL_DOUBLEBUF is set in 'flags', the SDL library will try to set up - * two surfaces in video memory and swap between them when you call - * SDL_Flip(). This is usually slower than the normal single-buffering - * scheme, but prevents "tearing" artifacts caused by modifying video - * memory while the monitor is refreshing. It should only be used by - * applications that redraw the entire screen on every update. - * - * If SDL_RESIZABLE is set in 'flags', the SDL library will allow the - * window manager, if any, to resize the window at runtime. When this - * occurs, SDL will send a SDL_VIDEORESIZE event to you application, - * and you must respond to the event by re-calling SDL_SetVideoMode() - * with the requested size (or another size that suits the application). - * - * If SDL_NOFRAME is set in 'flags', the SDL library will create a window - * without any title bar or frame decoration. Fullscreen video modes have - * this flag set automatically. - * - * This function returns the video framebuffer surface, or NULL if it fails. - * - * If you rely on functionality provided by certain video flags, check the - * flags of the returned surface to make sure that functionality is available. - * SDL will fall back to reduced functionality if the exact flags you wanted - * are not available. + * \brief Returns the number of available display modes for the current display. + * + * \sa SDL_GetDisplayMode() */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_SetVideoMode - (int width, int height, int bpp, Uint32 flags); - -/** @name SDL_Update Functions - * These functions should not be called while 'screen' is locked. - */ -/*@{*/ -/** - * Makes sure the given list of rectangles is updated on the given screen. - */ -extern DECLSPEC void SDLCALL SDL_UpdateRects - (SDL_Surface *screen, int numrects, SDL_Rect *rects); -/** - * If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the entire - * screen. - */ -extern DECLSPEC void SDLCALL SDL_UpdateRect - (SDL_Surface *screen, Sint32 x, Sint32 y, Uint32 w, Uint32 h); -/*@}*/ +extern DECLSPEC int SDLCALL SDL_GetNumDisplayModes(void); /** - * On hardware that supports double-buffering, this function sets up a flip - * and returns. The hardware will wait for vertical retrace, and then swap - * video buffers before the next video surface blit or lock will return. - * On hardware that doesn not support double-buffering, this is equivalent - * to calling SDL_UpdateRect(screen, 0, 0, 0, 0); - * The SDL_DOUBLEBUF flag must have been passed to SDL_SetVideoMode() when - * setting the video mode for this function to perform hardware flipping. - * This function returns 0 if successful, or -1 if there was an error. + * \brief Fill in information about a specific display mode. + * + * \note The display modes are sorted in this priority: + * \li bits per pixel -> more colors to fewer colors + * \li width -> largest to smallest + * \li height -> largest to smallest + * \li refresh rate -> highest to lowest + * + * \sa SDL_GetNumDisplayModes() */ -extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface *screen); +extern DECLSPEC int SDLCALL SDL_GetDisplayMode(int index, + SDL_DisplayMode * mode); /** - * Set the gamma correction for each of the color channels. - * The gamma values range (approximately) between 0.1 and 10.0 - * - * If this function isn't supported directly by the hardware, it will - * be emulated using gamma ramps, if available. If successful, this - * function returns 0, otherwise it returns -1. + * \brief Fill in information about the desktop display mode for the current + * display. + */ +extern DECLSPEC int SDLCALL SDL_GetDesktopDisplayMode(SDL_DisplayMode * mode); + +/** + * \brief Fill in information about the current display mode. + */ +extern DECLSPEC int SDLCALL SDL_GetCurrentDisplayMode(SDL_DisplayMode * mode); + + +/** + * \brief Get the closest match to the requested display mode. + * + * \param mode The desired display mode + * \param closest A pointer to a display mode to be filled in with the closest + * match of the available display modes. + * + * \return The passed in value \c closest, or NULL if no matching video mode + * was available. + * + * The available display modes are scanned, and \c closest is filled in with the + * closest mode matching the requested mode and returned. The mode format and + * refresh_rate default to the desktop mode if they are 0. The modes are + * scanned with size being first priority, format being second priority, and + * finally checking the refresh_rate. If all the available modes are too + * small, then NULL is returned. + * + * \sa SDL_GetNumDisplayModes() + * \sa SDL_GetDisplayMode() + */ +extern DECLSPEC SDL_DisplayMode *SDLCALL SDL_GetClosestDisplayMode(const + SDL_DisplayMode + * mode, + SDL_DisplayMode + * closest); + +/** + * \brief Set the display mode used when a fullscreen window is visible + * on the currently selected display. By default the window's + * dimensions and the desktop format and refresh rate are used. + * + * \param mode The mode to use, or NULL for the default mode. + * + * \return 0 on success, or -1 if setting the display mode failed. + * + * \sa SDL_GetWindowDisplayMode() + * \sa SDL_SetWindowFullscreen() + */ +extern DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_Window * window, + const SDL_DisplayMode + * mode); + +/** + * \brief Fill in information about the display mode used when a fullscreen + * window is visible on the currently selected display. + * + * \sa SDL_SetWindowDisplayMode() + * \sa SDL_SetWindowFullscreen() + */ +extern DECLSPEC int SDLCALL SDL_GetWindowDisplayMode(SDL_Window * window, + SDL_DisplayMode * mode); + +/** + * \brief Set the palette entries for indexed display modes. + * + * \return 0 on success, or -1 if the display mode isn't palettized or the + * colors couldn't be set. + */ +extern DECLSPEC int SDLCALL SDL_SetDisplayPalette(const SDL_Color * colors, + int firstcolor, + int ncolors); + +/** + * \brief Gets the palette entries for indexed display modes. + * + * \return 0 on success, or -1 if the display mode isn't palettized + */ +extern DECLSPEC int SDLCALL SDL_GetDisplayPalette(SDL_Color * colors, + int firstcolor, + int ncolors); + +/** + * \brief Set the gamma correction for each of the color channels on the + * currently selected display. + * + * \return 0 on success, or -1 if setting the gamma isn't supported. + * + * \sa SDL_SetGammaRamp() */ extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue); /** - * Set the gamma translation table for the red, green, and blue channels - * of the video hardware. Each table is an array of 256 16-bit quantities, - * representing a mapping between the input and output for that channel. - * The input is the index into the array, and the output is the 16-bit - * gamma value at that index, scaled to the output color precision. - * - * You may pass NULL for any of the channels to leave it unchanged. - * If the call succeeds, it will return 0. If the display driver or - * hardware does not support gamma translation, or otherwise fails, - * this function will return -1. + * \brief Set the gamma ramp for the currently selected display. + * + * \param red The translation table for the red channel, or NULL. + * \param green The translation table for the green channel, or NULL. + * \param blue The translation table for the blue channel, or NULL. + * + * \return 0 on success, or -1 if gamma ramps are unsupported. + * + * Set the gamma translation table for the red, green, and blue channels + * of the video hardware. Each table is an array of 256 16-bit quantities, + * representing a mapping between the input and output for that channel. + * The input is the index into the array, and the output is the 16-bit + * gamma value at that index, scaled to the output color precision. + * + * \sa SDL_GetGammaRamp() */ -extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 *red, const Uint16 *green, const Uint16 *blue); +extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 * red, + const Uint16 * green, + const Uint16 * blue); /** - * Retrieve the current values of the gamma translation tables. - * - * You must pass in valid pointers to arrays of 256 16-bit quantities. - * Any of the pointers may be NULL to ignore that channel. - * If the call succeeds, it will return 0. If the display driver or - * hardware does not support gamma translation, or otherwise fails, - * this function will return -1. + * \brief Get the gamma ramp for the currently selected display. + * + * \param red A pointer to a 256 element array of 16-bit quantities to hold + * the translation table for the red channel, or NULL. + * \param green A pointer to a 256 element array of 16-bit quantities to hold + * the translation table for the green channel, or NULL. + * \param blue A pointer to a 256 element array of 16-bit quantities to hold + * the translation table for the blue channel, or NULL. + * + * \return 0 on success, or -1 if gamma ramps are unsupported. + * + * \sa SDL_SetGammaRamp() */ -extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16 *blue); +extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 * red, Uint16 * green, + Uint16 * blue); + /** - * Sets a portion of the colormap for the given 8-bit surface. If 'surface' - * is not a palettized surface, this function does nothing, returning 0. - * If all of the colors were set as passed to SDL_SetColors(), it will - * return 1. If not all the color entries were set exactly as given, - * it will return 0, and you should look at the surface palette to - * determine the actual color palette. - * - * When 'surface' is the surface associated with the current display, the - * display colormap will be updated with the requested colors. If - * SDL_HWPALETTE was set in SDL_SetVideoMode() flags, SDL_SetColors() - * will always return 1, and the palette is guaranteed to be set the way - * you desire, even if the window colormap has to be warped or run under - * emulation. + * \brief Create a window with the specified position, dimensions, and flags. + * + * \param title The title of the window, in UTF-8 encoding. + * \param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or + * ::SDL_WINDOWPOS_UNDEFINED. + * \param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or + * ::SDL_WINDOWPOS_UNDEFINED. + * \param w The width of the window. + * \param h The height of the window. + * \param flags The flags for the window, a mask of any of the following: + * ::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL, + * ::SDL_WINDOW_SHOWN, ::SDL_WINDOW_BORDERLESS, + * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, + * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED. + * + * \return The id of the window created, or zero if window creation failed. + * + * \sa SDL_DestroyWindow() */ -extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface *surface, - SDL_Color *colors, int firstcolor, int ncolors); +extern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindow(const char *title, + int x, int y, int w, + int h, Uint32 flags); /** - * Sets a portion of the colormap for a given 8-bit surface. - * 'flags' is one or both of: - * SDL_LOGPAL -- set logical palette, which controls how blits are mapped - * to/from the surface, - * SDL_PHYSPAL -- set physical palette, which controls how pixels look on - * the screen - * Only screens have physical palettes. Separate change of physical/logical - * palettes is only possible if the screen has SDL_HWPALETTE set. - * - * The return value is 1 if all colours could be set as requested, and 0 - * otherwise. - * - * SDL_SetColors() is equivalent to calling this function with - * flags = (SDL_LOGPAL|SDL_PHYSPAL). + * \brief Create an SDL window from an existing native window. + * + * \param data A pointer to driver-dependent window creation data + * + * \return The id of the window created, or zero if window creation failed. + * + * \sa SDL_DestroyWindow() */ -extern DECLSPEC int SDLCALL SDL_SetPalette(SDL_Surface *surface, int flags, - SDL_Color *colors, int firstcolor, - int ncolors); +extern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindowFrom(const void *data); /** - * Maps an RGB triple to an opaque pixel value for a given pixel format + * \brief Get the numeric ID of the window, for logging purposes. */ -extern DECLSPEC Uint32 SDLCALL SDL_MapRGB -(const SDL_PixelFormat * const format, - const Uint8 r, const Uint8 g, const Uint8 b); +extern DECLSPEC Uint32 SDLCALL SDL_GetWindowID(SDL_Window * window); /** - * Maps an RGBA quadruple to a pixel value for a given pixel format + * \brief Get a window from a stored ID, or NULL if it doesn't exist. */ -extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA -(const SDL_PixelFormat * const format, - const Uint8 r, const Uint8 g, const Uint8 b, const Uint8 a); +extern DECLSPEC SDL_Window * SDLCALL SDL_GetWindowFromID(Uint32 id); /** - * Maps a pixel value into the RGB components for a given pixel format + * \brief Get the window flags. */ -extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel, - const SDL_PixelFormat * const fmt, - Uint8 *r, Uint8 *g, Uint8 *b); +extern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_Window * window); /** - * Maps a pixel value into the RGBA components for a given pixel format + * \brief Set the title of the window, in UTF-8 format. + * + * \sa SDL_GetWindowTitle() */ -extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, - const SDL_PixelFormat * const fmt, - Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a); - -/** @sa SDL_CreateRGBSurface */ -#define SDL_AllocSurface SDL_CreateRGBSurface -/** - * Allocate and free an RGB surface (must be called after SDL_SetVideoMode) - * If the depth is 4 or 8 bits, an empty palette is allocated for the surface. - * If the depth is greater than 8 bits, the pixel format is set using the - * flags '[RGB]mask'. - * If the function runs out of memory, it will return NULL. - * - * The 'flags' tell what kind of surface to create. - * SDL_SWSURFACE means that the surface should be created in system memory. - * SDL_HWSURFACE means that the surface should be created in video memory, - * with the same format as the display surface. This is useful for surfaces - * that will not change much, to take advantage of hardware acceleration - * when being blitted to the display surface. - * SDL_ASYNCBLIT means that SDL will try to perform asynchronous blits with - * this surface, but you must always lock it before accessing the pixels. - * SDL will wait for current blits to finish before returning from the lock. - * SDL_SRCCOLORKEY indicates that the surface will be used for colorkey blits. - * If the hardware supports acceleration of colorkey blits between - * two surfaces in video memory, SDL will try to place the surface in - * video memory. If this isn't possible or if there is no hardware - * acceleration available, the surface will be placed in system memory. - * SDL_SRCALPHA means that the surface will be used for alpha blits and - * if the hardware supports hardware acceleration of alpha blits between - * two surfaces in video memory, to place the surface in video memory - * if possible, otherwise it will be placed in system memory. - * If the surface is created in video memory, blits will be _much_ faster, - * but the surface format must be identical to the video surface format, - * and the only way to access the pixels member of the surface is to use - * the SDL_LockSurface() and SDL_UnlockSurface() calls. - * If the requested surface actually resides in video memory, SDL_HWSURFACE - * will be set in the flags member of the returned surface. If for some - * reason the surface could not be placed in video memory, it will not have - * the SDL_HWSURFACE flag set, and will be created in system memory instead. - */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_CreateRGBSurface - (Uint32 flags, int width, int height, int depth, - Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask); -/** @sa SDL_CreateRGBSurface */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels, - int width, int height, int depth, int pitch, - Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask); -extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface *surface); +extern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_Window * window, + const char *title); /** - * SDL_LockSurface() sets up a surface for directly accessing the pixels. - * Between calls to SDL_LockSurface()/SDL_UnlockSurface(), you can write - * to and read from 'surface->pixels', using the pixel format stored in - * 'surface->format'. Once you are done accessing the surface, you should - * use SDL_UnlockSurface() to release it. - * - * Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates - * to 0, then you can read and write to the surface at any time, and the - * pixel format of the surface will not change. In particular, if the - * SDL_HWSURFACE flag is not given when calling SDL_SetVideoMode(), you - * will not need to lock the display surface before accessing it. - * - * No operating system or library calls should be made between lock/unlock - * pairs, as critical system locks may be held during this time. - * - * SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. + * \brief Get the title of the window, in UTF-8 format. + * + * \sa SDL_SetWindowTitle() */ -extern DECLSPEC int SDLCALL SDL_LockSurface(SDL_Surface *surface); -extern DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface *surface); +extern DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_Window * window); /** - * Load a surface from a seekable SDL data source (memory or file.) - * If 'freesrc' is non-zero, the source will be closed after being read. - * Returns the new surface, or NULL if there was an error. - * The new surface should be freed with SDL_FreeSurface(). + * \brief Set the icon of the window. + * + * \param icon The icon for the window. */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_LoadBMP_RW(SDL_RWops *src, int freesrc); - -/** Convenience macro -- load a surface from a file */ -#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1) +extern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_Window * window, + SDL_Surface * icon); /** - * Save a surface to a seekable SDL data source (memory or file.) - * If 'freedst' is non-zero, the source will be closed after being written. - * Returns 0 if successful or -1 if there was an error. + * \brief Associate an arbitrary pointer with the window. + * + * \sa SDL_GetWindowData() */ -extern DECLSPEC int SDLCALL SDL_SaveBMP_RW - (SDL_Surface *surface, SDL_RWops *dst, int freedst); - -/** Convenience macro -- save a surface to a file */ -#define SDL_SaveBMP(surface, file) \ - SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, "wb"), 1) +extern DECLSPEC void SDLCALL SDL_SetWindowData(SDL_Window * window, + void *userdata); /** - * Sets the color key (transparent pixel) in a blittable surface. - * If 'flag' is SDL_SRCCOLORKEY (optionally OR'd with SDL_RLEACCEL), - * 'key' will be the transparent pixel in the source image of a blit. - * SDL_RLEACCEL requests RLE acceleration for the surface if present, - * and removes RLE acceleration if absent. - * If 'flag' is 0, this function clears any current color key. - * This function returns 0, or -1 if there was an error. + * \brief Retrieve the data pointer associated with the window. + * + * \sa SDL_SetWindowData() */ -extern DECLSPEC int SDLCALL SDL_SetColorKey - (SDL_Surface *surface, Uint32 flag, Uint32 key); +extern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_Window * window); /** - * This function sets the alpha value for the entire surface, as opposed to - * using the alpha component of each pixel. This value measures the range - * of transparency of the surface, 0 being completely transparent to 255 - * being completely opaque. An 'alpha' value of 255 causes blits to be - * opaque, the source pixels copied to the destination (the default). Note - * that per-surface alpha can be combined with colorkey transparency. - * - * If 'flag' is 0, alpha blending is disabled for the surface. - * If 'flag' is SDL_SRCALPHA, alpha blending is enabled for the surface. - * OR:ing the flag with SDL_RLEACCEL requests RLE acceleration for the - * surface; if SDL_RLEACCEL is not specified, the RLE accel will be removed. - * - * The 'alpha' parameter is ignored for surfaces that have an alpha channel. + * \brief Set the position of the window. + * + * \param window The window to reposition. + * \param x The x coordinate of the window, ::SDL_WINDOWPOS_CENTERED, or + ::SDL_WINDOWPOS_UNDEFINED. + * \param y The y coordinate of the window, ::SDL_WINDOWPOS_CENTERED, or + ::SDL_WINDOWPOS_UNDEFINED. + * + * \note The window coordinate origin is the upper left of the display. + * + * \sa SDL_GetWindowPosition() */ -extern DECLSPEC int SDLCALL SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha); +extern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_Window * window, + int x, int y); /** - * Sets the clipping rectangle for the destination surface in a blit. - * - * If the clip rectangle is NULL, clipping will be disabled. - * If the clip rectangle doesn't intersect the surface, the function will - * return SDL_FALSE and blits will be completely clipped. Otherwise the - * function returns SDL_TRUE and blits to the surface will be clipped to - * the intersection of the surface area and the clipping rectangle. - * - * Note that blits are automatically clipped to the edges of the source - * and destination surfaces. + * \brief Get the position of the window. + * + * \sa SDL_SetWindowPosition() */ -extern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface *surface, const SDL_Rect *rect); +extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window, + int *x, int *y); /** - * Gets the clipping rectangle for the destination surface in a blit. - * 'rect' must be a pointer to a valid rectangle which will be filled - * with the correct values. + * \brief Set the size of the window's client area. + * + * \note You can't change the size of a fullscreen window, it automatically + * matches the size of the display mode. + * + * \sa SDL_GetWindowSize() */ -extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect); +extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window * window, int w, + int h); /** - * Creates a new surface of the specified format, and then copies and maps - * the given surface to it so the blit of the converted surface will be as - * fast as possible. If this function fails, it returns NULL. - * - * The 'flags' parameter is passed to SDL_CreateRGBSurface() and has those - * semantics. You can also pass SDL_RLEACCEL in the flags parameter and - * SDL will try to RLE accelerate colorkey and alpha blits in the resulting - * surface. - * - * This function is used internally by SDL_DisplayFormat(). + * \brief Get the size of the window's client area. + * + * \sa SDL_SetWindowSize() */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface - (SDL_Surface *src, SDL_PixelFormat *fmt, Uint32 flags); +extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window * window, int *w, + int *h); /** - * This performs a fast blit from the source surface to the destination - * surface. It assumes that the source and destination rectangles are - * the same size. If either 'srcrect' or 'dstrect' are NULL, the entire - * surface (src or dst) is copied. The final blit rectangles are saved - * in 'srcrect' and 'dstrect' after all clipping is performed. - * If the blit is successful, it returns 0, otherwise it returns -1. - * - * The blit function should not be called on a locked surface. - * - * The blit semantics for surfaces with and without alpha and colorkey - * are defined as follows: - * - * RGBA->RGB: - * SDL_SRCALPHA set: - * alpha-blend (using alpha-channel). - * SDL_SRCCOLORKEY ignored. - * SDL_SRCALPHA not set: - * copy RGB. - * if SDL_SRCCOLORKEY set, only copy the pixels matching the - * RGB values of the source colour key, ignoring alpha in the - * comparison. - * - * RGB->RGBA: - * SDL_SRCALPHA set: - * alpha-blend (using the source per-surface alpha value); - * set destination alpha to opaque. - * SDL_SRCALPHA not set: - * copy RGB, set destination alpha to source per-surface alpha value. - * both: - * if SDL_SRCCOLORKEY set, only copy the pixels matching the - * source colour key. - * - * RGBA->RGBA: - * SDL_SRCALPHA set: - * alpha-blend (using the source alpha channel) the RGB values; - * leave destination alpha untouched. [Note: is this correct?] - * SDL_SRCCOLORKEY ignored. - * SDL_SRCALPHA not set: - * copy all of RGBA to the destination. - * if SDL_SRCCOLORKEY set, only copy the pixels matching the - * RGB values of the source colour key, ignoring alpha in the - * comparison. - * - * RGB->RGB: - * SDL_SRCALPHA set: - * alpha-blend (using the source per-surface alpha value). - * SDL_SRCALPHA not set: - * copy RGB. - * both: - * if SDL_SRCCOLORKEY set, only copy the pixels matching the - * source colour key. - * - * If either of the surfaces were in video memory, and the blit returns -2, - * the video memory was lost, so it should be reloaded with artwork and - * re-blitted: - * @code - * while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) { - * while ( SDL_LockSurface(image) < 0 ) - * Sleep(10); - * -- Write image pixels to image->pixels -- - * SDL_UnlockSurface(image); - * } - * @endcode - * - * This happens under DirectX 5.0 when the system switches away from your - * fullscreen application. The lock will also fail until you have access - * to the video memory again. - * - * You should call SDL_BlitSurface() unless you know exactly how SDL - * blitting works internally and how to use the other blit functions. + * \brief Show the window. + * + * \sa SDL_HideWindow() */ -#define SDL_BlitSurface SDL_UpperBlit - -/** This is the public blit function, SDL_BlitSurface(), and it performs - * rectangle validation and clipping before passing it to SDL_LowerBlit() - */ -extern DECLSPEC int SDLCALL SDL_UpperBlit - (SDL_Surface *src, SDL_Rect *srcrect, - SDL_Surface *dst, SDL_Rect *dstrect); -/** This is a semi-private blit function and it performs low-level surface - * blitting only. - */ -extern DECLSPEC int SDLCALL SDL_LowerBlit - (SDL_Surface *src, SDL_Rect *srcrect, - SDL_Surface *dst, SDL_Rect *dstrect); +extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window * window); /** - * This function performs a fast fill of the given rectangle with 'color' - * The given rectangle is clipped to the destination surface clip area - * and the final fill rectangle is saved in the passed in pointer. - * If 'dstrect' is NULL, the whole surface will be filled with 'color' - * The color should be a pixel of the format used by the surface, and - * can be generated by the SDL_MapRGB() function. - * This function returns 0 on success, or -1 on error. + * \brief Hide the window. + * + * \sa SDL_ShowWindow() */ -extern DECLSPEC int SDLCALL SDL_FillRect - (SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color); +extern DECLSPEC void SDLCALL SDL_HideWindow(SDL_Window * window); /** - * This function takes a surface and copies it to a new surface of the - * pixel format and colors of the video framebuffer, suitable for fast - * blitting onto the display surface. It calls SDL_ConvertSurface() - * - * If you want to take advantage of hardware colorkey or alpha blit - * acceleration, you should set the colorkey and alpha value before - * calling this function. - * - * If the conversion fails or runs out of memory, it returns NULL + * \brief Raise the window above other windows and set the input focus. */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_DisplayFormat(SDL_Surface *surface); +extern DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_Window * window); /** - * This function takes a surface and copies it to a new surface of the - * pixel format and colors of the video framebuffer (if possible), - * suitable for fast alpha blitting onto the display surface. - * The new surface will always have an alpha channel. - * - * If you want to take advantage of hardware colorkey or alpha blit - * acceleration, you should set the colorkey and alpha value before - * calling this function. - * - * If the conversion fails or runs out of memory, it returns NULL + * \brief Make the window as large as possible. + * + * \sa SDL_RestoreWindow() */ -extern DECLSPEC SDL_Surface * SDLCALL SDL_DisplayFormatAlpha(SDL_Surface *surface); - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/** @name YUV video surface overlay functions */ /*@{*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/** This function creates a video output overlay - * Calling the returned surface an overlay is something of a misnomer because - * the contents of the display surface underneath the area where the overlay - * is shown is undefined - it may be overwritten with the converted YUV data. - */ -extern DECLSPEC SDL_Overlay * SDLCALL SDL_CreateYUVOverlay(int width, int height, - Uint32 format, SDL_Surface *display); - -/** Lock an overlay for direct access, and unlock it when you are done */ -extern DECLSPEC int SDLCALL SDL_LockYUVOverlay(SDL_Overlay *overlay); -extern DECLSPEC void SDLCALL SDL_UnlockYUVOverlay(SDL_Overlay *overlay); - -/** Blit a video overlay to the display surface. - * The contents of the video surface underneath the blit destination are - * not defined. - * The width and height of the destination rectangle may be different from - * that of the overlay, but currently only 2x scaling is supported. - */ -extern DECLSPEC int SDLCALL SDL_DisplayYUVOverlay(SDL_Overlay *overlay, SDL_Rect *dstrect); - -/** Free a video overlay */ -extern DECLSPEC void SDLCALL SDL_FreeYUVOverlay(SDL_Overlay *overlay); - -/*@}*/ - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/** @name OpenGL support functions. */ /*@{*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +extern DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_Window * window); /** - * Dynamically load an OpenGL library, or the default one if path is NULL - * - * If you do this, you need to retrieve all of the GL functions used in - * your program from the dynamic library using SDL_GL_GetProcAddress(). + * \brief Minimize the window to an iconic representation. + * + * \sa SDL_RestoreWindow() + */ +extern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_Window * window); + +/** + * \brief Restore the size and position of a minimized or maximized window. + * + * \sa SDL_MaximizeWindow() + * \sa SDL_MinimizeWindow() + */ +extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window * window); + +/** + * \brief Set the window's fullscreen state. + * + * \return 0 on success, or -1 if setting the display mode failed. + * + * \sa SDL_SetWindowDisplayMode() + * \sa SDL_GetWindowDisplayMode() + */ +extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window, + int fullscreen); + +/** + * \brief Set the window's input grab mode. + * + * \param mode This is 1 to grab input, and 0 to release input. + * + * \sa SDL_GetWindowGrab() + */ +extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window * window, + int mode); + +/** + * \brief Get the window's input grab mode. + * + * \return This returns 1 if input is grabbed, and 0 otherwise. + * + * \sa SDL_SetWindowGrab() + */ +extern DECLSPEC int SDLCALL SDL_GetWindowGrab(SDL_Window * window); + +/** + * \brief Get driver specific information about a window. + * + * \note Include SDL_syswm.h for the declaration of SDL_SysWMinfo. + */ +struct SDL_SysWMinfo; +extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window, + struct SDL_SysWMinfo + *info); + +/** + * \brief Destroy a window. + */ +extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window * window); + +/** + * \brief Get the number of 2D rendering drivers available for the current + * display. + * + * A render driver is a set of code that handles rendering and texture + * management on a particular display. Normally there is only one, but + * some drivers may have several available with different capabilities. + * + * \sa SDL_GetRenderDriverInfo() + * \sa SDL_CreateRenderer() + */ +extern DECLSPEC int SDLCALL SDL_GetNumRenderDrivers(void); + +/** + * \brief Get information about a specific 2D rendering driver for the current + * display. + * + * \param index The index of the driver to query information about. + * \param info A pointer to an SDL_RendererInfo struct to be filled with + * information on the rendering driver. + * + * \return 0 on success, -1 if the index was out of range. + * + * \sa SDL_CreateRenderer() + */ +extern DECLSPEC int SDLCALL SDL_GetRenderDriverInfo(int index, + SDL_RendererInfo * info); + +/** + * \brief Create and make active a 2D rendering context for a window. + * + * \param window The window where rendering is displayed. + * \param index The index of the rendering driver to initialize, or -1 to + * initialize the first one supporting the requested flags. + * \param flags ::SDL_RendererFlags. + * + * \return 0 on success, -1 if there was an error creating the renderer. + * + * \sa SDL_SelectRenderer() + * \sa SDL_GetRendererInfo() + * \sa SDL_DestroyRenderer() + */ +extern DECLSPEC int SDLCALL SDL_CreateRenderer(SDL_Window * window, + int index, Uint32 flags); + +/** + * \brief Select the rendering context for a particular window. + * + * \return 0 on success, -1 if the selected window doesn't have a + * rendering context. + */ +extern DECLSPEC int SDLCALL SDL_SelectRenderer(SDL_Window * window); + +/** + * \brief Get information about the current rendering context. + */ +extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_RendererInfo * info); + +/** + * \brief Create a texture for the current rendering context. + * + * \param format The format of the texture. + * \param access One of the enumerated values in ::SDL_TextureAccess. + * \param w The width of the texture in pixels. + * \param h The height of the texture in pixels. + * + * \return The created texture is returned, or 0 if no rendering context was + * active, the format was unsupported, or the width or height were out + * of range. + * + * \sa SDL_QueryTexture() + * \sa SDL_DestroyTexture() + */ +extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(Uint32 format, + int access, int w, + int h); + +/** + * \brief Create a texture from an existing surface. + * + * \param format The format of the texture, or 0 to pick an appropriate format. + * \param surface The surface containing pixel data used to fill the texture. + * + * \return The created texture is returned, or 0 if no rendering context was + * active, the format was unsupported, or the surface width or height + * were out of range. + * + * \note The surface is not modified or freed by this function. + * + * \sa SDL_QueryTexture() + * \sa SDL_DestroyTexture() + */ +extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(Uint32 + format, + SDL_Surface + * surface); + +/** + * \brief Query the attributes of a texture + * + * \param texture A texture to be queried. + * \param format A pointer filled in with the raw format of the texture. The + * actual format may differ, but pixel transfers will use this + * format. + * \param access A pointer filled in with the actual access to the texture. + * \param w A pointer filled in with the width of the texture in pixels. + * \param h A pointer filled in with the height of the texture in pixels. + * + * \return 0 on success, or -1 if the texture is not valid. + */ +extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture * texture, + Uint32 * format, int *access, + int *w, int *h); + +/** + * \brief Query the pixels of a texture, if the texture does not need to be + * locked for pixel access. + * + * \param texture A texture to be queried, which was created with + * ::SDL_TEXTUREACCESS_STREAMING. + * \param pixels A pointer filled with a pointer to the pixels for the + * texture. + * \param pitch A pointer filled in with the pitch of the pixel data. + * + * \return 0 on success, or -1 if the texture is not valid, or must be locked + * for pixel access. + */ +extern DECLSPEC int SDLCALL SDL_QueryTexturePixels(SDL_Texture * texture, + void **pixels, int *pitch); + +/** + * \brief Set the color palette of an indexed texture. + * + * \param texture The texture to update. + * \param colors The array of RGB color data. + * \param firstcolor The first index to update. + * \param ncolors The number of palette entries to fill with the color data. + * + * \return 0 on success, or -1 if the texture is not valid or not an indexed + * texture. + */ +extern DECLSPEC int SDLCALL SDL_SetTexturePalette(SDL_Texture * texture, + const SDL_Color * colors, + int firstcolor, + int ncolors); + +/** + * \brief Get the color palette from an indexed texture if it has one. + * + * \param texture The texture to update. + * \param colors The array to fill with RGB color data. + * \param firstcolor The first index to retrieve. + * \param ncolors The number of palette entries to retrieve. + * + * \return 0 on success, or -1 if the texture is not valid or not an indexed + * texture. + */ +extern DECLSPEC int SDLCALL SDL_GetTexturePalette(SDL_Texture * texture, + SDL_Color * colors, + int firstcolor, + int ncolors); + +/** + * \brief Set an additional color value used in render copy operations. + * + * \param texture The texture to update. + * \param r The red source color value multiplied into copy operations. + * \param g The green source color value multiplied into copy operations. + * \param b The blue source color value multiplied into copy operations. + * + * \return 0 on success, or -1 if the texture is not valid or color modulation + * is not supported. + * + * \sa SDL_GetTextureColorMod() + */ +extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture * texture, + Uint8 r, Uint8 g, Uint8 b); + + +/** + * \brief Get the additional color value used in render copy operations. + * + * \param texture The texture to query. + * \param r A pointer filled in with the source red color value. + * \param g A pointer filled in with the source green color value. + * \param b A pointer filled in with the source blue color value. + * + * \return 0 on success, or -1 if the texture is not valid. + * + * \sa SDL_SetTextureColorMod() + */ +extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture * texture, + Uint8 * r, Uint8 * g, + Uint8 * b); + +/** + * \brief Set an additional alpha value used in render copy operations. + * + * \param texture The texture to update. + * \param alpha The source alpha value multiplied into copy operations. + * + * \return 0 on success, or -1 if the texture is not valid or alpha modulation + * is not supported. + * + * \sa SDL_GetTextureAlphaMod() + */ +extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture * texture, + Uint8 alpha); + +/** + * \brief Get the additional alpha value used in render copy operations. + * + * \param texture The texture to query. + * \param alpha A pointer filled in with the source alpha value. + * + * \return 0 on success, or -1 if the texture is not valid. + * + * \sa SDL_SetTextureAlphaMod() + */ +extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture * texture, + Uint8 * alpha); + +/** + * \brief Set the blend mode used for texture copy operations. + * + * \param texture The texture to update. + * \param blendMode ::SDL_BlendMode to use for texture blending. + * + * \return 0 on success, or -1 if the texture is not valid or the blend mode is + * not supported. + * + * \note If the blend mode is not supported, the closest supported mode is + * chosen. + * + * \sa SDL_GetTextureBlendMode() + */ +extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture, + int blendMode); + +/** + * \brief Get the blend mode used for texture copy operations. + * + * \param texture The texture to query. + * \param blendMode A pointer filled in with the current blend mode. + * + * \return 0 on success, or -1 if the texture is not valid. + * + * \sa SDL_SetTextureBlendMode() + */ +extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture, + int *blendMode); + +/** + * \brief Set the scale mode used for texture copy operations. + * + * \param texture The texture to update. + * \param scaleMode ::SDL_TextureScaleMode to use for texture scaling. + * + * \return 0 on success, or -1 if the texture is not valid or the scale mode is + * not supported. + * + * \note If the scale mode is not supported, the closest supported mode is + * chosen. + * + * \sa SDL_GetTextureScaleMode() + */ +extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_Texture * texture, + int scaleMode); + +/** + * \brief Get the scale mode used for texture copy operations. + * + * \param texture The texture to query. + * \param scaleMode A pointer filled in with the current scale mode. + * + * \return 0 on success, or -1 if the texture is not valid. + * + * \sa SDL_SetTextureScaleMode() + */ +extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_Texture * texture, + int *scaleMode); + +/** + * \brief Update the given texture rectangle with new pixel data. + * + * \param texture The texture to update + * \param rect A pointer to the rectangle of pixels to update, or NULL to + * update the entire texture. + * \param pixels The raw pixel data. + * \param pitch The number of bytes between rows of pixel data. + * + * \return 0 on success, or -1 if the texture is not valid. + * + * \note This is a fairly slow function. + */ +extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture, + const SDL_Rect * rect, + const void *pixels, int pitch); + +/** + * \brief Lock a portion of the texture for pixel access. + * + * \param texture The texture to lock for access, which was created with + * ::SDL_TEXTUREACCESS_STREAMING. + * \param rect A pointer to the rectangle to lock for access. If the rect + * is NULL, the entire texture will be locked. + * \param markDirty If this is nonzero, the locked area will be marked dirty + * when the texture is unlocked. + * \param pixels This is filled in with a pointer to the locked pixels, + * appropriately offset by the locked area. + * \param pitch This is filled in with the pitch of the locked pixels. + * + * \return 0 on success, or -1 if the texture is not valid or was created with + * ::SDL_TEXTUREACCESS_STATIC. + * + * \sa SDL_DirtyTexture() + * \sa SDL_UnlockTexture() + */ +extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture * texture, + const SDL_Rect * rect, + int markDirty, void **pixels, + int *pitch); + +/** + * \brief Unlock a texture, uploading the changes to video memory, if needed. + * + * \sa SDL_LockTexture() + * \sa SDL_DirtyTexture() + */ +extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture * texture); + +/** + * \brief Mark the specified rectangles of the texture as dirty. + * + * \param texture The texture to mark dirty, which was created with + * ::SDL_TEXTUREACCESS_STREAMING. + * \param numrects The number of rectangles pointed to by rects. + * \param rects The pointer to an array of dirty rectangles. + * + * \sa SDL_LockTexture() + * \sa SDL_UnlockTexture() + */ +extern DECLSPEC void SDLCALL SDL_DirtyTexture(SDL_Texture * texture, + int numrects, + const SDL_Rect * rects); + +/** + * \brief Set the color used for drawing operations (Fill and Line). + * + * \param r The red value used to draw on the rendering target. + * \param g The green value used to draw on the rendering target. + * \param b The blue value used to draw on the rendering target. + * \param a The alpha value used to draw on the rendering target, usually + * ::SDL_ALPHA_OPAQUE (255). + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDL_SetRenderDrawColor(Uint8 r, Uint8 g, Uint8 b, + Uint8 a); + +/** + * \brief Get the color used for drawing operations (Fill and Line). + * + * \param r A pointer to the red value used to draw on the rendering target. + * \param g A pointer to the green value used to draw on the rendering target. + * \param b A pointer to the blue value used to draw on the rendering target. + * \param a A pointer to the alpha value used to draw on the rendering target, + * usually ::SDL_ALPHA_OPAQUE (255). + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDL_GetRenderDrawColor(Uint8 * r, Uint8 * g, Uint8 * b, + Uint8 * a); + +/** + * \brief Set the blend mode used for drawing operations (Fill and Line). + * + * \param blendMode ::SDL_BlendMode to use for blending. + * + * \return 0 on success, or -1 if there is no rendering context current. + * + * \note If the blend mode is not supported, the closest supported mode is + * chosen. + * + * \sa SDL_GetRenderDrawBlendMode() + */ +extern DECLSPEC int SDLCALL SDL_SetRenderDrawBlendMode(int blendMode); + +/** + * \brief Get the blend mode used for drawing operations. + * + * \param blendMode A pointer filled in with the current blend mode. + * + * \return 0 on success, or -1 if there is no rendering context current. + * + * \sa SDL_SetRenderDrawBlendMode() + */ +extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(int *blendMode); + +/** + * \brief Clear the current rendering target with the drawing color + */ +extern DECLSPEC int SDLCALL SDL_RenderClear(void); + +/** + * \brief Draw a point on the current rendering target. + * + * \param x The x coordinate of the point. + * \param y The y coordinate of the point. + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderDrawPoint(int x, int y); + +/** + * \brief Draw some number of points on the current rendering target. + * + * \param points The points to draw + * \param count The number of points to draw + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderDrawPoints(const SDL_Point * points, + int count); + +/** + * \brief Draw a line on the current rendering target. + * + * \param x1 The x coordinate of the start point. + * \param y1 The y coordinate of the start point. + * \param x2 The x coordinate of the end point. + * \param y2 The y coordinate of the end point. + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderDrawLine(int x1, int y1, int x2, int y2); + +/** + * \brief Draw a series of connected lines on the current rendering target. + * + * \param points The points along the lines + * \param count The number of points, drawing count-1 lines + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderDrawLines(const SDL_Point * points, + int count); + +/** + * \brief Draw a rectangle on the current rendering target with the drawing color. + * + * \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target. + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderDrawRect(const SDL_Rect * rect); + +/** + * \brief Draw some number of rectangles in the current rendering target with the drawing color. + * + * \param rects A pointer to an array of destination rectangles. + * \param count The number of rectangles. + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderDrawRects(const SDL_Rect ** rect, int count); + +/** + * \brief Fill a rectangle on the current rendering target with the drawing color. + * + * \param rect A pointer to the destination rectangle, or NULL for the entire + * rendering target. + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderFillRect(const SDL_Rect * rect); + +/** + * \brief Fill some number of rectangles in the current rendering target with the drawing color. + * + * \param rects A pointer to an array of destination rectangles. + * \param count The number of rectangles. + * + * \return 0 on success, or -1 if there is no rendering context current. + */ +extern DECLSPEC int SDLCALL SDL_RenderFillRects(const SDL_Rect ** rect, int count); + +/** + * \brief Copy a portion of the texture to the current rendering target. + * + * \param texture The source texture. + * \param srcrect A pointer to the source rectangle, or NULL for the entire + * texture. + * \param dstrect A pointer to the destination rectangle, or NULL for the + * entire rendering target. + * + * \return 0 on success, or -1 if there is no rendering context current, or the + * driver doesn't support the requested operation. + */ +extern DECLSPEC int SDLCALL SDL_RenderCopy(SDL_Texture * texture, + const SDL_Rect * srcrect, + const SDL_Rect * dstrect); + +/** + * \brief Read pixels from the current rendering target. + * + * \param rect A pointer to the rectangle to read, or NULL for the entire + * render target. + * \param format The desired format of the pixel data, or 0 to use the format + * of the rendering target + * \param pixels A pointer to be filled in with the pixel data + * \param pitch The pitch of the pixels parameter. + * + * \return 0 on success, or -1 if pixel reading is not supported. + * + * \warning This is a very slow operation, and should not be used frequently. + */ +extern DECLSPEC int SDLCALL SDL_RenderReadPixels(const SDL_Rect * rect, + Uint32 format, + void *pixels, int pitch); + +/** + * \brief Write pixels to the current rendering target. + * + * \param rect A pointer to the rectangle to write, or NULL for the entire + * render target. + * \param format The format of the pixel data, or 0 to use the format + * of the rendering target + * \param pixels A pointer to the pixel data to write. + * \param pitch The pitch of the pixels parameter. + * + * \return 0 on success, or -1 if pixel writing is not supported. + * + * \warning This is a very slow operation, and should not be used frequently. + */ +extern DECLSPEC int SDLCALL SDL_RenderWritePixels(const SDL_Rect * rect, + Uint32 format, + const void *pixels, + int pitch); + +/** + * \brief Update the screen with rendering performed. + */ +extern DECLSPEC void SDLCALL SDL_RenderPresent(void); + +/** + * \brief Destroy the specified texture. + * + * \sa SDL_CreateTexture() + * \sa SDL_CreateTextureFromSurface() + */ +extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture); + +/** + * \brief Destroy the rendering context for a window and free associated + * textures. + * + * \sa SDL_CreateRenderer() + */ +extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Window * window); + +/** + * \brief Returns whether the screensaver is currently enabled (default off). + * + * \sa SDL_EnableScreenSaver() + * \sa SDL_DisableScreenSaver() + */ +extern DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void); + +/** + * \brief Allow the screen to be blanked by a screensaver + * + * \sa SDL_IsScreenSaverEnabled() + * \sa SDL_DisableScreenSaver() + */ +extern DECLSPEC void SDLCALL SDL_EnableScreenSaver(void); + +/** + * \brief Prevent the screen from being blanked by a screensaver + * + * \sa SDL_IsScreenSaverEnabled() + * \sa SDL_EnableScreenSaver() + */ +extern DECLSPEC void SDLCALL SDL_DisableScreenSaver(void); + + +/** + * \name OpenGL support functions + */ +/*@{*/ + +/** + * \brief Dynamically load an OpenGL library. + * + * \param path The platform dependent OpenGL library name, or NULL to open the + * default OpenGL library. + * + * \return 0 on success, or -1 if the library couldn't be loaded. + * + * This should be done after initializing the video driver, but before + * creating any OpenGL windows. If no OpenGL library is loaded, the default + * library will be loaded upon creation of the first OpenGL window. + * + * \note If you do this, you need to retrieve all of the GL functions used in + * your program from the dynamic library using SDL_GL_GetProcAddress(). + * + * \sa SDL_GL_GetProcAddress() + * \sa SDL_GL_UnloadLibrary() */ extern DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path); /** - * Get the address of a GL function + * \brief Get the address of an OpenGL function. */ -extern DECLSPEC void * SDLCALL SDL_GL_GetProcAddress(const char* proc); +extern DECLSPEC void *SDLCALL SDL_GL_GetProcAddress(const char *proc); /** - * Set an attribute of the OpenGL subsystem before intialization. + * \brief Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary(). + * + * \sa SDL_GL_LoadLibrary() + */ +extern DECLSPEC void SDLCALL SDL_GL_UnloadLibrary(void); + +/** + * \brief Return true if an OpenGL extension is supported for the current + * context. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char + *extension); + +/** + * \brief Set an OpenGL window attribute before window creation. */ extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value); /** - * Get an attribute of the OpenGL subsystem from the windowing - * interface, such as glX. This is of course different from getting - * the values from SDL's internal OpenGL subsystem, which only - * stores the values you request before initialization. - * - * Developers should track the values they pass into SDL_GL_SetAttribute - * themselves if they want to retrieve these values. + * \brief Get the actual value for an attribute from the current context. */ -extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int* value); +extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value); /** - * Swap the OpenGL buffers, if double-buffering is supported. + * \brief Create an OpenGL context for use with an OpenGL window, and make it + * current. + * + * \sa SDL_GL_DeleteContext() */ -extern DECLSPEC void SDLCALL SDL_GL_SwapBuffers(void); - -/** @name OpenGL Internal Functions - * Internal functions that should not be called unless you have read - * and understood the source code for these functions. - */ -/*@{*/ -extern DECLSPEC void SDLCALL SDL_GL_UpdateRects(int numrects, SDL_Rect* rects); -extern DECLSPEC void SDLCALL SDL_GL_Lock(void); -extern DECLSPEC void SDLCALL SDL_GL_Unlock(void); -/*@}*/ - -/*@}*/ - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/** @name Window Manager Functions */ -/** These functions allow interaction with the window manager, if any. */ /*@{*/ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +extern DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_Window * + window); /** - * Sets the title and icon text of the display window (UTF-8 encoded) + * \brief Set up an OpenGL context for rendering into an OpenGL window. + * + * \note The context must have been created with a compatible window. */ -extern DECLSPEC void SDLCALL SDL_WM_SetCaption(const char *title, const char *icon); -/** - * Gets the title and icon text of the display window (UTF-8 encoded) - */ -extern DECLSPEC void SDLCALL SDL_WM_GetCaption(char **title, char **icon); +extern DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_Window * window, + SDL_GLContext context); /** - * Sets the icon for the display window. - * This function must be called before the first call to SDL_SetVideoMode(). - * It takes an icon surface, and a mask in MSB format. - * If 'mask' is NULL, the entire icon surface will be used as the icon. + * \brief Set the swap interval for the current OpenGL context. + * + * \param interval 0 for immediate updates, 1 for updates synchronized with the + * vertical retrace. + * + * \return 0 on success, or -1 if setting the swap interval is not supported. + * + * \sa SDL_GL_GetSwapInterval() */ -extern DECLSPEC void SDLCALL SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask); +extern DECLSPEC int SDLCALL SDL_GL_SetSwapInterval(int interval); /** - * This function iconifies the window, and returns 1 if it succeeded. - * If the function succeeds, it generates an SDL_APPACTIVE loss event. - * This function is a noop and returns 0 in non-windowed environments. + * \brief Get the swap interval for the current OpenGL context. + * + * \return 0 if there is no vertical retrace synchronization, 1 if the buffer + * swap is synchronized with the vertical retrace, and -1 if getting + * the swap interval is not supported. + * + * \sa SDL_GL_SetSwapInterval() */ -extern DECLSPEC int SDLCALL SDL_WM_IconifyWindow(void); +extern DECLSPEC int SDLCALL SDL_GL_GetSwapInterval(void); /** - * Toggle fullscreen mode without changing the contents of the screen. - * If the display surface does not require locking before accessing - * the pixel information, then the memory pointers will not change. - * - * If this function was able to toggle fullscreen mode (change from - * running in a window to fullscreen, or vice-versa), it will return 1. - * If it is not implemented, or fails, it returns 0. - * - * The next call to SDL_SetVideoMode() will set the mode fullscreen - * attribute based on the flags parameter - if SDL_FULLSCREEN is not - * set, then the display will be windowed by default where supported. - * - * This is currently only implemented in the X11 video driver. + * \brief Swap the OpenGL buffers for the window, if double-buffering is + * supported. */ -extern DECLSPEC int SDLCALL SDL_WM_ToggleFullScreen(SDL_Surface *surface); +extern DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window * window); -typedef enum { - SDL_GRAB_QUERY = -1, - SDL_GRAB_OFF = 0, - SDL_GRAB_ON = 1, - SDL_GRAB_FULLSCREEN /**< Used internally */ -} SDL_GrabMode; /** - * This function allows you to set and query the input grab state of - * the application. It returns the new input grab state. - * - * Grabbing means that the mouse is confined to the application window, - * and nearly all keyboard input is passed directly to the application, - * and not interpreted by a window manager, if any. + * \brief Delete an OpenGL context. + * + * \sa SDL_GL_CreateContext() */ -extern DECLSPEC SDL_GrabMode SDLCALL SDL_WM_GrabInput(SDL_GrabMode mode); +extern DECLSPEC void SDLCALL SDL_GL_DeleteContext(SDL_GLContext context); + +/*@}*//*OpenGL support functions*/ -/*@}*/ -/** @internal Not in public API at the moment - do not use! */ -extern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface *src, SDL_Rect *srcrect, - SDL_Surface *dst, SDL_Rect *dstrect); - /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_video_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/alienblaster/project/jni/sdl/include/begin_code.h b/alienblaster/project/jni/sdl/include/begin_code.h index 22748090c..395dc7c6a 100644 --- a/alienblaster/project/jni/sdl/include/begin_code.h +++ b/alienblaster/project/jni/sdl/include/begin_code.h @@ -1,45 +1,40 @@ /* SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga + Copyright (C) 1997-2010 Sam Lantinga This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. + 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 - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 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 */ -/** - * @file begin_code.h +/** + * \file begin_code.h + * * This file sets things up for C dynamic library function definitions, * static inlined functions, and structures aligned at 4-byte alignment. * If you don't like ugly C preprocessor code, don't look at this file. :) */ -/** - * @file begin_code.h - * This shouldn't be nested -- included it around code only. - */ +/* This shouldn't be nested -- included it around code only. */ #ifdef _begin_code_h #error Nested inclusion of begin_code.h #endif #define _begin_code_h -/** - * @def DECLSPEC - * Some compilers use a special export keyword - */ +/* Some compilers use a special export keyword */ #ifndef DECLSPEC # if defined(__BEOS__) || defined(__HAIKU__) # if defined(__GNUC__) @@ -50,32 +45,13 @@ # elif defined(__WIN32__) # ifdef __BORLANDC__ # ifdef BUILD_SDL -# define DECLSPEC +# define DECLSPEC # else # define DECLSPEC __declspec(dllimport) # endif # else # define DECLSPEC __declspec(dllexport) # endif -# elif defined(__OS2__) -# ifdef __WATCOMC__ -# ifdef BUILD_SDL -# define DECLSPEC __declspec(dllexport) -# else -# define DECLSPEC -# endif -# elif defined (__GNUC__) && __GNUC__ < 4 -# /* Added support for GCC-EMX = 4 # define DECLSPEC __attribute__ ((visibility("default"))) @@ -85,45 +61,25 @@ # endif #endif -/** - * @def SDLCALL - * By default SDL uses the C calling convention - */ +/* By default SDL uses the C calling convention */ #ifndef SDLCALL -# if defined(__WIN32__) && !defined(__GNUC__) -# define SDLCALL __cdecl -# elif defined(__OS2__) -# if defined (__GNUC__) && __GNUC__ < 4 -# /* Added support for GCC-EMX