00001 #ifndef SCREEN_H 00002 #define SCREEN_H 00003 00004 #include "SDL.h" 00005 #include "glfuncs.h" 00006 00007 #include <string> 00008 00009 class Object; 00010 00011 class Screen 00012 { 00013 public: 00014 static Screen* instance(); 00015 void drawLevel(int texture, GLfloat texCoords[4], SDL_Rect quad); 00016 void drawScreen(int texture, GLfloat texCoords[4], SDL_Rect quad); 00017 00018 void drawCutScene(std::string cutSceneText); 00019 00020 void move(int x, int y); 00021 00022 void update(); 00023 00024 void registerFollowObj(Object * o); 00025 Object* getFollowObj(){ return _followMe; }; 00026 00027 SDL_Rect getScreenRect() {return _screen;} 00028 00029 static const int FRAMERATE = 60; 00030 00031 private: 00032 static Screen* _instance; 00033 SDL_Rect _screen; 00034 SDL_Rect _center; 00035 Screen(); 00036 00037 Object * _followMe; 00038 00039 // fraction of the screen for the black bars 00040 static const int CSFRAC = 5; 00041 00042 static const int HEIGHT = 760; 00043 static const int WIDTH = 1024; 00044 }; 00045 00046 #endif