[SDL] Feature Query System (Was: Some multithreaded improvement to the event queue...)

Ryan C. Gordon icculus at clutteredmind.org
Tue Sep 27 22:18:56 PDT 2005


> Or maybe we wish to get the most out of the system without doing 
> platform specific or bootleg things which need not be so. It seems to me 
> that it is a "personal issue" to assume that everyone wishes to use a 
> given library the same way you do. Just because you have no use or see 
> the need does not mean others don't.

No, I recognize that there are uses of SDL beyond the ones that I have
immediate needs for, but I also have to exercise restraint on behalf of
the group: API architects, backend maintainers, end-user apps...and I
think that this specific API addition is not a good idea, after years of
working around unsupported GL extensions, and wondering what to do when
a given capability bit is missing in DirectX.

> Not everyone believes black box magic is the best solution. And not all
> of SDL is written that way.

SDL tries hard to hide all the nasty, and allows limited, specific
queries for the parts that tend to bite developers...In many ways, SDL
was sort of organically grown through what immediate needs Sam and Loki
had, and what they could cleanly codify into an API. This is a delicate
balancing act, and I recognize that not everyone is always happy with
the results all the time.

> Not having a way to query SDL_WM_ToggleFullScreen to see if
> it's supported... knowing it's not on all but a few platforms is laziness.

I agree with you here, for what it's worth, and as this is the example
that keeps coming up, perhaps we should focus on it?

How about a adding a read-only bit to SDL_Surface::flags...an
SDL_CANTOGGLEFULLSCREEN bit or something?

Generally, deprecating SDL_WM_ToggleFullScreen() might be a better idea,
since a responsible program should just call SDL_SetVideoMode() and
reset all the relevant state.

> I fail to see how making this personal and placing it in the realm of a 
> flame war is constructive.

It's not meant to be a flame, and I apologize if you took it as
one...Bob was much more eloquent than I was, but he's saying the same
thing: a capabilities system really doesn't gain you as much as you think.

--ryan.





More information about the SDL mailing list