-
-
Notifications
You must be signed in to change notification settings - Fork 57
Idea and wish list of windowed and full screen modes
Important: This is still a WiP (Work in Progress)
Here comes a brain dump of windowed / full-screen modes for different use cases. I see two classes of programs. One where the aspect ratio is important like productivity applications (WYSIWYG) and others where it is less or not so important like demos, games, and video player.
# | Mode | Scaling | Aspect ratio | SDL* | X* | Targeted use case |
---|---|---|---|---|---|---|
1) | windowed | none | fixed | any | ||
2) | windowed | fixed | fixed | any | ||
3) | windowed | dynamic | fixed | yes | any | |
4) | windowed | dynamic | scaled up | yes | demos, games, video player | |
5) | full-screen | none | fixed | any | ||
6) | full-screen | full | fixed | any | ||
7) | full-screen | full | scaled up | yes | yes | demos, games, video player |
* The SDL / X column should reflect what is currently supported. An empty fields needs still to be verified.
-
The window is of fixed size and correct aspect ratio. Resizing of the window is disabled.
-
Same as 1), but with fixed up or down scale.
-
The window is resizeable, but the aspect ratio is always the same. A change of one axis must automatically change the other one. Maybe tricky to implement.
-
The size of the window can be changed freely.
-
The content is drawn 1:1 to the centre of the full-screen.
-
The content is scaled up or down to fit best of the full-screen while keeping the aspect ratio. If real and emulated resolutions are not the same, this would leave a black border.
-
Same as 6), but the aspect ratio can be changed to fill the whole full-screen space.
In the full-screen cases, there comes the question about multi head set-ups. It would be nice to be able which monitors are covered by the full-screen.