annotate examples/dynamic/mbapp.c @ 269:c96f38ad4bb6

Fix mis-behavior of translate_path_data() on arc. - Arc in a path in svg2code_ex is not showed. - translate_path_data() in svg2code.py was modified for calling binary version new method for path shape. - rdman_shape_path_new_from_binary() - Code to translate path data does not handle arc in a right way. - Copy calc_center_and_x_aix() from shape_path.c to svg2code.py and change name _calc_ellipse_of_arc() - _calc_ellipse_of_arc() handle arc data for translate_path_data()
author Thinker K.F. Li <thinker@branda.to>
date Sun, 25 Jan 2009 00:20:34 +0800
parents ab8284c8dcee
children 248a40d51473
rev   line source
247
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
1 #include <mb.h>
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
2 #include <mbapp.h>
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
3 MBApp *MBApp_Init(char *module)
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
4 {
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
5 MBApp *app = (MBApp *) malloc(sizeof(MBApp));
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
6 X_MB_runtime_t *rt;
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
7
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
8 rt = X_MB_new(":0.0", 800, 600);
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
9
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
10 app->rt = rt;
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
11 app->rdman = X_MB_rdman(rt);
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
12 app->rootsprite= sprite_load(module,app->rdman, app->rdman->root_coord);
249
ab8284c8dcee * Add loopback reference from rdman to the backend. This is only required when we need to acquire the tman for the animation. This is not a reasonable arrangement since the animation should be backend transparent. We should not touch the backend directly from the animation. We should relocate the tman to the rdman.
wycc
parents: 247
diff changeset
13 rdman_attach_backend(app->rdman, rt);
247
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
14 return app;
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
15 }
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
16
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
17 void MBApp_setData(MBApp *app,void *data)
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
18 {
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
19 app->private = (void *) data;
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
20 }
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
21
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
22 mb_tman_t *MBApp_getTimer(MBApp *app)
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
23 {
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
24 return X_MB_tman(app->rt);
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
25 }
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
26
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
27 void MBApp_loop(MBApp *en)
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
28 {
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
29 /*
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
30 * Start handle connections, includes one to X server.
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
31 * User start to interact with the application.
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
32 */
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
33 X_MB_handle_connection(en->rt);
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
34
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
35 /*
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
36 * Clean
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
37 */
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
38 X_MB_free(en->rt);
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
39 free(en);
d9a78c859660 Seperate the frameowrk codes from the main.c.
wycc
parents:
diff changeset
40 }