SDL/test
Sam Lantinga 875c4f0a4c Support indexed surfaces without palettes (thanks @sulix!)
Currently, all SDL_Surfaces with an indexed pixel format have an
associated SDL_Palette. This palette either consists of entirely the
colour black, or -- in the special case of 1-bit surfaces, black and
white.

When an indexed surface is blitted to another indexed surface, a 'map'
is generated from the source surface's palette to the destination
surfaces palette, in order to preserve the look of the image if the
palettes differ.

However, in most cases, applications will want to blit the raw index
values, rather than translate to make the colours as similar as
possible. For instance, the destination surface's palette may have been
modified to fade the screen out.

This change allows an indexed surface to have no associated palette. If
either the source or destination surface of a blit do not have a
palette, then the raw indices are copied (assuming both have an indexed
format).

This mimics better what happens with most other APIs (such as
DirectDraw), where most users do not set a palette on any surface but
the screen, whose palette is implicitly used for the whole application.
2024-07-11 08:31:32 -07:00
..
android android+test: testcamera needs CAMERA permissions 2024-05-16 16:43:53 +02:00
emscripten Disable cache in python http server 2023-08-14 03:50:06 +02:00
n3ds N3DS port (squashed) 2022-10-10 08:50:59 -07:00
uwp cmake: build tests for UWP 2023-08-12 17:37:52 +02:00
win32 sdlprocdump: exceptions are not handled 2024-07-08 21:30:49 +02:00
audiofile.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
checkkeys.c SDL_SetTextInputRect() has been renamed to SDL_SetTextInputArea() 2024-06-28 17:09:22 -07:00
CMakeLists.txt test: Add testspritesurface 2024-07-11 08:11:29 -07:00
COPYING Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
gamepad_axis_arrow.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_axis_arrow.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_axis.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_axis.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_back.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_back.h Reduced the size of the gamepad front and back images 2023-07-11 10:20:08 -07:00
gamepad_battery_unknown.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery_unknown.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery_wired.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery_wired.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_battery.bmp Separate joystick power state into battery status and percentage 2024-04-01 13:59:00 -07:00
gamepad_battery.h Fixed crashes when a window has NULL driverdata 2024-04-15 10:15:10 -07:00
gamepad_button_background.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_button_background.h Added button background 2023-07-11 10:26:22 -07:00
gamepad_button_small.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_button_small.h Added joystick and gamepad element display in testgamepad 2023-07-10 17:06:42 -07:00
gamepad_button.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_button.h Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_face_abxy.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_abxy.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_bayx.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_bayx.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_sony.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_face_sony.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_front.bmp Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_front.h Use light text for button labels so they show up well over the activity highlight 2023-07-16 04:32:12 -07:00
gamepad_touchpad.bmp Added gamepad BMP files used as sources for the header files 2023-07-16 04:32:12 -07:00
gamepad_touchpad.h Added touchpad visualization for testgamepad 2023-07-10 11:36:32 -07:00
gamepadutils.c testcontroller: fixed showing analog axis values 2024-06-12 22:27:54 -07:00
gamepadutils.h Use floating point values for viewport, clip rectangle, and texture sizes 2024-06-12 10:18:39 -07:00
glass.bmp Re-added a simplified version of SDL_SetWindowShape() 2024-02-09 16:04:46 -08:00
glass.h Re-added a simplified version of SDL_SetWindowShape() 2024-02-09 16:04:46 -08:00
icon.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
icon.h testspriteminimal: make standalone by embedding icon.bmp 2023-09-19 17:58:25 +02:00
logaudiodev.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
loopwave.c audio: Separate channel maps out of SDL_AudioSpec. 2024-07-10 15:43:57 -04:00
main.cpp Make WinRT's SDL_main header-only 2022-12-15 08:01:01 -08:00
moose.dat Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
physaudiodev.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
picture.xbm Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
pretest.c Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README rwops: Changed filenames that reference "rwops" to "iostream". 2024-03-14 23:30:59 -04:00
relative_mode.markdown SDL_CreateWindow() has been simplified and no longer takes a window position. 2023-03-06 09:50:12 -08:00
sample.bmp Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
sample.wav Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
soundboard_levels.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
soundboard.bmp testaudio: Fixed soundboard icon, which had a colorkey issue. 2023-08-03 21:35:38 -04:00
speaker.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
template.test.in test/template.test.in: Pass SDL_NONINTERACTIVE_ARGUMENTS to installed-tests 2023-04-12 15:04:11 +00:00
testatomic.c testatomic: destroy threads + free all memory at quit to fix --trackmem 2024-05-17 14:39:29 +02:00
testaudio-art.txt test: Added testaudio 2023-08-02 15:02:32 -04:00
testaudio.c audio: Add gain support to audio streams and logical audio devices. 2024-07-03 16:05:55 -04:00
testaudiohotplug.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testaudioinfo.c audio: Refer to audio devices to "playback" and "recording". 2024-06-15 01:08:12 -04:00
testaudiorecording.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testaudiostreamdynamicresample.c audio: Add channel remapping to SDL_AudioSpec and SDL_AudioStream. 2024-07-03 14:38:33 -04:00
testautomation_audio.c audio: Add channel remapping to SDL_AudioSpec and SDL_AudioStream. 2024-07-03 14:38:33 -04:00
testautomation_blit.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testautomation_clipboard.c test: Free clipboard data after calling SDL_GetClipboardText() 2024-05-13 10:27:24 -04:00
testautomation_events.c docs: Remove Doxygen \brief tags. 2023-11-06 10:26:06 -05:00
testautomation_guid.c Fixed warning C4244: 'initializing': conversion from 'int' to 'const Uint8', possible loss of data 2024-02-03 11:49:15 -08:00
testautomation_hints.c Remove legacy SDL2 input grab API 2024-03-24 16:53:23 -07:00
testautomation_images.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testautomation_images.h Add testautomation suite for alpha blending 2024-07-08 10:53:46 -07:00
testautomation_intrinsics.c cmake: build tests against installed SDL prefix 2024-03-23 21:41:20 +01:00
testautomation_iostream.c Fixed build errors after SDL_IOWhence change 2024-06-09 11:52:04 -04:00
testautomation_joystick.c Renamed SDL_AttachVirtualJoystickEx() to SDL_AttachVirtualJoystick() 2024-05-09 14:05:58 -07:00
testautomation_keyboard.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testautomation_log.c Renamed SDL_LogGetOutputFunction() and SDL_LogSetOutputFunction() to match SDL 3.0 naming convention 2024-03-17 12:28:11 -07:00
testautomation_main.c docs: Remove Doxygen \brief tags. 2023-11-06 10:26:06 -05:00
testautomation_math.c Build with -Wfloat-conversion + fix all warnings 2024-06-03 21:33:29 +00:00
testautomation_mouse.c mouse: Move mouse button state from a Uint32 to a formal typedef. 2024-05-26 13:23:21 -04:00
testautomation_pen.c Removed all tabs in testautomation_pen.c 2024-03-24 05:05:30 -07:00
testautomation_pixels.c Remove references to SDL_CreatePixelFormat and SDL_DestroyPixelFormat 2024-07-11 08:12:42 -07:00
testautomation_platform.c Removed the SDL_Version structure, moved SDL version to SDL.h 2024-05-15 10:43:31 -07:00
testautomation_properties.c Fix property cleanup callback not being called on error (#9663) 2024-05-06 14:50:28 -07:00
testautomation_rect.c docs: Remove Doxygen \brief tags. 2023-11-06 10:26:06 -05:00
testautomation_render.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testautomation_sdltest.c docs: Remove Doxygen \brief tags. 2023-11-06 10:26:06 -05:00
testautomation_stdlib.c Use "%S" format specifier for wide-character strings 2024-06-06 10:59:15 -07:00
testautomation_subsystems.c tests: testcases accept a void pointer argument 2024-05-31 19:18:24 +02:00
testautomation_suites.h Add testautomation suite for alpha blending 2024-07-08 10:53:46 -07:00
testautomation_surface.c Support indexed surfaces without palettes (thanks @sulix!) 2024-07-11 08:31:32 -07:00
testautomation_time.c time: Use a function instead of properties to retrieve the system date and time locale info 2024-05-08 15:35:04 -04:00
testautomation_timer.c Added the timerID to the SDL timer callback 2024-05-27 07:57:33 -07:00
testautomation_video.c Clean up any renderer in SDL_DestroyWindowSurface() 2024-06-29 10:47:28 -07:00
testautomation.c Add the blit automation tests 2024-07-08 10:58:48 -07:00
testbounds.c Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testcamera.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testcolorspace.c Removed SDL_RenderGeometryRawFloat() 2024-06-29 00:10:08 -07:00
testcontroller.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testcustomcursor.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testdialog.c Dialog: Add filter number, remove NULL termination 2024-06-03 18:22:26 -07:00
testdisplayinfo.c video: Expose HDR metadata per-window 2024-06-20 15:55:07 -04:00
testdraw.c Simplified SDL random function names and added thread-safe versions 2024-06-24 11:49:15 -07:00
testdrawchessboard.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testdropfile.c main: Make the main callback return value symbols smaller (thanks, @Lzard!). 2024-05-27 16:03:45 -04:00
testerror.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testevdev.c testevdev: Associate HID reports for pedals with their other test data 2024-06-24 04:39:34 -07:00
testffmpeg_vulkan.c Fixed whitespace 2024-06-27 18:35:12 -07:00
testffmpeg_vulkan.h testffmpeg_vulkan: fix -Wincompatible-pointer-types warning 2024-03-22 11:05:13 -07:00
testffmpeg.c audio: Separate channel maps out of SDL_AudioSpec. 2024-07-10 15:43:57 -04:00
testfile.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testfilesystem.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testgeometry.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testgl.c video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext. 2024-07-10 15:54:08 -04:00
testgles2_sdf_img_normal.bmp Add basic testgles2_sdf program to demonstrate sign distance field with opengles2 2021-01-24 00:51:24 -05:00
testgles2_sdf_img_sdf.bmp Add basic testgles2_sdf program to demonstrate sign distance field with opengles2 2021-01-24 00:51:24 -05:00
testgles2_sdf.c video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext. 2024-07-10 15:54:08 -04:00
testgles2.c video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext. 2024-07-10 15:54:08 -04:00
testgles.c video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext. 2024-07-10 15:54:08 -04:00
testhaptic.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testhittesting.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testhotplug.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testiconv.c testiconv: Remove half-baked SDL_StepUTF8 testing code. 2024-06-27 17:36:09 -04:00
testime.c Renamed SDL_HINT_IME_NATIVE_UI to SDL_HINT_IME_IMPLEMENTED_UI 2024-06-28 19:41:37 -07:00
testintersections.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testkeys.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testloadso.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testlocale.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testlock.c Added the timerID to the SDL timer callback 2024-05-27 07:57:33 -07:00
testmanymouse.c testmanymouse: enable raw keyboard events on Windows 2024-06-22 11:35:00 -07:00
testmessage.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testmodal.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testmouse.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testmultiaudio.c audio: Refer to audio devices to "playback" and "recording". 2024-06-15 01:08:12 -04:00
testnative.c Simplified SDL random function names and added thread-safe versions 2024-06-24 11:49:15 -07:00
testnative.h testnative: include SDL_build_config.h instead of SDL_internal.h 2024-06-20 15:40:32 +02:00
testnativecocoa.m fixed typo in prev. patch. 2023-07-28 07:35:04 +03:00
testnativew32.c Make testnative (on win32) UNICODE compatible 2024-06-20 15:40:32 +02:00
testnativewayland.c Shortened SDL property names 2024-01-27 13:00:50 -08:00
testnativex11.c Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testoffscreen.c Added SDL_srand(), SDL_rand(), and SDL_rand_r() (thanks @JKaniarz!) 2024-06-16 07:41:00 -07:00
testoverlay.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testpen.c Fixed whitespace 2024-06-27 18:35:12 -07:00
testplatform.c testplatform: fix leak at exit time 2024-05-31 18:53:36 +02:00
testpopup.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testpower.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testqsort.c Updated based on feedback from @JKaniarz 2024-06-24 11:49:15 -07:00
testrelative.c Added SDL_srand(), SDL_rand(), and SDL_rand_r() (thanks @JKaniarz!) 2024-06-16 07:41:00 -07:00
testrendercopyex.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testrendertarget.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testresample.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testrumble.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testrwlock.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testscale.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testsem.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testsensor.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testshader.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testshape.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testsprite.c Replaced test framework random code with SDL random functions 2024-06-24 11:49:15 -07:00
testspriteminimal.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testspritesurface.c test: Add testspritesurface 2024-07-11 08:11:29 -07:00
teststreaming.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testsurround.c audio: Refer to audio devices to "playback" and "recording". 2024-06-15 01:08:12 -04:00
testthread.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testtime.c Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
testtimer.c Added SDL_AddTimerNS() 2024-05-27 07:57:33 -07:00
testurl.c Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testutils.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testutils.h Updated copyright for 2024 2024-01-01 13:15:26 -08:00
testver.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
testviewport.c Backed out the viewport and cliprect changes in 9fb5a9ccac 2024-06-12 19:25:15 -07:00
testvulkan.c vulkan: SDL_Vulkan_CreateSurface now returns the usual int (0=ok, -1=error). 2024-06-27 15:25:10 -04:00
testwaylandcustom.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
testwm.c Renamed SDLK_a-z to SDLK_A-Z 2024-07-01 13:56:49 -07:00
testyuv_cvt.c testyuv: added validation of P010 YUV format 2024-03-01 20:26:52 -08:00
testyuv_cvt.h testyuv: added validation of P010 YUV format 2024-03-01 20:26:52 -08:00
testyuv.bmp Updated SDL's YUV support, many thanks to Adrien Descamps 2017-11-12 22:51:12 -08:00
testyuv.c Simplified SDL_Surface 2024-07-10 00:48:18 -07:00
torturethread.c Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
trashcan.bmp test: Added testaudio 2023-08-02 15:02:32 -04:00
unifont-15.1.05-license.txt Updated unifont to version 15.1.05 2024-06-27 17:43:03 -07:00
unifont-15.1.05.hex Updated unifont to version 15.1.05 2024-06-27 17:43:03 -07:00
utf8.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00

These are test programs for the SDL library:

	checkkeys	Watch the key events to check the keyboard
	loopwave	Audio test -- loop playing a WAV file
	testsurround	Audio test -- play test tone on each audio channel
	testaudioinfo	Lists audio device capabilities
	testerror	Tests multi-threaded error handling
	testfile	Tests SDL_IOStream layer
	testgl		A very simple example of using OpenGL with SDL
	testiconv	Tests international string conversion
	testkeys	List the available keyboard keys
	testloadso	Tests the loadable library layer
	testlocale  Test Locale API
	testlock	Hacked up test of multi-threading and locking
	testmouse	Tests mouse coordinates
	testmultiaudio	Tests using several audio devices
	testoverlay	Tests the overlay flickering/scaling during playback.
	testplatform	Tests types, endianness and cpu capabilities
	testsem		Tests SDL's semaphore implementation
	testshape	Tests shaped windows
	testsprite	Example of fast sprite movement on the screen
	testthread	Hacked up test of multi-threading
	testtimer	Test the timer facilities
	testver		Check the version and dynamic loading and endianness
	testwm		Test window manager -- title, icon, events
	torturethread	Simple test for thread creation/destruction
	gamepadmap   Useful to generate Game Controller API compatible maps



This directory contains sample.wav, which is a sample from Will Provost's
song, The Living Proof:

     From the album The Living Proof
     Publisher: 5 Guys Named Will
     Copyright 1996 Will Provost

You can get a copy of the full song (and album!) from iTunes...

    https://itunes.apple.com/us/album/the-living-proof/id4153978

or Amazon...

    http://www.amazon.com/The-Living-Proof-Will-Provost/dp/B00004R8RH

Thanks to Will for permitting us to distribute this sample with SDL!