annotate examples/dynamic/mbapp.c @ 267:cac3f084a9b1

Fix bug in document
author Thinker K.F. Li <thinker@branda.to>
date Sat, 24 Jan 2009 15:23:42 +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 }