283
|
1 #ifndef INCLUDED_VIEWER
|
|
2 #define INCLUDED_VIEWER
|
|
3
|
|
4 #include <SDL.h>
|
|
5
|
507
|
6 #include "viewer_types.h"
|
|
7 #include "TaskManager.h"
|
|
8 #include "KeyStat.h"
|
|
9
|
|
10 #include "Application.h"
|
|
11 #include "Application/Chain.h"
|
|
12
|
283
|
13
|
|
14 class Viewer {
|
|
15 public:
|
507
|
16 //Viewer(TaskManager *manager, int bpp, int width, int height, int spenum);
|
283
|
17 Viewer(int bpp, int width, int height, int spenum);
|
|
18
|
|
19 virtual ~Viewer(void) {}
|
|
20
|
507
|
21 Application *app;
|
|
22
|
|
23 TaskManager *manager;
|
|
24 key_stat *keyPtr;
|
|
25 HTaskPtr draw_dummy;
|
|
26
|
283
|
27 /* screen info */
|
|
28 int width;
|
|
29 int height;
|
|
30 int bpp;
|
|
31
|
|
32 int spe_num;
|
|
33
|
|
34 int rgb_size[3];
|
|
35 Uint32 video_flags;
|
|
36 Uint32 *pixels;
|
|
37
|
507
|
38 virtual void video_init(TaskManager *manager) = 0;
|
283
|
39 void init();
|
|
40
|
|
41 int get_ticks();
|
|
42 bool quit_check();
|
|
43 void quit();
|
|
44
|
|
45 virtual void swap_buffers();
|
|
46 virtual void clean_pixels() {}
|
|
47
|
507
|
48 virtual void run_init(TaskManager *manager, const char *xml, int sg_number);
|
|
49 virtual void run_loop(HTaskPtr task_next);
|
|
50 virtual void run_draw(HTaskPtr task_next);
|
|
51 virtual void run_finish();
|
|
52 virtual void run_move(HTaskPtr task_next);
|
|
53 virtual void run_collision();
|
|
54 virtual void rendering(HTaskPtr task_next);
|
|
55 virtual void common_draw(HTaskPtr task_next);
|
|
56 virtual void common_rendering(HTaskPtr task_next);
|
|
57
|
|
58 virtual void spe_rendering(HTaskPtr task_next);
|
|
59 virtual void spe_draw(HTaskPtr task_next);
|
|
60 //virtual void exchange_sgroot(TaskManager *manager);
|
|
61
|
|
62 void getKey();
|
|
63 void get_send_controll();
|
|
64 private:
|
|
65 HTaskPtr initLoop();
|
|
66 void mainLoop();
|
|
67 void speLoop();
|
|
68
|
283
|
69 };
|
|
70
|
507
|
71 #define default_sdl_flag SDL_INIT_TIMER | SDL_INIT_JOYSTICK
|
|
72
|
|
73
|
283
|
74 #endif
|
|
75
|