Mercurial > MadButterfly
annotate examples/svg2code_ex/main.c @ 83:ea758bb3bbe2
example
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Fri, 22 Aug 2008 00:12:04 +0800 |
parents | 5bcb329a5157 |
children | 42698de1f653 |
rev | line source |
---|---|
78 | 1 #include <stdio.h> |
2 #include <mb_types.h> | |
3 #include <X_supp.h> | |
4 #include "svg2code_ex.h" | |
5 | |
83 | 6 typedef struct _ex_rt ex_rt_t; |
7 struct _ex_rt { | |
8 X_MB_runtime_t *rt; | |
9 svg2code_ex_t *code; | |
10 }; | |
11 | |
12 static void file_button_handler(event_t *evt, void *arg) { | |
13 ex_rt_t *ex_rt = (ex_rt_t *)arg; | |
14 | |
15 coord_show(ex_rt->code->file_menu); | |
16 rdman_coord_changed(ex_rt->rt->rdman, ex_rt->code->file_menu); | |
17 rdman_redraw_changed(ex_rt->rt->rdman); | |
18 } | |
19 | |
78 | 20 int main(int argc, char * const argv[]) { |
21 X_MB_runtime_t rt; | |
22 svg2code_ex_t *svg2code; | |
83 | 23 ob_factory_t *factory; |
24 subject_t *subject; | |
25 ex_rt_t ex_rt; | |
78 | 26 int r; |
27 | |
79
5bcb329a5157
Fix bug of core dump caused by forget to check if parent is NULL, root.
Thinker K.F. Li <thinker@branda.to>
parents:
78
diff
changeset
|
28 r = X_MB_init(":0.0", 800, 600, &rt); |
78 | 29 |
30 svg2code = svg2code_ex_new(rt.rdman); | |
31 | |
83 | 32 factory = rdman_get_ob_factory(rt.rdman); |
33 subject = coord_get_mouse_event(svg2code->file_button); | |
34 ex_rt.rt = &rt; | |
35 ex_rt.code = svg2code; | |
36 subject_add_observer(factory, subject, file_button_handler, &ex_rt); | |
37 | |
38 X_MB_handle_connection(&rt); | |
39 | |
40 svg2code_ex_free(svg2code); | |
78 | 41 X_MB_destroy(&rt); |
42 | |
43 return 0; | |
44 } |