annotate old/simple_render/test/LoadTexture/main.cpp @ 507:735f76483bb2

Reorganization..
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 12 Oct 2009 09:39:35 +0900
parents TaskManager/Test/simple_render/test/LoadTexture/main.cpp@312b535f121e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
90
312b535f121e Initial revision
gongo
parents:
diff changeset
1 #include <iostream>
312b535f121e Initial revision
gongo
parents:
diff changeset
2 #include "viewer.h"
312b535f121e Initial revision
gongo
parents:
diff changeset
3 #include "TaskManager.h"
312b535f121e Initial revision
gongo
parents:
diff changeset
4 #include "error.h"
312b535f121e Initial revision
gongo
parents:
diff changeset
5
312b535f121e Initial revision
gongo
parents:
diff changeset
6 int init(void*, void*);
312b535f121e Initial revision
gongo
parents:
diff changeset
7 int finish(void*, void*);
312b535f121e Initial revision
gongo
parents:
diff changeset
8
312b535f121e Initial revision
gongo
parents:
diff changeset
9
312b535f121e Initial revision
gongo
parents:
diff changeset
10 Viewer *screen;
312b535f121e Initial revision
gongo
parents:
diff changeset
11 TaskManager *manager;
312b535f121e Initial revision
gongo
parents:
diff changeset
12
312b535f121e Initial revision
gongo
parents:
diff changeset
13 struct init_arg {
312b535f121e Initial revision
gongo
parents:
diff changeset
14 int bpp;
312b535f121e Initial revision
gongo
parents:
diff changeset
15 int w;
312b535f121e Initial revision
gongo
parents:
diff changeset
16 int h;
312b535f121e Initial revision
gongo
parents:
diff changeset
17 };
312b535f121e Initial revision
gongo
parents:
diff changeset
18
312b535f121e Initial revision
gongo
parents:
diff changeset
19 struct init_arg *initArg;
312b535f121e Initial revision
gongo
parents:
diff changeset
20
312b535f121e Initial revision
gongo
parents:
diff changeset
21 int init(void *r, void *w) {
312b535f121e Initial revision
gongo
parents:
diff changeset
22 int fd_sdl_init,fd_run;
312b535f121e Initial revision
gongo
parents:
diff changeset
23 HTaskPtr task_sdl_init, task_run;
312b535f121e Initial revision
gongo
parents:
diff changeset
24
312b535f121e Initial revision
gongo
parents:
diff changeset
25 __debug("[%s]\n",__FUNCTION__);
312b535f121e Initial revision
gongo
parents:
diff changeset
26
312b535f121e Initial revision
gongo
parents:
diff changeset
27 screen = new Viewer(initArg->bpp, initArg->w, initArg->h);
312b535f121e Initial revision
gongo
parents:
diff changeset
28
312b535f121e Initial revision
gongo
parents:
diff changeset
29 fd_sdl_init = manager->open("sdl_init");
312b535f121e Initial revision
gongo
parents:
diff changeset
30 fd_run = manager->open("run");
312b535f121e Initial revision
gongo
parents:
diff changeset
31
312b535f121e Initial revision
gongo
parents:
diff changeset
32 task_sdl_init = manager->create_task(fd_sdl_init, 0, 0, 0, NULL);
312b535f121e Initial revision
gongo
parents:
diff changeset
33 task_run = manager->create_task(fd_run, 0, 0, 0, NULL);
312b535f121e Initial revision
gongo
parents:
diff changeset
34
312b535f121e Initial revision
gongo
parents:
diff changeset
35 task_run->set_depend(task_sdl_init);
312b535f121e Initial revision
gongo
parents:
diff changeset
36
312b535f121e Initial revision
gongo
parents:
diff changeset
37 task_sdl_init->spawn();
312b535f121e Initial revision
gongo
parents:
diff changeset
38 task_run->spawn();
312b535f121e Initial revision
gongo
parents:
diff changeset
39
312b535f121e Initial revision
gongo
parents:
diff changeset
40 free(initArg);
312b535f121e Initial revision
gongo
parents:
diff changeset
41 return 0;
312b535f121e Initial revision
gongo
parents:
diff changeset
42 }
312b535f121e Initial revision
gongo
parents:
diff changeset
43
312b535f121e Initial revision
gongo
parents:
diff changeset
44 int sdl_init(void *r , void *w) {
312b535f121e Initial revision
gongo
parents:
diff changeset
45
312b535f121e Initial revision
gongo
parents:
diff changeset
46 __debug("[%s]\n", __FUNCTION__);
312b535f121e Initial revision
gongo
parents:
diff changeset
47 screen->sdl_init();
312b535f121e Initial revision
gongo
parents:
diff changeset
48 return 0;
312b535f121e Initial revision
gongo
parents:
diff changeset
49 }
312b535f121e Initial revision
gongo
parents:
diff changeset
50
312b535f121e Initial revision
gongo
parents:
diff changeset
51 int run(void *r, void *w) {
312b535f121e Initial revision
gongo
parents:
diff changeset
52
312b535f121e Initial revision
gongo
parents:
diff changeset
53 __debug("[%s]\n", __FUNCTION__);
312b535f121e Initial revision
gongo
parents:
diff changeset
54 screen->run_init();
312b535f121e Initial revision
gongo
parents:
diff changeset
55 return 0;
312b535f121e Initial revision
gongo
parents:
diff changeset
56 }
312b535f121e Initial revision
gongo
parents:
diff changeset
57
312b535f121e Initial revision
gongo
parents:
diff changeset
58 int finish(void *w, void *r)
312b535f121e Initial revision
gongo
parents:
diff changeset
59 {
312b535f121e Initial revision
gongo
parents:
diff changeset
60 __debug("[%s]\n", __FUNCTION__);
312b535f121e Initial revision
gongo
parents:
diff changeset
61 delete screen;
312b535f121e Initial revision
gongo
parents:
diff changeset
62 delete manager;
312b535f121e Initial revision
gongo
parents:
diff changeset
63 return 0;
312b535f121e Initial revision
gongo
parents:
diff changeset
64 }
312b535f121e Initial revision
gongo
parents:
diff changeset
65
312b535f121e Initial revision
gongo
parents:
diff changeset
66
312b535f121e Initial revision
gongo
parents:
diff changeset
67 int main(int argc, char *argv[]) {
312b535f121e Initial revision
gongo
parents:
diff changeset
68 manager = new TaskManager(1);
312b535f121e Initial revision
gongo
parents:
diff changeset
69 manager->init();
312b535f121e Initial revision
gongo
parents:
diff changeset
70
312b535f121e Initial revision
gongo
parents:
diff changeset
71 //task_initialize();
312b535f121e Initial revision
gongo
parents:
diff changeset
72
312b535f121e Initial revision
gongo
parents:
diff changeset
73 manager->set_symbol("init", (void*)init);
312b535f121e Initial revision
gongo
parents:
diff changeset
74 manager->set_symbol("sdl_init", (void*)sdl_init);
312b535f121e Initial revision
gongo
parents:
diff changeset
75 manager->set_symbol("run", (void*)run);
312b535f121e Initial revision
gongo
parents:
diff changeset
76 manager->set_symbol("finish", (void*)finish);
312b535f121e Initial revision
gongo
parents:
diff changeset
77
312b535f121e Initial revision
gongo
parents:
diff changeset
78 int bpp = 0;
312b535f121e Initial revision
gongo
parents:
diff changeset
79 int width = 640;
312b535f121e Initial revision
gongo
parents:
diff changeset
80 int height = 480;
312b535f121e Initial revision
gongo
parents:
diff changeset
81
312b535f121e Initial revision
gongo
parents:
diff changeset
82 for(int i = 1; argv[i]; ++i) {
312b535f121e Initial revision
gongo
parents:
diff changeset
83 if (strcmp(argv[i], "-bpp") == 0) {
312b535f121e Initial revision
gongo
parents:
diff changeset
84 bpp = atoi(argv[++i]);
312b535f121e Initial revision
gongo
parents:
diff changeset
85 }
312b535f121e Initial revision
gongo
parents:
diff changeset
86 if (strcmp(argv[i], "-width") == 0) {
312b535f121e Initial revision
gongo
parents:
diff changeset
87 width = atoi(argv[++i]);
312b535f121e Initial revision
gongo
parents:
diff changeset
88 }
312b535f121e Initial revision
gongo
parents:
diff changeset
89 if (strcmp(argv[i], "-height") == 0) {
312b535f121e Initial revision
gongo
parents:
diff changeset
90 height = atoi(argv[++i]);
312b535f121e Initial revision
gongo
parents:
diff changeset
91 }
312b535f121e Initial revision
gongo
parents:
diff changeset
92 }
312b535f121e Initial revision
gongo
parents:
diff changeset
93 HTaskPtr task_init;
312b535f121e Initial revision
gongo
parents:
diff changeset
94 int fd_init;
312b535f121e Initial revision
gongo
parents:
diff changeset
95 initArg = new struct init_arg;
312b535f121e Initial revision
gongo
parents:
diff changeset
96 initArg->bpp = bpp;
312b535f121e Initial revision
gongo
parents:
diff changeset
97 initArg->w = width;
312b535f121e Initial revision
gongo
parents:
diff changeset
98 initArg->h = height;
312b535f121e Initial revision
gongo
parents:
diff changeset
99
312b535f121e Initial revision
gongo
parents:
diff changeset
100 fd_init = manager->open("init");
312b535f121e Initial revision
gongo
parents:
diff changeset
101 task_init = manager->create_task(fd_init, 0, 0, 0, NULL);
312b535f121e Initial revision
gongo
parents:
diff changeset
102 task_init->spawn();
312b535f121e Initial revision
gongo
parents:
diff changeset
103 manager->run();
312b535f121e Initial revision
gongo
parents:
diff changeset
104 finish(NULL, NULL);
312b535f121e Initial revision
gongo
parents:
diff changeset
105 return 0;
312b535f121e Initial revision
gongo
parents:
diff changeset
106 }
312b535f121e Initial revision
gongo
parents:
diff changeset
107