/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2002 Robert E. Hak * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/ #ifndef __MENU_H__ #define __MENU_H__ #include struct menu_item { unsigned char *desc; /* string */ int voice_id; /* the associated voice clip, -1 if none */ bool (*function) (void); /* return true if USB was connected */ }; int menu_init(struct menu_item* mitems, int count, int (*callback)(int, int), char *button1, char *button2, char *button3); void menu_exit(int menu); void put_cursorxy(int x, int y, bool on); /* Returns below define, or number of selected menu item*/ int menu_show(int m); #define MENU_ATTACHED_USB -1 #define MENU_SELECTED_EXIT -2 bool menu_run(int menu); int menu_cursor(int menu); char* menu_description(int menu, int position); void menu_delete(int menu, int position); int menu_count(int menu); bool menu_moveup(int menu); bool menu_movedown(int menu); void menu_draw(int menu); void menu_insert(int menu, int position, char *desc, int voice_id, bool (*function) (void)); #endif /* End __MENU_H__ */