view examples/dynamic/mbbutton.h @ 271:c990a9a9648f

Fix bug of calculator. - calc can not handle button press event. - It caused by miss-understanding event_t::cur_tgt. It is a subject, not a shape that calc think. - event_t::cur_tgt::obj is a shape that calc want. It is a the subject that the subject stands for.
author Thinker K.F. Li <thinker@branda.to>
date Sun, 25 Jan 2009 23:03:18 +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