1234567891011121314151617181920212223242526272829303132333435363738 |
- #include "SDLRenderer.hxx"
- SDLRenderer::SDLRenderer(SDLWindow& window)
- {
- renderer_ = SDL_CreateRenderer(window, 0, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
- if (renderer_==nullptr) {
- throw SDLError("Failed to create renderer.");
- }
- SDL_SetRenderDrawBlendMode(renderer_, SDL_BLENDMODE_BLEND);
- SDL_Log("Created renderer successfully.");
- }
- SDLRenderer::~SDLRenderer() noexcept
- {
- destroy();
- }
- SDLRenderer::SDLRenderer(SDLRenderer&& src) noexcept
- :renderer_{src.renderer_}
- {
- src.renderer_ = nullptr;
- }
- SDLRenderer& SDLRenderer::operator=(SDLRenderer&& src) noexcept
- {
- destroy();
- std::swap(renderer_, src.renderer_);
- return *this;
- }
- void SDLRenderer::destroy() noexcept
- {
- if (renderer_!=nullptr) {
- SDL_DestroyRenderer(renderer_);
- SDL_Log("Destroyed renderer successfully.");
- renderer_ = nullptr;
- }
- }
|