00001
00002
00003
00004 #ifndef CAJUN_DRAWING_H
00005 #define CAJUN_DRAWING_H
00006
00007 namespace cajun
00008 {
00009 class drawing_t
00010 {
00011 public:
00012 drawing_t () {}
00013 virtual ~drawing_t () {}
00014
00015 virtual void draw () = 0;
00016 virtual void draw2 () = 0;
00017 virtual void draw3 () = 0;
00018 virtual void dynamic_data () {;};
00019 virtual void update_data () {;};
00020 virtual void intra_update_data () {;};
00021 virtual void update_data2 () {;};
00022 virtual void update_data3 () {;};
00023 virtual void reshape (int width, int height) = 0;
00024 virtual void reshape2 (int width, int height) = 0;
00025 virtual void reshape3 (int width, int height) = 0;
00026 virtual void normalKey_callback (int key, int x, int y, int mod) = 0;
00027 virtual void controlKey_callback (int key, int x, int y, int mod) = 0;
00028 virtual void mousemotion_callback (int x, int y) = 0;
00029 virtual void mousebutton_callback (int button, int state, int x,
00030 int y, int mod) = 0;
00031 virtual void load_context_data () = 0;
00032 virtual bool check_video_display () {return false;};
00033 virtual bool check_ctrl_panel_display () {return false;};
00034
00035 int m_screen_height;
00036 int m_screen_width;
00037 virtual void load_terrain_textures(char const *terrain_texture_file,
00038 char const *sky_terrain_file) = 0;
00039
00040 };
00041 }
00042 #endif