/* * SdlRenderer.h * * Created on: Nov 13, 2016 * Author: tibi */ #ifndef GRAPHICS_SDLRENDERER_H_ #define GRAPHICS_SDLRENDERER_H_ #include #include #include namespace farmlands { // Forward declarations struct GameState; namespace graphics { class SdlRenderer { public: SdlRenderer(); virtual ~SdlRenderer(); /** * Initializes the game renderer. * * @returns true if successful, false otherwise. */ bool initialize(GameState* gameState); /** * Performs steps for beginning to render. */ void renderBegin(); /** * Performs steps for ending a render. */ void renderEnd(); /** * Renders given text to a texture */ SDL_Texture* renderText(const std::string& text, TTF_Font* font, SDL_Color color); // Getters /** * Gets the internal SDL renderer object; */ SDL_Renderer* internalRenderer() { return m_sdlRenderer; } private: SDL_Window* m_sdlWindow; SDL_Renderer* m_sdlRenderer; GameState* m_gameState; }; } /* namespace graphics */ } /* namespace farmlands */ #endif /* GRAPHICS_SDLRENDERER_H_ */