#pragma once #ifndef SNAKE_SDLRENDERER_HXX #define SNAKE_SDLRENDERER_HXX #include "SDLWindow.hxx" #include "NonCopyable.hxx" class SDLRenderer final : private NonCopyable { public: explicit SDLRenderer(SDLWindow& window); ~SDLRenderer() noexcept; SDLRenderer(SDLRenderer&& src) noexcept; SDLRenderer& operator=(SDLRenderer&& src) noexcept; void destroy() noexcept; operator SDL_Renderer*() const noexcept // NOLINT(*-explicit-constructor) { return renderer_; } private: SDL_Renderer* renderer_; }; #endif // SNAKE_SDLRENDERER_HXX