summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2014-01-16 00:28:18 +0100
committerThomas Martitz <kugel@rockbox.org>2014-01-16 00:28:18 +0100
commitaa4c2a53f35c6bdca7e64ddc1539d2c00f6f4a18 (patch)
tree39156aa3316bea96fc760960956f9c43b24a3a57
parenta6483344f6936f9f4daf657410f2873bf0247be5 (diff)
downloadrockbox-aa4c2a53f35c6bdca7e64ddc1539d2c00f6f4a18.zip
rockbox-aa4c2a53f35c6bdca7e64ddc1539d2c00f6f4a18.tar.gz
rockbox-aa4c2a53f35c6bdca7e64ddc1539d2c00f6f4a18.tar.bz2
rockbox-aa4c2a53f35c6bdca7e64ddc1539d2c00f6f4a18.tar.xz
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
-rw-r--r--apps/gui/usb_screen.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c
index dc75f81..9915e27 100644
--- a/apps/gui/usb_screen.c
+++ b/apps/gui/usb_screen.c
@@ -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;