annotate include/animated_menu.h @ 422:c6c0d017dc8e

Use DARRAY to manage variable length list
author Thinker K.F. Li <thinker@branda.to>
date Tue, 28 Jul 2009 15:11:42 +0800
parents 080aca2b7c47
children 9b8dda201ccb
rev   line source
323
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
1 #ifndef __ANIMATED_MENU_H
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
2 #define __ANIMATED_MENU_H
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
3 typedef struct _mb_animated_menu {
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
4 char **titles;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
5 int *menus_y;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
6 int *items;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
7 int top;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
8 int cur;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
9 int max;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
10 int ready;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
11 int speed;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
12 MBApp *app;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
13 mb_sprite_t *sprite;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
14 mb_obj_t **objects;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
15 mb_obj_t *lightbar;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
16 void (*callback)(struct _mb_animated_menu *m, int sel);
344
ab7f3c00fd05 Implement PMNG viewer
wycc
parents: 332
diff changeset
17 void (*update_callback)(struct _mb_animated_menu *m, int sel);
332
f90c60967a9c Add mb_progm_finish to terminate the current animation and put all objects in the final position.
wycc
parents: 323
diff changeset
18 mb_progm_t *progm;
f90c60967a9c Add mb_progm_finish to terminate the current animation and put all objects in the final position.
wycc
parents: 323
diff changeset
19 X_kb_event_t pending_key;
323
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
20 } mb_animated_menu_t;
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
21 /** \brief Create an instace of animated menu.
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
22 *
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
23 * The objectnames is used to extract symbols from the SVG file.
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
24 * ${objectnames}0 - ${objectnames}8 is the text object.
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
25 * ${objectnames}_lightbar is the lightbar.
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
26 *
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
27 */
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
28 mb_animated_menu_t *mb_animated_menu_new(MBApp *app,mb_sprite_t *sp,char *objnames,char *menus[]);
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
29 void mb_animated_menu_set_speed(mb_animated_menu_t *m,int speed);
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
30 int mb_animated_menu_get_speed(mb_animated_menu_t *m);
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
31 void mb_animated_menu_set_callback(mb_animated_menu_t *m, void (*f)(mb_animated_menu_t *m, int sel));
33e8ff8b7ad2 Check in missing file
wycc
parents:
diff changeset
32 #endif