mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-10-26 13:57:47 +00:00
When possible use native os functions to make a blocking call waiting for an incoming event. Previous behavior was to continuously poll the event queue with a small delay between each poll. The blocking call uses a new optional video driver event, WaitEventTimeout, if available. It is called only if an window already shown is available. If present the window is designated using the variable wakeup_window to receive a wakeup event if needed. The WaitEventTimeout function accept a timeout parameter. If positive the call will wait for an event or return if the timeout expired without any event. If the timeout is zero it will implement a polling behavior. If the timeout is negative the function will block indefinetely waiting for an event. To let the main thread sees events sent form a different thread a "wake-up" signal is sent to the main thread if the main thread is in a blocking state. The wake-up event is sent to the designated wakeup_window if present. The wake-up event is sent only if the PushEvent call is coming from a different thread. Before sending the wake-up event the ID of the thread making the blocking call is saved using the variable blocking_thread_id and it is compared to the current thread's id to decide if the wake-up event should be sent. Two new optional video device methods are introduced: WaitEventTimeout SendWakeupEvent in addition the mutex wakeup_lock which is defined and initialized but only for the drivers supporting the methods above. If the methods are not present the system behaves as previously performing a periodic polling of the events queue. The blocking call is disabled if a joystick or sensor is detected and falls back to previous behavior. |
||
|---|---|---|
| .. | ||
| emscripten | ||
| nacl | ||
| shapes | ||
| acinclude.m4 | ||
| autogen.sh | ||
| axis.bmp | ||
| button.bmp | ||
| checkkeys.c | ||
| checkkeysthreads.c | ||
| CMakeLists.txt | ||
| configure | ||
| configure.ac | ||
| controllermap.bmp | ||
| controllermap.c | ||
| controllermap_back.bmp | ||
| COPYING | ||
| gcc-fat.sh | ||
| icon.bmp | ||
| loopwave.c | ||
| loopwavequeue.c | ||
| Makefile.in | ||
| Makefile.os2 | ||
| moose.dat | ||
| picture.xbm | ||
| README | ||
| relative_mode.markdown | ||
| sample.bmp | ||
| sample.wav | ||
| testatomic.c | ||
| testaudiocapture.c | ||
| testaudiohotplug.c | ||
| testaudioinfo.c | ||
| testautomation.c | ||
| testautomation_audio.c | ||
| testautomation_clipboard.c | ||
| testautomation_events.c | ||
| testautomation_hints.c | ||
| testautomation_keyboard.c | ||
| testautomation_main.c | ||
| testautomation_mouse.c | ||
| testautomation_pixels.c | ||
| testautomation_platform.c | ||
| testautomation_rect.c | ||
| testautomation_render.c | ||
| testautomation_rwops.c | ||
| testautomation_sdltest.c | ||
| testautomation_stdlib.c | ||
| testautomation_suites.h | ||
| testautomation_surface.c | ||
| testautomation_syswm.c | ||
| testautomation_timer.c | ||
| testautomation_video.c | ||
| testbounds.c | ||
| testcustomcursor.c | ||
| testdisplayinfo.c | ||
| testdraw2.c | ||
| testdrawchessboard.c | ||
| testdropfile.c | ||
| testerror.c | ||
| testevdev.c | ||
| testfile.c | ||
| testfilesystem.c | ||
| testgamecontroller.c | ||
| testgesture.c | ||
| testgl2.c | ||
| testgles.c | ||
| testgles2.c | ||
| testgles2_sdf.c | ||
| testgles2_sdf_img_normal.bmp | ||
| testgles2_sdf_img_sdf.bmp | ||
| testhaptic.c | ||
| testhittesting.c | ||
| testhotplug.c | ||
| testiconv.c | ||
| testime.c | ||
| testintersections.c | ||
| testjoystick.c | ||
| testkeys.c | ||
| testloadso.c | ||
| testlocale.c | ||
| testlock.c | ||
| testmessage.c | ||
| testmultiaudio.c | ||
| testnative.c | ||
| testnative.h | ||
| testnativecocoa.m | ||
| testnativeos2.c | ||
| testnativew32.c | ||
| testnativex11.c | ||
| testoffscreen.c | ||
| testoverlay2.c | ||
| testplatform.c | ||
| testpower.c | ||
| testqsort.c | ||
| testrelative.c | ||
| testrendercopyex.c | ||
| testrendertarget.c | ||
| testresample.c | ||
| testrumble.c | ||
| testscale.c | ||
| testsem.c | ||
| testsensor.c | ||
| testshader.c | ||
| testshape.c | ||
| testsprite2.c | ||
| testspriteminimal.c | ||
| teststreaming.c | ||
| testthread.c | ||
| testtimer.c | ||
| testurl.c | ||
| testver.c | ||
| testviewport.c | ||
| testvulkan.c | ||
| testwm2.c | ||
| testyuv.bmp | ||
| testyuv.c | ||
| testyuv_cvt.c | ||
| testyuv_cvt.h | ||
| torturethread.c | ||
| utf8.txt | ||
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
loopwavequeue Audio test -- loop playing a WAV file with SDL_QueueAudio
testaudioinfo Lists audio device capabilities
testerror Tests multi-threaded error handling
testfile Tests RWops layer
testgl2 A very simple example of using OpenGL with SDL
testiconv Tests international string conversion
testjoystick List joysticks and watch joystick events
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
testmultiaudio Tests using several audio devices
testoverlay2 Tests the overlay flickering/scaling during playback.
testplatform Tests types, endianness and cpu capabilities
testsem Tests SDL's semaphore implementation
testshape Tests shaped windows
testsprite2 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
testwm2 Test window manager -- title, icon, events
torturethread Simple test for thread creation/destruction
controllermap 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!