diff options
Diffstat (limited to 'apps/plugins/star.c')
-rw-r--r-- | apps/plugins/star.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/apps/plugins/star.c b/apps/plugins/star.c index efa8d4e6af..c2546d2385 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c | |||
@@ -951,16 +951,28 @@ static int star_menu(void) | |||
951 | { | 951 | { |
952 | int selection, level=1; | 952 | int selection, level=1; |
953 | bool menu_quit = false; | 953 | bool menu_quit = false; |
954 | 954 | struct viewport vp[NB_SCREENS]; | |
955 | /* get the size of char */ | 955 | /* get the size of char */ |
956 | rb->lcd_getstringsize("a", &char_width, &char_height); | 956 | rb->lcd_getstringsize("a", &char_width, &char_height); |
957 | 957 | ||
958 | MENUITEM_STRINGLIST(menu,"Star Menu",NULL,"Play","Choose Level", | 958 | MENUITEM_STRINGLIST(menu,"Star Menu",NULL,"Play","Choose Level", |
959 | "Information","Keys","Quit"); | 959 | "Information","Keys","Quit"); |
960 | 960 | FOR_NB_SCREENS(selection) | |
961 | { | ||
962 | rb->viewport_set_defaults(&vp[selection], selection); | ||
963 | /* we are hiding the statusbar so fix the height also */ | ||
964 | vp->y = 0; vp->height = rb->screens[selection]->height; | ||
965 | #if LCD_DEPTH > 1 | ||
966 | if (rb->screens[selection]->depth > 1) | ||
967 | { | ||
968 | vp->bg_pattern = LCD_BLACK; | ||
969 | vp->fg_pattern = LCD_WHITE; | ||
970 | } | ||
971 | #endif | ||
972 | } | ||
961 | while(!menu_quit) | 973 | while(!menu_quit) |
962 | { | 974 | { |
963 | switch(rb->do_menu(&menu, &selection)) | 975 | switch(rb->do_menu(&menu, &selection, vp, true)) |
964 | { | 976 | { |
965 | case 0: | 977 | case 0: |
966 | menu_quit = true; | 978 | menu_quit = true; |