Mercurial > MadButterfly
view examples/dynamic/mbbutton.h @ 1161:a7faab54e8f8
Fix broken of running animation
- Running animation is stop automatically after a certain time.
- It is 300ms according MBScene._updateUI().
- It is caused by notification of changing DOM tree. The
notification handlers would call MBScene.updateUI() to update
framelines and buttons.
- MBScene.updateUI() would call MBScene.show() after 300ms,
MBScene.show() calls MBScene.parseScene() in turn.
- MBScene.parseScene() would remove duplicate group that is using
by code of running animation, MBScene.doRunNext(). It make
running animation stop.
- fixed by setting MBScene.lockui when a running animation is started
or stoped.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Tue, 28 Dec 2010 13:35:34 +0800 |
parents | ab8284c8dcee |
children |
line wrap: on
line source
#ifndef __MBBUTTON_H #define __MBBUTTON_H typedef struct _mb_button { mb_obj_t obj; redraw_man_t *rdman; int state; coord_t *root; coord_t *active; coord_t *normal; coord_t *click; void (*press)(); void *arg; observer_t *obs_move,*obs_out,*obs_press; mb_progm_t *progm; } mb_button_t; mb_button_t *mb_button_new(redraw_man_t *rdman,mb_sprite_t *sp, char *name); void mb_button_add_onClick(mb_button_t *b, void (*h)(void *arg), void *arg); #endif