diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2003-11-20 01:51:15 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2003-11-20 01:51:15 +0000 |
commit | f1659a3957c184f2456eea0fb22ce8dc74d078fd (patch) | |
tree | d863380467a940d7c053524dbd18f5e6264241a0 /apps | |
parent | ba2c197f2fb419d25f972538b075ee02a4feea1b (diff) | |
download | rockbox-f1659a3957c184f2456eea0fb22ce8dc74d078fd.tar.gz rockbox-f1659a3957c184f2456eea0fb22ce8dc74d078fd.zip |
Wrapping backwards in menus didn't work well when using a large font
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4055 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menu.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/apps/menu.c b/apps/menu.c index b7bc542bb0..c7e3381985 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -184,6 +184,7 @@ static void put_cursor(int m, int target) | |||
184 | #ifdef HAVE_LCD_BITMAP | 184 | #ifdef HAVE_LCD_BITMAP |
185 | int fw, fh; | 185 | int fw, fh; |
186 | int menu_lines; | 186 | int menu_lines; |
187 | lcd_setfont(FONT_UI); | ||
187 | lcd_getstringsize("A", &fw, &fh); | 188 | lcd_getstringsize("A", &fw, &fh); |
188 | if (global_settings.statusbar) | 189 | if (global_settings.statusbar) |
189 | menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh; | 190 | menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh; |
@@ -245,6 +246,18 @@ void menu_exit(int m) | |||
245 | int menu_show(int m) | 246 | int menu_show(int m) |
246 | { | 247 | { |
247 | bool exit = false; | 248 | bool exit = false; |
249 | #ifdef HAVE_LCD_BITMAP | ||
250 | int fw, fh; | ||
251 | int menu_lines; | ||
252 | lcd_setfont(FONT_UI); | ||
253 | lcd_getstringsize("A", &fw, &fh); | ||
254 | if (global_settings.statusbar) | ||
255 | menu_lines = (LCD_HEIGHT - STATUSBAR_HEIGHT) / fh; | ||
256 | else | ||
257 | menu_lines = LCD_HEIGHT/fh; | ||
258 | #else | ||
259 | int menu_lines = MENU_LINES; | ||
260 | #endif | ||
248 | 261 | ||
249 | menu_draw(m); | 262 | menu_draw(m); |
250 | 263 | ||
@@ -264,7 +277,7 @@ int menu_show(int m) | |||
264 | else { | 277 | else { |
265 | /* move to bottom */ | 278 | /* move to bottom */ |
266 | #ifdef HAVE_RECORDER_KEYPAD | 279 | #ifdef HAVE_RECORDER_KEYPAD |
267 | menus[m].top = menus[m].itemcount-9; | 280 | menus[m].top = menus[m].itemcount-(menu_lines+1); |
268 | #else | 281 | #else |
269 | menus[m].top = menus[m].itemcount-3; | 282 | menus[m].top = menus[m].itemcount-3; |
270 | #endif | 283 | #endif |