Mercurial > hg > Members > kono > Cerium
diff Renderer/Engine/viewer.h @ 507:735f76483bb2
Reorganization..
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 Oct 2009 09:39:35 +0900 |
parents | Renderer/test_render/viewer.h@55ea4465b1a2 |
children | 8148c81d2660 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Renderer/Engine/viewer.h Mon Oct 12 09:39:35 2009 +0900 @@ -0,0 +1,75 @@ +#ifndef INCLUDED_VIEWER +#define INCLUDED_VIEWER + +#include <SDL.h> + +#include "viewer_types.h" +#include "TaskManager.h" +#include "KeyStat.h" + +#include "Application.h" +#include "Application/Chain.h" + + +class Viewer { +public: + //Viewer(TaskManager *manager, int bpp, int width, int height, int spenum); + Viewer(int bpp, int width, int height, int spenum); + + virtual ~Viewer(void) {} + + Application *app; + + TaskManager *manager; + key_stat *keyPtr; + HTaskPtr draw_dummy; + + /* screen info */ + int width; + int height; + int bpp; + + int spe_num; + + int rgb_size[3]; + Uint32 video_flags; + Uint32 *pixels; + + virtual void video_init(TaskManager *manager) = 0; + void init(); + + int get_ticks(); + bool quit_check(); + void quit(); + + virtual void swap_buffers(); + virtual void clean_pixels() {} + + virtual void run_init(TaskManager *manager, const char *xml, int sg_number); + virtual void run_loop(HTaskPtr task_next); + virtual void run_draw(HTaskPtr task_next); + virtual void run_finish(); + virtual void run_move(HTaskPtr task_next); + virtual void run_collision(); + virtual void rendering(HTaskPtr task_next); + virtual void common_draw(HTaskPtr task_next); + virtual void common_rendering(HTaskPtr task_next); + + virtual void spe_rendering(HTaskPtr task_next); + virtual void spe_draw(HTaskPtr task_next); + //virtual void exchange_sgroot(TaskManager *manager); + + void getKey(); + void get_send_controll(); +private: + HTaskPtr initLoop(); + void mainLoop(); + void speLoop(); + +}; + +#define default_sdl_flag SDL_INIT_TIMER | SDL_INIT_JOYSTICK + + +#endif +