comparison 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
comparison
equal deleted inserted replaced
83:ea758bb3bbe2 84:42698de1f653
10 }; 10 };
11 11
12 static void file_button_handler(event_t *evt, void *arg) { 12 static void file_button_handler(event_t *evt, void *arg) {
13 ex_rt_t *ex_rt = (ex_rt_t *)arg; 13 ex_rt_t *ex_rt = (ex_rt_t *)arg;
14 14
15 coord_show(ex_rt->code->file_menu); 15 switch(evt->type) {
16 rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu); 16 case EVT_MOUSE_BUT_PRESS:
17 rdman_redraw_changed(ex_rt->rt->rdman); 17 coord_show(ex_rt->code->file_menu);
18 rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu);
19 rdman_redraw_changed(ex_rt->rt->rdman);
20 break;
21 }
22 }
23
24 static void file_menu_handler(event_t *evt, void *arg) {
25 ex_rt_t *ex_rt = (ex_rt_t *)arg;
26
27 switch(evt->type) {
28 case EVT_MOUSE_BUT_PRESS:
29 coord_hide(ex_rt->code->file_menu);
30 rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu);
31 rdman_redraw_changed(ex_rt->rt->rdman);
32 break;
33 }
18 } 34 }
19 35
20 int main(int argc, char * const argv[]) { 36 int main(int argc, char * const argv[]) {
21 X_MB_runtime_t rt; 37 X_MB_runtime_t rt;
22 svg2code_ex_t *svg2code; 38 svg2code_ex_t *svg2code;
32 factory = rdman_get_ob_factory(rt.rdman); 48 factory = rdman_get_ob_factory(rt.rdman);
33 subject = coord_get_mouse_event(svg2code->file_button); 49 subject = coord_get_mouse_event(svg2code->file_button);
34 ex_rt.rt = &rt; 50 ex_rt.rt = &rt;
35 ex_rt.code = svg2code; 51 ex_rt.code = svg2code;
36 subject_add_observer(factory, subject, file_button_handler, &ex_rt); 52 subject_add_observer(factory, subject, file_button_handler, &ex_rt);
53 subject = coord_get_mouse_event(svg2code->file_menu);
54 subject_add_observer(factory, subject, file_menu_handler, &ex_rt);
37 55
38 X_MB_handle_connection(&rt); 56 X_MB_handle_connection(&rt);
39 57
40 svg2code_ex_free(svg2code); 58 svg2code_ex_free(svg2code);
41 X_MB_destroy(&rt); 59 X_MB_destroy(&rt);