Unuk/src/libUnuk/Text.h

58 lines
1.4 KiB
C++

#ifndef _TEXT_H_
#define _TEXT_H_
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include <string>
#include "../Unuk/Globals.h"
#include "ApplySurface.h"
#include "Font.h"
#include "Debug.h"
using namespace std;
enum textSizes_t { vsmall, small, medium, large, vlarge };
class Text {
public:
Text(void);
~Text(void);
static void LoadFonts(void);
static void FreeFonts(void);
int GetWidth(void) { return _text->w; }
int GetHeight(void) { return _text->h; }
int GetX(void) { return x; }
int GetY(void) { return y; }
string GetText(void) { return _textContents; }
SDL_Color GetColour(void) { return _textColour; }
void SetXY(int xArg, int yArg);
int SetTextBlended(string textArg, textSizes_t size, SDL_Color);
int SetTextBlended(string textArg, textSizes_t size, Uint8 r, Uint8 g, Uint8 b);
int SetTextShaded(string textArg, textSizes_t size, SDL_Color, SDL_Color);
int SetTextShaded(string textArg, textSizes_t size, Uint8 rF, Uint8 gF, Uint8 bF, Uint8 rB, Uint8 gB, Uint8 bB);
void Render(void);
void Render(int xArg, int yArg);
void RenderLiteral(void);
void RenderLiteral(int xArg, int yArg);
private:
int x, y, w, h;
string _textContents;
SDL_Color _textColour;
SDL_Surface* _text;
static TTF_Font* vSmallFont;
static TTF_Font* smallFont;
static TTF_Font* mediumFont;
static TTF_Font* largeFont;
static TTF_Font* vLargeFont;
};
#endif