New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(Menu Widgets) Add scaling #10114
(Menu Widgets) Add scaling #10114
Conversation
menu/widgets/menu_widgets.c
Outdated
@@ -289,10 +289,16 @@ static unsigned libretro_message_width = 0; | |||
static char libretro_message[LIBRETRO_MESSAGE_SIZE] = {'\0'}; | |||
|
|||
/* Metrics */ | |||
#define BASE_FONT_SIZE 32.0f | |||
#define OZONE_SIDEBAR_WIDTH 408 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe don't duplicate this in both menu widgets and ozone?
… kept in sync between menu_widgets.c and ozone.h
After some testing, I think an override setting might be necessary. Here's how it could work - it would look like the 'Menu Scale Factor', except instead of showing '1.00x' by default it would show 'Off'. 'Off' would mean that it scales with the menu scale factor. The possible values other than 'Off' would be a a dropdown list that has the same possibilities as Menu Scale Factor. If set to any other value other than the default 'Off', it would apply this override for widgets. Of course, the value 'Off' is only for presentation - if you're going to implement this as a float value, you can come up with some other value, as long as the representation later on shows it as 'off' in the menu. You'd place this setting in Onscreen Display -> Onscreen Notifications |
Okay, just pushed a substantial update with many internal changes...
I had to change a lot of established code to make this work - testing would be appreciated... |
The new widgets are great, but I have a problem with scaling when using on my CRT screen via a RGB-pi. If there a possibility to please correct for this by adding a horizontal scaling factor? or another setting I should be looking at ? FYI - My menu initially also appeared squashed (though the game was fine) I was able to correct this within Settings -> User Interface -> Appearance - "Lock Aspect Ratio" to OFF |
I use 2560 super resolutions and of course the widgets/notifications appear even more compressed. |
No fix for this yet, can't seem to find a way to scale the notifications horizontally. CRTswitchres 2560 Super Res |
Any FIX for compressed notifications with superres¿?? |
wow, this was never fixed? I'm on Pi3 with VGA to YPBPR, super res 240p setup. The widgets look awful like above. |
Description
This PR adds automatic scaling of menu widgets
For XMB, the scaling is resolution based (since that's how XMB itself is scaled)
For all other menu drivers, the scaling is DPI based
Scaling is adjusted via the regular
Menu Scale Factor
setting underUser Interface > Appearance
(for RGUI, this setting is calledMenu Widget Scale Factor
, since RGUI does not scale as other drivers do!).NOTE: Dynamic scaling of queued message widgets doesn't really work, since this is hard and very annoying to deal with - and moreover, any existing queued messages generally disappear rapidly enough that small glitches are not an issue. Permanent notifiers do scale in real-time, though, and of course: any newly pushed messages will use the current scale factor.
Reviewers
@natinusala