Mercurial > MadButterfly
view examples/dynamic/mbbutton.h @ 1214:e55499f7505a
Fix the issues with multiple framelines
- For multiple framelines, user move mouse from one frameline to
another, the frame is not showed correctly.
- Old implementation always draw normal frame on the frameline
where mouse just leaving.
- It is fixed by detecting leave-notify event and removing hover
mark.
- When user active a frame on a frameline that is not what old active
frame is at, the old active frame is not deactivated.
- It is fixed by calling frameline.deactive() of a frameline when a
frame is activated on another frameline.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Wed, 05 Jan 2011 17:56:14 +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