forked from len0rd/rockbox
usb screen: Crop logo to the UI viewport dimensions.
If the UI viewport is too small only the most top/left parts of the logo will
be displayed. This goes one step further than bac85f2
.
Change-Id: I832b0e787e57e3b102a9c097cf1cccd7d4ad92d9
This commit is contained in:
parent
a6483344f6
commit
aa4c2a53f3
1 changed files with 7 additions and 4 deletions
|
@ -142,10 +142,8 @@ static void usb_screen_fix_viewports(struct screen *screen,
|
|||
#ifdef HAVE_REMOTE_LCD
|
||||
if (screen->screen_type == SCREEN_REMOTE)
|
||||
{
|
||||
logo_width = (BMPWIDTH_remote_usblogo > LCD_REMOTE_WIDTH) ?
|
||||
LCD_REMOTE_WIDTH : BMPWIDTH_remote_usblogo;
|
||||
logo_height = (BMPHEIGHT_remote_usblogo > LCD_REMOTE_HEIGHT) ?
|
||||
LCD_REMOTE_HEIGHT : BMPHEIGHT_remote_usblogo;
|
||||
logo_width = BMPWIDTH_remote_usblogo;
|
||||
logo_height = BMPHEIGHT_remote_usblogo;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
@ -156,6 +154,11 @@ static void usb_screen_fix_viewports(struct screen *screen,
|
|||
|
||||
viewportmanager_theme_enable(screen->screen_type, true, parent);
|
||||
|
||||
if (logo_width > parent->width)
|
||||
logo_width = parent->width;
|
||||
if (logo_height > parent->height)
|
||||
logo_height = parent->height;
|
||||
|
||||
*logo = *parent;
|
||||
logo->x = parent->x + parent->width - logo_width;
|
||||
logo->y = parent->y + (parent->height - logo_height) / 2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue