forked from len0rd/rockbox
Removed #defines
Added structs, function pointers and enum of menu items. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@416 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
523f228bbe
commit
225f620ac9
1 changed files with 27 additions and 15 deletions
|
@ -22,7 +22,9 @@
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
#include "kernel.h"
|
#include "kernel.h"
|
||||||
|
|
||||||
|
/* Apps to include */
|
||||||
#include "tree.h"
|
#include "tree.h"
|
||||||
|
#include "screensaver.h"
|
||||||
|
|
||||||
extern void tetris(void);
|
extern void tetris(void);
|
||||||
|
|
||||||
|
@ -30,16 +32,25 @@ extern void tetris(void);
|
||||||
#define MENU_ITEM_Y_LOC 6
|
#define MENU_ITEM_Y_LOC 6
|
||||||
#define MENU_LINE_HEIGHT 8
|
#define MENU_LINE_HEIGHT 8
|
||||||
|
|
||||||
/* menu ids */
|
enum Menu_Ids {
|
||||||
#define ITEM_TETRIS 0
|
Tetris, Screen_Saver, Browse, Last_Id
|
||||||
#define ITEM_SCREENSAVER 1
|
};
|
||||||
#define ITEM_BROWSE 2
|
|
||||||
|
|
||||||
/* the last index with info, starting on 0 */
|
struct Menu_Items {
|
||||||
#define MAX_LINE ITEM_BROWSE
|
int menu_id;
|
||||||
|
const char *menu_desc;
|
||||||
|
void (*function) (void);
|
||||||
|
};
|
||||||
|
|
||||||
int menu_top = 0;
|
struct Menu_Items items[] = {
|
||||||
int menu_bottom = MAX_LINE;
|
{ Tetris, "Tetris", tetris },
|
||||||
|
{ Screen_Saver, "Screen Saver", screensaver },
|
||||||
|
{ Browse, "Browse", dirbrowse },
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
int menu_top = Tetris;
|
||||||
|
int menu_bottom = Last_Id-1;
|
||||||
|
|
||||||
void add_menu_item(int location, char *string)
|
void add_menu_item(int location, char *string)
|
||||||
{
|
{
|
||||||
|
@ -53,9 +64,9 @@ void add_menu_item(int location, char *string)
|
||||||
|
|
||||||
void menu_init(void)
|
void menu_init(void)
|
||||||
{
|
{
|
||||||
add_menu_item(ITEM_SCREENSAVER, "Screen Saver");
|
int i = 0;
|
||||||
add_menu_item(ITEM_BROWSE, "Browse");
|
for (i = i; i < Last_Id; i++)
|
||||||
add_menu_item(ITEM_TETRIS, "Tetris");
|
add_menu_item(items[i].menu_id, (char *) items[i].menu_desc);
|
||||||
|
|
||||||
lcd_puts(8, 38, "Rockbox!", 2);
|
lcd_puts(8, 38, "Rockbox!", 2);
|
||||||
}
|
}
|
||||||
|
@ -114,13 +125,14 @@ void app_main(void)
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
|
|
||||||
switch(cursor) {
|
switch(cursor) {
|
||||||
case ITEM_TETRIS:
|
case Tetris:
|
||||||
tetris();
|
tetris();
|
||||||
break;
|
break;
|
||||||
case ITEM_BROWSE:
|
case Browse:
|
||||||
dirbrowse("/");
|
printf("at browse\n");
|
||||||
|
browse_root();
|
||||||
break;
|
break;
|
||||||
case ITEM_SCREENSAVER:
|
case Screen_Saver:
|
||||||
screensaver();
|
screensaver();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue