There is a concept called “Tuple of (valid display mode, display device)”.
SDL, as far as I can tell, does not have this; GGI does. GGI maps
display mode settings onto an already opened (and device-assigned)
display; SDL does a mode setting that creates a new surface.
This is one of the major limitations of SDL at this point.
There is no concept of multiple displays. Setting the video mode sets
the primary display video mode. Setting another video mode resets
the video mode on that display.
This is a byproduct of an API designed two years ago, and requires some
significant API change to correct, and therefore will probably be done
either right before, or right after SDL 1.0… probably right after.
In the meantime, this isn’t really a problem except on multi-head systems.
The real fix involves abstracting the video and event models and associating
them with multiple displays. Fortunately this is only necessary for apps
that require multiple display outputs and multiple input sources.
-Sam Lantinga (slouken at devolution.com)
Lead Programmer, Loki Entertainment Software–
“Any sufficiently advanced bug is indistinguishable from a feature”
– Rich Kulawiec