[SDL] Idea: SDL_uncommon

Nathaniel J Fries nfries88 at yahoo.com
Mon Apr 19 16:20:42 PDT 2010


The idea of this library is to implement features not available on every platform as an SDL extension, purely made for assisting SDL on those particular systems to do some neat stuff (while maintaining the actual SDL API cross-platform).

Such an example would be one on the wishlist:

> Support desktop windows
> 
>               setAttribute(Qt::WA_X11NetWmWindowTypeDesktop);
>               setWindowFlags(Qt::SplashScreen);
> 
>               Qt::WindowFlags flags = 0;
>                   flags |= Qt::FramelessWindowHint;
>                   flags |= Qt::Tool;
>                   flags |= Qt::WindowStaysOnBottomHint;
> 

I don't think there's a way to implement this similarly between Windows, OS X, and Linux/X11; which I believe we can agree is the main focus of compatibility for SDL.

However, we can easily make a non-standard function to create a desktop window:
SDL_Window* SDL_uncommon_CreateX11Desktop(Uint32 flags);
or better, simply define a new flag for it:
#define SDL_WINDOW_X11DESKTOP  0x00001000

Other examples might include improved integration with iPhone's UIKit, rendering to the borders of the windows on Windows (and other systems supporting it), custom window button icons on Windows (and again, other systems supporting it), Windows shell integration; stuff like that.

Of course, one might ask why we wouldn't simply use the system APIs? Well, this takes the need of converting from SDL's structures to the system's structures, searching through complicated low-level routine documentations and provides simpler functions providing the same functionality.

------------------------
EM3 Nathaniel Fries, U.S. Navy

http://natefries.net/




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20100419/e53d8cd3/attachment.htm>


More information about the SDL mailing list