diff options
Diffstat (limited to 'src/renderer/Renderer.hpp')
-rw-r--r-- | src/renderer/Renderer.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/renderer/Renderer.hpp b/src/renderer/Renderer.hpp new file mode 100644 index 0000000..a3e0f98 --- /dev/null +++ b/src/renderer/Renderer.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include <basic/math.hpp> +#include <renderer/RenderGroup.hpp> +#include <SDL3/SDL.h> +#include <SDL3/SDL_video.h> + +#include <memory> + +class Renderer { +public: + enum Api { + API_OPENGL + }; + + Renderer() = default; + static std::unique_ptr<Renderer> Select(Api api, SDL_Window *window); + + +public: + virtual ~Renderer() = 0; + virtual bool Init() = 0; + virtual void Draw(RenderGroup &render_group) = 0; + virtual void Present() = 0; +}; + |