Mercurial > hg > Members > kono > Cerium
view Renderer/Engine/viewer.h @ 510:97e1b0346597
continue...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 Oct 2009 15:48:40 +0900 |
parents | 8148c81d2660 |
children | 997490a061ee |
line wrap: on
line source
#ifndef INCLUDED_VIEWER #define INCLUDED_VIEWER #include <SDL.h> #include "viewer_types.h" #include "TaskManager.h" #include "KeyStat.h" #include "MainLoop.h" #include "Application.h" class Viewer : MainLoop { public: Viewer(int bpp, int width, int height, int spenum); virtual ~Viewer() {} 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, Application *app); 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