Mercurial > MadButterfly
diff examples/svg2code_ex/main.c @ 84:42698de1f653
Support translate() function for transform attribute of 'g' tag.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Fri, 22 Aug 2008 12:52:48 +0800 |
parents | ea758bb3bbe2 |
children | 565b55508c8d |
line wrap: on
line diff
--- a/examples/svg2code_ex/main.c Fri Aug 22 00:12:04 2008 +0800 +++ b/examples/svg2code_ex/main.c Fri Aug 22 12:52:48 2008 +0800 @@ -12,9 +12,25 @@ static void file_button_handler(event_t *evt, void *arg) { ex_rt_t *ex_rt = (ex_rt_t *)arg; - coord_show(ex_rt->code->file_menu); - rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu); - rdman_redraw_changed(ex_rt->rt->rdman); + switch(evt->type) { + case EVT_MOUSE_BUT_PRESS: + coord_show(ex_rt->code->file_menu); + rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu); + rdman_redraw_changed(ex_rt->rt->rdman); + break; + } +} + +static void file_menu_handler(event_t *evt, void *arg) { + ex_rt_t *ex_rt = (ex_rt_t *)arg; + + switch(evt->type) { + case EVT_MOUSE_BUT_PRESS: + coord_hide(ex_rt->code->file_menu); + rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu); + rdman_redraw_changed(ex_rt->rt->rdman); + break; + } } int main(int argc, char * const argv[]) { @@ -34,6 +50,8 @@ ex_rt.rt = &rt; ex_rt.code = svg2code; subject_add_observer(factory, subject, file_button_handler, &ex_rt); + subject = coord_get_mouse_event(svg2code->file_menu); + subject_add_observer(factory, subject, file_menu_handler, &ex_rt); X_MB_handle_connection(&rt);