The latest SDL CVS update has a huge patch to remove color cursors, fix b/w
cursors, and remove thread-safe surfaces. This has only been tested on
Linux, but should work as-is on BeOS, and should need only minor tweaking
on Win32.
The Win32 code needs to create a hardware surface whenever possible for
this to work. This might involve modifying the surface creation routines
to support DirectX HEL blitting on software surfaces.
Here’s the entry from WhatsNew:
0.9.15:
SDL_CreateColorCursor() has been removed. Color cursors should
be implemented as sprites, blitted by the application when the
cursor moves. To get smooth color cursor updates when the app
is busy, pass the SDL_INIT_EVENTTHREAD flag to SDL_Init(). This
allows you to handle the mouse motion in another thread from an
event filter function, but is currently only supported by Linux
and BeOS. Note that you’ll have to protect the display surface
from multi-threaded access by using mutexes if you do this.
Thread-safe surface support has been removed from SDL.
This makes blitting somewhat faster, by removing SDL_MiddleBlit().
Code that used SDL_MiddleBlit() should use SDL_LowerBlit() instead.
You can make your surfaces thread-safe by allocating your own
mutex and making lock/unlock calls around accesses to your surface.
Also in the news, the SMPEG library now supports 32 bpp displays, and
Kent Mein has contributed a test program which uses Tcl/Tk and SDL at
the same time.
-Sam Lantinga (slouken at devolution.com)
Lead Programmer, Loki Entertainment Software–
“Any sufficiently advanced bug is indistinguishable from a feature”
– Rich Kulawiec