cdf3504dcc29397acb565acc0ea2b6966d56394e.svn-base (960B)
1 #ifndef CONSOLE_H 2 #define CONSOLE_H 3 4 #include "Utils.h" 5 6 7 #define LINE_LIMIT 40 8 #define LINE_SIZE 100 9 #define CONSOLE_TEXT_LIMIT ((LINE_LIMIT+1)*LINE_SIZE) 10 11 class ConsoleStringManager 12 { 13 public: 14 ConsoleStringManager(); 15 16 void AddLine(char* string, int CharCount); 17 18 void ConsoleLog(char* msg); 19 20 void ConsolePrintf(char* fmt, ...); 21 22 char* GetLine(int x) 23 { 24 return mLines[x]; 25 } 26 27 int GetNextLineIndex() 28 { 29 return mNextLineIndex; 30 } 31 32 protected: 33 34 char* mLines[LINE_LIMIT]; 35 int mNextLineIndex; 36 37 char mText[CONSOLE_TEXT_LIMIT]; 38 char* mEndPointer; 39 40 41 }; 42 43 class Console 44 { 45 public: 46 Console(char* filename, int ptsize, SDL_Color Text, SDL_Color BG); 47 48 void ConsPrintf(char* fmt, ...); 49 50 void DrawConsole(SDL_Renderer* ren); 51 52 void DrawConsoleReadout(SDL_Renderer* ren, int x, int y); 53 54 protected: 55 TTF_Font* mFont; 56 SDL_Color mText; 57 SDL_Color mBG; 58 SDL_Rect mTextRect; 59 SDL_Rect mLinePosRect; 60 ConsoleStringManager mCSM; 61 }; 62 63 64 extern Console* gCons; 65 66 #endif