view examples/menu/animated_menu.h @ 332:f90c60967a9c

Add mb_progm_finish to terminate the current animation and put all objects in the final position. It seems that not all words are executed correctly. We need to figure out why.
author wycc
date Sat, 07 Mar 2009 08:33:01 +0800
parents 33e8ff8b7ad2
children ab7f3c00fd05
line wrap: on
line source

#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);
	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