diff --git a/src/renderer/Renderer.h b/src/renderer/Renderer.h index 2b2827a..e23e0a5 100644 --- a/src/renderer/Renderer.h +++ b/src/renderer/Renderer.h @@ -1,7 +1,8 @@ +// Renderer abstraction (minimal scaffold) #pragma once -#include #include +#include namespace renderer { @@ -9,12 +10,18 @@ class Renderer { public: virtual ~Renderer() = default; - // Wrap common operations used by renderers + // Create/destroy textures virtual SDL_Texture* createTextureFromSurface(SDL_Surface* surf) = 0; virtual void destroyTexture(SDL_Texture* tex) = 0; + + // Draw operations (minimal) virtual void copy(SDL_Texture* tex, const SDL_Rect* src, const SDL_Rect* dst) = 0; virtual void clear(const SDL_Color& color) = 0; virtual void present() = 0; }; +// Factory helper implemented by SDL-specific backend +std::unique_ptr MakeSDLRenderer(SDL_Renderer* rdr); + } // namespace renderer +