TapestryEngine

A 2D Platformer Game Engine
Log | Files | Refs

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