Split sdlpp into smaller files
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
#include "sdlpp_renderer.hpp"
|
||||
|
||||
namespace SDLPP {
|
||||
Renderer::Renderer( Window &window ) {
|
||||
renderer = SDL_CreateRenderer( window.getWindowPtr(), -1,
|
||||
SDL_RENDERER_ACCELERATED );
|
||||
if ( renderer == NULL ) {
|
||||
std::cerr << "SDL could not create a renderer! SDL_Error: "
|
||||
<< SDL_GetError();
|
||||
throw "Couldn't create renderer";
|
||||
}
|
||||
SDL_SetRenderDrawColor( renderer, 0xFF, 0xFF, 0xFF, 0xFF );
|
||||
}
|
||||
Renderer::~Renderer() {
|
||||
SDL_DestroyRenderer( renderer );
|
||||
}
|
||||
SDL_Renderer *Renderer::getRendererPtr() {
|
||||
return renderer;
|
||||
}
|
||||
std::pair< int, int > Renderer::getDimensions() const {
|
||||
int width = 0, height = 0;
|
||||
SDL_GetRendererOutputSize( renderer, &width, &height );
|
||||
return { width, height };
|
||||
}
|
||||
int Renderer::getWidth() const {
|
||||
return getDimensions().first;
|
||||
}
|
||||
int Renderer::getHeight() const {
|
||||
return getDimensions().second;
|
||||
}
|
||||
int Renderer::getSmallerSide() const {
|
||||
auto dimensions = getDimensions();
|
||||
return dimensions.first < dimensions.second ? dimensions.first
|
||||
: dimensions.second;
|
||||
}
|
||||
int Renderer::getLargerSide() const {
|
||||
auto dimensions = getDimensions();
|
||||
return dimensions.first > dimensions.second ? dimensions.first
|
||||
: dimensions.second;
|
||||
}
|
||||
void Renderer::setBlendMode( SDL_BlendMode blendMode ) {
|
||||
SDL_SetRenderDrawBlendMode( renderer, blendMode );
|
||||
}
|
||||
void Renderer::setRenderColiders( bool render ) {
|
||||
render_coliders = render;
|
||||
}
|
||||
bool Renderer::getRenderColiders() {
|
||||
return render_coliders;
|
||||
}
|
||||
void Renderer::clearRenderer() {
|
||||
SDL_RenderClear( getRendererPtr() );
|
||||
}
|
||||
void Renderer::presentRenderer() {
|
||||
SDL_RenderPresent( getRendererPtr() );
|
||||
}
|
||||
} // namespace SDLPP
|
||||
Reference in New Issue
Block a user