fixed game renderer
This commit is contained in:
@ -1,7 +1,8 @@
|
|||||||
|
// Renderer abstraction (minimal scaffold)
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <SDL3/SDL.h>
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <SDL3/SDL.h>
|
||||||
|
|
||||||
namespace renderer {
|
namespace renderer {
|
||||||
|
|
||||||
@ -9,12 +10,18 @@ class Renderer {
|
|||||||
public:
|
public:
|
||||||
virtual ~Renderer() = default;
|
virtual ~Renderer() = default;
|
||||||
|
|
||||||
// Wrap common operations used by renderers
|
// Create/destroy textures
|
||||||
virtual SDL_Texture* createTextureFromSurface(SDL_Surface* surf) = 0;
|
virtual SDL_Texture* createTextureFromSurface(SDL_Surface* surf) = 0;
|
||||||
virtual void destroyTexture(SDL_Texture* tex) = 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 copy(SDL_Texture* tex, const SDL_Rect* src, const SDL_Rect* dst) = 0;
|
||||||
virtual void clear(const SDL_Color& color) = 0;
|
virtual void clear(const SDL_Color& color) = 0;
|
||||||
virtual void present() = 0;
|
virtual void present() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Factory helper implemented by SDL-specific backend
|
||||||
|
std::unique_ptr<Renderer> MakeSDLRenderer(SDL_Renderer* rdr);
|
||||||
|
|
||||||
} // namespace renderer
|
} // namespace renderer
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user