Mercurial > MadButterfly
diff include/animated_menu.h @ 368:080aca2b7c47
Move the animated menu to the MBAF layer
author | wycc |
---|---|
date | Mon, 16 Mar 2009 08:45:54 +0800 |
parents | examples/menu/animated_menu.h@ab7f3c00fd05 |
children | 9b8dda201ccb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/animated_menu.h Mon Mar 16 08:45:54 2009 +0800 @@ -0,0 +1,32 @@ +#ifndef __ANIMATED_MENU_H +#define __ANIMATED_MENU_H +typedef struct _mb_animated_menu { + char **titles; + int *menus_y; + int *items; + int top; + int cur; + int max; + int ready; + int speed; + MBApp *app; + mb_sprite_t *sprite; + mb_obj_t **objects; + mb_obj_t *lightbar; + void (*callback)(struct _mb_animated_menu *m, int sel); + void (*update_callback)(struct _mb_animated_menu *m, int sel); + mb_progm_t *progm; + X_kb_event_t pending_key; +} mb_animated_menu_t; +/** \brief Create an instace of animated menu. + * + * The objectnames is used to extract symbols from the SVG file. + * ${objectnames}0 - ${objectnames}8 is the text object. + * ${objectnames}_lightbar is the lightbar. + * + */ +mb_animated_menu_t *mb_animated_menu_new(MBApp *app,mb_sprite_t *sp,char *objnames,char *menus[]); +void mb_animated_menu_set_speed(mb_animated_menu_t *m,int speed); +int mb_animated_menu_get_speed(mb_animated_menu_t *m); +void mb_animated_menu_set_callback(mb_animated_menu_t *m, void (*f)(mb_animated_menu_t *m, int sel)); +#endif