Mercurial > MadButterfly
view include/mb_ani_menu.h @ 1224:5d731460b32c
Remove search_by_id() from frameline.
- frameline is only responsible for drawing a row of frames.
- layers and scenes are managed by MBScene_dom. So, function of
search_by_id() must move to MBScene_dom class.
- onCellClick() and _change_active_frame() are responsible for
handling GUI event.
- It should not be used with workaround to implement some function.
- Solutions
- MBScene_dom.find_layer_n_scene_of_nod() is used to replace
search_by_id().
- MBScene_framelines.active_frame() is used to replace the
workaround.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Thu, 06 Jan 2011 11:11:27 +0800 |
parents | 1993e5ae60aa |
children |
line wrap: on
line source
// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*- // vim: sw=4:ts=8:sts=4 #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; mbaf_t *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; mb_kb_event_t pending_keys[16]; int pending_pos, pending_last; } 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(mbaf_t *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