by GFD » Sun Jul 22, 2018 9:50 am
I had
some thoughts on UI for this when thinking of a menu redesign, but it seems like a good idea to revisit those thoughts here for the current menu layout in light of this change having been implemented recently.
The current system is pretty awkward, with scaling methods and specific resolution options being stuck in the same option, and not enough options in general. Here are my thoughts on how this menu should be laid out:
- "Render mode" as it is.
- "Fullscreen" as it is.
- "Monitor selection", with settings in the format "n [WidthxHeight] (Primary)", listed from left to right (and top to bottom, if multiple monitors have the same X coordinate).
- "Force aspect ratio" as it is.
- "Forced ratio style" as it is.
- Blank line for separation.
- "Resolution scaling", with settings of "None", "Factor", and "Custom size".
- "Upscaling type", with settings of "Nearest" and "Linear".
- "Scale factor" slider, which could be greyed out when "Resolution scaling" isn't "Factor".
- NumberField options for "Render width" and "Render height", which could be greyed out when "Resolution scaling" isn't "Custom size".
- Blank line for separation.
- Another two NumberField options for "Window width" and "Window height".
The "Monitor selection" option isn't as crucial if GZDoom's behaviour can be changed to fullscreen on whatever monitor the window is currently on, but as it is it's very cumbersome to still have to use console commands for this.
Any sort of pre-populated list for width/height settings seems pointless when there are no longer limitations on what can be used here.
Window dimensions should be exposed because some users will always want this, even if just to satisfy their OCD (this includes me).
Edit: for more convenience features and options, you could add a "Lock to aspect ratio" option to the ratio options. This would restrict window resizing to only resize to the forced aspect ratio, and automatically adjust the render/window width or height when the user edits the other option, again to maintain the forced aspect ratio.
I had [url=https://forum.zdoom.org/viewtopic.php?p=1050349#p1050349]some thoughts on UI for this[/url] when thinking of a menu redesign, but it seems like a good idea to revisit those thoughts here for the current menu layout in light of this change having been implemented recently.
The current system is pretty awkward, with scaling methods and specific resolution options being stuck in the same option, and not enough options in general. Here are my thoughts on how this menu should be laid out:
[list][*]"Render mode" as it is.
[*]"Fullscreen" as it is.
[*]"Monitor selection", with settings in the format "n [WidthxHeight] (Primary)", listed from left to right (and top to bottom, if multiple monitors have the same X coordinate).
[*]"Force aspect ratio" as it is.
[*]"Forced ratio style" as it is.
[*]Blank line for separation.
[*]"Resolution scaling", with settings of "None", "Factor", and "Custom size".
[*]"Upscaling type", with settings of "Nearest" and "Linear".
[*]"Scale factor" slider, which could be greyed out when "Resolution scaling" isn't "Factor".
[*]NumberField options for "Render width" and "Render height", which could be greyed out when "Resolution scaling" isn't "Custom size".
[*]Blank line for separation.
[*]Another two NumberField options for "Window width" and "Window height".[/list]The "Monitor selection" option isn't as crucial if GZDoom's behaviour can be changed to fullscreen on whatever monitor the window is currently on, but as it is it's very cumbersome to still have to use console commands for this.
Any sort of pre-populated list for width/height settings seems pointless when there are no longer limitations on what can be used here.
Window dimensions should be exposed because some users will always want this, even if just to satisfy their OCD (this includes me).
Edit: for more convenience features and options, you could add a "Lock to aspect ratio" option to the ratio options. This would restrict window resizing to only resize to the forced aspect ratio, and automatically adjust the render/window width or height when the user edits the other option, again to maintain the forced aspect ratio.