diff options
| author | Karl Kurbjun <kkurbjun@gmail.com> | 2009-08-29 19:31:29 +0000 |
|---|---|---|
| committer | Karl Kurbjun <kkurbjun@gmail.com> | 2009-08-29 19:31:29 +0000 |
| commit | 7bb7c5f0cc7bf5b5172aeb4d75ef886b19755863 (patch) | |
| tree | 2ebcd796b8e4af00759bd87180b55542598a247b /apps/gui/icon.c | |
| parent | 47541e5f2f862a7a2dd314882dc9de068dc83102 (diff) | |
| download | rockbox-7bb7c5f0cc7bf5b5172aeb4d75ef886b19755863.zip rockbox-7bb7c5f0cc7bf5b5172aeb4d75ef886b19755863.tar.gz rockbox-7bb7c5f0cc7bf5b5172aeb4d75ef886b19755863.tar.bz2 rockbox-7bb7c5f0cc7bf5b5172aeb4d75ef886b19755863.tar.xz | |
Add stride defines to support vertical strides
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22546 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/icon.c')
| -rw-r--r-- | apps/gui/icon.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/apps/gui/icon.c b/apps/gui/icon.c index 6a5ff70..74af4a0 100644 --- a/apps/gui/icon.c +++ b/apps/gui/icon.c @@ -124,6 +124,7 @@ void screen_put_iconxy(struct screen * display, int screen = display->screen_type; int width = ICON_WIDTH(screen); int height = ICON_HEIGHT(screen); + int stride; screen_bitmap_part_func *draw_func = NULL; if (icon == Icon_NOICON) @@ -142,15 +143,20 @@ void screen_put_iconxy(struct screen * display, screen_put_iconxy(display, xpos, ypos, Icon_Questionmark); return; } - data = viewer_iconset[screen].data; + data = viewer_iconset[screen].data; + stride = STRIDE( viewer_iconset[screen].width, + viewer_iconset[screen].height); } else if (custom_icons_loaded[screen]) { - data = user_iconset[screen].data; + data = user_iconset[screen].data; + stride = STRIDE( user_iconset[screen].width, + user_iconset[screen].height); } else { - data = inbuilt_icons[screen]; + data = inbuilt_icons[screen]; + stride = STRIDE(BMPWIDTH_default_icons, BMPHEIGHT_default_icons); } /* add some left padding to the icons if they are on the edge */ if (xpos == 0) @@ -158,12 +164,12 @@ void screen_put_iconxy(struct screen * display, #if (LCD_DEPTH == 16) || defined(LCD_REMOTE_DEPTH) && (LCD_REMOTE_DEPTH == 16) if (display->depth == 16) - draw_func = display->transparent_bitmap_part; + draw_func = display->transparent_bitmap_part; else #endif - draw_func = display->bitmap_part; + draw_func = display->bitmap_part; - draw_func(data, 0, height * icon, width, xpos, ypos, width, height); + draw_func(data, 0, height * icon, stride, xpos, ypos, width, height); } void screen_put_cursorxy(struct screen * display, int x, int y, bool on) |