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