#if RENDERER == 2 #ifndef RENDERER_SDL3 #define RENDERER_SDL3 #include "pch.hpp" #include namespace Archimedes { class RendererSDL3 { public: typedef void renderCmd(); RendererSDL3() {}; ~RendererSDL3() { SDL_DestroyRenderer(renderer); }; bool init(void* window) { renderer = SDL_CreateRenderer((SDL_Window*) window, nullptr); SDL_SetRenderVSync(renderer, 1); return renderer != nullptr; }; void render(std::list> cmdList, int& w, int& h) { //SDL_SetRenderScale(renderer, w, h); SDL_RenderClear(renderer); for(auto f : cmdList) f(); SDL_RenderPresent(renderer); } SDL_Renderer* renderer = nullptr; }; typedef RendererSDL3 RendererImpl; } #endif #endif