annotate Renderer/Engine/viewer.h @ 509:8148c81d2660

Cerium Rendering Library
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 12 Oct 2009 10:17:09 +0900
parents 735f76483bb2
children 97e1b0346597
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
1 #ifndef INCLUDED_VIEWER
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
2 #define INCLUDED_VIEWER
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
3
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
4 #include <SDL.h>
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
5
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
6 #include "viewer_types.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
7 #include "TaskManager.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
8 #include "KeyStat.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
9
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
10 #include "Application.h"
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
11
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
12
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
13 class Viewer {
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
14 public:
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
15 //Viewer(TaskManager *manager, int bpp, int width, int height, int spenum);
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
16 Viewer(int bpp, int width, int height, int spenum);
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
17
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
18 virtual ~Viewer(void) {}
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
19
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
20 Application *app;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
21
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
22 TaskManager *manager;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
23 key_stat *keyPtr;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
24 HTaskPtr draw_dummy;
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
25
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
26 /* screen info */
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
27 int width;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
28 int height;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
29 int bpp;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
30
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
31 int spe_num;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
32
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
33 int rgb_size[3];
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
34 Uint32 video_flags;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
35 Uint32 *pixels;
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
36
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
37 virtual void video_init(TaskManager *manager) = 0;
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
38 void init();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
39
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
40 int get_ticks();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
41 bool quit_check();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
42 void quit();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
43
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
44 virtual void swap_buffers();
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
45 virtual void clean_pixels() {}
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
46
509
8148c81d2660 Cerium Rendering Library
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 507
diff changeset
47 virtual void run_init(TaskManager *manager, Application *app);
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
48 virtual void run_loop(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
49 virtual void run_draw(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
50 virtual void run_finish();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
51 virtual void run_move(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
52 virtual void run_collision();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
53 virtual void rendering(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
54 virtual void common_draw(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
55 virtual void common_rendering(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
56
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
57 virtual void spe_rendering(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
58 virtual void spe_draw(HTaskPtr task_next);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
59 //virtual void exchange_sgroot(TaskManager *manager);
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
60
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
61 void getKey();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
62 void get_send_controll();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
63 private:
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
64 HTaskPtr initLoop();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
65 void mainLoop();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
66 void speLoop();
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
67
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
68 };
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
69
507
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
70 #define default_sdl_flag SDL_INIT_TIMER | SDL_INIT_JOYSTICK
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
71
735f76483bb2 Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 283
diff changeset
72
283
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
73 #endif
55ea4465b1a2 fix test_render
e065746@localhost.localdomain
parents:
diff changeset
74