While I agree that these are uncommon uses on the whole, they are extremely useful for some people, and SDL is not aimed at only the majority of users, even if there are only one or two people who
need a feature, it may be essential to them, and SDL could be unusable for them without it.
Furthermore there is no association between these special features so shoveling them into one pile of uncommon features in an external library would be like putting a dozen random things in a pile,
they have no relation, yet each has a use to someone.
One could consider conditional compilation and inherently incompatible APIs across platforms for these uncommon features - for example, anything iPhone specific would not even be present in headers
when compiling SDL on another platform - there is no reason for them to even have a proper “standardized” ABI across platforms when they are platform-specific by nature, stubbing them out on all other
platforms would be a waste of time and not yield a correct behavior anyway.
To assist in use of such features, it would be worthwhile to add some #define’s that occur on these platforms which the application can check for availability of features (much like OpenGL extensions
available in the headers can be detected by #ifdef in the application), this would allow these features to be available on multiple platforms when possible, without the application having to check
which platform it is on in most cases.
For example touch screen features are useful on several platforms, but if the application checks whether touch screen features are appropriate on this platform (via #ifdef) it can redesign its UI
accordingly by platform without being especially aware of which platform it is on.On 04/21/2010 05:55 PM, Nathaniel J Fries wrote:
I guess I did misunderstand. I saw “QT” in the example and then
afterwords you mentioned integration into the iphone uikit. I thought
you were just throwing that example in your post to show what could be
part of the full blown “SDL-uncommon” library. I had no idea you only
wanted one function.
No, the idea is not for just one function.
It’s for anything useful to some SDL apps that is not available without
having to touch SDL’s internal structures and minimal use of system
specific code, but that is not available on all major platforms. Such as
an application that doesn’t use SDL for cross-platform development, but
rather for simpler development on a single platform.
michelleC’s iPhone issues and the proposed desktop window attribute were
just two examples that came to mind. The ability to render to the edges
of windows on the Windows system was also another thing that came to mind.
EM3 Nathaniel Fries, U.S. Navy
SDL mailing list
SDL at lists.libsdl.org
Author of DarkPlaces Quake1 engine - http://icculus.org/twilight/darkplaces
Co-designer of Nexuiz - http://alientrap.org/nexuiz
"War does not prove who is right, it proves who is left." - Unknown
"Any sufficiently advanced technology is indistinguishable from a rigged demo." - James Klass
"A game is a series of interesting choices." - Sid Meier