2012-07-19 01:14:17 +00:00
|
|
|
#ifndef _RENDERER_H_
|
|
|
|
#define _RENDERER_H_
|
|
|
|
|
|
|
|
#define LAYER_COUNT 3
|
|
|
|
|
|
|
|
#define BIT(x) (1 << (x))
|
|
|
|
|
|
|
|
#include <vector>
|
2012-07-19 16:13:27 +00:00
|
|
|
#include <SDL/SDL.h>
|
2012-07-20 01:08:29 +00:00
|
|
|
#include <SDL/SDL_ttf.h>
|
|
|
|
#include <string>
|
2012-07-19 16:13:27 +00:00
|
|
|
|
|
|
|
class GuiComponent;
|
|
|
|
|
2012-07-19 01:14:17 +00:00
|
|
|
namespace Renderer
|
|
|
|
{
|
|
|
|
void registerComponent(GuiComponent* comp);
|
|
|
|
void unregisterComponent(GuiComponent* comp);
|
2012-07-22 21:15:55 +00:00
|
|
|
void deleteAll();
|
2012-07-19 01:14:17 +00:00
|
|
|
|
|
|
|
void render();
|
2012-07-19 16:13:27 +00:00
|
|
|
|
2012-07-20 01:08:29 +00:00
|
|
|
extern SDL_Surface* screen;
|
|
|
|
extern TTF_Font* font;
|
|
|
|
|
|
|
|
unsigned int getScreenWidth();
|
|
|
|
unsigned int getScreenHeight();
|
2012-07-19 16:13:27 +00:00
|
|
|
|
2012-08-02 01:43:55 +00:00
|
|
|
enum FontSize { SMALL, MEDIUM, LARGE };
|
|
|
|
bool loadFonts();
|
|
|
|
extern bool loadedFonts;
|
|
|
|
extern TTF_Font* fonts[3]; //should be FontSize size but I don't remember the syntax
|
|
|
|
extern int fontHeight[3]; //same
|
|
|
|
int getFontHeight(FontSize size); //sometimes font size is needed before fonts have been loaded; this takes care of that
|
|
|
|
|
2012-07-19 16:13:27 +00:00
|
|
|
//drawing commands
|
|
|
|
void drawRect(int x, int y, int w, int h, int color);
|
2012-08-02 01:43:55 +00:00
|
|
|
void drawText(std::string text, int x, int y, int color, FontSize fontsize = MEDIUM);
|
|
|
|
void drawCenteredText(std::string text, int xOffset, int y, int color, FontSize fontsize = MEDIUM);
|
|
|
|
void drawWrappedText(std::string text, int xStart, int yStart, int xLen, int color, FontSize fontsize = MEDIUM);
|
2012-07-19 01:14:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|