diff options
Diffstat (limited to 'src/renderer.cpp')
-rw-r--r-- | src/renderer.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/renderer.cpp b/src/renderer.cpp new file mode 100644 index 0000000..2f90a8d --- /dev/null +++ b/src/renderer.cpp @@ -0,0 +1,37 @@ +#include "renderer.h" + +Renderer::Renderer(){ + renderer_ = nullptr; +} + +Renderer::~Renderer(){ + SDL_DestroyRenderer(renderer_); +} + +void Renderer::init( SDL_Window* win ) { + if (renderer_){ + SDL_DestroyRenderer(renderer_); + } + renderer_ = SDL_CreateRenderer( win, -1, SDL_RENDERER_ACCELERATED); + if (renderer_ == NULL){ + printf("Unable to create rendering context: %s", SDL_GetError()); + } +} + +void Renderer::clear(){ + SDL_RenderClear(renderer_); +} +void Renderer::update(){ + SDL_RenderPresent(renderer_); +} + +SDL_Renderer * Renderer::renderer(){ + return renderer_; +} + +void Renderer::setScale(int scaleX, int scaleY){ + if( SDL_RenderSetScale(renderer_, scaleX, scaleY) < 0){ + printf("Unable to set scale in renderer: %s", SDL_GetError()); + } +} + |